Files
OnBudget/test/widget_test.dart
2026-05-31 16:40:13 +03:00

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);
});
}