naptar-es-feladatkezelo/test/widget_test.dart

125 lines
3.3 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:otthon_naptar/main.dart';
void main() {
testWidgets(
'a csal\u00e1di napt\u00e1r f\u0151 n\u00e9zete bet\u00f6lt\u0151dik',
(tester) async {
await tester.binding.setSurfaceSize(const Size(1200, 800));
await tester.pumpWidget(const OtthonApp());
expect(find.byType(CalendarPage), findsOneWidget);
expect(find.byType(PageFrame), findsOneWidget);
},
);
testWidgets('a csal\u00e1dtagok n\u00e9zet el\u00e9rhet\u0151', (
tester,
) async {
await tester.binding.setSurfaceSize(const Size(1200, 800));
await tester.pumpWidget(const OtthonApp());
await tester.tap(find.byIcon(Icons.group_outlined));
await tester.pumpAndSettle();
expect(find.byType(PersonsPage), findsOneWidget);
});
testWidgets(
'a st\u00edlus n\u00e9zet \u00e9s avatar k\u00e9szlet el\u00e9rhet\u0151',
(tester) async {
await tester.binding.setSurfaceSize(const Size(1200, 800));
await tester.pumpWidget(const OtthonApp());
await tester.tap(find.byIcon(Icons.palette_outlined));
await tester.pumpAndSettle();
expect(find.byType(StylePage), findsOneWidget);
},
);
testWidgets(
'az eszk\u00f6z napt\u00e1rkapcsolatok oldala el\u00e9rhet\u0151',
(tester) async {
await tester.binding.setSurfaceSize(const Size(1200, 800));
await tester.pumpWidget(const OtthonApp());
await tester.tap(find.byIcon(Icons.sync_rounded));
await tester.pumpAndSettle();
expect(find.byType(AccountsPage), findsOneWidget);
},
);
test(
'a csal\u00e1dtag k\u00f6vetkez\u0151 esem\u00e9nyei csak m\u00e1t\u00f3l indulnak',
() {
final now = DateTime(2026, 7, 19, 15);
final events = [
CalendarEvent(
'Tegnapi program',
'10:00',
'11:00',
Colors.red,
date: DateTime(2026, 7, 18),
personId: 'balint',
),
CalendarEvent(
'Mai program',
'09:00',
'10:00',
Colors.green,
date: DateTime(2026, 7, 19),
personId: 'balint',
),
CalendarEvent(
'Holnapi program',
'08:00',
'09:00',
Colors.blue,
date: DateTime(2026, 7, 20),
personId: 'balint',
),
];
final nextEvents = findNextEventsForPerson('balint', events, 3, now: now);
expect(nextEvents.map((event) => event.title), [
'Mai program',
'Holnapi program',
]);
},
);
test(
'a mindenkihez tartoz\u00f3 esem\u00e9ny minden csal\u00e1dtagn\u00e1l megjelenik',
() {
final now = DateTime(2026, 7, 19, 15);
final events = [
CalendarEvent(
'Csal\u00e1di program',
'17:00',
'18:00',
Colors.green,
date: DateTime(2026, 7, 20),
personId: everyonePersonId,
),
];
final balintEvents = findNextEventsForPerson(
'balint',
events,
3,
now: now,
);
final emiliaEvents = findNextEventsForPerson(
'emilia',
events,
3,
now: now,
);
expect(balintEvents.single.title, 'Csal\u00e1di program');
expect(emiliaEvents.single.title, 'Csal\u00e1di program');
},
);
}