sign in with pocketbase working
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
import 'package:myapp/providers/auth_provider.dart';
|
||||
import 'package:myapp/providers/bank_provider.dart';
|
||||
import 'package:myapp/providers/theme_provider.dart';
|
||||
import 'package:myapp/providers/tx_meta_provider.dart';
|
||||
import 'package:myapp/screens/overview_screen.dart';
|
||||
import 'package:myapp/screens/transactions_screen.dart';
|
||||
import 'package:myapp/services/storage_service.dart';
|
||||
import 'package:myapp/utils/app_config.dart';
|
||||
import 'package:myapp/utils/app_theme.dart';
|
||||
|
||||
void main() {
|
||||
TestWidgetsFlutterBinding.ensureInitialized();
|
||||
|
||||
late StorageService storage;
|
||||
late AuthController auth;
|
||||
late BankController bank;
|
||||
late TxMetaController meta;
|
||||
|
||||
setUp(() async {
|
||||
AppConfig.loadForTest();
|
||||
SharedPreferences.setMockInitialValues({});
|
||||
storage = StorageService();
|
||||
await storage.init();
|
||||
auth = AuthController(storage);
|
||||
await auth.init();
|
||||
bank = BankController(storage: storage);
|
||||
// seed a couple txs
|
||||
// ignore: invalid_use_of_visible_for_testing_member
|
||||
meta = TxMetaController(storage);
|
||||
});
|
||||
|
||||
testWidgets('overview builds dark', (tester) async {
|
||||
FlutterError.onError = (details) {
|
||||
fail(details.toString());
|
||||
};
|
||||
await tester.pumpWidget(
|
||||
MultiProvider(
|
||||
providers: [
|
||||
ChangeNotifierProvider<AuthController>.value(value: auth),
|
||||
ChangeNotifierProvider(create: (_) => ThemeController(storage)),
|
||||
ChangeNotifierProvider<TxMetaController>.value(value: meta),
|
||||
ChangeNotifierProvider<BankController>.value(value: bank),
|
||||
],
|
||||
child: MaterialApp(
|
||||
theme: AppTheme.light(),
|
||||
darkTheme: AppTheme.dark(),
|
||||
themeMode: ThemeMode.dark,
|
||||
home: const OverviewScreen(),
|
||||
),
|
||||
),
|
||||
);
|
||||
await tester.pump();
|
||||
await tester.pump(const Duration(seconds: 1));
|
||||
expect(tester.takeException(), isNull);
|
||||
expect(find.text('Overview'), findsOneWidget);
|
||||
});
|
||||
|
||||
testWidgets('transactions builds dark', (tester) async {
|
||||
await tester.pumpWidget(
|
||||
MultiProvider(
|
||||
providers: [
|
||||
ChangeNotifierProvider<AuthController>.value(value: auth),
|
||||
ChangeNotifierProvider(create: (_) => ThemeController(storage)),
|
||||
ChangeNotifierProvider<TxMetaController>.value(value: meta),
|
||||
ChangeNotifierProvider<BankController>.value(value: bank),
|
||||
],
|
||||
child: MaterialApp(
|
||||
theme: AppTheme.light(),
|
||||
darkTheme: AppTheme.dark(),
|
||||
themeMode: ThemeMode.dark,
|
||||
home: const TransactionsScreen(),
|
||||
),
|
||||
),
|
||||
);
|
||||
await tester.pump();
|
||||
await tester.pump(const Duration(seconds: 1));
|
||||
expect(tester.takeException(), isNull);
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user