From 7c3ee4f6870bcf34797890aa1f8f86d87ea11f62 Mon Sep 17 00:00:00 2001 From: arturplaczek Date: Tue, 26 Apr 2022 23:17:00 +0200 Subject: [PATCH] chore: rename SelectCharacterCubit to CharacterThemeCubit --- lib/app/view/app.dart | 2 +- lib/game/view/pinball_game_page.dart | 2 +- ..._cubit.dart => character_theme_cubit.dart} | 8 +++---- ..._state.dart => character_theme_state.dart} | 8 +++---- lib/select_character/select_character.dart | 2 +- .../view/character_selection_page.dart | 9 ++++--- test/game/view/pinball_game_page_test.dart | 18 +++++++------- test/helpers/mocks.dart | 2 +- test/helpers/pump_app.dart | 4 ++-- ...t.dart => character_theme_cubit_test.dart} | 12 +++++----- ...t.dart => character_theme_state_test.dart} | 6 ++--- .../view/character_selection_page_test.dart | 24 +++++++++---------- 12 files changed, 48 insertions(+), 49 deletions(-) rename lib/select_character/cubit/{select_character_cubit.dart => character_theme_cubit.dart} (58%) rename lib/select_character/cubit/{select_character_state.dart => character_theme_state.dart} (50%) rename test/select_character/cubit/{select_character_cubit_test.dart => character_theme_cubit_test.dart} (63%) rename test/select_character/cubit/{select_character_state_test.dart => character_theme_state_test.dart} (67%) diff --git a/lib/app/view/app.dart b/lib/app/view/app.dart index dfcc6669..97cfec9b 100644 --- a/lib/app/view/app.dart +++ b/lib/app/view/app.dart @@ -36,7 +36,7 @@ class App extends StatelessWidget { RepositoryProvider.value(value: _pinballAudio), ], child: BlocProvider( - create: (context) => SelectCharacterCubit(), + create: (context) => CharacterThemeCubit(), child: const MaterialApp( title: 'I/O Pinball', localizationsDelegates: [ diff --git a/lib/game/view/pinball_game_page.dart b/lib/game/view/pinball_game_page.dart index 108a2d23..9efa889d 100644 --- a/lib/game/view/pinball_game_page.dart +++ b/lib/game/view/pinball_game_page.dart @@ -32,7 +32,7 @@ class PinballGamePage extends StatelessWidget { @override Widget build(BuildContext context) { final selectedCharacter = - context.read().state.selectedCharacter; + context.read().state.selectedCharacter; final audio = context.read(); final pinballAudio = context.read(); diff --git a/lib/select_character/cubit/select_character_cubit.dart b/lib/select_character/cubit/character_theme_cubit.dart similarity index 58% rename from lib/select_character/cubit/select_character_cubit.dart rename to lib/select_character/cubit/character_theme_cubit.dart index 2c26d656..84792a71 100644 --- a/lib/select_character/cubit/select_character_cubit.dart +++ b/lib/select_character/cubit/character_theme_cubit.dart @@ -5,12 +5,12 @@ import 'package:bloc/bloc.dart'; import 'package:equatable/equatable.dart'; import 'package:pinball_theme/pinball_theme.dart'; -part 'select_character_state.dart'; +part 'character_theme_state.dart'; -class SelectCharacterCubit extends Cubit { - SelectCharacterCubit() : super(const SelectCharacterState.initial()); +class CharacterThemeCubit extends Cubit { + CharacterThemeCubit() : super(const CharacterThemeState.initial()); void characterSelected(CharacterTheme characterTheme) { - emit(SelectCharacterState(characterTheme)); + emit(CharacterThemeState(characterTheme)); } } diff --git a/lib/select_character/cubit/select_character_state.dart b/lib/select_character/cubit/character_theme_state.dart similarity index 50% rename from lib/select_character/cubit/select_character_state.dart rename to lib/select_character/cubit/character_theme_state.dart index ccb3e873..3a1c2669 100644 --- a/lib/select_character/cubit/select_character_state.dart +++ b/lib/select_character/cubit/character_theme_state.dart @@ -1,12 +1,12 @@ // ignore_for_file: public_member_api_docs // TODO(allisonryan0002): Document this section when the API is stable. -part of 'select_character_cubit.dart'; +part of 'character_theme_cubit.dart'; -class SelectCharacterState extends Equatable { - const SelectCharacterState(this.selectedCharacter); +class CharacterThemeState extends Equatable { + const CharacterThemeState(this.selectedCharacter); - const SelectCharacterState.initial() : selectedCharacter = const DashTheme(); + const CharacterThemeState.initial() : selectedCharacter = const DashTheme(); final CharacterTheme selectedCharacter; diff --git a/lib/select_character/select_character.dart b/lib/select_character/select_character.dart index 38272646..40699840 100644 --- a/lib/select_character/select_character.dart +++ b/lib/select_character/select_character.dart @@ -1,2 +1,2 @@ -export 'cubit/select_character_cubit.dart'; +export 'cubit/character_theme_cubit.dart'; export 'view/view.dart'; diff --git a/lib/select_character/view/character_selection_page.dart b/lib/select_character/view/character_selection_page.dart index 2c6af55e..0034808b 100644 --- a/lib/select_character/view/character_selection_page.dart +++ b/lib/select_character/view/character_selection_page.dart @@ -19,7 +19,7 @@ class CharacterSelectionDialog extends StatelessWidget { @override Widget build(BuildContext context) { return BlocProvider( - create: (_) => SelectCharacterCubit(), + create: (_) => CharacterThemeCubit(), child: const CharacterSelectionView(), ); } @@ -110,14 +110,13 @@ class CharacterImageButton extends StatelessWidget { @override Widget build(BuildContext context) { final currentCharacterTheme = - context.select( + context.select( (cubit) => cubit.state.selectedCharacter, ); return GestureDetector( - onTap: () => context - .read() - .characterSelected(characterTheme), + onTap: () => + context.read().characterSelected(characterTheme), child: DecoratedBox( decoration: BoxDecoration( color: (currentCharacterTheme == characterTheme) diff --git a/test/game/view/pinball_game_page_test.dart b/test/game/view/pinball_game_page_test.dart index 0fe3f9b0..bf6391d9 100644 --- a/test/game/view/pinball_game_page_test.dart +++ b/test/game/view/pinball_game_page_test.dart @@ -13,18 +13,18 @@ void main() { final game = PinballTestGame(); group('PinballGamePage', () { - late SelectCharacterCubit selectCharacterCubit; + late CharacterThemeCubit characterThemeCubit; late GameBloc gameBloc; setUp(() async { await Future.wait(game.preLoadAssets()); - selectCharacterCubit = MockSelectCharacterCubit(); + characterThemeCubit = MockCharacterThemeCubit(); gameBloc = MockGameBloc(); whenListen( - selectCharacterCubit, - const Stream.empty(), - initialState: const SelectCharacterState.initial(), + characterThemeCubit, + const Stream.empty(), + initialState: const CharacterThemeState.initial(), ); whenListen( @@ -37,7 +37,7 @@ void main() { testWidgets('renders PinballGameView', (tester) async { await tester.pumpApp( PinballGamePage(), - selectCharacterCubit: selectCharacterCubit, + characterThemeCubit: characterThemeCubit, ); expect(find.byType(PinballGameView), findsOneWidget); @@ -62,7 +62,7 @@ void main() { game: game, ), assetsManagerCubit: assetsManagerCubit, - selectCharacterCubit: selectCharacterCubit, + characterThemeCubit: characterThemeCubit, ); expect( @@ -95,7 +95,7 @@ void main() { game: game, ), assetsManagerCubit: assetsManagerCubit, - selectCharacterCubit: selectCharacterCubit, + characterThemeCubit: characterThemeCubit, gameBloc: gameBloc, ); @@ -126,7 +126,7 @@ void main() { }, ), ), - selectCharacterCubit: selectCharacterCubit, + characterThemeCubit: characterThemeCubit, ); await tester.tap(find.text('Tap me')); diff --git a/test/helpers/mocks.dart b/test/helpers/mocks.dart index 5b784fe4..b75daf94 100644 --- a/test/helpers/mocks.dart +++ b/test/helpers/mocks.dart @@ -35,7 +35,7 @@ class MockGameBloc extends Mock implements GameBloc {} class MockGameState extends Mock implements GameState {} -class MockSelectCharacterCubit extends Mock implements SelectCharacterCubit {} +class MockCharacterThemeCubit extends Mock implements CharacterThemeCubit {} class MockLeaderboardBloc extends Mock implements LeaderboardBloc {} diff --git a/test/helpers/pump_app.dart b/test/helpers/pump_app.dart index 6b8af007..b744c33a 100644 --- a/test/helpers/pump_app.dart +++ b/test/helpers/pump_app.dart @@ -52,7 +52,7 @@ extension PumpApp on WidgetTester { MockNavigator? navigator, GameBloc? gameBloc, AssetsManagerCubit? assetsManagerCubit, - SelectCharacterCubit? selectCharacterCubit, + CharacterThemeCubit? characterThemeCubit, LeaderboardRepository? leaderboardRepository, PinballAudio? pinballAudio, }) { @@ -70,7 +70,7 @@ extension PumpApp on WidgetTester { child: MultiBlocProvider( providers: [ BlocProvider.value( - value: selectCharacterCubit ?? MockSelectCharacterCubit(), + value: characterThemeCubit ?? MockCharacterThemeCubit(), ), BlocProvider.value( value: gameBloc ?? MockGameBloc(), diff --git a/test/select_character/cubit/select_character_cubit_test.dart b/test/select_character/cubit/character_theme_cubit_test.dart similarity index 63% rename from test/select_character/cubit/select_character_cubit_test.dart rename to test/select_character/cubit/character_theme_cubit_test.dart index 48c472fd..bf86940c 100644 --- a/test/select_character/cubit/select_character_cubit_test.dart +++ b/test/select_character/cubit/character_theme_cubit_test.dart @@ -4,21 +4,21 @@ import 'package:pinball/select_character/select_character.dart'; import 'package:pinball_theme/pinball_theme.dart'; void main() { - group('SelectCharacterCubit', () { + group('CharacterThemeCubit', () { test('initial state has Dash character theme', () { - final selectCharacterCubit = SelectCharacterCubit(); + final characterThemeCubit = CharacterThemeCubit(); expect( - selectCharacterCubit.state.selectedCharacter, + characterThemeCubit.state.selectedCharacter, equals(const DashTheme()), ); }); - blocTest( + blocTest( 'charcterSelected emits selected character theme', - build: SelectCharacterCubit.new, + build: CharacterThemeCubit.new, act: (bloc) => bloc.characterSelected(const SparkyTheme()), expect: () => [ - const SelectCharacterState(SparkyTheme()), + const CharacterThemeState(SparkyTheme()), ], ); }); diff --git a/test/select_character/cubit/select_character_state_test.dart b/test/select_character/cubit/character_theme_state_test.dart similarity index 67% rename from test/select_character/cubit/select_character_state_test.dart rename to test/select_character/cubit/character_theme_state_test.dart index c311bfe3..c0d584e2 100644 --- a/test/select_character/cubit/select_character_state_test.dart +++ b/test/select_character/cubit/character_theme_state_test.dart @@ -6,13 +6,13 @@ import 'package:pinball/select_character/select_character.dart'; void main() { group('ThemeState', () { test('can be instantiated', () { - expect(const SelectCharacterState.initial(), isNotNull); + expect(const CharacterThemeState.initial(), isNotNull); }); test('supports value equality', () { expect( - SelectCharacterState.initial(), - equals(const SelectCharacterState.initial()), + CharacterThemeState.initial(), + equals(const CharacterThemeState.initial()), ); }); }); diff --git a/test/select_character/view/character_selection_page_test.dart b/test/select_character/view/character_selection_page_test.dart index 54292be2..0dda92d7 100644 --- a/test/select_character/view/character_selection_page_test.dart +++ b/test/select_character/view/character_selection_page_test.dart @@ -11,14 +11,14 @@ import 'package:pinball_theme/pinball_theme.dart'; import '../../helpers/helpers.dart'; void main() { - late SelectCharacterCubit selectCharacterCubit; + late CharacterThemeCubit characterThemeCubit; setUp(() { - selectCharacterCubit = MockSelectCharacterCubit(); + characterThemeCubit = MockCharacterThemeCubit(); whenListen( - selectCharacterCubit, - const Stream.empty(), - initialState: const SelectCharacterState.initial(), + characterThemeCubit, + const Stream.empty(), + initialState: const CharacterThemeState.initial(), ); }); @@ -26,7 +26,7 @@ void main() { testWidgets('renders CharacterSelectionView', (tester) async { await tester.pumpApp( CharacterSelectionDialog(), - selectCharacterCubit: selectCharacterCubit, + characterThemeCubit: characterThemeCubit, ); expect(find.byType(CharacterSelectionView), findsOneWidget); }); @@ -46,7 +46,7 @@ void main() { }, ), ), - selectCharacterCubit: selectCharacterCubit, + characterThemeCubit: characterThemeCubit, ); await tester.tap(find.text('Tap me')); @@ -61,7 +61,7 @@ void main() { const titleText = 'Choose your character!'; await tester.pumpApp( CharacterSelectionView(), - selectCharacterCubit: selectCharacterCubit, + characterThemeCubit: characterThemeCubit, ); expect(find.text(titleText), findsOneWidget); @@ -75,12 +75,12 @@ void main() { await tester.pumpApp( CharacterSelectionView(), - selectCharacterCubit: selectCharacterCubit, + characterThemeCubit: characterThemeCubit, ); await tester.tap(find.byKey(sparkyButtonKey)); - verify(() => selectCharacterCubit.characterSelected(SparkyTheme())) + verify(() => characterThemeCubit.characterSelected(SparkyTheme())) .called(1); }); @@ -88,7 +88,7 @@ void main() { (tester) async { await tester.pumpApp( CharacterSelectionView(), - selectCharacterCubit: selectCharacterCubit, + characterThemeCubit: characterThemeCubit, ); await tester.ensureVisible(find.byType(TextButton)); await tester.tap(find.byType(TextButton)); @@ -101,7 +101,7 @@ void main() { testWidgets('CharacterImageButton renders correctly', (tester) async { await tester.pumpApp( CharacterImageButton(DashTheme()), - selectCharacterCubit: selectCharacterCubit, + characterThemeCubit: characterThemeCubit, ); expect(find.byType(Image), findsOneWidget);