chore(tests): remove unused tests and clean up test files for MyDietsRepository and MyPlansCubit

This commit is contained in:
mso7nueh
2025-12-04 16:13:36 +03:00
parent 04c932646d
commit ca06b2bd0f
3 changed files with 1 additions and 207 deletions

View File

@@ -82,6 +82,7 @@ dependencies:
material_symbols_icons: ^4.2874.0
rxdart: ^0.27.7
gpassword: ^1.0.0
dev_dependencies:
build_runner: ^2.7.0
freezed: ^3.2.0

View File

@@ -8,83 +8,6 @@ import 'package:mockito/mockito.dart';
import 'my_diets_repository_test.mocks.dart';
@GenerateNiceMocks([MockSpec<MyDietsService>()])
void main() {
group('MyDietsRepository', () {
late MyDietsRepository repository;
late MockMyDietsService mockService;
setUp(() {
mockService = MockMyDietsService();
repository = MyDietsRepository(myDietsService: mockService);
});
test('deleteDiet - успешное удаление диеты', () async {
const dietId = 1;
when(mockService.deleteDiet(dietId: dietId))
.thenAnswer((_) async => Future.value());
await repository.deleteDiet(dietId);
verify(mockService.deleteDiet(dietId: dietId)).called(1);
});
test('getDiets - успешное получение диет', () async {
const pagination = DietsPagination(
data: [],
links: Links(
first: 'https://example.com?page=1',
last: 'https://example.com?page=1',
prev: null,
next: null,
),
meta: Meta(
currentPage: 1,
from: 1,
lastPage: 1,
links: [],
perPage: 10,
to: 1,
total: 0,
),
);
when(mockService.getDiets(
page: 1,
query: null,
types: null,
duration: null,
sorting: null,
state: null,
)).thenAnswer((_) async => pagination);
final result = await repository.getDiets();
expect(result, equals(pagination));
verify(mockService.getDiets(
page: 1,
query: null,
types: null,
duration: null,
sorting: null,
state: null,
)).called(1);
});
});
}
import 'package:eatvio_app/core/models/pagination_model.dart';
import 'package:eatvio_app/features/feed/models/diets_pagination_model.dart';
import 'package:eatvio_app/features/my_diets/repositories/my_diets_repository.dart';
import 'package:eatvio_app/features/my_diets/services/my_diets_service.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:mockito/annotations.dart';
import 'package:mockito/mockito.dart';
import 'my_diets_repository_test.mocks.dart';
@GenerateNiceMocks([MockSpec<MyDietsService>()])
void main() {
group('MyDietsRepository', () {
@@ -287,4 +210,3 @@ void main() {
});
});
}

View File

@@ -1,131 +1,3 @@
import 'package:eatvio_app/core/models/pagination_model.dart';
import 'package:eatvio_app/features/feed/models/diets_pagination_model.dart';
import 'package:eatvio_app/features/feed/models/plan_pagination_model.dart';
import 'package:eatvio_app/features/my_plans/presentation/cubit/my_plans_cubit.dart';
import 'package:eatvio_app/features/my_plans/repositories/my_diets_repository.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:mockito/annotations.dart';
import 'package:mockito/mockito.dart';
import 'my_plans_cubit_test.mocks.dart';
@GenerateNiceMocks([MockSpec<MyPlansRepository>()])
void main() {
group('MyPlansCubit', () {
MyPlansCubit? myPlansCubit;
late MockMyPlansRepository mockMyPlansRepository;
setUp(() {
mockMyPlansRepository = MockMyPlansRepository();
});
tearDown(() async {
if (myPlansCubit != null && !myPlansCubit!.isClosed) {
await myPlansCubit!.close();
myPlansCubit = null;
}
});
test('начальное состояние - пустое', () {
myPlansCubit = MyPlansCubit(myPlansRepository: mockMyPlansRepository);
expect(myPlansCubit!.state.activePlans, isEmpty);
expect(myPlansCubit!.state.draftPlans, isEmpty);
expect(myPlansCubit!.state.isLoading, isFalse);
});
test('changePriceFilter - изменяет фильтр цены для активных планов', () {
myPlansCubit = MyPlansCubit(myPlansRepository: mockMyPlansRepository);
myPlansCubit!.changePriceFilter(100, 500);
expect(myPlansCubit!.state.activeFilterState.priceFilter, (100, 500));
});
test('changeTypeFilter - изменяет тип фильтра', () {
myPlansCubit = MyPlansCubit(myPlansRepository: mockMyPlansRepository);
myPlansCubit!.changeTypeFilter(1);
expect(myPlansCubit!.state.activeFilterState.typeIndex, 1);
});
test('changeDurationFilter - изменяет фильтр продолжительности', () {
myPlansCubit = MyPlansCubit(myPlansRepository: mockMyPlansRepository);
myPlansCubit!.changeDurationFilter(1);
expect(myPlansCubit!.state.activeFilterState.durationIndex, 1);
});
test('loadActivePlans - успешная загрузка активных планов', () async {
myPlansCubit = MyPlansCubit(myPlansRepository: mockMyPlansRepository);
const testPlan = PlanModel(
id: 1,
slug: 'test-plan',
name: 'Test Plan',
image: 'https://example.com/image.jpg',
duration: 7,
state: 'active',
type: PlanType(fit: true, slim: false, behavior: false, wellness: false),
details: 'Test description',
packetsCount: 3,
minPriceOfOptions: 1000.0,
maxPriceOfOptions: 2000.0,
author: Author(
authorSlug: 'author',
authorName: 'Author Name',
authorProfileIcon: 'https://example.com/icon.jpg',
authorIsMe: false,
isEntitySubscribedByMe: null,
authorPlaceInRating: null,
),
totalLikes: 10,
totalViews: 100,
totalComments: 5,
wasLikedByMe: false,
isFavorite: false,
);
const plansPagination = PlanPaginationModel(
data: [testPlan],
links: Links(
first: 'https://example.com?page=1',
last: 'https://example.com?page=1',
prev: null,
next: null,
),
meta: Meta(
currentPage: 1,
from: 1,
lastPage: 1,
links: [],
perPage: 10,
to: 1,
total: 1,
),
);
when(mockMyPlansRepository.getPlans(
query: anyNamed('query'),
types: anyNamed('types'),
duration: anyNamed('duration'),
minPrice: anyNamed('minPrice'),
maxPrice: anyNamed('maxPrice'),
page: anyNamed('page'),
)).thenAnswer((_) async => plansPagination);
await myPlansCubit!.loadAllPlans();
await Future.delayed(const Duration(milliseconds: 200));
expect(myPlansCubit!.state.activePlans.length, 1);
expect(myPlansCubit!.state.error, isNull);
});
});
}
import 'package:eatvio_app/core/models/pagination_model.dart';
import 'package:eatvio_app/features/feed/models/diets_pagination_model.dart';
import 'package:eatvio_app/features/feed/models/plan_pagination_model.dart';
@@ -381,4 +253,3 @@ void main() {
});
});
}