Skip to content

Commit

Permalink
test change
Browse files Browse the repository at this point in the history
  • Loading branch information
Mayankpulse333 committed Jan 3, 2025
1 parent ec88674 commit 7317cf2
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 9 deletions.
2 changes: 1 addition & 1 deletion pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1794,5 +1794,5 @@ packages:
source: hosted
version: "3.1.2"
sdks:
dart: ">=3.5.0 <=3.22.3"
dart: ">=3.4.0 <=3.4.4"
flutter: ">=3.22.0"
Original file line number Diff line number Diff line change
Expand Up @@ -413,25 +413,53 @@ void main() {
});
});

testWidgets('CustomWeekDaySelector', (tester) async {
final widget = createCustomRecurrenceScreen(
theme: TalawaTheme.darkTheme,
testWidgets(
'CustomWeekDaySelector handles selecting and deselecting weekdays',
(tester) async {
final mockModel = CreateEventViewModel();
mockModel.weekDays = {}; // Start with an empty set of selected weekdays.

// Create the widget with the mock model
final widget = MaterialApp(
home: Scaffold(
body: CustomWeekDaySelector(model: mockModel),
),
);

await tester.pumpWidget(widget);
await tester.pump();

// Verify the CustomWeekDaySelector widget is present
expect(find.byType(CustomWeekDaySelector), findsOne);

// Tap "M" (Monday) to select it
await tester.tap(find.text("M"));
await tester.pumpAndSettle();

// Verify that "M" is selected and added to the model
expect(mockModel.weekDays, contains(WeekDays.monday));

// Tap "W" (Wednesday) to select it
await tester.tap(find.text("W"));
await tester.pumpAndSettle();

expect(find.text("S"), findsNWidgets(2));
expect(find.text("M"), findsNWidgets(1));
expect(find.text("T"), findsNWidgets(2));
expect(find.text("W"), findsNWidgets(1));
expect(find.text("F"), findsNWidgets(1));
// Verify that "W" is selected and added to the model
expect(mockModel.weekDays, contains(WeekDays.wednesday));

// Verify that unrelated weekdays remain unselected
expect(mockModel.weekDays, isNot(contains(WeekDays.sunday)));
expect(mockModel.weekDays, isNot(contains(WeekDays.friday)));

// Tap "M" again to deselect it
await tester.tap(find.text("M"));
await tester.pumpAndSettle();

// Verify that "M" is removed from the model
expect(mockModel.weekDays, isNot(contains(WeekDays.monday)));

// Final state checks
expect(mockModel.weekDays, contains(WeekDays.wednesday));
expect(mockModel.weekDays.length, 1);
});

testWidgets('EventEndOptions', (tester) async {
Expand Down

0 comments on commit 7317cf2

Please sign in to comment.