chore(version): update app version to 1.3.5+85 and improve test coverage reporting in CI

This commit is contained in:
mso7nueh
2025-12-08 11:19:08 +03:00
parent abe4985f0e
commit c2a506cdbf
148 changed files with 12395 additions and 1889 deletions

View File

@@ -7,65 +7,36 @@ import 'package:mockito/mockito.dart';
import 'views_repository_test.mocks.dart';
@GenerateNiceMocks([MockSpec<ViewsService>()])
@GenerateMocks([ViewsService])
void main() {
group('ViewsRepository', () {
late ViewsRepository viewsRepository;
late MockViewsService mockViewsService;
late ViewsRepository repository;
setUp(() {
mockViewsService = MockViewsService();
viewsRepository = ViewsRepository(viewsService: mockViewsService);
repository = ViewsRepository(viewsService: mockViewsService);
});
test('viewContent - успешная отправка просмотров', () async {
final viewModel = ViewModel(
type: 'blog_posts',
ids: [1, 2, 3],
);
test('viewContent calls viewsService.viewContent', () async {
final viewModel = ViewModel(type: 'posts', ids: [1, 2, 3]);
when(mockViewsService.viewContent(viewModel: viewModel))
.thenAnswer((_) async => Future.value());
await viewsRepository.viewContent(viewModel: viewModel);
await repository.viewContent(viewModel: viewModel);
verify(mockViewsService.viewContent(viewModel: viewModel)).called(1);
});
test('viewContent - пробрасывает исключение', () async {
final viewModel = ViewModel(
type: 'blog_posts',
ids: [1, 2, 3],
);
test('viewContent rethrows exception when service throws', () async {
final viewModel = ViewModel(type: 'posts', ids: [1, 2, 3]);
final exception = Exception('Test error');
when(mockViewsService.viewContent(viewModel: viewModel))
.thenThrow(Exception('Ошибка отправки'));
.thenThrow(exception);
expect(
() => viewsRepository.viewContent(viewModel: viewModel),
throwsException,
);
});
test('viewContent - работает с разными типами контента', () async {
final postsModel = ViewModel(type: 'blog_posts', ids: [1]);
final plansModel = ViewModel(type: 'plans', ids: [2]);
final dietsModel = ViewModel(type: 'diets', ids: [3]);
final recipesModel = ViewModel(type: 'recipes', ids: [4]);
when(mockViewsService.viewContent(viewModel: anyNamed('viewModel')))
.thenAnswer((_) async => Future.value());
await viewsRepository.viewContent(viewModel: postsModel);
await viewsRepository.viewContent(viewModel: plansModel);
await viewsRepository.viewContent(viewModel: dietsModel);
await viewsRepository.viewContent(viewModel: recipesModel);
verify(mockViewsService.viewContent(viewModel: postsModel)).called(1);
verify(mockViewsService.viewContent(viewModel: plansModel)).called(1);
verify(mockViewsService.viewContent(viewModel: dietsModel)).called(1);
verify(mockViewsService.viewContent(viewModel: recipesModel)).called(1);
expect(() => repository.viewContent(viewModel: viewModel), throwsException);
});
});
}