diff --git a/lib/select_character/view/character_selection_page.dart b/lib/select_character/view/character_selection_page.dart index 0e83db8d..5a832cf9 100644 --- a/lib/select_character/view/character_selection_page.dart +++ b/lib/select_character/view/character_selection_page.dart @@ -48,10 +48,7 @@ class CharacterSelectionView extends StatelessWidget { TextButton( onPressed: () { Navigator.of(context).pop(); - showDialog( - context: context, - builder: (_) => const HowToPlayDialog(), - ); + context.read().add(const CharacterSelected()); }, child: Text(l10n.start), ), diff --git a/test/select_character/view/character_selection_page_test.dart b/test/select_character/view/character_selection_page_test.dart index 0dda92d7..2debdb3f 100644 --- a/test/select_character/view/character_selection_page_test.dart +++ b/test/select_character/view/character_selection_page_test.dart @@ -12,9 +12,12 @@ import '../../helpers/helpers.dart'; void main() { late CharacterThemeCubit characterThemeCubit; + late StartGameBloc startGameBloc; setUp(() { characterThemeCubit = MockCharacterThemeCubit(); + startGameBloc = MockStartGameBloc(); + whenListen( characterThemeCubit, const Stream.empty(), @@ -84,17 +87,24 @@ void main() { .called(1); }); - testWidgets('displays how to play dialog when start is tapped', + testWidgets('calls CharacterSelected event when start is tapped', (tester) async { + whenListen( + startGameBloc, + Stream.value(const StartGameState.initial()), + initialState: const StartGameState.initial(), + ); + await tester.pumpApp( CharacterSelectionView(), characterThemeCubit: characterThemeCubit, + startGameBloc: startGameBloc, ); await tester.ensureVisible(find.byType(TextButton)); await tester.tap(find.byType(TextButton)); await tester.pumpAndSettle(); - expect(find.byType(HowToPlayDialog), findsOneWidget); + verify(() => startGameBloc.add(CharacterSelected())).called(1); }); });