From ce8917e17dbf0af40d8cdb9ea6c4388106cd400b Mon Sep 17 00:00:00 2001 From: Alejandro Santiago Date: Mon, 28 Mar 2022 09:10:07 +0100 Subject: [PATCH] refactor: used `descendants` to retrieve tested subject (#94) * refactor: used descendants to retrieve the subject * fix: included game.ready in tests --- test/game/components/bonus_word_test.dart | 34 +++++++++-------------- 1 file changed, 13 insertions(+), 21 deletions(-) diff --git a/test/game/components/bonus_word_test.dart b/test/game/components/bonus_word_test.dart index 17b702dc..293062ae 100644 --- a/test/game/components/bonus_word_test.dart +++ b/test/game/components/bonus_word_test.dart @@ -196,15 +196,6 @@ void main() { final gameBloc = MockGameBloc(); final tester = flameBlocTester(gameBloc: () => gameBloc); - BonusLetter _getBonusLetter(PinballGame game) { - return game.children - .whereType() - .first - .children - .whereType() - .first; - } - setUp(() { whenListen( gameBloc, @@ -217,11 +208,11 @@ void main() { 'adds BonusLetterActivated to GameBloc when not activated', (game, tester) async { await game.ready(); - - _getBonusLetter(game).activate(); + final bonusLetter = game.descendants().whereType().first; + bonusLetter.activate(); + await game.ready(); await tester.pump(); - verify(() => gameBloc.add(const BonusLetterActivated(0))).called(1); }, ); @@ -241,10 +232,11 @@ void main() { Stream.value(state), initialState: state, ); - await game.ready(); - _getBonusLetter(game).activate(); - await game.ready(); // Making sure that all additions are done + await game.ready(); + final bonusLetter = game.descendants().whereType().first; + bonusLetter.activate(); + await game.ready(); verifyNever(() => gameBloc.add(const BonusLetterActivated(0))); }, @@ -253,8 +245,6 @@ void main() { tester.widgetTest( 'adds a ColorEffect', (game, tester) async { - await game.ready(); - const state = GameState( score: 0, balls: 2, @@ -263,7 +253,9 @@ void main() { bonusHistory: [], ); - final bonusLetter = _getBonusLetter(game); + await game.ready(); + final bonusLetter = game.descendants().whereType().first; + bonusLetter.activate(); bonusLetter.onNewState(state); await tester.pump(); @@ -278,8 +270,6 @@ void main() { tester.widgetTest( 'only listens when there is a change on the letter status', (game, tester) async { - await game.ready(); - const state = GameState( score: 0, balls: 2, @@ -288,7 +278,9 @@ void main() { bonusHistory: [], ); - final bonusLetter = _getBonusLetter(game); + await game.ready(); + final bonusLetter = game.descendants().whereType().first; + bonusLetter.activate(); expect( bonusLetter.listenWhen(const GameState.initial(), state),