diff --git a/packages/pinball_components/test/src/components/dash_animatronic_test.dart b/packages/pinball_components/test/src/components/dash_animatronic_test.dart index 94be8b14..d0707223 100644 --- a/packages/pinball_components/test/src/components/dash_animatronic_test.dart +++ b/packages/pinball_components/test/src/components/dash_animatronic_test.dart @@ -22,7 +22,9 @@ void main() { await tester.pump(); }, verify: (game, tester) async { - const animationDuration = 3.25; + final animationDuration = + game.firstChild()!.animation!.totalDuration(); + await expectLater( find.byGame(), matchesGoldenFile('golden/dash_animatronic/start.png'), diff --git a/packages/pinball_components/test/src/components/golden/dash_animatronic/end.png b/packages/pinball_components/test/src/components/golden/dash_animatronic/end.png index 3e5e91f5..c8218fe1 100644 Binary files a/packages/pinball_components/test/src/components/golden/dash_animatronic/end.png and b/packages/pinball_components/test/src/components/golden/dash_animatronic/end.png differ diff --git a/packages/pinball_components/test/src/components/golden/sparky-computer.png b/packages/pinball_components/test/src/components/golden/sparky-computer.png index 109f9903..165a79da 100644 Binary files a/packages/pinball_components/test/src/components/golden/sparky-computer.png and b/packages/pinball_components/test/src/components/golden/sparky-computer.png differ diff --git a/packages/pinball_components/test/src/components/golden/sparky_animatronic/end.png b/packages/pinball_components/test/src/components/golden/sparky_animatronic/end.png index a16672d7..5e963f14 100644 Binary files a/packages/pinball_components/test/src/components/golden/sparky_animatronic/end.png and b/packages/pinball_components/test/src/components/golden/sparky_animatronic/end.png differ diff --git a/packages/pinball_components/test/src/components/golden/sparky_animatronic/middle.png b/packages/pinball_components/test/src/components/golden/sparky_animatronic/middle.png index 56c775fa..2665c5cb 100644 Binary files a/packages/pinball_components/test/src/components/golden/sparky_animatronic/middle.png and b/packages/pinball_components/test/src/components/golden/sparky_animatronic/middle.png differ diff --git a/packages/pinball_components/test/src/components/golden/sparky_animatronic/start.png b/packages/pinball_components/test/src/components/golden/sparky_animatronic/start.png index a16672d7..ea3e6344 100644 Binary files a/packages/pinball_components/test/src/components/golden/sparky_animatronic/start.png and b/packages/pinball_components/test/src/components/golden/sparky_animatronic/start.png differ diff --git a/packages/pinball_components/test/src/components/sparky_animatronic_test.dart b/packages/pinball_components/test/src/components/sparky_animatronic_test.dart index 6794f8a7..66c2e0a6 100644 --- a/packages/pinball_components/test/src/components/sparky_animatronic_test.dart +++ b/packages/pinball_components/test/src/components/sparky_animatronic_test.dart @@ -9,29 +9,37 @@ import '../../helpers/helpers.dart'; void main() { TestWidgetsFlutterBinding.ensureInitialized(); - final flameTester = FlameTester(TestGame.new); group('SparkyAnimatronic', () { + final asset = Assets.images.sparky.animatronic.keyName; + final flameTester = FlameTester(() => TestGame([asset])); + flameTester.testGameWidget( 'renders correctly', setUp: (game, tester) async { + await game.images.load(asset); await game.ensureAdd(SparkyAnimatronic()..playing = true); + await tester.pump(); + game.camera.followVector2(Vector2.zero()); }, verify: (game, tester) async { + final animationDuration = + game.firstChild()!.animation!.totalDuration(); + await expectLater( find.byGame(), matchesGoldenFile('golden/sparky_animatronic/start.png'), ); - game.update(1); + game.update(animationDuration * 0.25); await tester.pump(); await expectLater( find.byGame(), matchesGoldenFile('golden/sparky_animatronic/middle.png'), ); - game.update(1); + game.update(animationDuration * 0.75); await tester.pump(); await expectLater( find.byGame(), @@ -39,6 +47,7 @@ void main() { ); }, ); + flameTester.test( 'loads correctly', (game) async { @@ -56,7 +65,9 @@ void main() { await game.ensureAdd(sparkyAnimatronic); sparkyAnimatronic.playing = true; - game.update(3); + final animationDuration = + game.firstChild()!.animation!.totalDuration(); + game.update(animationDuration); expect(sparkyAnimatronic.playing, isFalse); },