forked from eatvio/eatvio_app
feat(tests): increased tests coverage
This commit is contained in:
@@ -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);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user