From d4d2c88330bcd28b1d12f9dc17e4af89b6e9c1af Mon Sep 17 00:00:00 2001 From: Christian Pauly Date: Sat, 10 Apr 2021 17:30:15 +0200 Subject: [PATCH] tests: Add tests for homeserver picker --- lib/main.dart | 13 +++++++++---- test/homeserver_picker_test.dart | 14 ++++++++++++++ 2 files changed, 23 insertions(+), 4 deletions(-) create mode 100644 test/homeserver_picker_test.dart diff --git a/lib/main.dart b/lib/main.dart index 1623338f..7754d295 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -41,18 +41,21 @@ void main() async { runZonedGuarded( () => runApp(PlatformInfos.isMobile ? AppLock( - builder: (args) => App(), + builder: (args) => FluffyChatApp(), lockScreen: LockScreen(), enabled: false, ) - : App()), + : FluffyChatApp()), SentryController.captureException, ); } -class App extends StatelessWidget { +class FluffyChatApp extends StatelessWidget { + final Widget test; static final GlobalKey _apl = GlobalKey(); + + const FluffyChatApp({Key key, this.test}) : super(key: key); @override Widget build(BuildContext context) { return AdaptiveTheme( @@ -76,7 +79,9 @@ class App extends StatelessWidget { builder: (context) => AdaptivePageLayout( key: _apl, safeAreaOnColumnView: false, - onGenerateRoute: FluffyRoutes(context).onGenerateRoute, + onGenerateRoute: test == null + ? FluffyRoutes(context).onGenerateRoute + : (_) => ViewData(mainView: (_) => test), dividerColor: Theme.of(context).dividerColor, columnWidth: FluffyThemes.columnWidth, dividerWidth: 1.0, diff --git a/test/homeserver_picker_test.dart b/test/homeserver_picker_test.dart new file mode 100644 index 00000000..d998af59 --- /dev/null +++ b/test/homeserver_picker_test.dart @@ -0,0 +1,14 @@ +import 'package:fluffychat/controllers/homeserver_picker_controller.dart'; +import 'package:fluffychat/main.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; + +void main() { + testWidgets('Test if the widget can be created', (WidgetTester tester) async { + await tester.pumpWidget(FluffyChatApp(test: HomeserverPicker())); + + await tester.tap(find.byType(TextField)); + await tester.tap(find.byType(ElevatedButton)); + await tester.pumpAndSettle(); + }); +}