From cb354a67febf92db1948e61295f2948d441133b9 Mon Sep 17 00:00:00 2001 From: arturplaczek Date: Wed, 20 Apr 2022 17:03:23 +0200 Subject: [PATCH] chore: update BonusAnimation --- lib/game/view/widgets/bonus_animation.dart | 20 ++++++- .../view/widgets/bonus_animation_test.dart | 52 +++++++++++++++---- 2 files changed, 61 insertions(+), 11 deletions(-) diff --git a/lib/game/view/widgets/bonus_animation.dart b/lib/game/view/widgets/bonus_animation.dart index 2407fd4b..9c77cd1b 100644 --- a/lib/game/view/widgets/bonus_animation.dart +++ b/lib/game/view/widgets/bonus_animation.dart @@ -23,6 +23,24 @@ class BonusAnimation extends StatelessWidget { key: key, ); + BonusAnimation.sparkyTurboCharge({ + Key? key, + VoidCallback? onCompleted, + }) : this._( + Assets.images.bonusAnimation.sparkyTurboCharge.keyName, + onCompleted: onCompleted, + key: key, + ); + + BonusAnimation.dino({ + Key? key, + VoidCallback? onCompleted, + }) : this._( + Assets.images.bonusAnimation.dino.keyName, + onCompleted: onCompleted, + key: key, + ); + final String image; final VoidCallback? onCompleted; @@ -34,7 +52,7 @@ class BonusAnimation extends StatelessWidget { // TODO(arturplaczek): Load assets in parent widget, remove future builder // and user image from cache. return FutureBuilder( - future: Flame.images.load(Assets.images.bonusAnimation.dashNest.keyName), + future: Flame.images.load(image), builder: (BuildContext context, AsyncSnapshot snapshot) { if (snapshot.hasData) { final spriteSheet = SpriteSheet.fromColumnsAndRows( diff --git a/test/game/view/widgets/bonus_animation_test.dart b/test/game/view/widgets/bonus_animation_test.dart index 152de31d..2d0fd5bf 100644 --- a/test/game/view/widgets/bonus_animation_test.dart +++ b/test/game/view/widgets/bonus_animation_test.dart @@ -27,18 +27,50 @@ void main() { Flame.images = images; }); - testWidgets('renders SpriteAnimationWidget', (tester) async { - await tester.runAsync(() async { - await tester.pumpWidget( - MaterialApp( - home: Scaffold( - body: BonusAnimation.dashNest(), + group('renders SpriteAnimationWidget for', () { + testWidgets('dashNest', (tester) async { + await tester.runAsync(() async { + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: BonusAnimation.dashNest(), + ), ), - ), - ); - await tester.pump(); + ); + await tester.pump(); + + expect(find.byType(SpriteAnimationWidget), findsOneWidget); + }); + }); + + testWidgets('dino', (tester) async { + await tester.runAsync(() async { + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: BonusAnimation.dino(), + ), + ), + ); + await tester.pump(); + + expect(find.byType(SpriteAnimationWidget), findsOneWidget); + }); + }); + + testWidgets('sparkyTurboCharge', (tester) async { + await tester.runAsync(() async { + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: BonusAnimation.sparkyTurboCharge(), + ), + ), + ); + await tester.pump(); - expect(find.byType(SpriteAnimationWidget), findsOneWidget); + expect(find.byType(SpriteAnimationWidget), findsOneWidget); + }); }); });