feat(tests): increased tests coverage

This commit is contained in:
misha
2025-12-25 12:56:38 +03:00
parent 5b705dfb72
commit 99659f7ea1
132 changed files with 10304 additions and 6226 deletions

View File

@@ -44,10 +44,7 @@ void main() {
GlobalCupertinoLocalizations.delegate,
],
supportedLocales: const [Locale('ru')],
home: BlocProvider<UserCardsCubit>.value(
value: cubit,
child: child,
),
home: BlocProvider<UserCardsCubit>.value(value: cubit, child: child),
);
}
@@ -88,5 +85,65 @@ void main() {
expect(find.byType(CardSettingsScreen), findsOneWidget);
});
testWidgets('renders with error state', (tester) async {
final cubit = MockUserCardsCubit();
final state = UserCardsState(state: BaseState.error, cards: const [], error: 'Test error');
when(cubit.state).thenReturn(state);
when(cubit.stream).thenAnswer((_) => const Stream<UserCardsState>.empty());
when(cubit.close()).thenAnswer((_) async => Future<void>.value());
when(cubit.getCards()).thenAnswer((_) async => Future<void>.value());
registerMock(cubit);
await tester.pumpWidget(wrap(cubit, const CardSettingsScreen()));
await tester.pump();
expect(find.byType(CardSettingsScreen), findsOneWidget);
});
testWidgets('renders with chosenPlanId and cards', (tester) async {
final cubit = MockUserCardsCubit();
final state = UserCardsState(
state: BaseState.success,
cards: [CardModel(id: 1, cardNumber: '1234567890123456', isDefault: true)],
error: null,
);
when(cubit.state).thenReturn(state);
when(cubit.stream).thenAnswer((_) => const Stream<UserCardsState>.empty());
when(cubit.close()).thenAnswer((_) async => Future<void>.value());
when(cubit.getCards()).thenAnswer((_) async => Future<void>.value());
when(cubit.collectCharge(chosenPlaId: anyNamed('chosenPlaId'))).thenAnswer((_) async => true);
registerMock(cubit);
await tester.pumpWidget(wrap(cubit, const CardSettingsScreen(chosenPlanId: 1)));
await tester.pump();
expect(find.byType(CardSettingsScreen), findsOneWidget);
});
testWidgets('renders with no default card', (tester) async {
final cubit = MockUserCardsCubit();
final state = UserCardsState(
state: BaseState.success,
cards: [CardModel(id: 1, cardNumber: '1234567890123456', isDefault: false)],
error: null,
);
when(cubit.state).thenReturn(state);
when(cubit.stream).thenAnswer((_) => const Stream<UserCardsState>.empty());
when(cubit.close()).thenAnswer((_) async => Future<void>.value());
when(cubit.getCards()).thenAnswer((_) async => Future<void>.value());
registerMock(cubit);
await tester.pumpWidget(wrap(cubit, const CardSettingsScreen()));
await tester.pump();
expect(find.byType(CardSettingsScreen), findsOneWidget);
});
});
}