From c3a9cec3b28abcb67106899b686fba570618df48 Mon Sep 17 00:00:00 2001 From: arturplaczek Date: Wed, 27 Apr 2022 21:22:19 +0200 Subject: [PATCH] fix: update broken tests --- .../view/widgets/bonus_animation_test.dart | 34 +++++-------------- test/game/view/widgets/game_hud_test.dart | 19 +++++++++-- 2 files changed, 25 insertions(+), 28 deletions(-) diff --git a/test/game/view/widgets/bonus_animation_test.dart b/test/game/view/widgets/bonus_animation_test.dart index aa5a5b83..c76a7ca1 100644 --- a/test/game/view/widgets/bonus_animation_test.dart +++ b/test/game/view/widgets/bonus_animation_test.dart @@ -1,11 +1,14 @@ // ignore_for_file: invalid_use_of_protected_member +import 'dart:typed_data'; import 'dart:ui' as ui; import 'package:flame/assets.dart'; +import 'package:flame/flame.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mocktail/mocktail.dart'; +import 'package:pinball/game/game.dart'; import 'package:pinball/game/view/widgets/bonus_animation.dart'; import 'package:pinball_flame/pinball_flame.dart'; @@ -23,7 +26,11 @@ void main() { TestWidgetsFlutterBinding.ensureInitialized(); setUp(() async { - await Future.wait(BonusAnimation.loadAssets()); + final image = await decodeImageFromList(Uint8List.fromList(fakeImage)); + final images = MockImages(); + when(() => images.fromCache(any())).thenReturn(image); + when(() => images.load(any())).thenAnswer((_) => Future.value(image)); + Flame.images = images; }); group('loads SpriteAnimationWidget correctly for', () { @@ -101,31 +108,6 @@ void main() { }); }); - testWidgets('called onCompleted callback at the end of animation ', - (tester) async { - final callback = MockCallback(); - - await tester.runAsync(() async { - await tester.pumpWidget( - MaterialApp( - home: Scaffold( - body: BonusAnimation.dashNest( - onCompleted: callback.call, - ), - ), - ), - ); - - await tester.pump(); - - await Future.delayed(const Duration(seconds: 4)); - - await tester.pump(); - - verify(callback.call).called(1); - }); - }); - testWidgets('called onCompleted once when animation changed', (tester) async { final callback = MockCallback(); final secondAnimation = BonusAnimation.sparkyTurboCharge( diff --git a/test/game/view/widgets/game_hud_test.dart b/test/game/view/widgets/game_hud_test.dart index f8307b05..70b54330 100644 --- a/test/game/view/widgets/game_hud_test.dart +++ b/test/game/view/widgets/game_hud_test.dart @@ -1,17 +1,27 @@ // ignore_for_file: prefer_const_constructors import 'dart:async'; +import 'dart:typed_data'; +import 'dart:ui' as ui; import 'package:bloc_test/bloc_test.dart'; +import 'package:flame/assets.dart'; +import 'package:flame/flame.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:flutter_test/flutter_test.dart'; +import 'package:mocktail/mocktail.dart'; import 'package:pinball/game/game.dart'; import 'package:pinball/l10n/l10n.dart'; -import 'package:pinball_components/pinball_components.dart'; +import 'package:pinball_components/pinball_components.dart' hide Assets; + import '../../../helpers/helpers.dart'; +class MockImages extends Mock implements Images {} + +class MockImage extends Mock implements ui.Image {} + void main() { group('GameHud', () { late GameBloc gameBloc; @@ -24,7 +34,12 @@ void main() { setUp(() async { gameBloc = MockGameBloc(); - await Future.wait(BonusAnimation.loadAssets()); + + final image = await decodeImageFromList(Uint8List.fromList(fakeImage)); + final images = MockImages(); + when(() => images.fromCache(any())).thenReturn(image); + when(() => images.load(any())).thenAnswer((_) => Future.value(image)); + Flame.images = images; whenListen( gameBloc,