kirakira/test/widget_test.dart

35 lines
1.1 KiB
Dart

import "dart:io";
import "package:flutter_riverpod/flutter_riverpod.dart";
import "package:flutter_test/flutter_test.dart";
import "package:hive_flutter/hive_flutter.dart";
import "package:smol_mail/data/providers/providers.dart";
import "package:smol_mail/presentation/app_widget.dart";
import "package:smol_mail/smol/store.dart";
late final SmolStore store;
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();
});
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);
});
}