28 lines
1.1 KiB
Dart
28 lines
1.1 KiB
Dart
import 'package:drift/native.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:intl/date_symbol_data_local.dart';
|
|
import 'package:new_budget/src/app/app.dart';
|
|
import 'package:new_budget/src/core/database/app_database.dart';
|
|
import 'package:new_budget/src/core/providers/database_provider.dart';
|
|
|
|
void main() {
|
|
testWidgets('App boots without crashes', (tester) async {
|
|
await initializeDateFormatting('ru');
|
|
// Реальная БД через drift_flutter оставляет висящий таймер после тиардауна.
|
|
// Подменяем на in-memory, чтобы тест-вьюпорт не падал на pending timer.
|
|
final db = AppDatabase.forTesting(NativeDatabase.memory());
|
|
addTearDown(db.close);
|
|
|
|
await tester.pumpWidget(
|
|
ProviderScope(
|
|
overrides: [appDatabaseProvider.overrideWithValue(db)],
|
|
child: const NewBudgetApp(),
|
|
),
|
|
);
|
|
await tester.pump();
|
|
expect(find.byType(MaterialApp), findsOneWidget);
|
|
});
|
|
}
|