refactor: used descandants to retrieve subject

pull/94/head
alestiago 4 years ago
parent d5d3640f0a
commit 349314e170

@ -195,15 +195,6 @@ void main() {
group('bonus letter activation', () { group('bonus letter activation', () {
final gameBloc = MockGameBloc(); final gameBloc = MockGameBloc();
BonusLetter _getBonusLetter(PinballGame game) {
return game.children
.whereType<BonusWord>()
.first
.children
.whereType<BonusLetter>()
.first;
}
setUp(() { setUp(() {
whenListen( whenListen(
gameBloc, gameBloc,
@ -218,8 +209,8 @@ void main() {
'adds BonusLetterActivated to GameBloc when not activated', 'adds BonusLetterActivated to GameBloc when not activated',
(game, tester) async { (game, tester) async {
await game.ready(); await game.ready();
final bonusLetter = game.descendants().whereType<BonusLetter>().first;
_getBonusLetter(game).activate(); bonusLetter.activate();
await tester.pump(); await tester.pump();
@ -242,10 +233,10 @@ void main() {
Stream.value(state), Stream.value(state),
initialState: state, initialState: state,
); );
await game.ready();
_getBonusLetter(game).activate(); await game.ready();
await game.ready(); // Making sure that all additions are done final bonusLetter = game.descendants().whereType<BonusLetter>().first;
bonusLetter.activate();
verifyNever(() => gameBloc.add(const BonusLetterActivated(0))); verifyNever(() => gameBloc.add(const BonusLetterActivated(0)));
}, },
@ -254,8 +245,6 @@ void main() {
tester.widgetTest( tester.widgetTest(
'adds a ColorEffect', 'adds a ColorEffect',
(game, tester) async { (game, tester) async {
await game.ready();
const state = GameState( const state = GameState(
score: 0, score: 0,
balls: 2, balls: 2,
@ -264,7 +253,9 @@ void main() {
bonusHistory: [], bonusHistory: [],
); );
final bonusLetter = _getBonusLetter(game); await game.ready();
final bonusLetter = game.descendants().whereType<BonusLetter>().first;
bonusLetter.activate();
bonusLetter.onNewState(state); bonusLetter.onNewState(state);
await tester.pump(); await tester.pump();
@ -279,8 +270,6 @@ void main() {
tester.widgetTest( tester.widgetTest(
'only listens when there is a change on the letter status', 'only listens when there is a change on the letter status',
(game, tester) async { (game, tester) async {
await game.ready();
const state = GameState( const state = GameState(
score: 0, score: 0,
balls: 2, balls: 2,
@ -289,7 +278,9 @@ void main() {
bonusHistory: [], bonusHistory: [],
); );
final bonusLetter = _getBonusLetter(game); await game.ready();
final bonusLetter = game.descendants().whereType<BonusLetter>().first;
bonusLetter.activate();
expect( expect(
bonusLetter.listenWhen(const GameState.initial(), state), bonusLetter.listenWhen(const GameState.initial(), state),

Loading…
Cancel
Save