ynab_lite/test/widget_test.dart

32 lines
954 B
Dart

import 'package:flutter_test/flutter_test.dart';
import 'package:ynab_lite/app.dart';
import 'package:ynab_lite/theme/app_theme.dart';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:ynab_lite/providers/db_provider.dart';
import 'package:drift/native.dart';
import 'package:ynab_lite/data/db.dart';
void main() {
testWidgets('App renders dashboard by default', (tester) async {
final db = AppDatabase(NativeDatabase.memory());
await tester.pumpWidget(
ProviderScope(
overrides: [
dbProvider.overrideWithValue(db),
],
child: MaterialApp(
theme: ynabTheme,
home: const YnabApp(),
),
),
);
await tester.pumpAndSettle();
expect(find.text('Tableau de bord'), findsNWidgets(2));
expect(find.text('Solde total'), findsOneWidget);
await db.close();
await tester.pumpAndSettle();
});
}