From 631916d9fdbf8218ed5391ed0a30cd11774d6c51 Mon Sep 17 00:00:00 2001 From: RuiAlonso Date: Sat, 7 May 2022 18:34:52 +0200 Subject: [PATCH] test: tests for sharing links --- .../src/external_links/external_links.dart | 2 ++ .../game/components/backbox/backbox_test.dart | 32 +++++++++++-------- 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/packages/pinball_ui/lib/src/external_links/external_links.dart b/packages/pinball_ui/lib/src/external_links/external_links.dart index 8e4792ea..390affe2 100644 --- a/packages/pinball_ui/lib/src/external_links/external_links.dart +++ b/packages/pinball_ui/lib/src/external_links/external_links.dart @@ -5,8 +5,10 @@ import 'package:url_launcher/url_launcher.dart'; Future openLink(String url, {VoidCallback? onError}) async { final uri = Uri.parse(url); if (await canLaunchUrl(uri)) { + print('canLaunch'); await launchUrl(uri); } else if (onError != null) { + print('onError'); onError(); } } diff --git a/test/game/components/backbox/backbox_test.dart b/test/game/components/backbox/backbox_test.dart index c5c82840..fa0ae528 100644 --- a/test/game/components/backbox/backbox_test.dart +++ b/test/game/components/backbox/backbox_test.dart @@ -3,6 +3,7 @@ import 'dart:async'; import 'package:bloc_test/bloc_test.dart'; +import 'package:flame/game.dart'; import 'package:flame/input.dart'; import 'package:flame_bloc/flame_bloc.dart'; import 'package:flame_forge2d/flame_forge2d.dart'; @@ -23,7 +24,8 @@ import 'package:pinball_ui/pinball_ui.dart'; import 'package:plugin_platform_interface/plugin_platform_interface.dart'; import 'package:share_repository/share_repository.dart'; -class _TestGame extends Forge2DGame with HasKeyboardHandlerComponents { +class _TestGame extends Forge2DGame + with HasKeyboardHandlerComponents, HasTappables { final character = theme.DashTheme(); @override @@ -337,13 +339,13 @@ void main() { ); final shareRepository = _MockShareRepository(); - const fakeUrl = 'fakeUrl'; + const fakeUrl = 'http://fakeUrl'; when( - () => () => shareRepository.shareText( - value: any(), - platform: SharePlatform.facebook, - ), - ).thenReturn(() => fakeUrl); + () => shareRepository.shareText( + value: any(named: 'value'), + platform: SharePlatform.facebook, + ), + ).thenReturn(fakeUrl); when(() => urlLauncher.canLaunch(any())) .thenAnswer((_) async => true); when( @@ -368,6 +370,8 @@ void main() { game.descendants().whereType().first; facebookButton.onTapDown(_MockTapDownInfo()); + await game.ready(); + verify( () => shareRepository.shareText( value: state.score.toString(), @@ -403,13 +407,13 @@ void main() { ); final shareRepository = _MockShareRepository(); - const fakeUrl = 'fakeUrl'; + const fakeUrl = 'http://fakeUrl'; when( - () => () => shareRepository.shareText( - value: any(), - platform: SharePlatform.twitter, - ), - ).thenReturn(() => fakeUrl); + () => shareRepository.shareText( + value: any(named: 'value'), + platform: SharePlatform.twitter, + ), + ).thenReturn(fakeUrl); when(() => urlLauncher.canLaunch(any())) .thenAnswer((_) async => true); when( @@ -434,6 +438,8 @@ void main() { game.descendants().whereType().first; facebookButton.onTapDown(_MockTapDownInfo()); + await game.ready(); + verify( () => shareRepository.shareText( value: state.score.toString(),