import 'package:fintracker_api/fintracker_api.dart'; import 'package:fintracker_app/core/widgets/money_text.dart'; import 'package:fintracker_app/features/home/home_page.dart'; import 'package:fintracker_app/features/home/providers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_test/flutter_test.dart'; void main() { testWidgets('Обзор renders stat tiles from a net worth breakdown', (tester) async { final breakdown = NetWorthBreakdown( accounts: const [], byCurrency: const {'RUB': '123456.78'}, d: DateTime(2026, 9, 17), debtRub: '1000', investmentRub: '2000', liquidRub: '3000', missingFxCount: 0, savingsRub: '4000', totalRub: '123456.78', ); await tester.pumpWidget( ProviderScope( overrides: [ netWorthBreakdownProvider.overrideWith((ref) => breakdown), netWorthSeriesProvider.overrideWith((ref) => const []), cashflowThisMonthProvider.overrideWith((ref) => null), cashflowLast12Provider.overrideWith((ref) => const []), runwayProvider.overrideWith((ref) => RunwayOut( asOf: DateTime(2026, 9, 17), avgBaseline3mRub: '0', liquidReserveRub: '0', runwayMonths: null, )), metricsStatusProvider.overrideWith((ref) => null), dataQualityProvider.overrideWith((ref) => const []), ], child: const MaterialApp(home: HomePage()), ), ); await tester.pumpAndSettle(); expect(find.text('Капитал сегодня'), findsOneWidget); expect(find.text(MoneyText.format('123456.78', 'RUB')), findsOneWidget); expect(find.text('Ликвидные'), findsOneWidget); expect(find.text(MoneyText.format('3000', 'RUB')), findsOneWidget); expect(find.text('Долги'), findsOneWidget); expect(find.text(MoneyText.format('1000', 'RUB')), findsOneWidget); }); }