refactor: Corrected typo in MyRecipesCubit filename and updated related tests, widgets, services, and DI registrations.

This commit is contained in:
mso7nueh
2026-02-16 18:16:26 +03:00
parent 6e7894b911
commit 5b149e2fd2
17 changed files with 845 additions and 14 deletions

View File

@@ -45,7 +45,7 @@ import 'package:eatvio_app/features/profile/presentation/bloc/plans_cubit/plans_
import 'package:eatvio_app/features/profile/presentation/bloc/profile_cubit/profile_cubit.dart';
import 'package:eatvio_app/features/profile/presentation/bloc/sub_cubit/sub_cubit.dart';
import 'package:eatvio_app/features/recipe/presentation/cubit/about_recipe_cubit.dart';
import 'package:eatvio_app/features/recipe/presentation/cubit/my_recipes_cubit/my_recieps_cubit.dart';
import 'package:eatvio_app/features/recipe/presentation/cubit/my_recipes_cubit/my_recipes_cubit.dart';
import 'package:eatvio_app/features/registration/presentation/bloc/registration_cubit/registration_cubit.dart';
import 'package:eatvio_app/features/registration/presentation/bloc/verify_email_cubit/verify_email_cubit.dart';
import 'package:eatvio_app/features/registration_v2/cubit/registration_cubit.dart';

View File

@@ -2,7 +2,6 @@ import 'package:dio/dio.dart';
import 'package:eatvio_app/features/create_recipe/models/recipe_model.dart';
import 'package:eatvio_app/features/create_recipe/models/recipe_tag_model.dart';
import 'package:retrofit/retrofit.dart';
import 'package:retrofit/http.dart';
import 'package:eatvio_app/features/create_recipe/models/product.dart';
part 'recipe_service.g.dart';

View File

@@ -1,7 +1,7 @@
import 'package:eatvio_app/core/locator_service.dart';
import 'package:eatvio_app/core/theme/custom_text_style.dart';
import 'package:eatvio_app/core/theme/theme_helper.dart';
import 'package:eatvio_app/features/recipe/presentation/cubit/my_recipes_cubit/my_recieps_cubit.dart';
import 'package:eatvio_app/features/recipe/presentation/cubit/my_recipes_cubit/my_recipes_cubit.dart';
import 'package:eatvio_app/features/recipe/presentation/cubit/my_recipes_cubit/my_recipes_state.dart';
import 'package:eatvio_app/features/recipe/presentation/widgets/my_recipe_widget.dart';
import 'package:eatvio_app/features/recipe/presentation/widgets/my_recipes_tab.dart';

View File

@@ -8,7 +8,7 @@ import 'package:eatvio_app/core/utils/toasts.dart';
import 'package:eatvio_app/core/widgets/custom_outlined_button.dart';
import 'package:eatvio_app/features/feed/presentation/bloc/recipes_cubit/recipes_cubit.dart';
import 'package:eatvio_app/features/recipe/models/my_recipe_model.dart';
import 'package:eatvio_app/features/recipe/presentation/cubit/my_recipes_cubit/my_recieps_cubit.dart';
import 'package:eatvio_app/features/recipe/presentation/cubit/my_recipes_cubit/my_recipes_cubit.dart';
import 'package:eatvio_app/generated/l10n.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
@@ -207,7 +207,7 @@ class _MyRecipeWidgetState extends State<MyRecipeWidget> {
onPressed: () {
// Publish draft
context.read<CreateRecipeCubit>().publishRecipe(true, widget.recipe.slug).then((success) {
if (success) {
if (success && context.mounted) {
context.read<MyRecipesCubit>().setDraftedState();
}
});

2
temp_analyze_output.txt Normal file
View File

@@ -0,0 +1,2 @@
Analyzing create_recipe, recipe, create_recipe, recipe...
No issues found!

92
temp_test_output.txt Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -433,6 +433,7 @@ void main() {
final tempFile = File('${Directory.systemTemp.path}/test_image.jpg');
await tempFile.writeAsBytes([1, 2, 3]);
cubit.replaceImage(tempFile);
cubit.addIngredient(const i.Ingredient(name: 'Test Ingredient', unit: 'gr', portion: '100', productId: 1));
cubit.replaceDescriptionInStep('Step 1 description', 0);
expect(cubit.validateAll(), true);

View File

@@ -116,7 +116,7 @@ void main() {
test('deleteRecipe - удаляет рецепт', () async {
const slug = 'recipe-slug';
when(() => mockService.deleteRecipe(slug: slug)).thenAnswer((_) async => Future.value(mockHttpResponse));
when(() => mockService.deleteRecipe(slug: slug)).thenAnswer((_) async => Future.value());
await repository.deleteRecipe(slug);
@@ -147,7 +147,7 @@ void main() {
energyPerServing: 300,
);
await repository.publishRecipe(recipe);
expect(() => repository.publishRecipe(recipe), throwsException);
// Методы не должны вызываться, так как изображение отсутствует
verifyNever(() => mockService.publishRecipe(formData: any(named: 'formData')));
@@ -169,7 +169,7 @@ void main() {
energyPerServing: 300,
);
await repository.publishRecipe(recipe);
expect(() => repository.publishRecipe(recipe), throwsException);
// Методы не должны вызываться, так как изображение пустое
verifyNever(() => mockService.publishRecipe(formData: any(named: 'formData')));

View File

@@ -9,6 +9,10 @@ import 'package:mockito/mockito.dart';
import 'recipe_service_test.mocks.dart';
import 'package:retrofit/retrofit.dart';
final mockHttpResponse = HttpResponse(null, Response(requestOptions: RequestOptions()));
@GenerateNiceMocks([MockSpec<CreateRecipeService>()])
void main() {
group('CreateRecipeService', () {
@@ -77,7 +81,7 @@ void main() {
final formData = FormData.fromMap({});
when(mockCreateRecipeService.publishRecipe(formData: formData))
.thenAnswer((_) async => Future.value());
.thenAnswer((_) async => Future.value(mockHttpResponse));
await mockCreateRecipeService.publishRecipe(formData: formData);

View File

@@ -1,5 +1,5 @@
import 'package:eatvio_app/features/recipe/models/my_recipe_model.dart';
import 'package:eatvio_app/features/recipe/presentation/cubit/my_recipes_cubit/my_recieps_cubit.dart';
import 'package:eatvio_app/features/recipe/presentation/cubit/my_recipes_cubit/my_recipes_cubit.dart';
import 'package:eatvio_app/features/recipe/presentation/cubit/my_recipes_cubit/my_recipes_state.dart';
import 'package:eatvio_app/features/recipe/repositories/about_recipe_repository.dart';
import 'package:eatvio_app/features/recipe/repositories/my_recipes_repository.dart';

View File

@@ -2,11 +2,13 @@ import 'package:eatvio_app/core/app_config.dart';
import 'package:eatvio_app/core/app_initializer.dart';
import 'package:eatvio_app/core/locator_service.dart';
import 'package:eatvio_app/core/theme/theme_helper.dart';
import 'package:eatvio_app/features/recipe/presentation/cubit/my_recipes_cubit/my_recieps_cubit.dart';
import 'package:eatvio_app/features/recipe/presentation/cubit/my_recipes_cubit/my_recipes_cubit.dart';
import 'package:eatvio_app/features/recipe/presentation/cubit/my_recipes_cubit/my_recipes_state.dart';
import 'package:eatvio_app/features/recipe/presentation/pages/my_recipes_screen.dart';
import 'package:eatvio_app/generated/l10n.dart';
import 'package:flutter/material.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:mockito/annotations.dart';
import 'package:mockito/mockito.dart';
@@ -26,7 +28,17 @@ void main() {
});
Widget wrap(Widget child) {
return MaterialApp(theme: ThemeHelper().themeData(), home: child);
return MaterialApp(
theme: ThemeHelper().themeData(),
localizationsDelegates: const [
S.delegate,
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
GlobalCupertinoLocalizations.delegate,
],
supportedLocales: S.delegate.supportedLocales,
home: child,
);
}
testWidgets('renders my recipes screen', (tester) async {

View File

@@ -5,7 +5,7 @@ import 'package:eatvio_app/core/theme/theme_helper.dart';
import 'package:eatvio_app/features/feed/presentation/bloc/recipes_cubit/recipes_cubit.dart';
import 'package:eatvio_app/features/feed/presentation/bloc/recipes_cubit/recipes_state.dart';
import 'package:eatvio_app/features/recipe/models/my_recipe_model.dart';
import 'package:eatvio_app/features/recipe/presentation/cubit/my_recipes_cubit/my_recieps_cubit.dart';
import 'package:eatvio_app/features/recipe/presentation/cubit/my_recipes_cubit/my_recipes_cubit.dart';
import 'package:eatvio_app/features/recipe/presentation/cubit/my_recipes_cubit/my_recipes_state.dart';
import 'package:eatvio_app/features/recipe/presentation/widgets/my_recipe_widget.dart';
import 'package:eatvio_app/generated/l10n.dart';

View File

@@ -1,7 +1,7 @@
import 'package:eatvio_app/features/feed/models/diets_pagination_model.dart';
import 'package:eatvio_app/features/feed/models/recipes_model.dart';
import 'package:eatvio_app/features/recipe/models/my_recipe_model.dart';
import 'package:eatvio_app/features/recipe/presentation/cubit/my_recipes_cubit/my_recieps_cubit.dart';
import 'package:eatvio_app/features/recipe/presentation/cubit/my_recipes_cubit/my_recipes_cubit.dart';
import 'package:eatvio_app/features/recipe/presentation/cubit/my_recipes_cubit/my_recipes_state.dart';
import 'package:eatvio_app/features/recipe/repositories/about_recipe_repository.dart';
import 'package:eatvio_app/features/recipe/repositories/my_recipes_repository.dart';

57
test_failures.txt Normal file

File diff suppressed because one or more lines are too long

663
test_results.txt Normal file

File diff suppressed because one or more lines are too long