Files
go_router_riverpod/code_gen/test/widget_test.dart
venir.dev f25f77ce54 Updated dependencies
+ added hooks
~ changed from flutter_riverpod to hooks_riverpod
~ upgraded several dependencies
2023-03-18 15:36:53 +01:00

41 lines
1.5 KiB
Dart

import 'package:code_gen/main.dart';
import 'package:code_gen/state/auth.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:shared_preferences/shared_preferences.dart';
void main() {
testWidgets('startup redirects to home when signed in', (tester) async {
SharedPreferences.setMockInitialValues({});
await tester.pumpWidget(
const ProviderScope(child: MyAwesomeApp()),
);
expect(find.text('Splash Page'), findsOneWidget);
await tester.pumpAndSettle();
expect(find.text('Home Page'), findsNothing);
expect(find.text('Splash Page'), findsNothing);
expect(find.text('Login Page'), findsOneWidget);
// Tap the login button
await tester.tap(find.bySemanticsLabel('Login'));
// In a real test, you would never wait for a fake timer. Don't do this at home.
await tester.pumpAndSettle(networkRoundTripTime);
expect(find.text('Login Page'), findsNothing);
expect(find.text('Splash Page'), findsNothing);
expect(find.text('Home Page'), findsOneWidget);
// Tap the logout button
await tester.tap(find.bySemanticsLabel('Logout'));
// In a real test, you would never wait for a fake timer. Don't do this at home.
await tester.pumpAndSettle(networkRoundTripTime);
expect(find.text('Splash Page'), findsNothing);
expect(find.text('Home Page'), findsNothing);
expect(find.text("Login Page"), findsOneWidget);
return;
});
}