Files
eatvio_app/test/features/menu/services/blocked_users_service_test.dart

58 lines
2.1 KiB
Dart

import 'package:eatvio_app/features/menu/models/blocked_users_model.dart';
import 'package:eatvio_app/features/menu/services/blocked_users_service.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:mockito/annotations.dart';
import 'package:mockito/mockito.dart';
import '../../../fixtures/menu_fixtures.dart';
import 'blocked_users_service_test.mocks.dart';
@GenerateNiceMocks([MockSpec<BlockedUserService>()])
void main() {
group('BlockedUserService', () {
late MockBlockedUserService mockBlockedUserService;
setUp(() {
mockBlockedUserService = MockBlockedUserService();
});
test('getBlockedUsers - возвращает список заблокированных пользователей', () async {
final expectedBlockedUsers = MenuFixtures.blockedUsersModel();
when(mockBlockedUserService.getBlockedUsers())
.thenAnswer((_) async => expectedBlockedUsers);
final result = await mockBlockedUserService.getBlockedUsers();
expect(result, isA<BlockedUsersModel>());
expect(result.profilesList.length, 2);
expect(result.profilesList.first.id, 1);
verify(mockBlockedUserService.getBlockedUsers()).called(1);
});
test('blockUser - блокирует пользователя', () async {
final blockedUser = MenuFixtures.blockedUser();
final data = {'slug': blockedUser.slug};
when(mockBlockedUserService.blockUser(data: data))
.thenAnswer((_) async => Future.value());
await mockBlockedUserService.blockUser(data: data);
verify(mockBlockedUserService.blockUser(data: data)).called(1);
});
test('unblockUser - разблокирует пользователя', () async {
final blockedUser = MenuFixtures.blockedUser();
final data = {'slug': blockedUser.slug};
when(mockBlockedUserService.unblockUser(data: data))
.thenAnswer((_) async => Future.value());
await mockBlockedUserService.unblockUser(data: data);
verify(mockBlockedUserService.unblockUser(data: data)).called(1);
});
});
}