forked from eatvio/eatvio_app
chore(tests): remove unused tests and clean up test files for MyDietsRepository and MyPlansCubit
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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() {
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -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() {
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user