kirakira/test/widget_test.dart

36 lines
1.2 KiB
Dart
Raw Normal View History

import "dart:io";
2024-02-17 20:32:01 +05:30
import "package:flutter_riverpod/flutter_riverpod.dart";
import "package:flutter_test/flutter_test.dart";
import "package:hive_flutter/hive_flutter.dart";
2024-02-17 20:32:01 +05:30
import "package:smol_mail/data/providers/providers.dart";
import "package:smol_mail/presentation/app_widget.dart";
import "package:smol_mail/smol/store.dart";
2024-02-17 20:32:01 +05:30
late final SmolStore store;
2024-02-17 20:32:01 +05:30
void main() {
// Hive's box opening is real file IO, which never completes inside a
// testWidgets fake-async zone — so it happens here, outside one.
setUpAll(() async {
TestWidgetsFlutterBinding.ensureInitialized();
final dir = await Directory.systemTemp.createTemp("smol-widget-test");
Hive.init(dir.path);
store = await SmolStore.open(dbPath: "${dir.path}/widget.db");
});
2024-02-17 20:32:01 +05:30
testWidgets("onboarding invites to create or restore an identity",
(tester) async {
await tester.pumpWidget(
ProviderScope(
overrides: [storeProvider.overrideWithValue(store)],
child: const AppWidget(),
),
);
await tester.pumpAndSettle();
expect(find.text("Create Identity"), findsOneWidget);
expect(find.text("Restore From Seed"), findsOneWidget);
2024-02-17 20:32:01 +05:30
});
}