test: trying to fix tests

pull/235/head
RuiAlonso 3 years ago
parent 7aaadb4acf
commit 40526bf0fe

@ -49,7 +49,7 @@ void main() {
);
flameTester.testGameWidget(
'stops animation after 2 seconds',
'calls onStop stops animation',
setUp: (game, tester) async {
final behavior = MultiballBlinkingBehavior();
final bloc = MockMultiballCubit();
@ -72,7 +72,7 @@ void main() {
),
);
await tester.pump();
game.update(2);
game.update(0.1);
streamController.add(
MultiballState(
@ -80,6 +80,38 @@ void main() {
lightState: MultiballLightState.lit,
),
);
await tester.pump();
await streamController.close();
verify(bloc.onStop).called(1);
},
);
flameTester.testGameWidget(
'stops animation after 2 seconds',
setUp: (game, tester) async {
final behavior = MultiballBlinkingBehavior();
final bloc = MockMultiballCubit();
final streamController = StreamController<MultiballState>();
whenListen(
bloc,
streamController.stream,
initialState: MultiballState.initial(),
);
when(bloc.onBlink).thenAnswer((_) async {});
final multiball = Multiball.test(bloc: bloc);
await multiball.add(behavior);
await game.ensureAdd(multiball);
streamController.add(
MultiballState(
animationState: MultiballAnimationState.animated,
lightState: MultiballLightState.lit,
),
);
await tester.pump();
game.update(2);
await streamController.close();
verify(bloc.onStop).called(1);

@ -1,5 +1,6 @@
// ignore_for_file: cascade_invocations
import 'package:bloc_test/bloc_test.dart';
import 'package:flame/components.dart';
import 'package:flame/game.dart';
import 'package:flame_test/flame_test.dart';
@ -94,6 +95,17 @@ void main() {
Assets.images.sparky.bumper.c.inactive.keyName,
];
late GameBloc gameBloc;
setUp(() {
gameBloc = MockGameBloc();
whenListen(
gameBloc,
const Stream<GameState>.empty(),
initialState: const GameState.initial(),
);
});
final flameTester = FlameTester(
() => PinballTestGame(assets: assets),
);
@ -101,11 +113,15 @@ void main() {
() => DebugPinballTestGame(assets: assets),
);
final flameBlocTester = FlameBlocTester<PinballGame, GameBloc>(
gameBuilder: () => PinballTestGame(assets: assets),
blocBuilder: () => gameBloc,
);
group('PinballGame', () {
group('components', () {
// TODO(alestiago): tests that Blueprints get added once the Blueprint
// class is removed.
flameTester.test(
flameBlocTester.test(
'has only one Drain',
(game) async {
await game.ready();
@ -116,7 +132,7 @@ void main() {
},
);
flameTester.test(
flameBlocTester.test(
'has only one BottomGroup',
(game) async {
await game.ready();
@ -128,7 +144,7 @@ void main() {
},
);
flameTester.test(
flameBlocTester.test(
'has only one Plunger',
(game) async {
await game.ready();
@ -139,7 +155,7 @@ void main() {
},
);
flameTester.test('has one FlutterForest', (game) async {
flameBlocTester.test('has one FlutterForest', (game) async {
await game.ready();
expect(
game.children.whereType<FlutterForest>().length,
@ -147,7 +163,7 @@ void main() {
);
});
flameTester.test(
flameBlocTester.test(
'has only one Multiballs',
(game) async {
await game.ready();
@ -159,7 +175,7 @@ void main() {
},
);
flameTester.test(
flameBlocTester.test(
'one GoogleWord',
(game) async {
await game.ready();

Loading…
Cancel
Save