forked from eatvio/eatvio_app
feat(tests): test coverage is 70.5
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
import 'package:eatvio_app/features/menu/presentation/bloc/menu_cubit/menu_state.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
|
||||
void main() {
|
||||
group('MenuState', () {
|
||||
test('creates MenuState instance', () {
|
||||
final state = MenuState();
|
||||
expect(state, isNotNull);
|
||||
expect(state, isA<MenuState>());
|
||||
});
|
||||
|
||||
test('creates multiple MenuState instances', () {
|
||||
final state1 = MenuState();
|
||||
final state2 = MenuState();
|
||||
|
||||
expect(state1, isNotNull);
|
||||
expect(state2, isNotNull);
|
||||
expect(state1, isA<MenuState>());
|
||||
expect(state2, isA<MenuState>());
|
||||
});
|
||||
|
||||
test('MenuState instances are not equal by default', () {
|
||||
final state1 = MenuState();
|
||||
final state2 = MenuState();
|
||||
|
||||
// MenuState is a regular class without overridden == operator,
|
||||
// so instances are compared by reference
|
||||
expect(state1 == state2, isFalse);
|
||||
expect(state1, isNot(same(state2)));
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -78,5 +78,22 @@ void main() {
|
||||
expect(find.byType(BlockedUsersScreen), findsOneWidget);
|
||||
expect(find.text('Чёрный список'), findsOneWidget);
|
||||
});
|
||||
|
||||
testWidgets('renders blocked users screen with error state', (tester) async {
|
||||
final cubit = MockBlockedUsersCubit();
|
||||
const state = BlockedUsersStateError(errorMessage: 'Error message');
|
||||
|
||||
when(cubit.state).thenReturn(state);
|
||||
when(cubit.stream).thenAnswer((_) => Stream.value(state));
|
||||
when(cubit.close()).thenAnswer((_) async => Future<void>.value());
|
||||
when(cubit.getBlockedUsers()).thenAnswer((_) async => Future<void>.value());
|
||||
|
||||
sl.registerFactory<BlockedUsersCubit>(() => cubit);
|
||||
|
||||
await tester.pumpWidget(wrap(const BlockedUsersScreen()));
|
||||
await tester.pump();
|
||||
|
||||
expect(find.byType(BlockedUsersScreen), findsOneWidget);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user