From 710b793c0f68f910344c9851ea3754dd81285676 Mon Sep 17 00:00:00 2001 From: TheOneWithTheBraid Date: Thu, 29 Dec 2022 15:02:29 +0100 Subject: [PATCH] chore: add integration tests Signed-off-by: TheOneWithTheBraid --- .../extensions/default_flows.dart | 30 +++++----- lib/generated_plugin_registrant.dart | 57 +++++++++++++++++++ lib/widgets/matrix.dart | 9 ++- 3 files changed, 79 insertions(+), 17 deletions(-) create mode 100644 lib/generated_plugin_registrant.dart diff --git a/integration_test/extensions/default_flows.dart b/integration_test/extensions/default_flows.dart index b61f6aff..eb608592 100644 --- a/integration_test/extensions/default_flows.dart +++ b/integration_test/extensions/default_flows.dart @@ -32,24 +32,24 @@ extension DefaultFlowExtensions on WidgetTester { await tester.pumpAndSettle(); // in case registration is allowed - // try { - await Future.delayed(const Duration(milliseconds: 50)); + try { + await Future.delayed(const Duration(milliseconds: 50)); - await tester.scrollUntilVisible( - find.text('Login'), - 500, - scrollable: find.descendant( - of: find.byKey(const Key('ConnectPageListView')), - matching: find.byType(Scrollable).first, - ), - ); - await tester.pumpAndSettle(); + await tester.scrollUntilVisible( + find.text('Login'), + 500, + scrollable: find.descendant( + of: find.byKey(const Key('ConnectPageListView')), + matching: find.byType(Scrollable).first, + ), + ); + await tester.pumpAndSettle(); - await tester.tap(find.text('Login')); - await tester.pumpAndSettle(); - /*} catch (e) { + await tester.tap(find.text('Login')); + await tester.pumpAndSettle(); + } catch (e) { log('Registration is not allowed. Proceeding with login...'); - }*/ + } await tester.pumpAndSettle(); await Future.delayed(const Duration(milliseconds: 50)); diff --git a/lib/generated_plugin_registrant.dart b/lib/generated_plugin_registrant.dart new file mode 100644 index 00000000..60b31c1b --- /dev/null +++ b/lib/generated_plugin_registrant.dart @@ -0,0 +1,57 @@ +// +// Generated file. Do not edit. +// + +// ignore_for_file: directives_ordering +// ignore_for_file: lines_longer_than_80_chars +// ignore_for_file: depend_on_referenced_packages + +import 'package:audio_session/audio_session_web.dart'; +import 'package:connectivity_plus_web/connectivity_plus_web.dart'; +import 'package:desktop_drop/desktop_drop_web.dart'; +import 'package:device_info_plus_web/device_info_plus_web.dart'; +import 'package:file_picker/_internal/file_picker_web.dart'; +import 'package:file_selector_web/file_selector_web.dart'; +import 'package:flutter_keyboard_visibility_web/flutter_keyboard_visibility_web.dart'; +import 'package:flutter_native_splash/flutter_native_splash_web.dart'; +import 'package:flutter_secure_storage_web/flutter_secure_storage_web.dart'; +import 'package:flutter_web_auth/src/flutter_web_auth_web.dart'; +import 'package:geolocator_web/geolocator_web.dart'; +import 'package:image_picker_for_web/image_picker_for_web.dart'; +import 'package:just_audio_web/just_audio_web.dart'; +import 'package:package_info_plus_web/package_info_plus_web.dart'; +import 'package:record_web/record_web.dart'; +import 'package:share_plus_web/share_plus_web.dart'; +import 'package:shared_preferences_web/shared_preferences_web.dart'; +import 'package:uni_links_web/uni_links_web.dart'; +import 'package:url_launcher_web/url_launcher_web.dart'; +import 'package:video_player_web/video_player_web.dart'; +import 'package:wakelock_web/wakelock_web.dart'; + +import 'package:flutter_web_plugins/flutter_web_plugins.dart'; + +// ignore: public_member_api_docs +void registerPlugins(Registrar registrar) { + AudioSessionWeb.registerWith(registrar); + ConnectivityPlusPlugin.registerWith(registrar); + DesktopDropWeb.registerWith(registrar); + DeviceInfoPlusPlugin.registerWith(registrar); + FilePickerWeb.registerWith(registrar); + FileSelectorWeb.registerWith(registrar); + FlutterKeyboardVisibilityPlugin.registerWith(registrar); + FlutterNativeSplashWeb.registerWith(registrar); + FlutterSecureStorageWeb.registerWith(registrar); + FlutterWebAuthPlugin.registerWith(registrar); + GeolocatorPlugin.registerWith(registrar); + ImagePickerPlugin.registerWith(registrar); + JustAudioPlugin.registerWith(registrar); + PackageInfoPlugin.registerWith(registrar); + RecordPluginWeb.registerWith(registrar); + SharePlusPlugin.registerWith(registrar); + SharedPreferencesPlugin.registerWith(registrar); + UniLinksPlugin.registerWith(registrar); + UrlLauncherPlugin.registerWith(registrar); + VideoPlayerPlugin.registerWith(registrar); + WakelockWeb.registerWith(registrar); + registrar.registerMessageHandler(); +} diff --git a/lib/widgets/matrix.dart b/lib/widgets/matrix.dart index 70632a8e..5770a30d 100644 --- a/lib/widgets/matrix.dart +++ b/lib/widgets/matrix.dart @@ -240,8 +240,13 @@ class MatrixState extends State with WidgetsBindingObserver { bool webHasFocus = true; - String? get activeRoomId => - VRouter.of(navigatorContext).pathParameters['roomid']; + String? get activeRoomId { + try { + return VRouter.of(navigatorContext).pathParameters['roomid']; + } catch (_) { + return null; + } + } final linuxNotifications = PlatformInfos.isLinux ? NotificationsClient() : null;