From d4f41fe6cfac4c78bfc7cf385e2e7403a0ed5bbd Mon Sep 17 00:00:00 2001 From: mso7nueh Date: Mon, 16 Feb 2026 12:46:55 +0300 Subject: [PATCH 01/29] feat: implement recipe drafting functionality and refactor MyRecipesTab to be stateless --- .gitignore | 3 +- .../create_recipe_cubit.dart | 33 +++++ .../create_recipe_state.dart | 2 + .../pages/recipe_create_screen.dart | 104 ++++++++++---- .../widgets/ingredients_widget.dart | 8 ++ .../reporitories/recipe_repository.dart | 127 +++++++++++------- .../services/recipe_service.dart | 10 +- .../my_recipes_cubit/my_recieps_cubit.dart | 12 ++ .../presentation/pages/my_recipes_screen.dart | 45 +++++-- .../widgets/my_recipe_widget.dart | 106 +++++++++++---- .../presentation/widgets/my_recipes_tab.dart | 51 +++---- .../reporitories/recipe_repository_test.dart | 29 ++-- .../widgets/my_recipes_tab_test.dart | 11 +- 13 files changed, 388 insertions(+), 153 deletions(-) diff --git a/.gitignore b/.gitignore index 530ea713..0d94aecf 100644 --- a/.gitignore +++ b/.gitignore @@ -20,4 +20,5 @@ env/.env .env android/key.properties app/upload-keystore.jks -coverage/ \ No newline at end of file +coverage/ +eatvio/ \ No newline at end of file diff --git a/lib/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit.dart b/lib/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit.dart index 8f7bca23..482d7d56 100644 --- a/lib/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit.dart +++ b/lib/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit.dart @@ -172,6 +172,23 @@ class CreateRecipeCubit extends Cubit { } } + Future saveAsDraft([bool update = false, String? slug]) async { + try { + final model = state.entity.toModel(); + await recipeRepository.saveAsDraft(model, update, slug); + emit(state.copyWith(drafted: true)); + return true; + } catch (e, st) { + await Sentry.captureException(e, stackTrace: st); + log(e.toString(), stackTrace: st); + return false; + } + } + + bool validateForDraft() { + return validateAll(); + } + Future downloadImageAsFile(String imageUrl) async { final response = await http.get(Uri.parse(imageUrl)); @@ -239,6 +256,7 @@ class CreateRecipeCubit extends Cubit { final isActiveCookTimeValid = validateActiveCookTime(); final isEnergyPerServingsValid = validateEnergyPerServing(); + final isIngredientsValid = validateIngredients(); final isStepsValid = validateSteps(); return isTitleValid && @@ -248,8 +266,19 @@ class CreateRecipeCubit extends Cubit { isCookTimeValid && isActiveCookTimeValid && isEnergyPerServingsValid && + isIngredientsValid && isStepsValid; } + + bool validateIngredients() { + if (state.entity.ingredients.isEmpty) { + emit(state.copyWith(ingredientsValidationError: 'Добавьте хотя бы один ингредиент')); + return false; + } else { + emit(state.copyWith(ingredientsValidationError: null)); + return true; + } + } bool validateTitle() { if (state.entity.title == null || (state.entity.title?.isEmpty ?? true)) { @@ -343,6 +372,10 @@ class CreateRecipeCubit extends Cubit { bool validateSteps() { bool isValid = true; + if (state.entity.steps.isEmpty) { + emit(state.copyWith(stepsValidationError: 'Добавьте хотя бы один шаг')); + return false; + } for (var step in state.entity.steps) { if (step.description == null || step.description!.trim().isEmpty) { isValid = false; diff --git a/lib/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_state.dart b/lib/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_state.dart index ef0efe78..23cb9895 100644 --- a/lib/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_state.dart +++ b/lib/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_state.dart @@ -8,6 +8,7 @@ abstract class CreateRecipeState with _$CreateRecipeState { const factory CreateRecipeState({ required RecipeCreateEntity entity, required bool loading, + @Default(false) bool drafted, String? titleValidationError, String? descriptionValidationError, String? cookingTimeValidationError, @@ -16,6 +17,7 @@ abstract class CreateRecipeState with _$CreateRecipeState { String? energyPerServingValidationError, String? imageValidationError, String? stepsValidationError, + String? ingredientsValidationError, }) = _CreateRecipeState; } diff --git a/lib/features/create_recipe/presentation/pages/recipe_create_screen.dart b/lib/features/create_recipe/presentation/pages/recipe_create_screen.dart index 932852ac..1538dc57 100644 --- a/lib/features/create_recipe/presentation/pages/recipe_create_screen.dart +++ b/lib/features/create_recipe/presentation/pages/recipe_create_screen.dart @@ -81,55 +81,107 @@ class _RecipeCreateScreenState extends State { builder: (context, state) { return Builder( builder: (context) { - return _isRecipeBeingPublished - ? const Center(child: Loader()) - : InkWell( - key: AppKeys.recipeCreateScreenPublishButton, + if (_isRecipeBeingPublished) { + return const Center(child: Loader()); + } + return Column( + children: [ + InkWell( + key: AppKeys.recipeCreateScreenPublishButton, + onTap: () async { + setState(() { + _isRecipeBeingPublished = true; + }); + if (context.read().validateAll()) { + final isSuccess = await context.read().publishRecipe( + widget.recipe == null ? false : true, + widget.recipe?.slug, + ); + setState(() { + _isRecipeBeingPublished = false; + }); + if (isSuccess) { + Future.delayed(const Duration(milliseconds: 500), () { + if (!context.mounted) return; + context.pop(); + showBottomSheetWithBlur( + userRootNavigator: true, + context: context, + child: SuccessPublishedRecipeBottomSheet(title: state.entity.title ?? 'Рецепт'), + ); + }); + } else { + if (!context.mounted) return; + showErrorDialog(context, title: '${s.could_not_publish_recipe} ${state.entity.title}'); + } + } else { + setState(() { + _isRecipeBeingPublished = false; + }); + } + }, + borderRadius: BorderRadius.circular(20), + child: Ink( + width: MediaQuery.of(context).size.width - 32, + decoration: BoxDecoration(color: appTheme.blueA400, borderRadius: BorderRadius.circular(20)), + child: Container( + padding: const EdgeInsets.all(16), + alignment: Alignment.center, + child: Text( + widget.recipe != null ? 'Обновить' : 'Опубликовать', + style: const TextStyle(fontSize: 16, color: Colors.white, fontWeight: FontWeight.w600), + ), + ), + ), + ), + const SizedBox(height: 12), + if (widget.recipe == null || widget.recipe?.state == 'drafted') + InkWell( onTap: () async { setState(() { _isRecipeBeingPublished = true; }); - if (context.read().validateAll()) { - final isSuccess = await context.read().publishRecipe( - widget.recipe == null ? false : true, - widget.recipe?.slug, - ); + if (context.read().validateForDraft()) { + final isSuccess = await context.read().saveAsDraft( + widget.recipe == null ? false : true, + widget.recipe?.slug, + ); setState(() { _isRecipeBeingPublished = false; }); if (isSuccess) { - Future.delayed(const Duration(milliseconds: 500), () { - if (!context.mounted) return; - context.pop(); - showBottomSheetWithBlur( - userRootNavigator: true, - context: context, - child: SuccessPublishedRecipeBottomSheet(title: state.entity.title ?? 'Рецепт'), - ); - }); + if (!context.mounted) return; + context.pop(); } else { if (!context.mounted) return; - showErrorDialog(context, title: '${s.could_not_publish_recipe} ${state.entity.title}'); + showErrorDialog(context, title: 'Не удалось сохранить черновик'); } + } else { + setState(() { + _isRecipeBeingPublished = false; + }); } - setState(() { - _isRecipeBeingPublished = false; - }); }, borderRadius: BorderRadius.circular(20), child: Ink( width: MediaQuery.of(context).size.width - 32, - decoration: BoxDecoration(color: appTheme.blueA400, borderRadius: BorderRadius.circular(20)), + decoration: BoxDecoration( + color: Colors.transparent, + borderRadius: BorderRadius.circular(20), + border: Border.all(color: appTheme.blueA400), + ), child: Container( padding: const EdgeInsets.all(16), alignment: Alignment.center, child: Text( - widget.recipe != null ? 'Обновить' : 'Опубликовать', - style: const TextStyle(fontSize: 16, color: Colors.white, fontWeight: FontWeight.w600), + 'Сохранить как черновик', + style: TextStyle(fontSize: 16, color: appTheme.blueA400, fontWeight: FontWeight.w600), ), ), ), - ); + ), + ], + ); }, ); }, diff --git a/lib/features/create_recipe/presentation/widgets/ingredients_widget.dart b/lib/features/create_recipe/presentation/widgets/ingredients_widget.dart index 4b3261ab..6894c162 100644 --- a/lib/features/create_recipe/presentation/widgets/ingredients_widget.dart +++ b/lib/features/create_recipe/presentation/widgets/ingredients_widget.dart @@ -85,6 +85,14 @@ class _IngredientsWidgetState extends State { title: Text('Добавить ингредиент', style: TextStyle(color: appTheme.blueA400)), leading: Icon(Icons.add_rounded, color: appTheme.blueA400), ), + if (state.ingredientsValidationError != null) + Padding( + padding: const EdgeInsets.only(left: 16, top: 4), + child: Text( + state.ingredientsValidationError!, + style: const TextStyle(color: Colors.red, fontSize: 12), + ), + ), ], ), ), diff --git a/lib/features/create_recipe/reporitories/recipe_repository.dart b/lib/features/create_recipe/reporitories/recipe_repository.dart index b1b5fce9..f079d810 100644 --- a/lib/features/create_recipe/reporitories/recipe_repository.dart +++ b/lib/features/create_recipe/reporitories/recipe_repository.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'dart:developer'; import 'dart:io'; import 'package:dio/dio.dart'; import 'package:eatvio_app/core/image_compressing/image_compress_utility.dart'; @@ -23,55 +24,59 @@ class RecipeRepository { } } - Future publishRecipe(RecipeModel recipe, [bool update = false, String? slug]) async { - try { - if (recipe.image == null || (recipe.image?.isEmpty ?? true)) { - return; - } - final image = await ImageCompressUtility.compressFile(File(recipe.image ?? '')); - final multiPartFile = await MultipartFile.fromFile(image.path); + Future _buildFormData(RecipeModel recipe, {String state = 'active'}) async { + if (recipe.image == null || (recipe.image?.isEmpty ?? true)) { + throw Exception('Recipe image is required'); + } + final image = await ImageCompressUtility.compressFile(File(recipe.image ?? '')); + final multiPartFile = await MultipartFile.fromFile(image.path); - final ingredientsMap = recipe.ingredients?.map((ingredient) { - if (ingredient != null) { - return ingredient.toJson(); - } - }).toList() ?? - []; - - final stepsMap = []; - for (final Step? step in recipe.steps ?? []) { - if (step != null) { - if ((step.image == null || (step.image?.isEmpty ?? true)) && step.description != null) { - stepsMap.add({ - 'description_md': step.description ?? "", - }); - } else if (step.image != null && (step.image?.isNotEmpty ?? false)) { - final image = await ImageCompressUtility.compressFile(File(step.image ?? '')); - final multipartFile = await MultipartFile.fromFile(image.path); - stepsMap.add({ - 'description_md': step.description ?? "", - 'image': multipartFile, - }); + final ingredientsMap = recipe.ingredients?.map((ingredient) { + if (ingredient != null) { + return ingredient.toJson(); } + }).toList() ?? + []; + + final stepsMap = []; + for (final Step? step in recipe.steps ?? []) { + if (step != null) { + if ((step.image == null || (step.image?.isEmpty ?? true)) && step.description != null) { + stepsMap.add({ + 'description_md': step.description ?? "", + }); + } else if (step.image != null && (step.image?.isNotEmpty ?? false)) { + final image = await ImageCompressUtility.compressFile(File(step.image ?? '')); + final multipartFile = await MultipartFile.fromFile(image.path); + stepsMap.add({ + 'description_md': step.description ?? "", + 'image': multipartFile, + }); } } - final formMap = { - 'type': recipe.type, - 'state': 'active', - 'title': recipe.title, - 'tags[]': recipe.tags ?? [], - 'description_md': recipe.description, - 'video_url': recipe.videoUrl, - 'ingredients': ingredientsMap, - 'steps': stepsMap, - 'cooking_time': recipe.totalCookingTime, - 'active_time': recipe.activeCookTime, - 'image': multiPartFile, - 'servings': recipe.servings, - 'energy_per_serving': recipe.energyPerServing, - }; - formMap.removeWhere((k, v) => v == null || (v is String && v.isEmpty)); - final formData = FormData.fromMap(formMap); + } + final formMap = { + 'type': recipe.type, + 'state': state, + 'title': recipe.title, + 'tags[]': recipe.tags ?? [], + 'description_md': recipe.description, + 'video_url': recipe.videoUrl, + 'ingredients': ingredientsMap, + 'steps': stepsMap, + 'cooking_time': recipe.totalCookingTime, + 'active_time': recipe.activeCookTime, + 'image': multiPartFile, + 'servings': recipe.servings, + 'energy_per_serving': recipe.energyPerServing, + }; + formMap.removeWhere((k, v) => v == null || (v is String && v.isEmpty)); + return FormData.fromMap(formMap); + } + + Future publishRecipe(RecipeModel recipe, [bool update = false, String? slug]) async { + try { + final formData = await _buildFormData(recipe, state: 'active'); if (update) { await recipeService.updateRecipe(slug: slug!, formData: formData); } else { @@ -83,6 +88,38 @@ class RecipeRepository { } } + Future saveAsDraft(RecipeModel recipe, [bool update = false, String? slug]) async { + try { + final formData = await _buildFormData(recipe, state: 'archived'); + log(formData.fields.toString()); + if (update) { + final response = await recipeService.updateRecipe(slug: slug!, formData: formData); + final recipeId = response.data['data']?['id'] ?? response.data['id']; + if (recipeId != null) { + await recipeService.draftRecipe(id: recipeId as int); + } + } else { + final response = await recipeService.publishRecipe(formData: formData); + final recipeId = response.data['data']?['id'] ?? response.data['id']; + if (recipeId != null) { + await recipeService.draftRecipe(id: recipeId as int); + } + } + } catch (e, s) { + await Sentry.captureException(e, stackTrace: s); + rethrow; + } + } + + Future draftExistingRecipe(int id) async { + try { + await recipeService.draftRecipe(id: id); + } catch (e, s) { + await Sentry.captureException(e, stackTrace: s); + rethrow; + } + } + Future getRecipe(String recipeID) async { try { return await recipeService.getRecipe(recipeID); diff --git a/lib/features/create_recipe/services/recipe_service.dart b/lib/features/create_recipe/services/recipe_service.dart index 41ee957a..199c7d54 100644 --- a/lib/features/create_recipe/services/recipe_service.dart +++ b/lib/features/create_recipe/services/recipe_service.dart @@ -2,6 +2,7 @@ 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'; @@ -33,7 +34,7 @@ abstract class CreateRecipeService { @POST('/api/recipes/create') @MultiPart() - Future publishRecipe({ + Future> publishRecipe({ @Body() required FormData formData, }); @@ -47,8 +48,13 @@ abstract class CreateRecipeService { @POST('/api/recipes/update/{slug}') @MultiPart() - Future updateRecipe({ + Future> updateRecipe({ @Path() required String slug, @Body() required FormData formData, }); + + @POST('/api/recipes/draft/{id}') + Future draftRecipe({ + @Path() required int id, + }); } diff --git a/lib/features/recipe/presentation/cubit/my_recipes_cubit/my_recieps_cubit.dart b/lib/features/recipe/presentation/cubit/my_recipes_cubit/my_recieps_cubit.dart index 44481c3a..2ab45971 100644 --- a/lib/features/recipe/presentation/cubit/my_recipes_cubit/my_recieps_cubit.dart +++ b/lib/features/recipe/presentation/cubit/my_recipes_cubit/my_recieps_cubit.dart @@ -11,6 +11,7 @@ class MyRecipesCubit extends Cubit { static const String active = 'active'; static const String archived = 'archived'; + static const String drafted = 'drafted'; MyRecipesCubit({ required this.myRecipesRepository, @@ -50,6 +51,17 @@ class MyRecipesCubit extends Cubit { } } + Future setDraftedState() async { + emit(const MyRecipesState.loading()); + try { + final myRecipes = await myRecipesRepository.getMyRecipes(); + final List draftedRecipes = myRecipes.where((recipe) => recipe.state == drafted).toList(); + emit(MyRecipesState.loaded(recipes: draftedRecipes, selectedState: drafted)); + } catch (e) { + emit(const MyRecipesState.error()); + } + } + Future getRecipeById(String slug) async { return await aboutRecipeRepository.getRecipe(slug); } diff --git a/lib/features/recipe/presentation/pages/my_recipes_screen.dart b/lib/features/recipe/presentation/pages/my_recipes_screen.dart index c3e29db5..1f276cf6 100644 --- a/lib/features/recipe/presentation/pages/my_recipes_screen.dart +++ b/lib/features/recipe/presentation/pages/my_recipes_screen.dart @@ -4,6 +4,7 @@ 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_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'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; @@ -32,15 +33,41 @@ class MyRecipesScreen extends StatelessWidget { create: (BuildContext context) => sl()..getMyRecipes(), child: BlocBuilder( builder: (BuildContext context, MyRecipesState state) { - if (state is MyRecipesStateLoaded) { - return ListView.separated( - padding: const EdgeInsets.symmetric(vertical: 16), - itemBuilder: (context, index) => MyRecipeWidget(recipe: state.recipes[index]), - separatorBuilder: (context, index) => const SizedBox(height: 12), - itemCount: state.recipes.length, - ); - } - return Container(); + return Column( + children: [ + MyRecipesTab( + selectedIndex: state is MyRecipesStateLoaded + ? (state.selectedState == MyRecipesCubit.drafted ? 1 : 0) + : 0, + onTabChanged: (index) { + if (index == 0) { + context.read().setActiveState(); + } else { + context.read().setDraftedState(); + } + }, + ), + Expanded( + child: state is MyRecipesStateLoaded + ? state.recipes.isEmpty + ? Center( + child: Text( + state.selectedState == MyRecipesCubit.drafted + ? 'Нет черновиков' + : 'Нет опубликованных рецептов', + style: TextStyles.textLMedium.copyWith(color: appTheme.gray500), + ), + ) + : ListView.separated( + padding: const EdgeInsets.symmetric(vertical: 16), + itemBuilder: (context, index) => MyRecipeWidget(recipe: state.recipes[index]), + separatorBuilder: (context, index) => const SizedBox(height: 12), + itemCount: state.recipes.length, + ) + : const Center(child: CircularProgressIndicator()), + ), + ], + ); }, ), ), diff --git a/lib/features/recipe/presentation/widgets/my_recipe_widget.dart b/lib/features/recipe/presentation/widgets/my_recipe_widget.dart index c30aebc1..a47b6161 100644 --- a/lib/features/recipe/presentation/widgets/my_recipe_widget.dart +++ b/lib/features/recipe/presentation/widgets/my_recipe_widget.dart @@ -12,6 +12,8 @@ import 'package:eatvio_app/features/recipe/presentation/cubit/my_recipes_cubit/m import 'package:eatvio_app/generated/l10n.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:eatvio_app/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit.dart'; +import 'package:eatvio_app/features/create_recipe/presentation/pages/recipe_create_screen.dart'; import 'package:eatvio_app/core/widgets/markdown_html_widget.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:go_router/go_router.dart'; @@ -99,11 +101,7 @@ class _MyRecipeWidgetState extends State { ? '${widget.recipe.description.substring(0, 200)}...' : widget.recipe.description; - return MarkdownHtmlWidget( - markdownText: description, - fontSize: TextStyles.textSMedium.fontSize ?? 14, - textColor: appTheme.black, - ); + return MarkdownHtmlWidget(markdownText: description, fontSize: TextStyles.textSMedium.fontSize ?? 14, textColor: appTheme.black); }, ), ), @@ -126,7 +124,13 @@ class _MyRecipeWidgetState extends State { return; } showSuccessToast('Рецепт удален'); - if (context.mounted) context.read().getMyRecipes(); + if (context.mounted) { + if (isDraft) { + context.read().setDraftedState(); + } else { + context.read().getMyRecipes(); + } + } }, text: 'Удалить', height: 52, @@ -140,30 +144,83 @@ class _MyRecipeWidgetState extends State { ), const SizedBox(width: 8), Expanded( - child: CustomOutlinedButton( - onPressed: () async { - final box = context.findRenderObject() as RenderBox?; - await SharePlus.instance.share( - ShareParams( - uri: Uri.parse('${sl().baseUrl}/ru/recipe/${widget.recipe.slug}'), - sharePositionOrigin: box!.localToGlobal(Offset.zero) & box.size, + child: PopupMenuButton( + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)), + offset: const Offset(0, 50), + itemBuilder: (context) => [ + if (!isDraft) + PopupMenuItem( + onTap: () async { + final box = context.findRenderObject() as RenderBox?; + await SharePlus.instance.share( + ShareParams( + uri: Uri.parse('${sl().baseUrl}/ru/recipe/${widget.recipe.slug}'), + sharePositionOrigin: box!.localToGlobal(Offset.zero) & box.size, + ), + ); + }, + child: Row( + children: [ + Icon(Icons.share, size: 20, color: appTheme.black), + const SizedBox(width: 8), + Text(S.of(context).share, style: TextStyles.textSMedium), + ], + ), ), - ); - }, - height: 52, - width: 52, - buttonStyle: ButtonStyle( - shape: WidgetStatePropertyAll(RoundedRectangleBorder(borderRadius: BorderRadius.circular(20))), - backgroundColor: WidgetStatePropertyAll(appTheme.blueA400), - side: const WidgetStatePropertyAll(BorderSide.none), + if (widget.recipe.state == 'active' || isDraft) + PopupMenuItem( + onTap: () { + context.push(RecipeCreateScreen.path, extra: widget.recipe); + }, + child: Row( + children: [ + Icon(Icons.edit, size: 20, color: appTheme.black), + const SizedBox(width: 8), + Text(S.of(context).edit, style: TextStyles.textSMedium), + ], + ), + ), + ], + child: CustomOutlinedButton( + onPressed: () {}, + height: 52, + width: 52, + buttonStyle: ButtonStyle( + shape: WidgetStatePropertyAll(RoundedRectangleBorder(borderRadius: BorderRadius.circular(20))), + backgroundColor: WidgetStatePropertyAll(appTheme.blueA400), + side: const WidgetStatePropertyAll(BorderSide.none), + ), + text: isDraft ? '...' : s.share, + buttonTextStyle: TextStyles.textMSemibold.copyWith(color: appTheme.whiteA700), ), - text: s.share, - buttonTextStyle: TextStyles.textMSemibold.copyWith(color: appTheme.whiteA700), ), ), ], ), const SizedBox(height: 8), + if (isDraft) + Padding( + padding: const EdgeInsets.only(top: 12), + child: SizedBox( + width: double.infinity, + child: ElevatedButton( + onPressed: () { + // Publish draft + context.read().publishRecipe(true, widget.recipe.slug).then((success) { + if (success) { + context.read().setDraftedState(); + } + }); + }, + style: ElevatedButton.styleFrom( + backgroundColor: appTheme.blueA400, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)), + padding: const EdgeInsets.symmetric(vertical: 12), + ), + child: Text('Опубликовать', style: TextStyles.textSMedium.copyWith(color: Colors.white)), + ), + ), + ), ], ), ), @@ -172,6 +229,8 @@ class _MyRecipeWidgetState extends State { ); } + bool get isDraft => widget.recipe.state == 'drafted'; + Container _iconButton(String iconPath, [String? text]) { return Container( padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 4), @@ -192,4 +251,3 @@ class _MyRecipeWidgetState extends State { ); } } - diff --git a/lib/features/recipe/presentation/widgets/my_recipes_tab.dart b/lib/features/recipe/presentation/widgets/my_recipes_tab.dart index f6de8669..af68f89e 100644 --- a/lib/features/recipe/presentation/widgets/my_recipes_tab.dart +++ b/lib/features/recipe/presentation/widgets/my_recipes_tab.dart @@ -4,30 +4,21 @@ import 'package:eatvio_app/core/widgets/animated_option_button.dart'; import 'package:eatvio_app/generated/l10n.dart'; import 'package:flutter/widgets.dart'; -class MyRecipesTab extends StatefulWidget { - const MyRecipesTab({super.key, this.additionalOnTap}); +class MyRecipesTab extends StatelessWidget { + const MyRecipesTab({ + super.key, + required this.selectedIndex, + required this.onTabChanged, + }); - final void Function()? additionalOnTap; - - @override - State createState() => _MyRecipesTabState(); -} - -class _MyRecipesTabState extends State { - final List tabTitles = []; - - @override - void didChangeDependencies() { - final s = S.of(context); - if (tabTitles.isEmpty) { - tabTitles.add(s.published); - tabTitles.add(s.drafted); - } - super.didChangeDependencies(); - } + final int selectedIndex; + final ValueChanged onTabChanged; @override Widget build(BuildContext context) { + final s = S.of(context); + final tabTitles = [s.published, s.drafted]; + return Align( alignment: Alignment.centerLeft, child: Row( @@ -44,18 +35,14 @@ class _MyRecipesTabState extends State { children: [ ...List.generate( 2, - (index) => - Expanded( - child: AnimatedOptionButton( - textStyle: TextStyles.textSMedium, - isSelected: false, // state.selectedStateIndex == index, - text: tabTitles[index], - onTap: () { - widget.additionalOnTap?.call(); - // context.read().changeSelectedStateIndex(index); - }, - ), - ), + (index) => Expanded( + child: AnimatedOptionButton( + textStyle: TextStyles.textSMedium, + isSelected: selectedIndex == index, + text: tabTitles[index], + onTap: () => onTabChanged(index), + ), + ), ), ], ), diff --git a/test/features/create_recipe/reporitories/recipe_repository_test.dart b/test/features/create_recipe/reporitories/recipe_repository_test.dart index 95cb1462..4a82a264 100644 --- a/test/features/create_recipe/reporitories/recipe_repository_test.dart +++ b/test/features/create_recipe/reporitories/recipe_repository_test.dart @@ -10,8 +10,15 @@ import 'package:eatvio_app/features/create_recipe/services/recipe_service.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mocktail/mocktail.dart'; +import 'package:retrofit/retrofit.dart'; + class MockCreateRecipeService extends Mock implements CreateRecipeService {} +final mockHttpResponse = HttpResponse( + null, + Response(requestOptions: RequestOptions(path: ''), statusCode: 200), +); + void main() { setUpAll(() { registerFallbackValue(FormData()); @@ -109,7 +116,7 @@ void main() { test('deleteRecipe - удаляет рецепт', () async { const slug = 'recipe-slug'; - when(() => mockService.deleteRecipe(slug: slug)).thenAnswer((_) async => Future.value()); + when(() => mockService.deleteRecipe(slug: slug)).thenAnswer((_) async => Future.value(mockHttpResponse)); await repository.deleteRecipe(slug); @@ -188,7 +195,7 @@ void main() { // Мокируем ImageCompressUtility.compressFile // Это сложно, так как это статический метод, но мы можем проверить, что вызывается updateRecipe when(() => mockService.updateRecipe(slug: slug, formData: any(named: 'formData'))) - .thenAnswer((_) async => Future.value()); + .thenAnswer((_) async => Future.value(mockHttpResponse)); // Этот тест может упасть из-за ImageCompressUtility, но мы проверяем логику try { @@ -216,7 +223,7 @@ void main() { ); when(() => mockService.publishRecipe(formData: any(named: 'formData'))) - .thenAnswer((_) async => Future.value()); + .thenAnswer((_) async => Future.value(mockHttpResponse)); try { await repository.publishRecipe(recipe); @@ -243,7 +250,7 @@ void main() { ); when(() => mockService.publishRecipe(formData: any(named: 'formData'))) - .thenAnswer((_) async => Future.value()); + .thenAnswer((_) async => Future.value(mockHttpResponse)); try { await repository.publishRecipe(recipe); @@ -270,7 +277,7 @@ void main() { ); when(() => mockService.publishRecipe(formData: any(named: 'formData'))) - .thenAnswer((_) async => Future.value()); + .thenAnswer((_) async => Future.value(mockHttpResponse)); try { await repository.publishRecipe(recipe); @@ -297,7 +304,7 @@ void main() { ); when(() => mockService.publishRecipe(formData: any(named: 'formData'))) - .thenAnswer((_) async => Future.value()); + .thenAnswer((_) async => Future.value(mockHttpResponse)); try { await repository.publishRecipe(recipe); @@ -364,7 +371,7 @@ void main() { ); when(() => mockService.publishRecipe(formData: any(named: 'formData'))) - .thenAnswer((_) async => Future.value()); + .thenAnswer((_) async => Future.value(mockHttpResponse)); try { await repository.publishRecipe(recipe); @@ -399,7 +406,7 @@ void main() { ); when(() => mockService.publishRecipe(formData: any(named: 'formData'))) - .thenAnswer((_) async => Future.value()); + .thenAnswer((_) async => Future.value(mockHttpResponse)); try { await repository.publishRecipe(recipe); @@ -435,7 +442,7 @@ void main() { ); when(() => mockService.publishRecipe(formData: any(named: 'formData'))) - .thenAnswer((_) async => Future.value()); + .thenAnswer((_) async => Future.value(mockHttpResponse)); try { await repository.publishRecipe(recipe); @@ -472,7 +479,7 @@ void main() { ); when(() => mockService.publishRecipe(formData: any(named: 'formData'))) - .thenAnswer((_) async => Future.value()); + .thenAnswer((_) async => Future.value(mockHttpResponse)); try { await repository.publishRecipe(recipe); @@ -499,7 +506,7 @@ void main() { ); when(() => mockService.publishRecipe(formData: any(named: 'formData'))) - .thenAnswer((_) async => Future.value()); + .thenAnswer((_) async => Future.value(mockHttpResponse)); try { await repository.publishRecipe(recipe); diff --git a/test/features/recipe/presentation/widgets/my_recipes_tab_test.dart b/test/features/recipe/presentation/widgets/my_recipes_tab_test.dart index efba34ba..58d21ef1 100644 --- a/test/features/recipe/presentation/widgets/my_recipes_tab_test.dart +++ b/test/features/recipe/presentation/widgets/my_recipes_tab_test.dart @@ -7,7 +7,7 @@ import 'package:flutter_test/flutter_test.dart'; void main() { group('MyRecipesTab smoke', () { - Widget wrap(Widget child) { + Widget wrap() { return MaterialApp( theme: ThemeHelper().themeData(), localizationsDelegates: const [ @@ -17,12 +17,17 @@ void main() { GlobalCupertinoLocalizations.delegate, ], supportedLocales: const [Locale('ru')], - home: Scaffold(body: child), + home: Material( + child: MyRecipesTab( + selectedIndex: 0, + onTabChanged: (_) {}, + ), + ), ); } testWidgets('renders my recipes tab', (tester) async { - await tester.pumpWidget(wrap(const MyRecipesTab())); + await tester.pumpWidget(wrap()); await tester.pump(); expect(find.byType(MyRecipesTab), findsOneWidget); From 6e7894b9115c47b80b7b17910230b9d397b1fff4 Mon Sep 17 00:00:00 2001 From: mso7nueh Date: Mon, 16 Feb 2026 12:48:08 +0300 Subject: [PATCH 02/29] build: Remove `eatvio/` from `.gitignore`. --- .gitignore | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 0d94aecf..530ea713 100644 --- a/.gitignore +++ b/.gitignore @@ -20,5 +20,4 @@ env/.env .env android/key.properties app/upload-keystore.jks -coverage/ -eatvio/ \ No newline at end of file +coverage/ \ No newline at end of file From 5b149e2fd2eecc53463098a12bb50c7c2df04e06 Mon Sep 17 00:00:00 2001 From: mso7nueh Date: Mon, 16 Feb 2026 18:16:26 +0300 Subject: [PATCH 03/29] refactor: Corrected typo in `MyRecipesCubit` filename and updated related tests, widgets, services, and DI registrations. --- lib/core/di/cubit_registrations.dart | 2 +- .../services/recipe_service.dart | 1 - ...cieps_cubit.dart => my_recipes_cubit.dart} | 0 .../presentation/pages/my_recipes_screen.dart | 2 +- .../widgets/my_recipe_widget.dart | 4 +- temp_analyze_output.txt | 2 + temp_test_output.txt | 92 +++ temp_test_output_recipes.txt | 1 + .../create_recipe_cubit_test.dart | 1 + .../reporitories/recipe_repository_test.dart | 6 +- .../services/recipe_service_test.dart | 6 +- .../my_recipes_cubit_test.dart | 2 +- .../pages/my_recipes_screen_smoke_test.dart | 16 +- .../widgets/my_recipe_widget_test.dart | 2 +- .../cubit/my_recipes_cubit_test.dart | 2 +- test_failures.txt | 57 ++ test_results.txt | 663 ++++++++++++++++++ 17 files changed, 845 insertions(+), 14 deletions(-) rename lib/features/recipe/presentation/cubit/my_recipes_cubit/{my_recieps_cubit.dart => my_recipes_cubit.dart} (100%) create mode 100644 temp_analyze_output.txt create mode 100644 temp_test_output.txt create mode 100644 temp_test_output_recipes.txt create mode 100644 test_failures.txt create mode 100644 test_results.txt diff --git a/lib/core/di/cubit_registrations.dart b/lib/core/di/cubit_registrations.dart index 7b12e0fb..ad4ce637 100644 --- a/lib/core/di/cubit_registrations.dart +++ b/lib/core/di/cubit_registrations.dart @@ -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'; diff --git a/lib/features/create_recipe/services/recipe_service.dart b/lib/features/create_recipe/services/recipe_service.dart index 199c7d54..2341d1d2 100644 --- a/lib/features/create_recipe/services/recipe_service.dart +++ b/lib/features/create_recipe/services/recipe_service.dart @@ -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'; diff --git a/lib/features/recipe/presentation/cubit/my_recipes_cubit/my_recieps_cubit.dart b/lib/features/recipe/presentation/cubit/my_recipes_cubit/my_recipes_cubit.dart similarity index 100% rename from lib/features/recipe/presentation/cubit/my_recipes_cubit/my_recieps_cubit.dart rename to lib/features/recipe/presentation/cubit/my_recipes_cubit/my_recipes_cubit.dart diff --git a/lib/features/recipe/presentation/pages/my_recipes_screen.dart b/lib/features/recipe/presentation/pages/my_recipes_screen.dart index 1f276cf6..4c409ea7 100644 --- a/lib/features/recipe/presentation/pages/my_recipes_screen.dart +++ b/lib/features/recipe/presentation/pages/my_recipes_screen.dart @@ -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'; diff --git a/lib/features/recipe/presentation/widgets/my_recipe_widget.dart b/lib/features/recipe/presentation/widgets/my_recipe_widget.dart index a47b6161..941971fa 100644 --- a/lib/features/recipe/presentation/widgets/my_recipe_widget.dart +++ b/lib/features/recipe/presentation/widgets/my_recipe_widget.dart @@ -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 { onPressed: () { // Publish draft context.read().publishRecipe(true, widget.recipe.slug).then((success) { - if (success) { + if (success && context.mounted) { context.read().setDraftedState(); } }); diff --git a/temp_analyze_output.txt b/temp_analyze_output.txt new file mode 100644 index 00000000..693739d0 --- /dev/null +++ b/temp_analyze_output.txt @@ -0,0 +1,2 @@ +Analyzing create_recipe, recipe, create_recipe, recipe... +No issues found! diff --git a/temp_test_output.txt b/temp_test_output.txt new file mode 100644 index 00000000..a39d9c57 --- /dev/null +++ b/temp_test_output.txt @@ -0,0 +1,92 @@ + 00:00 +0: loading /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart 00:01 +0: loading /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart 00:02 +0: loading /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart 00:03 +0: loading /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart 00:04 +0: loading /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart 00:05 +0: loading /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart 00:05 +0: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should create CreateRecipeCubit successfully 00:05 +1: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should create CreateRecipeCubit successfully 00:05 +2: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should create CreateRecipeCubit successfully 00:05 +3: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should create CreateRecipeCubit successfully 00:05 +4: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should create CreateRecipeCubit successfully 00:05 +5: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should create CreateRecipeCubit successfully 00:05 +6: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should create CreateRecipeCubit successfully 00:05 +7: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should create CreateRecipeCubit successfully 00:05 +8: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should create CreateRecipeCubit successfully 00:05 +9: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should create CreateRecipeCubit successfully 00:05 +10: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should create CreateRecipeCubit successfully 00:05 +11: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should create CreateRecipeCubit successfully 00:05 +12: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should create CreateRecipeCubit successfully 00:05 +13: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should create CreateRecipeCubit successfully 00:05 +14: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should create CreateRecipeCubit successfully 00:05 +14: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:05 +15: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:05 +16: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:05 +17: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:06 +17: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:06 +18: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:06 +19: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:06 +20: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:06 +21: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:06 +21: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update title when user types in title field 00:06 +22: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update title when user types in title field 00:06 +23: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update title when user types in title field 00:06 +24: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update title when user types in title field 00:06 +25: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update title when user types in title field 00:06 +26: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update title when user types in title field 00:06 +26: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update description when user types in description field 00:06 +27: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update description when user types in description field 00:06 +27: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update portions when user types in portions field 00:06 +28: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update portions when user types in portions field 00:06 +29: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update portions when user types in portions field 00:06 +30: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update portions when user types in portions field 00:06 +31: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update portions when user types in portions field 00:06 +32: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update portions when user types in portions field 00:06 +33: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update portions when user types in portions field 00:06 +33: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update calories when user types in calories field 00:07 +33: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update calories when user types in calories field 00:07 +34: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update calories when user types in calories field 00:07 +34: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display form labels correctly 00:07 +35: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display form labels correctly 00:07 +35: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display placeholder text in title field 00:07 +36: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display placeholder text in title field 00:07 +36: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display publish button 00:07 +37: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display publish button 00:07 +37: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should handle button tap 00:07 +38: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should handle button tap 00:07 +38: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display loading state 00:07 +39: /home/alexander/eatvio_app/test/features/create_recipe/models/recipe_tag_model_test.dart: RecipeTag создает RecipeTag с правильными значениями 00:07 +40: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display error message 00:07 +41: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display error message 00:07 +42: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display error message 00:07 +43: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display error message 00:07 +44: /home/alexander/eatvio_app/test/features/create_recipe/models/recipe_tag_model_test.dart: RecipeTag toJson serializes RecipeTag correctly 00:07 +45: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display success message 00:07 +46: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display success message 00:07 +47: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display success message 00:07 +47: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should validate required fields 00:07 +48: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should validate required fields 00:07 +48: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display form with all required fields 00:07 +49: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display form with all required fields 00:07 +49: loading /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart 00:07 +49: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step создает Step с правильными значениями 00:07 +50: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step создает Step с правильными значениями 00:07 +50: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step создает Step с null значениями 00:07 +51: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step создает Step с null значениями 00:07 +51: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step fromJson создает Step из JSON 00:07 +52: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step fromJson создает Step из JSON 00:07 +52: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step fromJson создает Step из JSON с null значениями 00:07 +53: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step fromJson создает Step из JSON с null значениями 00:07 +53: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step toJson serializes Step correctly 00:07 +54: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step toJson serializes Step correctly 00:07 +54: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step toJson serializes Step with null values correctly 00:07 +55: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step toJson serializes Step with null values correctly 00:08 +55: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step toJson serializes Step with null values correctly 00:08 +55: loading /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart 00:08 +55: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit initial state has default values 00:08 +56: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit initial state has default values 00:08 +56: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit addStep adds a new empty step 00:08 +57: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit addStep adds a new empty step 00:08 +57: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit removeStep removes provided step 00:08 +58: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit removeStep removes provided step 00:08 +58: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit addIngredient appends ingredient to list 00:08 +59: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit addIngredient appends ingredient to list 00:08 +59: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit removeIngredient removes ingredient by index 00:08 +60: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit removeIngredient removes ingredient by index 00:08 +60: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit updateIngredient replaces ingredient at index 00:08 +61: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit updateIngredient replaces ingredient at index 00:08 +61: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit replaceIngredientPosition moves ingredient 00:08 +62: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit replaceIngredientPosition moves ingredient 00:08 +62: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... replaceTitle and replaceDescription update entity 00:08 +63: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... replaceTitle and replaceDescription update entity 00:08 +63: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit addTag and removeTag work correctly 00:08 +64: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit addTag and removeTag work correctly 00:08 +64: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit portion and energy setters update entity 00:08 +65: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit portion and energy setters update entity 00:08 +65: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit replaceVideoUrl and replaceImage update entity 00:08 +66: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit replaceVideoUrl and replaceImage update entity 00:08 +66: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... replaceDescriptionInStep and replaceImageInStep update step 00:08 +67: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... replaceDescriptionInStep and replaceImageInStep update step 00:08 +67: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit disableLoading sets loading to false 00:08 +68: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit disableLoading sets loading to false 00:08 +68: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit changeType updates type of recipe 00:08 +69: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit changeType updates type of recipe 00:08 +69: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... replaceTitle with empty string sets title to null 00:08 +70: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... replaceTitle with empty string sets title to null 00:08 +70: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... with empty string sets description to null 00:08 +71: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... with empty string sets description to null 00:08 +71: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit publishRecipe - успешно публикует рецепт 00:08 +72: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit publishRecipe - успешно публикует рецепт 00:08 +72: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit publishRecipe - обновляет рецепт 00:08 +73: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit publishRecipe - обновляет рецепт 00:08 +73: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit publishRecipe - обрабатывает ошибку 00:08 +74: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit publishRecipe - обрабатывает ошибку 00:08 +74: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit deleteRecipe - успешно удаляет рецепт 00:08 +75: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit deleteRecipe - успешно удаляет рецепт 00:08 +75: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit deleteRecipe - обрабатывает ошибку 00:08 +76: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit deleteRecipe - обрабатывает ошибку 00:08 +76: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... getGlossaryListByQuery - получает список глоссария 00:08 +77: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... getGlossaryListByQuery - получает список глоссария 00:08 +77: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit validateTitle - возвращает false для null 00:08 +78: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit validateTitle - возвращает false для null 00:08 +78: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateTitle - возвращает false для пустой строки 00:08 +79: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateTitle - возвращает false для пустой строки 00:08 +79: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateTitle - возвращает false для короткого названия 00:08 +80: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateTitle - возвращает false для короткого названия 00:08 +80: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateTitle - возвращает true для валидного названия 00:08 +81: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateTitle - возвращает true для валидного названия 00:08 +81: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateDescription - возвращает false для null 00:08 +82: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateDescription - возвращает false для null 00:08 +82: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateDescription - возвращает false для пустой строки 00:08 +83: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateDescription - возвращает false для пустой строки 00:08 +83: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает false для короткого описания 00:08 +84: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает false для короткого описания 00:08 +84: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateDescription - возвращает true для валидного описания 00:08 +85: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateDescription - возвращает true для валидного описания 00:08 +85: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit validateServings - возвращает false для null 00:08 +86: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit validateServings - возвращает false для null 00:08 +86: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateServings - возвращает true для валидного значения 00:08 +87: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateServings - возвращает true для валидного значения 00:08 +87: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateEnergyPerServing - возвращает false для null 00:08 +88: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateEnergyPerServing - возвращает false для null 00:08 +88: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает true для валидного значения 00:08 +89: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает true для валидного значения 00:08 +89: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает false когда оба поля null 00:08 +90: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает false когда оба поля null 00:08 +90: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает true когда хотя бы одно поле заполнено 00:08 +91: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает true когда хотя бы одно поле заполнено 00:08 +91: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает false когда одно из полей null 00:08 +92: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает false когда одно из полей null 00:08 +92: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает true когда оба поля заполнены 00:08 +93: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает true когда оба поля заполнены 00:08 +93: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit validateImage - возвращает false для null 00:08 +94: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit validateImage - возвращает false для null 00:08 +94: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateImage - возвращает true для валидного изображения 00:08 +95: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateImage - возвращает true для валидного изображения 00:08 +95: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateAll - возвращает false когда не все поля валидны 00:08 +96: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateAll - возвращает false когда не все поля валидны 00:08 +96: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateAll - возвращает true когда все поля валидны 00:08 +97: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateAll - возвращает true когда все поля валидны 00:08 +97: loading /home/alexander/eatvio_app/test/features/create_recipe/presentation/pages/recipe_create_screen_test.dart 00:08 +97: /home/alexander/eatvio_app/test/features/create_recipe/presentation/pages/recipe_create_screen_test.dart: RecipeCreateScreen smoke (setUpAll) 00:09 +97: /home/alexander/eatvio_app/test/features/create_recipe/presentation/pages/recipe_create_screen_test.dart: RecipeCreateScreen smoke (setUpAll) 00:09 +97: /home/alexander/eatvio_app/test/features/create_recipe/presentation/pages/recipe_create_screen_test.dart: RecipeCreateScreen smoke renders recipe create screen - initial state 00:10 +97: /home/alexander/eatvio_app/test/features/create_recipe/presentation/pages/recipe_create_screen_test.dart: RecipeCreateScreen smoke renders recipe create screen - initial state 00:10 +98: /home/alexander/eatvio_app/test/features/create_recipe/presentation/pages/recipe_create_screen_test.dart: RecipeCreateScreen smoke renders recipe create screen - initial state 00:10 +99: /home/alexander/eatvio_app/test/features/create_recipe/presentation/pages/recipe_create_screen_test.dart: RecipeCreateScreen smoke renders recipe create screen - initial state 00:10 +100: /home/alexander/eatvio_app/test/features/create_recipe/presentation/pages/recipe_create_screen_test.dart: RecipeCreateScreen smoke renders recipe create screen - initial state 00:10 +101: /home/alexander/eatvio_app/test/features/create_recipe/presentation/pages/recipe_create_screen_test.dart: RecipeCreateScreen smoke renders recipe create screen - initial state 00:10 +102: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/info_about_recipe_widget_test.dart: InfoAboutRecipeWidget smoke renders info about recipe widget 00:10 +103: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/info_about_recipe_widget_test.dart: InfoAboutRecipeWidget smoke renders info about recipe widget 00:11 +103: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/info_about_recipe_widget_test.dart: InfoAboutRecipeWidget smoke renders info about recipe widget 00:11 +104: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/info_about_recipe_widget_test.dart: InfoAboutRecipeWidget smoke renders info about recipe widget 00:11 +105: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/info_about_recipe_widget_test.dart: InfoAboutRecipeWidget smoke renders info about recipe widget 00:11 +106: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/info_about_recipe_widget_test.dart: InfoAboutRecipeWidget smoke renders info about recipe widget 00:11 +107: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/portion_widget_test.dart: PortionWidget smoke renders portion widget 00:11 +108: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:12 +108: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:12 +109: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:12 +110: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:12 +111: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:12 +112: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:12 +113: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:12 +114: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:12 +115: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:12 +116: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:12 +117: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:12 +118: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:12 +119: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:12 +120: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:12 +121: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:12 +122: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:12 +123: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:12 +124: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:12 +125: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:12 +126: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:12 +127: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:12 +128: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:12 +129: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:12 +130: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:12 +131: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:12 +132: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:12 +133: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/time_of_cook_widget_test.dart: TimeOfCookWidget smoke renders time of cook widget 00:12 +134: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/time_of_cook_widget_test.dart: TimeOfCookWidget smoke renders time of cook widget 00:12 +135: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/time_of_cook_widget_test.dart: TimeOfCookWidget smoke renders time of cook widget 00:12 +136: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/time_of_cook_widget_test.dart: TimeOfCookWidget smoke renders time of cook widget 00:12 +137: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/time_of_cook_widget_test.dart: TimeOfCookWidget smoke renders time of cook widget 00:12 +138: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/time_of_cook_widget_test.dart: TimeOfCookWidget smoke renders time of cook widget 00:12 +138: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/time_of_cook_widget_test.dart: TimeOfCookWidget smoke (tearDownAll) 00:13 +138: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/time_of_cook_widget_test.dart: TimeOfCookWidget smoke (tearDownAll) 00:13 +138: loading /home/alexander/eatvio_app/test/features/create_recipe/simple_widget_test.dart 00:13 +138: /home/alexander/eatvio_app/test/features/create_recipe/simple_widget_test.dart: Recipe Creation Widget Tests should display InfoAboutRecipeWidget with all form fields 00:14 +138: /home/alexander/eatvio_app/test/features/create_recipe/simple_widget_test.dart: Recipe Creation Widget Tests should display InfoAboutRecipeWidget with all form fields 00:14 +139: /home/alexander/eatvio_app/test/features/create_recipe/simple_widget_test.dart: Recipe Creation Widget Tests should display InfoAboutRecipeWidget with all form fields 00:14 +140: /home/alexander/eatvio_app/test/features/create_recipe/simple_widget_test.dart: Recipe Creation Widget Tests should display InfoAboutRecipeWidget with all form fields 00:14 +141: /home/alexander/eatvio_app/test/features/create_recipe/simple_widget_test.dart: Recipe Creation Widget Tests should display InfoAboutRecipeWidget with all form fields 00:14 +142: /home/alexander/eatvio_app/test/features/create_recipe/simple_widget_test.dart: Recipe Creation Widget Tests should display InfoAboutRecipeWidget with all form fields 00:14 +143: /home/alexander/eatvio_app/test/features/create_recipe/simple_widget_test.dart: Recipe Creation Widget Tests should display InfoAboutRecipeWidget with all form fields 00:14 +144: /home/alexander/eatvio_app/test/features/create_recipe/simple_widget_test.dart: Recipe Creation Widget Tests should display InfoAboutRecipeWidget with all form fields 00:14 +145: /home/alexander/eatvio_app/test/features/create_recipe/simple_widget_test.dart: Recipe Creation Widget Tests should display InfoAboutRecipeWidget with all form fields 00:14 +146: /home/alexander/eatvio_app/test/features/create_recipe/simple_widget_test.dart: Recipe Creation Widget Tests should display InfoAboutRecipeWidget with all form fields 00:14 +147: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:14 +148: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:14 +149: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:14 +150: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:14 +151: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:14 +152: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:15 +152: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:15 +153: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:15 +154: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:15 +155: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:15 +156: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:15 +157: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:15 +158: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:15 +159: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - лайк рецепта 00:15 +160: /home/alexander/eatvio_app/test/features/create_recipe/simple_widget_test.dart: Recipe Creation Widget Tests should update calories when user types in calories field 00:15 +161: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/about_recipe_screen_smoke_test.dart: AboutRecipeScreen smoke renders loading state 00:15 +162: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/about_recipe_screen_smoke_test.dart: AboutRecipeScreen smoke renders loading state 00:15 +163: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/about_recipe_screen_smoke_test.dart: AboutRecipeScreen smoke renders loading state 00:16 +163: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/about_recipe_screen_smoke_test.dart: AboutRecipeScreen smoke renders loading state 00:16 +164: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/about_recipe_screen_smoke_test.dart: AboutRecipeScreen smoke renders loading state 00:16 +165: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/about_recipe_screen_smoke_test.dart: AboutRecipeScreen smoke renders loading state 00:16 +166: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/about_recipe_screen_smoke_test.dart: AboutRecipeScreen smoke renders loading state 00:16 +167: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/about_recipe_screen_smoke_test.dart: AboutRecipeScreen smoke renders loading state 00:16 +168: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/about_recipe_screen_smoke_test.dart: AboutRecipeScreen smoke renders loading state 00:16 +169: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/about_recipe_screen_smoke_test.dart: AboutRecipeScreen smoke renders loading state 00:16 +170: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/about_recipe_screen_smoke_test.dart: AboutRecipeScreen smoke renders loading state 00:16 +171: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - убирает лайк если уже лайкнуто 00:16 +172: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - убирает лайк если уже лайкнуто 00:16 +173: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart: MyRecipesScreen smoke renders my recipes screen 00:17 +173: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart: MyRecipesScreen smoke renders my recipes screen 00:17 +174: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart: MyRecipesScreen smoke renders my recipes screen 00:17 +175: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart: MyRecipesScreen smoke renders my recipes screen 00:17 +176: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart: MyRecipesScreen smoke renders my recipes screen 00:17 +177: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart: MyRecipesScreen smoke renders my recipes screen 00:17 +178: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart: MyRecipesScreen smoke renders my recipes screen 00:17 +179: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart: MyRecipesScreen smoke renders my recipes screen 00:17 +180: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart: MyRecipesScreen smoke renders my recipes screen 00:17 +181: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart: MyRecipesScreen smoke renders my recipes screen 00:17 +182: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/ingredients_widget_test.dart: IngredientsWidget smoke renders ingredients widget 00:17 +183: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/ingredients_widget_test.dart: IngredientsWidget smoke renders ingredients widget 00:17 +184: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/ingredients_widget_test.dart: IngredientsWidget smoke renders ingredients widget 00:17 +185: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/ingredients_widget_test.dart: IngredientsWidget smoke renders ingredients widget 00:17 +186: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/ingredients_widget_test.dart: IngredientsWidget smoke renders ingredients widget 00:18 +186: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/ingredients_widget_test.dart: IngredientsWidget smoke renders ingredients widget 00:18 +187: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/ingredients_widget_test.dart: IngredientsWidget smoke renders ingredients widget 00:18 +188: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:18 +189: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:18 +190: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:18 +191: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:18 +192: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:18 +193: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:18 +194: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:18 +195: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:18 +196: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:18 +197: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:18 +198: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:18 +199: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:18 +200: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:18 +201: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:18 +202: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:19 +202: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:19 +203: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:19 +204: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should show validation error for invalid portions 00:19 +205: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should show validation error for invalid portions 00:19 +206: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should show validation error for invalid portions 00:19 +207: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:19 +208: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:19 +209: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:19 +210: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:20 +210: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:20 +211: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:20 +212: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:20 +213: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display app bar with correct title for new recipe 00:20 +214: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:20 +215: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:21 +215: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:21 +216: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:21 +216: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:22 +216: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:23 +216: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:23 +217: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:23 +217: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - обработка ошибки 00:23 +218: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - обработка ошибки 00:23 +218: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:24 +218: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:24 +219: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:24 +219: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - обработка ошибки 00:24 +220: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - обработка ошибки 00:24 +220: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - не выполняет действие если state не loaded 00:24 +221: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - не выполняет действие если state не loaded 00:24 +221: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - не выполняет действие если state не loaded 00:24 +222: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - не выполняет действие если state не loaded 00:24 +222: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - не выполняет действие если state не loaded 00:24 +223: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - не выполняет действие если state не loaded 00:24 +223: All tests passed! + 00:00 +0: loading /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart 00:01 +0: loading /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart 00:02 +0: loading /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart:4:8: Error: Error when reading 'lib/features/recipe/presentation/cubit/my_recipes_cubit/my_recieps_cubit.dart': No such file or directory +import 'package:eatvio_app/features/recipe/presentation/cubit/my_recipes_cubit/my_recieps_cubit.dart'; + ^ +test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart:19:5: Error: 'MyRecipesCubit' isn't a type. + MyRecipesCubit? myRecipesCubit; + ^^^^^^^^^^^^^^ +test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart:99:24: Error: Method not found: 'MyRecipesCubit'. + myRecipesCubit = MyRecipesCubit( + ^^^^^^^^^^^^^^ +test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart:107:24: Error: Method not found: 'MyRecipesCubit'. + myRecipesCubit = MyRecipesCubit( + ^^^^^^^^^^^^^^ +test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart:127:24: Error: Method not found: 'MyRecipesCubit'. + myRecipesCubit = MyRecipesCubit( + ^^^^^^^^^^^^^^ +test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart:141:24: Error: Method not found: 'MyRecipesCubit'. + myRecipesCubit = MyRecipesCubit( + ^^^^^^^^^^^^^^ +test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart:161:24: Error: Method not found: 'MyRecipesCubit'. + myRecipesCubit = MyRecipesCubit( + ^^^^^^^^^^^^^^ +test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart:175:24: Error: Method not found: 'MyRecipesCubit'. + myRecipesCubit = MyRecipesCubit( + ^^^^^^^^^^^^^^ +test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart:195:24: Error: Method not found: 'MyRecipesCubit'. + myRecipesCubit = MyRecipesCubit( + ^^^^^^^^^^^^^^ +test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart:209:24: Error: Method not found: 'MyRecipesCubit'. + myRecipesCubit = MyRecipesCubit( + ^^^^^^^^^^^^^^ +test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart:225:24: Error: Method not found: 'MyRecipesCubit'. + myRecipesCubit = MyRecipesCubit( + ^^^^^^^^^^^^^^ + 00:03 +0: loading /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart 00:03 +0 -1: loading /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart [E] + Failed to load "/home/alexander/eatvio_app/test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart": + Compilation failed for testPath=/home/alexander/eatvio_app/test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart: test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart:4:8: Error: Error when reading 'lib/features/recipe/presentation/cubit/my_recipes_cubit/my_recieps_cubit.dart': No such file or directory + import 'package:eatvio_app/features/recipe/presentation/cubit/my_recipes_cubit/my_recieps_cubit.dart'; + ^ + test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart:19:5: Error: 'MyRecipesCubit' isn't a type. + MyRecipesCubit? myRecipesCubit; + ^^^^^^^^^^^^^^ + test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart:99:24: Error: Method not found: 'MyRecipesCubit'. + myRecipesCubit = MyRecipesCubit( + ^^^^^^^^^^^^^^ + test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart:107:24: Error: Method not found: 'MyRecipesCubit'. + myRecipesCubit = MyRecipesCubit( + ^^^^^^^^^^^^^^ + test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart:127:24: Error: Method not found: 'MyRecipesCubit'. + myRecipesCubit = MyRecipesCubit( + ^^^^^^^^^^^^^^ + test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart:141:24: Error: Method not found: 'MyRecipesCubit'. + myRecipesCubit = MyRecipesCubit( + ^^^^^^^^^^^^^^ + test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart:161:24: Error: Method not found: 'MyRecipesCubit'. + myRecipesCubit = MyRecipesCubit( + ^^^^^^^^^^^^^^ + test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart:175:24: Error: Method not found: 'MyRecipesCubit'. + myRecipesCubit = MyRecipesCubit( + ^^^^^^^^^^^^^^ + test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart:195:24: Error: Method not found: 'MyRecipesCubit'. + myRecipesCubit = MyRecipesCubit( + ^^^^^^^^^^^^^^ + test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart:209:24: Error: Method not found: 'MyRecipesCubit'. + myRecipesCubit = MyRecipesCubit( + ^^^^^^^^^^^^^^ + test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart:225:24: Error: Method not found: 'MyRecipesCubit'. + myRecipesCubit = MyRecipesCubit( + ^^^^^^^^^^^^^^ + . + +To run this test again: /home/alexander/fvm/versions/3.38.9/bin/cache/dart-sdk/bin/dart test /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart -p vm --plain-name 'loading /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart' + Error: The Dart compiler exited unexpectedly. + package:flutter_tools/src/base/common.dart 34:3 throwToolExit + package:flutter_tools/src/compile.dart 911:11 DefaultResidentCompiler._compile. + dart:async/zone.dart 1538:47 _rootRunUnary + dart:async/zone.dart 1429:19 _CustomZone.runUnary + dart:async/future_impl.dart 948:45 Future._propagateToListeners.handleValueCallback + dart:async/future_impl.dart 977:13 Future._propagateToListeners + dart:async/future_impl.dart 862:9 Future._propagateToListeners + dart:async/future_impl.dart 720:5 Future._completeWithValue + dart:async/future_impl.dart 804:7 Future._asyncCompleteWithValue. + dart:async/zone.dart 1525:13 _rootRun + dart:async/zone.dart 1422:19 _CustomZone.run + dart:async/zone.dart 1321:7 _CustomZone.runGuarded + dart:async/zone.dart 1362:23 _CustomZone.bindCallbackGuarded. + dart:async/schedule_microtask.dart 40:35 _microtaskLoop + dart:async/schedule_microtask.dart 49:5 _startMicrotaskLoop + dart:isolate-patch/isolate_patch.dart 127:13 _runPendingImmediateCallback + dart:isolate-patch/isolate_patch.dart 194:5 _RawReceivePort._handleMessage + + 00:06 +0 -1: loading /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart 00:06 +0 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit начальное состояние - initial state 00:06 +1 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit начальное состояние - initial state 00:06 +1 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit loadRecipesList - загружает рецепты успешно 00:07 +1 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit loadRecipesList - загружает рецепты успешно 00:07 +2 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit loadRecipesList - загружает рецепты успешно 00:07 +2 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit loadRecipesList - обрабатывает ошибку 00:07 +3 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should create RecipesCubit successfully 00:07 +4 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should create RecipesCubit successfully 00:07 +5 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should create RecipesCubit successfully 00:07 +6 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit likeRecipe - лайкает рецепт 00:08 +6 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit likeRecipe - лайкает рецепт 00:08 +7 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit likeRecipe - лайкает рецепт 00:08 +8 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit likeRecipe - лайкает рецепт 00:08 +9 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit likeRecipe - лайкает рецепт 00:08 +10 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit likeRecipe - лайкает рецепт 00:08 +11 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit likeRecipe - лайкает рецепт 00:08 +12 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit likeRecipe - лайкает рецепт 00:08 +13 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit likeRecipe - лайкает рецепт 00:08 +14 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget with recipe title 00:08 +15 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget with recipe title 00:08 +16 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget with recipe title 00:08 +17 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget with recipe title 00:08 +18 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget with recipe title 00:08 +19 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget with recipe title 00:08 +20 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget with recipe title 00:08 +21 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget with recipe title 00:08 +22 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/widgets_test.dart: Recipes Widgets Tests StepsWidget should display StepsWidget with steps 00:08 +23 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:08 +24 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:08 +25 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:08 +26 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:08 +27 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:08 +28 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:08 +29 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:08 +30 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:08 +31 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:09 +31 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:09 +32 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:09 +33 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:09 +34 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:09 +35 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:09 +36 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:09 +37 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with loading state 00:09 +38 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with loading state 00:09 +39 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with loading state 00:09 +39 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with loaded state 00:09 +40 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with loaded state 00:09 +40 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with error state 00:09 +41 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with error state 00:09 +41 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with multiple recipes 00:09 +42 -1: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with multiple recipes 00:09 +42 -1: Some tests failed. diff --git a/temp_test_output_recipes.txt b/temp_test_output_recipes.txt new file mode 100644 index 00000000..87d22b46 --- /dev/null +++ b/temp_test_output_recipes.txt @@ -0,0 +1 @@ + 00:00 +0: loading /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart 00:01 +0: loading /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart 00:02 +0: loading /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart 00:03 +0: loading /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart 00:04 +0: loading /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart 00:04 +0: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart: MyRecipesCubit начальное состояние - loading 00:04 +1: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart: MyRecipesCubit начальное состояние - loading 00:04 +1: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart: MyRecipesCubit getMyRecipes - загружает активные рецепты 00:04 +2: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart: MyRecipesCubit getMyRecipes - загружает активные рецепты 00:04 +2: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart: MyRecipesCubit getMyRecipes - обрабатывает ошибку 00:05 +2: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart: MyRecipesCubit getMyRecipes - обрабатывает ошибку 00:05 +3: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart: MyRecipesCubit getMyRecipes - обрабатывает ошибку 00:05 +3: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart: MyRecipesCubit setActiveState - устанавливает активное состояние 00:05 +4: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit начальное состояние - initial state 00:05 +5: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart: MyRecipesCubit setActiveState - обрабатывает ошибку 00:05 +6: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit loadRecipesList - загружает рецепты успешно 00:05 +7: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart: MyRecipesCubit setArchivedState - устанавливает архивное состояние 00:05 +8: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit loadRecipesList - обрабатывает ошибку 00:05 +9: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart: MyRecipesCubit setArchivedState - обрабатывает ошибку 00:05 +10: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart: MyRecipesCubit setArchivedState - обрабатывает ошибку 00:05 +11: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should create RecipesCubit successfully 00:06 +11: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should create RecipesCubit successfully 00:06 +12: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should create RecipesCubit successfully 00:06 +13: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should create RecipesCubit successfully 00:06 +14: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit likeRecipe - лайкает рецепт 00:06 +15: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit likeRecipe - лайкает рецепт 00:06 +16: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/widgets_test.dart: Recipes Widgets Tests IngredientsWidget should display IngredientsWidget with ingredients 00:06 +17: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/widgets_test.dart: Recipes Widgets Tests IngredientsWidget should display IngredientsWidget with ingredients 00:06 +18: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/widgets_test.dart: Recipes Widgets Tests IngredientsWidget should display IngredientsWidget with ingredients 00:06 +19: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/widgets_test.dart: Recipes Widgets Tests IngredientsWidget should display IngredientsWidget with ingredients 00:06 +20: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/widgets_test.dart: Recipes Widgets Tests IngredientsWidget should display IngredientsWidget with ingredients 00:06 +21: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/widgets_test.dart: Recipes Widgets Tests IngredientsWidget should display IngredientsWidget with ingredients 00:06 +22: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/widgets_test.dart: Recipes Widgets Tests IngredientsWidget should display IngredientsWidget with ingredients 00:06 +23: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/widgets_test.dart: Recipes Widgets Tests IngredientsWidget should display IngredientsWidget with ingredients 00:07 +23: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/widgets_test.dart: Recipes Widgets Tests IngredientsWidget should display IngredientsWidget with ingredients 00:07 +24: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/widgets_test.dart: Recipes Widgets Tests IngredientsWidget should display IngredientsWidget with ingredients 00:07 +25: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/widgets_test.dart: Recipes Widgets Tests IngredientsWidget should display IngredientsWidget with ingredients 00:07 +26: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/widgets_test.dart: Recipes Widgets Tests IngredientsWidget should display IngredientsWidget with ingredients 00:07 +27: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/widgets_test.dart: Recipes Widgets Tests IngredientsWidget should display IngredientsWidget with ingredients 00:07 +28: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/widgets_test.dart: Recipes Widgets Tests IngredientsWidget should display IngredientsWidget with ingredients 00:07 +29: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget with recipe title 00:07 +30: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget with recipe title 00:07 +31: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget with recipe title 00:07 +32: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget with recipe title 00:07 +33: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget with recipe title 00:07 +34: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget with recipe title 00:07 +35: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget with recipe title 00:07 +36: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget with recipe title 00:07 +37: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget with recipe title 00:07 +38: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget with recipe title 00:07 +39: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:07 +40: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: ... Widget Tests should display RecipesWidget with description when description is present 00:07 +41: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/recipes_cubit_test.dart: RecipesCubit deleteRecipe - удаляет рецепт 00:07 +42: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget structure correctly 00:07 +43: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget structure correctly 00:07 +44: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget structure correctly 00:07 +45: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget structure correctly 00:07 +46: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget structure correctly 00:07 +47: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget structure correctly 00:07 +47: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with loading state 00:08 +47: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with loading state 00:08 +48: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with loading state 00:08 +48: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with loaded state 00:08 +49: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with loaded state 00:08 +49: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with error state 00:08 +50: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with error state 00:08 +50: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with multiple recipes 00:09 +50: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with multiple recipes 00:09 +51: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with multiple recipes 00:09 +51: All tests passed! diff --git a/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart b/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart index 241a9a91..2fb3fb7b 100644 --- a/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart +++ b/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart @@ -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); diff --git a/test/features/create_recipe/reporitories/recipe_repository_test.dart b/test/features/create_recipe/reporitories/recipe_repository_test.dart index 4a82a264..8392d3b7 100644 --- a/test/features/create_recipe/reporitories/recipe_repository_test.dart +++ b/test/features/create_recipe/reporitories/recipe_repository_test.dart @@ -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'))); diff --git a/test/features/create_recipe/services/recipe_service_test.dart b/test/features/create_recipe/services/recipe_service_test.dart index 022eb89a..e9b0f900 100644 --- a/test/features/create_recipe/services/recipe_service_test.dart +++ b/test/features/create_recipe/services/recipe_service_test.dart @@ -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()]) 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); diff --git a/test/features/recipe/presentation/cubit/my_recipes_cubit/my_recipes_cubit_test.dart b/test/features/recipe/presentation/cubit/my_recipes_cubit/my_recipes_cubit_test.dart index a77e0a7f..3bd1f05f 100644 --- a/test/features/recipe/presentation/cubit/my_recipes_cubit/my_recipes_cubit_test.dart +++ b/test/features/recipe/presentation/cubit/my_recipes_cubit/my_recipes_cubit_test.dart @@ -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'; diff --git a/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart b/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart index fac14897..ebd26e01 100644 --- a/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart +++ b/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart @@ -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 { diff --git a/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart b/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart index 52fca10f..caa91380 100644 --- a/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart +++ b/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart @@ -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'; diff --git a/test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart b/test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart index 267e5191..e116dc1e 100644 --- a/test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart +++ b/test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart @@ -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'; diff --git a/test_failures.txt b/test_failures.txt new file mode 100644 index 00000000..a655442b --- /dev/null +++ b/test_failures.txt @@ -0,0 +1,57 @@ + 00:00 +0: loading /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart 00:01 +0: loading /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart 00:02 +0: loading /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart 00:02 +0: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should create CreateRecipeCubit successfully 00:02 +1: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should create CreateRecipeCubit successfully 00:02 +1: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:02 +2: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:02 +3: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:02 +4: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:02 +5: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:02 +6: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:02 +7: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:02 +8: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:02 +9: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:02 +10: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:02 +11: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:02 +12: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:02 +13: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:02 +14: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:03 +14: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:03 +15: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:03 +16: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:03 +17: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:03 +18: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:03 +19: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:03 +20: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:03 +21: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:03 +21: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update title when user types in title field 00:03 +22: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update title when user types in title field 00:03 +22: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update description when user types in description field 00:03 +23: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update description when user types in description field 00:03 +23: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update portions when user types in portions field 00:03 +24: /home/alexander/eatvio_app/test/features/create_recipe/models/recipe_create_model_test.dart: RecipeType enum has all expected values 00:03 +25: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update calories when user types in calories field 00:03 +26: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update calories when user types in calories field 00:03 +27: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update calories when user types in calories field 00:03 +28: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update calories when user types in calories field 00:03 +29: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update calories when user types in calories field 00:03 +29: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display form labels correctly 00:03 +30: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display form labels correctly 00:03 +30: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display placeholder text in title field 00:03 +31: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display placeholder text in title field 00:03 +31: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display publish button 00:03 +32: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display publish button 00:03 +32: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should handle button tap 00:03 +33: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should handle button tap 00:03 +34: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should handle button tap 00:03 +35: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should handle button tap 00:03 +36: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should handle button tap 00:03 +37: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should handle button tap 00:03 +38: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should handle button tap 00:03 +38: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display loading state 00:03 +39: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display loading state 00:03 +39: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display error message 00:03 +40: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display error message 00:03 +40: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display success message 00:04 +40: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display success message 00:04 +41: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display success message 00:04 +41: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should validate required fields 00:04 +42: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should validate required fields 00:04 +42: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display form with all required fields 00:04 +43: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display form with all required fields 00:04 +43: loading /home/alexander/eatvio_app/test/features/create_recipe/models/recipe_tag_model_test.dart 00:04 +43: /home/alexander/eatvio_app/test/features/create_recipe/models/recipe_tag_model_test.dart: RecipeTag создает RecipeTag с правильными значениями 00:04 +44: /home/alexander/eatvio_app/test/features/create_recipe/models/recipe_tag_model_test.dart: RecipeTag создает RecipeTag с правильными значениями 00:04 +44: /home/alexander/eatvio_app/test/features/create_recipe/models/recipe_tag_model_test.dart: RecipeTagModel создает RecipeTagModel с правильными значениями 00:04 +45: /home/alexander/eatvio_app/test/features/create_recipe/models/recipe_tag_model_test.dart: RecipeTagModel создает RecipeTagModel с правильными значениями 00:04 +45: /home/alexander/eatvio_app/test/features/create_recipe/models/recipe_tag_model_test.dart: RecipeTagModel fromJson создает RecipeTagModel из JSON 00:04 +46: /home/alexander/eatvio_app/test/features/create_recipe/models/recipe_tag_model_test.dart: RecipeTagModel fromJson создает RecipeTagModel из JSON 00:04 +46: /home/alexander/eatvio_app/test/features/create_recipe/models/recipe_tag_model_test.dart: RecipeTag fromJson создает RecipeTag из JSON 00:04 +47: /home/alexander/eatvio_app/test/features/create_recipe/models/recipe_tag_model_test.dart: RecipeTag fromJson создает RecipeTag из JSON 00:04 +47: /home/alexander/eatvio_app/test/features/create_recipe/models/recipe_tag_model_test.dart: RecipeTag toJson serializes RecipeTag correctly 00:04 +48: /home/alexander/eatvio_app/test/features/create_recipe/models/recipe_tag_model_test.dart: RecipeTag toJson serializes RecipeTag correctly 00:04 +48: /home/alexander/eatvio_app/test/features/create_recipe/models/recipe_tag_model_test.dart: RecipeTagModel toJson serializes RecipeTagModel correctly 00:04 +49: /home/alexander/eatvio_app/test/features/create_recipe/models/recipe_tag_model_test.dart: RecipeTagModel toJson serializes RecipeTagModel correctly 00:04 +49: loading /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart 00:04 +49: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step создает Step с правильными значениями 00:04 +50: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step создает Step с правильными значениями 00:04 +50: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step создает Step с null значениями 00:04 +51: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step создает Step с null значениями 00:04 +51: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step fromJson создает Step из JSON 00:04 +52: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step fromJson создает Step из JSON 00:04 +52: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step fromJson создает Step из JSON с null значениями 00:04 +53: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step fromJson создает Step из JSON с null значениями 00:04 +53: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step toJson serializes Step correctly 00:04 +54: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step toJson serializes Step correctly 00:04 +54: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step toJson serializes Step with null values correctly 00:04 +55: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step toJson serializes Step with null values correctly 00:04 +55: loading /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart 00:04 +55: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit initial state has default values 00:04 +56: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit initial state has default values 00:04 +56: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit addStep adds a new empty step 00:04 +57: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit addStep adds a new empty step 00:04 +57: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit removeStep removes provided step 00:04 +58: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit removeStep removes provided step 00:04 +58: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit addIngredient appends ingredient to list 00:04 +59: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit addIngredient appends ingredient to list 00:04 +59: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit removeIngredient removes ingredient by index 00:04 +60: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit removeIngredient removes ingredient by index 00:04 +60: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit updateIngredient replaces ingredient at index 00:04 +61: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit updateIngredient replaces ingredient at index 00:04 +61: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit replaceIngredientPosition moves ingredient 00:04 +62: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit replaceIngredientPosition moves ingredient 00:04 +62: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... replaceTitle and replaceDescription update entity 00:04 +63: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... replaceTitle and replaceDescription update entity 00:04 +63: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit addTag and removeTag work correctly 00:04 +64: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit addTag and removeTag work correctly 00:04 +64: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit portion and energy setters update entity 00:04 +65: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit portion and energy setters update entity 00:04 +65: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit replaceVideoUrl and replaceImage update entity 00:04 +66: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit replaceVideoUrl and replaceImage update entity 00:04 +66: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... replaceDescriptionInStep and replaceImageInStep update step 00:04 +67: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... replaceDescriptionInStep and replaceImageInStep update step 00:04 +67: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit disableLoading sets loading to false 00:04 +68: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit disableLoading sets loading to false 00:04 +68: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit changeType updates type of recipe 00:04 +69: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit changeType updates type of recipe 00:04 +69: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... replaceTitle with empty string sets title to null 00:04 +70: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... replaceTitle with empty string sets title to null 00:04 +70: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... with empty string sets description to null 00:04 +71: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... with empty string sets description to null 00:04 +71: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit publishRecipe - успешно публикует рецепт 00:04 +72: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit publishRecipe - успешно публикует рецепт 00:04 +72: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit publishRecipe - обновляет рецепт 00:04 +73: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit publishRecipe - обновляет рецепт 00:04 +73: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit publishRecipe - обрабатывает ошибку 00:04 +74: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit publishRecipe - обрабатывает ошибку 00:04 +74: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit deleteRecipe - успешно удаляет рецепт 00:04 +75: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit deleteRecipe - успешно удаляет рецепт 00:04 +75: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit deleteRecipe - обрабатывает ошибку 00:04 +76: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit deleteRecipe - обрабатывает ошибку 00:04 +76: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... getGlossaryListByQuery - получает список глоссария 00:04 +77: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... getGlossaryListByQuery - получает список глоссария 00:04 +77: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit validateTitle - возвращает false для null 00:04 +78: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit validateTitle - возвращает false для null 00:04 +78: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateTitle - возвращает false для пустой строки 00:04 +79: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateTitle - возвращает false для пустой строки 00:04 +79: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateTitle - возвращает false для короткого названия 00:04 +80: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateTitle - возвращает false для короткого названия 00:04 +80: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateTitle - возвращает true для валидного названия 00:04 +81: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateTitle - возвращает true для валидного названия 00:04 +81: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateDescription - возвращает false для null 00:04 +82: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateDescription - возвращает false для null 00:04 +82: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateDescription - возвращает false для пустой строки 00:04 +83: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateDescription - возвращает false для пустой строки 00:04 +83: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает false для короткого описания 00:04 +84: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает false для короткого описания 00:04 +84: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateDescription - возвращает true для валидного описания 00:04 +85: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateDescription - возвращает true для валидного описания 00:04 +85: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit validateServings - возвращает false для null 00:04 +86: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit validateServings - возвращает false для null 00:04 +86: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateServings - возвращает true для валидного значения 00:04 +87: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateServings - возвращает true для валидного значения 00:04 +87: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateEnergyPerServing - возвращает false для null 00:04 +88: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateEnergyPerServing - возвращает false для null 00:04 +88: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает true для валидного значения 00:04 +89: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает true для валидного значения 00:04 +89: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает false когда оба поля null 00:04 +90: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает false когда оба поля null 00:04 +90: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает true когда хотя бы одно поле заполнено 00:04 +91: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает true когда хотя бы одно поле заполнено 00:04 +91: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает false когда одно из полей null 00:04 +92: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает false когда одно из полей null 00:04 +92: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает true когда оба поля заполнены 00:04 +93: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает true когда оба поля заполнены 00:04 +93: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit validateImage - возвращает false для null 00:05 +93: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit validateImage - возвращает false для null 00:05 +94: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit validateImage - возвращает false для null 00:05 +94: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateImage - возвращает true для валидного изображения 00:05 +95: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateImage - возвращает true для валидного изображения 00:05 +95: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateAll - возвращает false когда не все поля валидны 00:05 +96: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateAll - возвращает false когда не все поля валидны 00:05 +96: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateAll - возвращает true когда все поля валидны 00:05 +97: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateAll - возвращает true когда все поля валидны 00:05 +97: loading /home/alexander/eatvio_app/test/features/create_recipe/presentation/pages/recipe_create_screen_test.dart 00:05 +97: /home/alexander/eatvio_app/test/features/create_recipe/presentation/pages/recipe_create_screen_test.dart: RecipeCreateScreen smoke (setUpAll) 00:05 +97: /home/alexander/eatvio_app/test/features/create_recipe/presentation/pages/recipe_create_screen_test.dart: RecipeCreateScreen smoke renders recipe create screen - initial state 00:06 +97: /home/alexander/eatvio_app/test/features/create_recipe/presentation/pages/recipe_create_screen_test.dart: RecipeCreateScreen smoke renders recipe create screen - initial state 00:06 +98: /home/alexander/eatvio_app/test/features/create_recipe/presentation/pages/recipe_create_screen_test.dart: RecipeCreateScreen smoke renders recipe create screen - initial state 00:06 +99: /home/alexander/eatvio_app/test/features/create_recipe/presentation/pages/recipe_create_screen_test.dart: RecipeCreateScreen smoke renders recipe create screen - initial state 00:06 +100: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/portion_widget_test.dart: PortionWidget smoke renders portion widget 00:06 +101: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/portion_widget_test.dart: PortionWidget smoke renders portion widget 00:07 +101: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/portion_widget_test.dart: PortionWidget smoke renders portion widget 00:07 +102: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/portion_widget_test.dart: PortionWidget smoke renders portion widget 00:07 +103: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +104: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +105: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +106: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +107: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +108: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +109: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +110: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +111: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +112: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +113: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +114: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +115: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +116: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +117: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +118: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +119: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +120: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +121: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +122: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +123: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +124: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +125: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +126: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +127: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +128: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +129: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +130: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +131: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/time_of_cook_widget_test.dart: TimeOfCookWidget smoke renders time of cook widget 00:07 +132: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/time_of_cook_widget_test.dart: TimeOfCookWidget smoke renders time of cook widget 00:07 +133: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/time_of_cook_widget_test.dart: TimeOfCookWidget smoke renders time of cook widget 00:07 +134: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/time_of_cook_widget_test.dart: TimeOfCookWidget smoke renders time of cook widget 00:07 +135: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/time_of_cook_widget_test.dart: TimeOfCookWidget smoke renders time of cook widget 00:07 +136: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/time_of_cook_widget_test.dart: TimeOfCookWidget smoke renders time of cook widget 00:07 +137: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/time_of_cook_widget_test.dart: TimeOfCookWidget smoke renders time of cook widget 00:08 +137: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/time_of_cook_widget_test.dart: TimeOfCookWidget smoke renders time of cook widget 00:08 +138: /home/alexander/eatvio_app/test/features/create_recipe/simple_widget_test.dart: Recipe Creation Widget Tests should display InfoAboutRecipeWidget with all form fields 00:08 +139: /home/alexander/eatvio_app/test/features/create_recipe/simple_widget_test.dart: Recipe Creation Widget Tests should display InfoAboutRecipeWidget with all form fields 00:08 +140: /home/alexander/eatvio_app/test/features/create_recipe/simple_widget_test.dart: Recipe Creation Widget Tests should display InfoAboutRecipeWidget with all form fields 00:08 +141: /home/alexander/eatvio_app/test/features/create_recipe/simple_widget_test.dart: Recipe Creation Widget Tests should display InfoAboutRecipeWidget with all form fields 00:08 +142: /home/alexander/eatvio_app/test/features/create_recipe/simple_widget_test.dart: Recipe Creation Widget Tests should display InfoAboutRecipeWidget with all form fields 00:08 +143: /home/alexander/eatvio_app/test/features/create_recipe/simple_widget_test.dart: Recipe Creation Widget Tests should display InfoAboutRecipeWidget with all form fields 00:08 +144: /home/alexander/eatvio_app/test/features/create_recipe/simple_widget_test.dart: Recipe Creation Widget Tests should display InfoAboutRecipeWidget with all form fields 00:08 +145: /home/alexander/eatvio_app/test/features/create_recipe/simple_widget_test.dart: Recipe Creation Widget Tests should display InfoAboutRecipeWidget with all form fields 00:08 +146: /home/alexander/eatvio_app/test/features/create_recipe/simple_widget_test.dart: Recipe Creation Widget Tests should display InfoAboutRecipeWidget with all form fields 00:09 +146: /home/alexander/eatvio_app/test/features/create_recipe/simple_widget_test.dart: Recipe Creation Widget Tests should display InfoAboutRecipeWidget with all form fields 00:09 +147: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:09 +148: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:09 +149: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:09 +150: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:09 +151: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:09 +152: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:09 +153: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:09 +154: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:09 +155: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:09 +156: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:09 +157: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:09 +158: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:09 +159: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:09 +160: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - лайк рецепта 00:09 +161: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - лайк рецепта 00:10 +161: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - лайк рецепта 00:10 +162: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - лайк рецепта 00:10 +163: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - лайк рецепта 00:10 +164: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - лайк рецепта 00:10 +165: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - лайк рецепта 00:10 +166: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - лайк рецепта 00:10 +167: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/about_recipe_screen_smoke_test.dart: AboutRecipeScreen smoke renders loading state 00:10 +168: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/about_recipe_screen_smoke_test.dart: AboutRecipeScreen smoke renders loading state 00:10 +169: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/about_recipe_screen_smoke_test.dart: AboutRecipeScreen smoke renders loading state 00:10 +170: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/about_recipe_screen_smoke_test.dart: AboutRecipeScreen smoke renders loading state 00:10 +171: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/about_recipe_screen_smoke_test.dart: AboutRecipeScreen smoke renders loading state 00:10 +172: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/about_recipe_screen_smoke_test.dart: AboutRecipeScreen smoke renders loading state 00:10 +173: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/about_recipe_screen_smoke_test.dart: AboutRecipeScreen smoke renders loading state 00:10 +174: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/about_recipe_screen_smoke_test.dart: AboutRecipeScreen smoke renders loading state 00:10 +174: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart: MyRecipesScreen smoke renders my recipes screen +══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════ +Failed assertion: line 47 pos 7: 'instance != null' +The relevant error-causing widget was: +When the exception was thrown, this was the stack: +(elided 7 frames from class _AssertionError, dart:async, and package:stack_trace) +══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════ +The relevant error-causing widget was: +This is considered an error condition because it indicates that there is content that cannot be +══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════ +Failed assertion: line 47 pos 7: 'instance != null' +The relevant error-causing widget was: +When the exception was thrown, this was the stack: +(elided 7 frames from class _AssertionError, dart:async, and package:stack_trace) +══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════ +Multiple exceptions (3) were detected during the running of the current test, and at least one was +unexpected. + Test failed. See exception logs above. +══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════ +Failed assertion: line 47 pos 7: 'instance != null' +The relevant error-causing widget was: +When the exception was thrown, this was the stack: +(elided 7 frames from class _AssertionError, dart:async, and package:stack_trace) +══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════ +The relevant error-causing widget was: +This is considered an error condition because it indicates that there is content that cannot be +══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════ +Failed assertion: line 47 pos 7: 'instance != null' +The relevant error-causing widget was: +When the exception was thrown, this was the stack: +(elided 7 frames from class _AssertionError, dart:async, and package:stack_trace) +══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════ +Multiple exceptions (3) were detected during the running of the current test, and at least one was +unexpected. + Test failed. See exception logs above. + 00:11 +178 -2: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - убирает лайк если уже лайкнуто 00:11 +178 -2: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart: MyRecipesScreen smoke renders my recipes screen with error state +══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════ +Failed assertion: line 47 pos 7: 'instance != null' +The relevant error-causing widget was: +When the exception was thrown, this was the stack: +(elided 7 frames from class _AssertionError, dart:async, and package:stack_trace) +══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════ +The relevant error-causing widget was: +This is considered an error condition because it indicates that there is content that cannot be +══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════ +Failed assertion: line 47 pos 7: 'instance != null' +The relevant error-causing widget was: +When the exception was thrown, this was the stack: +(elided 7 frames from class _AssertionError, dart:async, and package:stack_trace) +══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════ +Multiple exceptions (3) were detected during the running of the current test, and at least one was +unexpected. + 00:11 +178 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart: MyRecipesScreen smoke renders my recipes screen with error state [E] + Test failed. See exception logs above. + The test description was: renders my recipes screen with error state +To run this test again: /home/alexander/fvm/versions/3.38.9/bin/cache/dart-sdk/bin/dart test /home/alexander/eatvio_app/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart -p vm --plain-name 'MyRecipesScreen smoke renders my recipes screen with error state' + 00:11 +178 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - убирает лайк если уже лайкнуто 00:11 +179 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - убирает лайк если уже лайкнуто 00:11 +180 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - убирает лайк если уже лайкнуто 00:11 +181 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:11 +182 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:11 +183 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:11 +184 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:12 +184 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:12 +185 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:12 +186 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:12 +187 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:12 +188 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:12 +189 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:12 +190 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:12 +191 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:12 +192 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:12 +193 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:12 +194 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:12 +195 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - добавляет рецепт в избранное 00:12 +196 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - добавляет рецепт в избранное 00:12 +197 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - добавляет рецепт в избранное 00:12 +198 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - добавляет рецепт в избранное 00:12 +199 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - добавляет рецепт в избранное 00:12 +200 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - добавляет рецепт в избранное 00:12 +201 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart: MyRecipesCubit getMyRecipes - загружает активные рецепты 00:12 +202 -3: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should show validation error for invalid portions 00:12 +203 -3: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should show validation error for invalid portions 00:13 +203 -3: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should show validation error for invalid portions 00:13 +204 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:13 +205 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:13 +206 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:13 +207 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:13 +208 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:13 +209 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:13 +210 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:13 +211 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:13 +212 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:13 +213 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:13 +214 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:13 +215 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:13 +216 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:13 +217 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:13 +218 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:13 +219 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:14 +219 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:14 +220 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:14 +221 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:14 +222 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:14 +223 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:14 +224 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:14 +225 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:14 +226 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:14 +227 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:14 +228 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:14 +229 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:14 +230 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget with recipe title 00:14 +231 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget with recipe title 00:14 +232 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget with recipe title 00:14 +233 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget with recipe title 00:14 +234 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget with recipe title 00:14 +235 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget with recipe title 00:14 +236 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget with recipe title 00:14 +237 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:14 +238 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:14 +239 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:14 +240 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:14 +241 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:14 +242 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:14 +243 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:14 +244 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:14 +245 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:14 +246 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:14 +247 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:14 +248 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:14 +249 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:14 +250 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:14 +251 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:14 +252 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:14 +253 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:15 +253 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:15 +254 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:15 +255 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:15 +256 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:15 +257 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:15 +258 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:15 +259 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:15 +260 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:15 +261 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:15 +262 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:15 +263 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:15 +264 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with multiple recipes 00:15 +265 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with multiple recipes 00:15 +266 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with multiple recipes 00:15 +267 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with multiple recipes 00:15 +268 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with multiple recipes 00:15 +269 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with multiple recipes 00:15 +270 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with multiple recipes 00:15 +271 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with multiple recipes 00:15 +272 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with multiple recipes 00:15 +273 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with multiple recipes 00:15 +274 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +275 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +276 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +277 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +278 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +279 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +280 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +281 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +282 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +283 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +284 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +285 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +286 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +287 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +288 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +289 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +290 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +291 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +292 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +293 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +294 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +295 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +296 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +297 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +298 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:16 +298 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:16 +299 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:16 +300 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:16 +301 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:16 +302 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:16 +303 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:16 +304 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:16 +305 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:16 +306 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:16 +307 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:16 +308 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:16 +309 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:16 +310 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:16 +310 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +311 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +312 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +313 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +314 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +315 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +316 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +317 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +318 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +319 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +320 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +321 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +322 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +323 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +324 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +325 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +326 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +327 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +328 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +329 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +330 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +331 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +331 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +332 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +333 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +334 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +335 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +336 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +337 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +338 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +339 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +340 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +341 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +342 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +343 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +344 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +345 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +346 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +347 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +348 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +349 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +350 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +351 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +352 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +352 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - обработка ошибки 00:17 +353 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - обработка ошибки 00:17 +353 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:17 +354 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:17 +355 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:17 +356 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:17 +357 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:17 +358 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:17 +359 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +359 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +360 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +361 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +362 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +363 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +364 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +365 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +366 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +367 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +368 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +369 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +370 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +371 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +372 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +373 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +374 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +375 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +376 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +377 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +378 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +379 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +380 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/feed_cubit/feed_cubit_test.dart: FeedCubit loadFeedBlogPostList - успешная загрузка постов 00:18 +381 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/feed_cubit/feed_cubit_test.dart: FeedCubit loadFeedBlogPostList - успешная загрузка постов 00:18 +382 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/feed_cubit/feed_cubit_test.dart: FeedCubit loadFeedBlogPostList - успешная загрузка постов 00:18 +383 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/feed_cubit/feed_cubit_test.dart: FeedCubit loadFeedBlogPostList - успешная загрузка постов 00:18 +384 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/feed_cubit/feed_cubit_test.dart: FeedCubit loadFeedBlogPostList - успешная загрузка постов 00:18 +385 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/feed_cubit/feed_cubit_test.dart: FeedCubit loadFeedBlogPostList - успешная загрузка постов 00:19 +386 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadDiets - обработка ошибки 00:19 +387 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadDiets - обработка ошибки 00:19 +388 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/feed_cubit_test.dart: FeedCubit начальное состояние - loading 00:19 +389 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/feed_cubit/feed_cubit_test.dart: FeedCubit loadFeedBlogPostList - обработка ошибки 00:19 +390 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - загружает следующую страницу 00:19 +391 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - загружает следующую страницу 00:19 +392 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - загружает следующую страницу 00:19 +393 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - загружает следующую страницу 00:19 +394 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - загружает следующую страницу 00:19 +395 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - загружает следующую страницу 00:19 +396 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - загружает следующую страницу 00:19 +397 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - загружает следующую страницу 00:19 +398 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - загружает следующую страницу 00:19 +399 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/feed_cubit_test.dart: FeedCubit loadFeedBlogPostList - обрабатывает ошибку 00:19 +400 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/feed_cubit_test.dart: FeedCubit loadFeedBlogPostList - обрабатывает ошибку 00:19 +401 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - не загружает если уже загружается 00:19 +402 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - не загружает если уже загружается 00:20 +402 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - не загружает если уже загружается 00:20 +403 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - не загружает если уже загружается 00:20 +404 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - не загружает если уже загружается 00:20 +405 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - не загружает если уже загружается 00:20 +406 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - не загружает если уже загружается 00:20 +407 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - не загружает если уже загружается 00:20 +408 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - не загружает если уже загружается 00:20 +409 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - не загружает если уже загружается 00:20 +410 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - не загружает если уже загружается 00:20 +411 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - не загружает если уже загружается 00:20 +412 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - не загружает если уже загружается 00:20 +413 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/feed_cubit_test.dart: FeedCubit loadNextPage - не загружает если уже на последней странице 00:20 +414 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/plans_cubit/plans_cubit_test.dart: PlansCubit loadPlans - обработка ошибки 00:20 +415 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit likeDiet - добавляет лайк 00:20 +416 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit likeDiet - добавляет лайк 00:20 +417 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit likeDiet - добавляет лайк 00:20 +418 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit likeDiet - добавляет лайк 00:20 +419 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/feed_cubit_test.dart: FeedCubit loadNextPage - не загружает если уже загружается 00:20 +420 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/feed_cubit_test.dart: FeedCubit loadNextPage - не загружает если уже загружается 00:20 +421 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/plans_cubit/plans_cubit_test.dart: PlansCubit loadNextPage - загружает следующую страницу 00:21 +421 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/plans_cubit/plans_cubit_test.dart: PlansCubit loadNextPage - загружает следующую страницу 00:21 +422 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/plans_cubit/plans_cubit_test.dart: PlansCubit loadNextPage - загружает следующую страницу 00:21 +423 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/plans_cubit/plans_cubit_test.dart: PlansCubit loadNextPage - загружает следующую страницу 00:21 +424 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/plans_cubit/plans_cubit_test.dart: PlansCubit loadNextPage - загружает следующую страницу 00:21 +425 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit likeDiet - убирает лайк 00:21 +426 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/recipes_cubit/recipes_cubit_test.dart: RecipesCubit loadNextPage - загружает следующую страницу 00:21 +427 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/recipes_cubit/recipes_cubit_test.dart: RecipesCubit loadNextPage - загружает следующую страницу 00:21 +428 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/plans_cubit/plans_cubit_test.dart: PlansCubit loadNextPage - не загружает если уже загружается 00:21 +428 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/plans_cubit/plans_cubit_test.dart: PlansCubit loadNextPage - не загружает если уже загружается 00:21 +429 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/plans_cubit/plans_cubit_test.dart: PlansCubit loadNextPage - не загружает если уже загружается 00:21 +430 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit addDietToFavorite - добавляет диету в избранное 00:21 +431 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/pages/feed_screen_smoke_test.dart: FeedScreen smoke renders FeedScreen with all tabs 00:21 +432 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/pages/feed_screen_smoke_test.dart: FeedScreen smoke renders FeedScreen with all tabs 00:22 +432 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/pages/feed_screen_smoke_test.dart: FeedScreen smoke renders FeedScreen with all tabs 00:22 +433 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/pages/feed_screen_smoke_test.dart: FeedScreen smoke renders FeedScreen with all tabs 00:22 +434 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/pages/feed_screen_smoke_test.dart: FeedScreen smoke renders FeedScreen with all tabs 00:22 +435 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/pages/feed_screen_smoke_test.dart: FeedScreen smoke renders FeedScreen with all tabs 00:22 +436 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit removeDietFromFavorite - убирает диету из избранного 00:22 +437 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit removeDietFromFavorite - убирает диету из избранного 00:22 +438 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit removeDietFromFavorite - убирает диету из избранного 00:22 +439 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit removeDietFromFavorite - убирает диету из избранного 00:22 +440 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit removeDietFromFavorite - убирает диету из избранного 00:22 +441 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/widgets/blog_posts_test.dart: BlogPosts smoke renders blog posts widget 00:22 +442 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/widgets/blog_posts_test.dart: BlogPosts smoke renders blog posts widget 00:22 +443 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/widgets/blog_posts_test.dart: BlogPosts smoke renders blog posts widget 00:22 +444 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/widgets/blog_posts_test.dart: BlogPosts smoke renders blog posts widget 00:22 +445 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/recipes_cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:22 +446 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/recipes_cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:22 +447 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/recipes_cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:22 +448 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/recipes_cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:23 +448 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/recipes_cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:23 +449 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/recipes_cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:23 +450 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/recipes_cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:23 +451 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/recipes_cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:23 +452 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/recipes_cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:23 +453 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/recipes_cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:23 +454 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/widgets/chip_group_test.dart: ChipGroup smoke renders chip group 00:23 +455 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/widgets/chip_group_test.dart: ChipGroup smoke renders chip group 00:23 +456 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/widgets/chip_group_test.dart: ChipGroup smoke renders chip group 00:23 +456 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/widgets/basic_widget_test.dart: Feed Basic Widget Tests should display BlogPosts widget with loaded state diff --git a/test_results.txt b/test_results.txt new file mode 100644 index 00000000..6558de97 --- /dev/null +++ b/test_results.txt @@ -0,0 +1,663 @@ + 00:00 +0: loading /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart 00:01 +0: loading /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart 00:02 +0: loading /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart 00:02 +0: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should create CreateRecipeCubit successfully 00:02 +1: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should create CreateRecipeCubit successfully 00:02 +1: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:02 +2: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:02 +3: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:02 +4: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:02 +5: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:02 +6: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:02 +7: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:02 +8: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:02 +9: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:02 +10: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:02 +11: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:02 +12: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:02 +13: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:02 +14: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:03 +14: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:03 +15: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:03 +16: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:03 +17: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:03 +18: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:03 +19: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:03 +20: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:03 +21: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display basic form fields 00:03 +21: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update title when user types in title field 00:03 +22: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update title when user types in title field 00:03 +22: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update description when user types in description field 00:03 +23: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update description when user types in description field 00:03 +23: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update portions when user types in portions field 00:03 +24: /home/alexander/eatvio_app/test/features/create_recipe/models/recipe_create_model_test.dart: RecipeType enum has all expected values 00:03 +25: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update calories when user types in calories field 00:03 +26: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update calories when user types in calories field 00:03 +27: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update calories when user types in calories field 00:03 +28: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update calories when user types in calories field 00:03 +29: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should update calories when user types in calories field 00:03 +29: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display form labels correctly 00:03 +30: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display form labels correctly 00:03 +30: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display placeholder text in title field 00:03 +31: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display placeholder text in title field 00:03 +31: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display publish button 00:03 +32: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display publish button 00:03 +32: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should handle button tap 00:03 +33: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should handle button tap 00:03 +34: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should handle button tap 00:03 +35: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should handle button tap 00:03 +36: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should handle button tap 00:03 +37: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should handle button tap 00:03 +38: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should handle button tap 00:03 +38: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display loading state 00:03 +39: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display loading state 00:03 +39: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display error message 00:03 +40: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display error message 00:03 +40: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display success message 00:04 +40: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display success message 00:04 +41: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display success message 00:04 +41: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should validate required fields 00:04 +42: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should validate required fields 00:04 +42: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display form with all required fields 00:04 +43: /home/alexander/eatvio_app/test/features/create_recipe/basic_widget_test.dart: Recipe Creation Basic Widget Tests should display form with all required fields 00:04 +43: loading /home/alexander/eatvio_app/test/features/create_recipe/models/recipe_tag_model_test.dart 00:04 +43: /home/alexander/eatvio_app/test/features/create_recipe/models/recipe_tag_model_test.dart: RecipeTag создает RecipeTag с правильными значениями 00:04 +44: /home/alexander/eatvio_app/test/features/create_recipe/models/recipe_tag_model_test.dart: RecipeTag создает RecipeTag с правильными значениями 00:04 +44: /home/alexander/eatvio_app/test/features/create_recipe/models/recipe_tag_model_test.dart: RecipeTagModel создает RecipeTagModel с правильными значениями 00:04 +45: /home/alexander/eatvio_app/test/features/create_recipe/models/recipe_tag_model_test.dart: RecipeTagModel создает RecipeTagModel с правильными значениями 00:04 +45: /home/alexander/eatvio_app/test/features/create_recipe/models/recipe_tag_model_test.dart: RecipeTagModel fromJson создает RecipeTagModel из JSON 00:04 +46: /home/alexander/eatvio_app/test/features/create_recipe/models/recipe_tag_model_test.dart: RecipeTagModel fromJson создает RecipeTagModel из JSON 00:04 +46: /home/alexander/eatvio_app/test/features/create_recipe/models/recipe_tag_model_test.dart: RecipeTag fromJson создает RecipeTag из JSON 00:04 +47: /home/alexander/eatvio_app/test/features/create_recipe/models/recipe_tag_model_test.dart: RecipeTag fromJson создает RecipeTag из JSON 00:04 +47: /home/alexander/eatvio_app/test/features/create_recipe/models/recipe_tag_model_test.dart: RecipeTag toJson serializes RecipeTag correctly 00:04 +48: /home/alexander/eatvio_app/test/features/create_recipe/models/recipe_tag_model_test.dart: RecipeTag toJson serializes RecipeTag correctly 00:04 +48: /home/alexander/eatvio_app/test/features/create_recipe/models/recipe_tag_model_test.dart: RecipeTagModel toJson serializes RecipeTagModel correctly 00:04 +49: /home/alexander/eatvio_app/test/features/create_recipe/models/recipe_tag_model_test.dart: RecipeTagModel toJson serializes RecipeTagModel correctly 00:04 +49: loading /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart 00:04 +49: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step создает Step с правильными значениями 00:04 +50: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step создает Step с правильными значениями 00:04 +50: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step создает Step с null значениями 00:04 +51: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step создает Step с null значениями 00:04 +51: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step fromJson создает Step из JSON 00:04 +52: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step fromJson создает Step из JSON 00:04 +52: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step fromJson создает Step из JSON с null значениями 00:04 +53: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step fromJson создает Step из JSON с null значениями 00:04 +53: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step toJson serializes Step correctly 00:04 +54: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step toJson serializes Step correctly 00:04 +54: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step toJson serializes Step with null values correctly 00:04 +55: /home/alexander/eatvio_app/test/features/create_recipe/models/step_test.dart: Step toJson serializes Step with null values correctly 00:04 +55: loading /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart 00:04 +55: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit initial state has default values 00:04 +56: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit initial state has default values 00:04 +56: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit addStep adds a new empty step 00:04 +57: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit addStep adds a new empty step 00:04 +57: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit removeStep removes provided step 00:04 +58: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit removeStep removes provided step 00:04 +58: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit addIngredient appends ingredient to list 00:04 +59: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit addIngredient appends ingredient to list 00:04 +59: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit removeIngredient removes ingredient by index 00:04 +60: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit removeIngredient removes ingredient by index 00:04 +60: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit updateIngredient replaces ingredient at index 00:04 +61: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit updateIngredient replaces ingredient at index 00:04 +61: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit replaceIngredientPosition moves ingredient 00:04 +62: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit replaceIngredientPosition moves ingredient 00:04 +62: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... replaceTitle and replaceDescription update entity 00:04 +63: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... replaceTitle and replaceDescription update entity 00:04 +63: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit addTag and removeTag work correctly 00:04 +64: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit addTag and removeTag work correctly 00:04 +64: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit portion and energy setters update entity 00:04 +65: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit portion and energy setters update entity 00:04 +65: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit replaceVideoUrl and replaceImage update entity 00:04 +66: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit replaceVideoUrl and replaceImage update entity 00:04 +66: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... replaceDescriptionInStep and replaceImageInStep update step 00:04 +67: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... replaceDescriptionInStep and replaceImageInStep update step 00:04 +67: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit disableLoading sets loading to false 00:04 +68: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit disableLoading sets loading to false 00:04 +68: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit changeType updates type of recipe 00:04 +69: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit changeType updates type of recipe 00:04 +69: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... replaceTitle with empty string sets title to null 00:04 +70: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... replaceTitle with empty string sets title to null 00:04 +70: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... with empty string sets description to null 00:04 +71: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... with empty string sets description to null 00:04 +71: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit publishRecipe - успешно публикует рецепт 00:04 +72: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit publishRecipe - успешно публикует рецепт 00:04 +72: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit publishRecipe - обновляет рецепт 00:04 +73: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit publishRecipe - обновляет рецепт 00:04 +73: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit publishRecipe - обрабатывает ошибку 00:04 +74: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit publishRecipe - обрабатывает ошибку 00:04 +74: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit deleteRecipe - успешно удаляет рецепт 00:04 +75: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit deleteRecipe - успешно удаляет рецепт 00:04 +75: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit deleteRecipe - обрабатывает ошибку 00:04 +76: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit deleteRecipe - обрабатывает ошибку 00:04 +76: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... getGlossaryListByQuery - получает список глоссария 00:04 +77: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... getGlossaryListByQuery - получает список глоссария 00:04 +77: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit validateTitle - возвращает false для null 00:04 +78: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit validateTitle - возвращает false для null 00:04 +78: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateTitle - возвращает false для пустой строки 00:04 +79: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateTitle - возвращает false для пустой строки 00:04 +79: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateTitle - возвращает false для короткого названия 00:04 +80: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateTitle - возвращает false для короткого названия 00:04 +80: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateTitle - возвращает true для валидного названия 00:04 +81: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateTitle - возвращает true для валидного названия 00:04 +81: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateDescription - возвращает false для null 00:04 +82: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateDescription - возвращает false для null 00:04 +82: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateDescription - возвращает false для пустой строки 00:04 +83: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateDescription - возвращает false для пустой строки 00:04 +83: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает false для короткого описания 00:04 +84: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает false для короткого описания 00:04 +84: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateDescription - возвращает true для валидного описания 00:04 +85: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateDescription - возвращает true для валидного описания 00:04 +85: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit validateServings - возвращает false для null 00:04 +86: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit validateServings - возвращает false для null 00:04 +86: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateServings - возвращает true для валидного значения 00:04 +87: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateServings - возвращает true для валидного значения 00:04 +87: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateEnergyPerServing - возвращает false для null 00:04 +88: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateEnergyPerServing - возвращает false для null 00:04 +88: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает true для валидного значения 00:04 +89: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает true для валидного значения 00:04 +89: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает false когда оба поля null 00:04 +90: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает false когда оба поля null 00:04 +90: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает true когда хотя бы одно поле заполнено 00:04 +91: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает true когда хотя бы одно поле заполнено 00:04 +91: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает false когда одно из полей null 00:04 +92: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает false когда одно из полей null 00:04 +92: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает true когда оба поля заполнены 00:04 +93: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... - возвращает true когда оба поля заполнены 00:04 +93: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit validateImage - возвращает false для null 00:05 +93: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit validateImage - возвращает false для null 00:05 +94: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: CreateRecipeCubit validateImage - возвращает false для null 00:05 +94: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateImage - возвращает true для валидного изображения 00:05 +95: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateImage - возвращает true для валидного изображения 00:05 +95: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateAll - возвращает false когда не все поля валидны 00:05 +96: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateAll - возвращает false когда не все поля валидны 00:05 +96: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateAll - возвращает true когда все поля валидны 00:05 +97: /home/alexander/eatvio_app/test/features/create_recipe/presentation/bloc/create_recipe_cubit/create_recipe_cubit_test.dart: ... validateAll - возвращает true когда все поля валидны 00:05 +97: loading /home/alexander/eatvio_app/test/features/create_recipe/presentation/pages/recipe_create_screen_test.dart 00:05 +97: /home/alexander/eatvio_app/test/features/create_recipe/presentation/pages/recipe_create_screen_test.dart: RecipeCreateScreen smoke (setUpAll) 00:05 +97: /home/alexander/eatvio_app/test/features/create_recipe/presentation/pages/recipe_create_screen_test.dart: RecipeCreateScreen smoke renders recipe create screen - initial state 00:06 +97: /home/alexander/eatvio_app/test/features/create_recipe/presentation/pages/recipe_create_screen_test.dart: RecipeCreateScreen smoke renders recipe create screen - initial state 00:06 +98: /home/alexander/eatvio_app/test/features/create_recipe/presentation/pages/recipe_create_screen_test.dart: RecipeCreateScreen smoke renders recipe create screen - initial state 00:06 +99: /home/alexander/eatvio_app/test/features/create_recipe/presentation/pages/recipe_create_screen_test.dart: RecipeCreateScreen smoke renders recipe create screen - initial state 00:06 +100: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/portion_widget_test.dart: PortionWidget smoke renders portion widget 00:06 +101: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/portion_widget_test.dart: PortionWidget smoke renders portion widget 00:07 +101: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/portion_widget_test.dart: PortionWidget smoke renders portion widget 00:07 +102: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/portion_widget_test.dart: PortionWidget smoke renders portion widget 00:07 +103: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +104: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +105: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +106: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +107: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +108: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +109: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +110: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +111: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +112: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +113: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +114: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +115: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +116: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +117: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +118: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +119: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +120: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +121: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +122: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +123: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +124: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +125: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +126: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +127: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +128: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +129: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +130: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/steps_widget_test.dart: StepsWidget smoke renders steps widget 00:07 +131: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/time_of_cook_widget_test.dart: TimeOfCookWidget smoke renders time of cook widget 00:07 +132: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/time_of_cook_widget_test.dart: TimeOfCookWidget smoke renders time of cook widget 00:07 +133: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/time_of_cook_widget_test.dart: TimeOfCookWidget smoke renders time of cook widget 00:07 +134: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/time_of_cook_widget_test.dart: TimeOfCookWidget smoke renders time of cook widget 00:07 +135: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/time_of_cook_widget_test.dart: TimeOfCookWidget smoke renders time of cook widget 00:07 +136: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/time_of_cook_widget_test.dart: TimeOfCookWidget smoke renders time of cook widget 00:07 +137: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/time_of_cook_widget_test.dart: TimeOfCookWidget smoke renders time of cook widget 00:08 +137: /home/alexander/eatvio_app/test/features/create_recipe/presentation/widgets/time_of_cook_widget_test.dart: TimeOfCookWidget smoke renders time of cook widget 00:08 +138: /home/alexander/eatvio_app/test/features/create_recipe/simple_widget_test.dart: Recipe Creation Widget Tests should display InfoAboutRecipeWidget with all form fields 00:08 +139: /home/alexander/eatvio_app/test/features/create_recipe/simple_widget_test.dart: Recipe Creation Widget Tests should display InfoAboutRecipeWidget with all form fields 00:08 +140: /home/alexander/eatvio_app/test/features/create_recipe/simple_widget_test.dart: Recipe Creation Widget Tests should display InfoAboutRecipeWidget with all form fields 00:08 +141: /home/alexander/eatvio_app/test/features/create_recipe/simple_widget_test.dart: Recipe Creation Widget Tests should display InfoAboutRecipeWidget with all form fields 00:08 +142: /home/alexander/eatvio_app/test/features/create_recipe/simple_widget_test.dart: Recipe Creation Widget Tests should display InfoAboutRecipeWidget with all form fields 00:08 +143: /home/alexander/eatvio_app/test/features/create_recipe/simple_widget_test.dart: Recipe Creation Widget Tests should display InfoAboutRecipeWidget with all form fields 00:08 +144: /home/alexander/eatvio_app/test/features/create_recipe/simple_widget_test.dart: Recipe Creation Widget Tests should display InfoAboutRecipeWidget with all form fields 00:08 +145: /home/alexander/eatvio_app/test/features/create_recipe/simple_widget_test.dart: Recipe Creation Widget Tests should display InfoAboutRecipeWidget with all form fields 00:08 +146: /home/alexander/eatvio_app/test/features/create_recipe/simple_widget_test.dart: Recipe Creation Widget Tests should display InfoAboutRecipeWidget with all form fields 00:09 +146: /home/alexander/eatvio_app/test/features/create_recipe/simple_widget_test.dart: Recipe Creation Widget Tests should display InfoAboutRecipeWidget with all form fields 00:09 +147: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:09 +148: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:09 +149: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:09 +150: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:09 +151: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:09 +152: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:09 +153: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:09 +154: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:09 +155: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:09 +156: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:09 +157: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:09 +158: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:09 +159: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should display all required form fields 00:09 +160: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - лайк рецепта 00:09 +161: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - лайк рецепта 00:10 +161: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - лайк рецепта 00:10 +162: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - лайк рецепта 00:10 +163: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - лайк рецепта 00:10 +164: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - лайк рецепта 00:10 +165: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - лайк рецепта 00:10 +166: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - лайк рецепта 00:10 +167: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/about_recipe_screen_smoke_test.dart: AboutRecipeScreen smoke renders loading state 00:10 +168: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/about_recipe_screen_smoke_test.dart: AboutRecipeScreen smoke renders loading state 00:10 +169: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/about_recipe_screen_smoke_test.dart: AboutRecipeScreen smoke renders loading state 00:10 +170: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/about_recipe_screen_smoke_test.dart: AboutRecipeScreen smoke renders loading state 00:10 +171: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/about_recipe_screen_smoke_test.dart: AboutRecipeScreen smoke renders loading state 00:10 +172: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/about_recipe_screen_smoke_test.dart: AboutRecipeScreen smoke renders loading state 00:10 +173: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/about_recipe_screen_smoke_test.dart: AboutRecipeScreen smoke renders loading state 00:10 +174: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/about_recipe_screen_smoke_test.dart: AboutRecipeScreen smoke renders loading state 00:10 +174: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart: MyRecipesScreen smoke renders my recipes screen +══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════ +The following assertion was thrown building MyRecipesTab(dirty, dependencies: +[_LocalizationsScope-[GlobalKey#5add2]]): +No instance of S present in the widget tree. Did you add S.delegate in localizationsDelegates? +'package:eatvio_app/generated/l10n.dart': +Failed assertion: line 47 pos 7: 'instance != null' + +The relevant error-causing widget was: + MyRecipesTab + MyRecipesTab:file:///home/alexander/eatvio_app/lib/features/recipe/presentation/pages/my_recipes_screen.dart:38:17 + +When the exception was thrown, this was the stack: +#2 S.of (package:eatvio_app/generated/l10n.dart:47:7) +#3 MyRecipesTab.build (package:eatvio_app/features/recipe/presentation/widgets/my_recipes_tab.dart:19:17) +#4 StatelessElement.build (package:flutter/src/widgets/framework.dart:5892:49) +#5 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5820:15) +#6 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#7 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5802:5) +#8 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5796:5) +#9 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20) +#10 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7269:36) +#11 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7285:32) +... Normal element mounting (9 frames) +#20 SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11) +... Normal element mounting (15 frames) +#35 _InheritedProviderScopeElement.mount (package:provider/src/inherited_provider.dart:424:11) +... Normal element mounting (7 frames) +#42 SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11) +... Normal element mounting (7 frames) +#49 SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11) +... Normal element mounting (25 frames) +#74 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20) +#75 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7269:36) +#76 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7285:32) +... Normal element mounting (370 frames) +#446 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20) +#447 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7269:36) +#448 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7285:32) +... Normal element mounting (465 frames) +#913 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20) +#914 Element.updateChild (package:flutter/src/widgets/framework.dart:4053:20) +#915 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#916 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#917 ProxyElement.update (package:flutter/src/widgets/framework.dart:6152:5) +#918 _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:108:11) +#919 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#920 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#921 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5985:11) +#922 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#923 StatefulElement.update (package:flutter/src/widgets/framework.dart:6010:5) +#924 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#925 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#926 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#927 ProxyElement.update (package:flutter/src/widgets/framework.dart:6152:5) +#928 _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:108:11) +#929 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#930 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#931 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5985:11) +#932 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#933 StatefulElement.update (package:flutter/src/widgets/framework.dart:6010:5) +#934 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#935 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#936 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5985:11) +#937 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#938 StatefulElement.update (package:flutter/src/widgets/framework.dart:6010:5) +#939 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#940 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#941 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#942 ProxyElement.update (package:flutter/src/widgets/framework.dart:6152:5) +#943 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#944 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#945 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5985:11) +#946 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#947 StatefulElement.update (package:flutter/src/widgets/framework.dart:6010:5) +#948 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#949 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#950 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#951 ProxyElement.update (package:flutter/src/widgets/framework.dart:6152:5) +#952 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#953 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#954 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#955 ProxyElement.update (package:flutter/src/widgets/framework.dart:6152:5) +#956 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#957 _RawViewElement._updateChild (package:flutter/src/widgets/view.dart:481:16) +#958 _RawViewElement.update (package:flutter/src/widgets/view.dart:568:5) +#959 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#960 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#961 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#962 StatelessElement.update (package:flutter/src/widgets/framework.dart:5898:5) +#963 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#964 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#965 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5985:11) +#966 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#967 StatefulElement.update (package:flutter/src/widgets/framework.dart:6010:5) +#968 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#969 RootElement._rebuild (package:flutter/src/widgets/binding.dart:1782:16) +#970 RootElement.update (package:flutter/src/widgets/binding.dart:1760:5) +#971 RootElement.performRebuild (package:flutter/src/widgets/binding.dart:1774:7) +#972 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#973 BuildScope._tryRebuild (package:flutter/src/widgets/framework.dart:2750:15) +#974 BuildScope._flushDirtyElements (package:flutter/src/widgets/framework.dart:2807:11) +#975 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3111:18) +#976 AutomatedTestWidgetsFlutterBinding.drawFrame (package:flutter_test/src/binding.dart:1506:19) +#977 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5) +#978 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1434:15) +#979 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1347:9) +#980 AutomatedTestWidgetsFlutterBinding.pump. (package:flutter_test/src/binding.dart:1335:9) +#983 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:74:41) +#984 AutomatedTestWidgetsFlutterBinding.pump (package:flutter_test/src/binding.dart:1324:27) +#985 WidgetTester.pumpWidget. (package:flutter_test/src/widget_tester.dart:598:22) +#988 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:74:41) +#989 WidgetTester.pumpWidget (package:flutter_test/src/widget_tester.dart:595:27) +#990 main.. (file:///home/alexander/eatvio_app/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart:44:20) +#991 testWidgets.. (package:flutter_test/src/widget_tester.dart:192:29) + +#992 TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:1059:5) + + +(elided 7 frames from class _AssertionError, dart:async, and package:stack_trace) + +════════════════════════════════════════════════════════════════════════════════════════════════════ +══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════ +The following assertion was thrown during layout: +A RenderFlex overflowed by 99456 pixels on the bottom. + +The relevant error-causing widget was: + Column + Column:file:///home/alexander/eatvio_app/lib/features/recipe/presentation/pages/my_recipes_screen.dart:36:20 + +The overflowing RenderFlex has an orientation of Axis.vertical. +The edge of the RenderFlex that is overflowing has been marked in the rendering with a yellow and +black striped pattern. This is usually caused by the contents being too big for the RenderFlex. +Consider applying a flex factor (e.g. using an Expanded widget) to force the children of the +RenderFlex to fit within the available space instead of being sized to their natural size. +This is considered an error condition because it indicates that there is content that cannot be +seen. If the content is legitimately bigger than the available space, consider clipping it with a +ClipRect widget before putting it in the flex, or using a scrollable container rather than a Flex, +like a ListView. +The specific RenderFlex in question is: RenderFlex#1a36f relayoutBoundary=up1 OVERFLOWING: + creator: Column ← BlocListener ← BlocBuilder ← _InheritedProviderScope ← InheritedProvider ← + BlocProvider ← KeyedSubtree-[GlobalKey#37e81] ← _BodyBuilder ← MediaQuery ← + LayoutId-[<_ScaffoldSlot.body>] ← CustomMultiChildLayout ← _ActionsScope ← ⋯ + parentData: offset=Offset(0.0, 56.0); id=_ScaffoldSlot.body (can use size) + constraints: BoxConstraints(0.0<=w<=800.0, 0.0<=h<=544.0) + size: Size(800.0, 544.0) + direction: vertical + mainAxisAlignment: start + mainAxisSize: max + crossAxisAlignment: center + verticalDirection: down + spacing: 0.0 +◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤ +════════════════════════════════════════════════════════════════════════════════════════════════════ + 00:10 +175: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/about_recipe_screen_smoke_test.dart: AboutRecipeScreen smoke renders loading state 00:11 +175: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/about_recipe_screen_smoke_test.dart: AboutRecipeScreen smoke renders loading state 00:11 +175: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart: MyRecipesScreen smoke renders my recipes screen +══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════ +The following assertion was thrown building MyRecipesTab(dependencies: +[_LocalizationsScope-[GlobalKey#5add2]]): +No instance of S present in the widget tree. Did you add S.delegate in localizationsDelegates? +'package:eatvio_app/generated/l10n.dart': +Failed assertion: line 47 pos 7: 'instance != null' + +The relevant error-causing widget was: + MyRecipesTab + MyRecipesTab:file:///home/alexander/eatvio_app/lib/features/recipe/presentation/pages/my_recipes_screen.dart:38:17 + +When the exception was thrown, this was the stack: +#2 S.of (package:eatvio_app/generated/l10n.dart:47:7) +#3 MyRecipesTab.build (package:eatvio_app/features/recipe/presentation/widgets/my_recipes_tab.dart:19:17) +#4 StatelessElement.build (package:flutter/src/widgets/framework.dart:5892:49) +#5 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5820:15) +#6 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#7 StatelessElement.update (package:flutter/src/widgets/framework.dart:5898:5) +#8 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#9 Element.updateChildren (package:flutter/src/widgets/framework.dart:4194:32) +#10 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7302:17) +#11 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#12 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#13 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5985:11) +#14 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#15 StatefulElement.update (package:flutter/src/widgets/framework.dart:6010:5) +#16 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#17 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#18 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5985:11) +#19 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#20 BuildScope._tryRebuild (package:flutter/src/widgets/framework.dart:2750:15) +#21 BuildScope._flushDirtyElements (package:flutter/src/widgets/framework.dart:2807:11) +#22 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3111:18) +#23 AutomatedTestWidgetsFlutterBinding.drawFrame (package:flutter_test/src/binding.dart:1506:19) +#24 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5) +#25 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1434:15) +#26 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1347:9) +#27 AutomatedTestWidgetsFlutterBinding.pump. (package:flutter_test/src/binding.dart:1335:9) +#30 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:74:41) +#31 AutomatedTestWidgetsFlutterBinding.pump (package:flutter_test/src/binding.dart:1324:27) +#32 WidgetTester.pump. (package:flutter_test/src/widget_tester.dart:652:53) +#35 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:74:41) +#36 WidgetTester.pump (package:flutter_test/src/widget_tester.dart:652:27) +#37 main.. (file:///home/alexander/eatvio_app/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart:45:20) + +#38 testWidgets.. (package:flutter_test/src/widget_tester.dart:192:15) + +#39 TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:1059:5) + + +(elided 7 frames from class _AssertionError, dart:async, and package:stack_trace) + +════════════════════════════════════════════════════════════════════════════════════════════════════ + 00:11 +176: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/about_recipe_screen_smoke_test.dart: AboutRecipeScreen smoke renders loading state 00:11 +176: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart: MyRecipesScreen smoke renders my recipes screen +══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════ +The following message was thrown: +Multiple exceptions (3) were detected during the running of the current test, and at least one was +unexpected. +════════════════════════════════════════════════════════════════════════════════════════════════════ + 00:11 +176 -1: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart: MyRecipesScreen smoke renders my recipes screen [E] + Test failed. See exception logs above. + The test description was: renders my recipes screen + + +To run this test again: /home/alexander/fvm/versions/3.38.9/bin/cache/dart-sdk/bin/dart test /home/alexander/eatvio_app/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart -p vm --plain-name 'MyRecipesScreen smoke renders my recipes screen' + 00:11 +177 -1: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/about_recipe_screen_smoke_test.dart: AboutRecipeScreen smoke renders loading state 00:11 +177 -1: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart: MyRecipesScreen smoke renders my recipes screen with loaded state +══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════ +The following assertion was thrown building MyRecipesTab(dirty, dependencies: +[_LocalizationsScope-[GlobalKey#bd6eb]]): +No instance of S present in the widget tree. Did you add S.delegate in localizationsDelegates? +'package:eatvio_app/generated/l10n.dart': +Failed assertion: line 47 pos 7: 'instance != null' + +The relevant error-causing widget was: + MyRecipesTab + MyRecipesTab:file:///home/alexander/eatvio_app/lib/features/recipe/presentation/pages/my_recipes_screen.dart:38:17 + +When the exception was thrown, this was the stack: +#2 S.of (package:eatvio_app/generated/l10n.dart:47:7) +#3 MyRecipesTab.build (package:eatvio_app/features/recipe/presentation/widgets/my_recipes_tab.dart:19:17) +#4 StatelessElement.build (package:flutter/src/widgets/framework.dart:5892:49) +#5 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5820:15) +#6 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#7 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5802:5) +#8 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5796:5) +#9 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20) +#10 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7269:36) +#11 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7285:32) +... Normal element mounting (9 frames) +#20 SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11) +... Normal element mounting (15 frames) +#35 _InheritedProviderScopeElement.mount (package:provider/src/inherited_provider.dart:424:11) +... Normal element mounting (7 frames) +#42 SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11) +... Normal element mounting (7 frames) +#49 SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11) +... Normal element mounting (25 frames) +#74 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20) +#75 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7269:36) +#76 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7285:32) +... Normal element mounting (370 frames) +#446 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20) +#447 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7269:36) +#448 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7285:32) +... Normal element mounting (465 frames) +#913 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20) +#914 Element.updateChild (package:flutter/src/widgets/framework.dart:4053:20) +#915 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#916 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#917 ProxyElement.update (package:flutter/src/widgets/framework.dart:6152:5) +#918 _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:108:11) +#919 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#920 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#921 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5985:11) +#922 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#923 StatefulElement.update (package:flutter/src/widgets/framework.dart:6010:5) +#924 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#925 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#926 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#927 ProxyElement.update (package:flutter/src/widgets/framework.dart:6152:5) +#928 _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:108:11) +#929 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#930 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#931 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5985:11) +#932 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#933 StatefulElement.update (package:flutter/src/widgets/framework.dart:6010:5) +#934 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#935 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#936 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5985:11) +#937 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#938 StatefulElement.update (package:flutter/src/widgets/framework.dart:6010:5) +#939 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#940 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#941 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#942 ProxyElement.update (package:flutter/src/widgets/framework.dart:6152:5) +#943 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#944 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#945 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5985:11) +#946 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#947 StatefulElement.update (package:flutter/src/widgets/framework.dart:6010:5) +#948 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#949 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#950 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#951 ProxyElement.update (package:flutter/src/widgets/framework.dart:6152:5) +#952 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#953 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#954 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#955 ProxyElement.update (package:flutter/src/widgets/framework.dart:6152:5) +#956 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#957 _RawViewElement._updateChild (package:flutter/src/widgets/view.dart:481:16) +#958 _RawViewElement.update (package:flutter/src/widgets/view.dart:568:5) +#959 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#960 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#961 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#962 StatelessElement.update (package:flutter/src/widgets/framework.dart:5898:5) +#963 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#964 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#965 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5985:11) +#966 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#967 StatefulElement.update (package:flutter/src/widgets/framework.dart:6010:5) +#968 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#969 RootElement._rebuild (package:flutter/src/widgets/binding.dart:1782:16) +#970 RootElement.update (package:flutter/src/widgets/binding.dart:1760:5) +#971 RootElement.performRebuild (package:flutter/src/widgets/binding.dart:1774:7) +#972 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#973 BuildScope._tryRebuild (package:flutter/src/widgets/framework.dart:2750:15) +#974 BuildScope._flushDirtyElements (package:flutter/src/widgets/framework.dart:2807:11) +#975 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3111:18) +#976 AutomatedTestWidgetsFlutterBinding.drawFrame (package:flutter_test/src/binding.dart:1506:19) +#977 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5) +#978 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1434:15) +#979 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1347:9) +#980 AutomatedTestWidgetsFlutterBinding.pump. (package:flutter_test/src/binding.dart:1335:9) +#983 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:74:41) +#984 AutomatedTestWidgetsFlutterBinding.pump (package:flutter_test/src/binding.dart:1324:27) +#985 WidgetTester.pumpWidget. (package:flutter_test/src/widget_tester.dart:598:22) +#988 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:74:41) +#989 WidgetTester.pumpWidget (package:flutter_test/src/widget_tester.dart:595:27) +#990 main.. (file:///home/alexander/eatvio_app/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart:63:20) +#991 testWidgets.. (package:flutter_test/src/widget_tester.dart:192:29) + +#992 TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:1059:5) + + +(elided 7 frames from class _AssertionError, dart:async, and package:stack_trace) + +════════════════════════════════════════════════════════════════════════════════════════════════════ +══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════ +The following assertion was thrown during layout: +A RenderFlex overflowed by 99456 pixels on the bottom. + +The relevant error-causing widget was: + Column + Column:file:///home/alexander/eatvio_app/lib/features/recipe/presentation/pages/my_recipes_screen.dart:36:20 + +The overflowing RenderFlex has an orientation of Axis.vertical. +The edge of the RenderFlex that is overflowing has been marked in the rendering with a yellow and +black striped pattern. This is usually caused by the contents being too big for the RenderFlex. +Consider applying a flex factor (e.g. using an Expanded widget) to force the children of the +RenderFlex to fit within the available space instead of being sized to their natural size. +This is considered an error condition because it indicates that there is content that cannot be +seen. If the content is legitimately bigger than the available space, consider clipping it with a +ClipRect widget before putting it in the flex, or using a scrollable container rather than a Flex, +like a ListView. +The specific RenderFlex in question is: RenderFlex#64d94 relayoutBoundary=up1 OVERFLOWING: + creator: Column ← BlocListener ← BlocBuilder ← _InheritedProviderScope ← InheritedProvider ← + BlocProvider ← KeyedSubtree-[GlobalKey#a68dd] ← _BodyBuilder ← MediaQuery ← + LayoutId-[<_ScaffoldSlot.body>] ← CustomMultiChildLayout ← _ActionsScope ← ⋯ + parentData: offset=Offset(0.0, 56.0); id=_ScaffoldSlot.body (can use size) + constraints: BoxConstraints(0.0<=w<=800.0, 0.0<=h<=544.0) + size: Size(800.0, 544.0) + direction: vertical + mainAxisAlignment: start + mainAxisSize: max + crossAxisAlignment: center + verticalDirection: down + spacing: 0.0 +◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤ +════════════════════════════════════════════════════════════════════════════════════════════════════ +══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════ +The following assertion was thrown building MyRecipesTab(dependencies: +[_LocalizationsScope-[GlobalKey#bd6eb]]): +No instance of S present in the widget tree. Did you add S.delegate in localizationsDelegates? +'package:eatvio_app/generated/l10n.dart': +Failed assertion: line 47 pos 7: 'instance != null' + +The relevant error-causing widget was: + MyRecipesTab + MyRecipesTab:file:///home/alexander/eatvio_app/lib/features/recipe/presentation/pages/my_recipes_screen.dart:38:17 + +When the exception was thrown, this was the stack: +#2 S.of (package:eatvio_app/generated/l10n.dart:47:7) +#3 MyRecipesTab.build (package:eatvio_app/features/recipe/presentation/widgets/my_recipes_tab.dart:19:17) +#4 StatelessElement.build (package:flutter/src/widgets/framework.dart:5892:49) +#5 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5820:15) +#6 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#7 StatelessElement.update (package:flutter/src/widgets/framework.dart:5898:5) +#8 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#9 Element.updateChildren (package:flutter/src/widgets/framework.dart:4194:32) +#10 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7302:17) +#11 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#12 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#13 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5985:11) +#14 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#15 StatefulElement.update (package:flutter/src/widgets/framework.dart:6010:5) +#16 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#17 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#18 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5985:11) +#19 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#20 BuildScope._tryRebuild (package:flutter/src/widgets/framework.dart:2750:15) +#21 BuildScope._flushDirtyElements (package:flutter/src/widgets/framework.dart:2807:11) +#22 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3111:18) +#23 AutomatedTestWidgetsFlutterBinding.drawFrame (package:flutter_test/src/binding.dart:1506:19) +#24 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5) +#25 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1434:15) +#26 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1347:9) +#27 AutomatedTestWidgetsFlutterBinding.pump. (package:flutter_test/src/binding.dart:1335:9) +#30 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:74:41) +#31 AutomatedTestWidgetsFlutterBinding.pump (package:flutter_test/src/binding.dart:1324:27) +#32 WidgetTester.pump. (package:flutter_test/src/widget_tester.dart:652:53) +#35 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:74:41) +#36 WidgetTester.pump (package:flutter_test/src/widget_tester.dart:652:27) +#37 main.. (file:///home/alexander/eatvio_app/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart:64:20) + +#38 testWidgets.. (package:flutter_test/src/widget_tester.dart:192:15) + +#39 TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:1059:5) + + +(elided 7 frames from class _AssertionError, dart:async, and package:stack_trace) + +════════════════════════════════════════════════════════════════════════════════════════════════════ +══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════ +The following message was thrown: +Multiple exceptions (3) were detected during the running of the current test, and at least one was +unexpected. +════════════════════════════════════════════════════════════════════════════════════════════════════ + 00:11 +177 -2: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart: MyRecipesScreen smoke renders my recipes screen with loaded state [E] + Test failed. See exception logs above. + The test description was: renders my recipes screen with loaded state + + +To run this test again: /home/alexander/fvm/versions/3.38.9/bin/cache/dart-sdk/bin/dart test /home/alexander/eatvio_app/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart -p vm --plain-name 'MyRecipesScreen smoke renders my recipes screen with loaded state' + 00:11 +178 -2: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - убирает лайк если уже лайкнуто 00:11 +178 -2: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart: MyRecipesScreen smoke renders my recipes screen with error state +══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════ +The following assertion was thrown building MyRecipesTab(dirty, dependencies: +[_LocalizationsScope-[GlobalKey#5fdae]]): +No instance of S present in the widget tree. Did you add S.delegate in localizationsDelegates? +'package:eatvio_app/generated/l10n.dart': +Failed assertion: line 47 pos 7: 'instance != null' + +The relevant error-causing widget was: + MyRecipesTab + MyRecipesTab:file:///home/alexander/eatvio_app/lib/features/recipe/presentation/pages/my_recipes_screen.dart:38:17 + +When the exception was thrown, this was the stack: +#2 S.of (package:eatvio_app/generated/l10n.dart:47:7) +#3 MyRecipesTab.build (package:eatvio_app/features/recipe/presentation/widgets/my_recipes_tab.dart:19:17) +#4 StatelessElement.build (package:flutter/src/widgets/framework.dart:5892:49) +#5 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5820:15) +#6 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#7 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5802:5) +#8 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5796:5) +#9 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20) +#10 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7269:36) +#11 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7285:32) +... Normal element mounting (9 frames) +#20 SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11) +... Normal element mounting (15 frames) +#35 _InheritedProviderScopeElement.mount (package:provider/src/inherited_provider.dart:424:11) +... Normal element mounting (7 frames) +#42 SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11) +... Normal element mounting (7 frames) +#49 SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11) +... Normal element mounting (25 frames) +#74 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20) +#75 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7269:36) +#76 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7285:32) +... Normal element mounting (370 frames) +#446 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20) +#447 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7269:36) +#448 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7285:32) +... Normal element mounting (465 frames) +#913 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20) +#914 Element.updateChild (package:flutter/src/widgets/framework.dart:4053:20) +#915 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#916 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#917 ProxyElement.update (package:flutter/src/widgets/framework.dart:6152:5) +#918 _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:108:11) +#919 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#920 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#921 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5985:11) +#922 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#923 StatefulElement.update (package:flutter/src/widgets/framework.dart:6010:5) +#924 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#925 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#926 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#927 ProxyElement.update (package:flutter/src/widgets/framework.dart:6152:5) +#928 _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:108:11) +#929 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#930 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#931 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5985:11) +#932 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#933 StatefulElement.update (package:flutter/src/widgets/framework.dart:6010:5) +#934 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#935 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#936 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5985:11) +#937 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#938 StatefulElement.update (package:flutter/src/widgets/framework.dart:6010:5) +#939 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#940 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#941 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#942 ProxyElement.update (package:flutter/src/widgets/framework.dart:6152:5) +#943 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#944 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#945 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5985:11) +#946 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#947 StatefulElement.update (package:flutter/src/widgets/framework.dart:6010:5) +#948 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#949 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#950 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#951 ProxyElement.update (package:flutter/src/widgets/framework.dart:6152:5) +#952 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#953 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#954 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#955 ProxyElement.update (package:flutter/src/widgets/framework.dart:6152:5) +#956 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#957 _RawViewElement._updateChild (package:flutter/src/widgets/view.dart:481:16) +#958 _RawViewElement.update (package:flutter/src/widgets/view.dart:568:5) +#959 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#960 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#961 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#962 StatelessElement.update (package:flutter/src/widgets/framework.dart:5898:5) +#963 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#964 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#965 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5985:11) +#966 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#967 StatefulElement.update (package:flutter/src/widgets/framework.dart:6010:5) +#968 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#969 RootElement._rebuild (package:flutter/src/widgets/binding.dart:1782:16) +#970 RootElement.update (package:flutter/src/widgets/binding.dart:1760:5) +#971 RootElement.performRebuild (package:flutter/src/widgets/binding.dart:1774:7) +#972 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#973 BuildScope._tryRebuild (package:flutter/src/widgets/framework.dart:2750:15) +#974 BuildScope._flushDirtyElements (package:flutter/src/widgets/framework.dart:2807:11) +#975 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3111:18) +#976 AutomatedTestWidgetsFlutterBinding.drawFrame (package:flutter_test/src/binding.dart:1506:19) +#977 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5) +#978 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1434:15) +#979 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1347:9) +#980 AutomatedTestWidgetsFlutterBinding.pump. (package:flutter_test/src/binding.dart:1335:9) +#983 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:74:41) +#984 AutomatedTestWidgetsFlutterBinding.pump (package:flutter_test/src/binding.dart:1324:27) +#985 WidgetTester.pumpWidget. (package:flutter_test/src/widget_tester.dart:598:22) +#988 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:74:41) +#989 WidgetTester.pumpWidget (package:flutter_test/src/widget_tester.dart:595:27) +#990 main.. (file:///home/alexander/eatvio_app/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart:81:20) +#991 testWidgets.. (package:flutter_test/src/widget_tester.dart:192:29) + +#992 TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:1059:5) + + +(elided 7 frames from class _AssertionError, dart:async, and package:stack_trace) + +════════════════════════════════════════════════════════════════════════════════════════════════════ +══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════ +The following assertion was thrown during layout: +A RenderFlex overflowed by 99456 pixels on the bottom. + +The relevant error-causing widget was: + Column + Column:file:///home/alexander/eatvio_app/lib/features/recipe/presentation/pages/my_recipes_screen.dart:36:20 + +The overflowing RenderFlex has an orientation of Axis.vertical. +The edge of the RenderFlex that is overflowing has been marked in the rendering with a yellow and +black striped pattern. This is usually caused by the contents being too big for the RenderFlex. +Consider applying a flex factor (e.g. using an Expanded widget) to force the children of the +RenderFlex to fit within the available space instead of being sized to their natural size. +This is considered an error condition because it indicates that there is content that cannot be +seen. If the content is legitimately bigger than the available space, consider clipping it with a +ClipRect widget before putting it in the flex, or using a scrollable container rather than a Flex, +like a ListView. +The specific RenderFlex in question is: RenderFlex#b1ec5 relayoutBoundary=up1 OVERFLOWING: + creator: Column ← BlocListener ← BlocBuilder ← _InheritedProviderScope ← InheritedProvider ← + BlocProvider ← KeyedSubtree-[GlobalKey#1a452] ← _BodyBuilder ← MediaQuery ← + LayoutId-[<_ScaffoldSlot.body>] ← CustomMultiChildLayout ← _ActionsScope ← ⋯ + parentData: offset=Offset(0.0, 56.0); id=_ScaffoldSlot.body (can use size) + constraints: BoxConstraints(0.0<=w<=800.0, 0.0<=h<=544.0) + size: Size(800.0, 544.0) + direction: vertical + mainAxisAlignment: start + mainAxisSize: max + crossAxisAlignment: center + verticalDirection: down + spacing: 0.0 +◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤ +════════════════════════════════════════════════════════════════════════════════════════════════════ +══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════ +The following assertion was thrown building MyRecipesTab(dependencies: +[_LocalizationsScope-[GlobalKey#5fdae]]): +No instance of S present in the widget tree. Did you add S.delegate in localizationsDelegates? +'package:eatvio_app/generated/l10n.dart': +Failed assertion: line 47 pos 7: 'instance != null' + +The relevant error-causing widget was: + MyRecipesTab + MyRecipesTab:file:///home/alexander/eatvio_app/lib/features/recipe/presentation/pages/my_recipes_screen.dart:38:17 + +When the exception was thrown, this was the stack: +#2 S.of (package:eatvio_app/generated/l10n.dart:47:7) +#3 MyRecipesTab.build (package:eatvio_app/features/recipe/presentation/widgets/my_recipes_tab.dart:19:17) +#4 StatelessElement.build (package:flutter/src/widgets/framework.dart:5892:49) +#5 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5820:15) +#6 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#7 StatelessElement.update (package:flutter/src/widgets/framework.dart:5898:5) +#8 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#9 Element.updateChildren (package:flutter/src/widgets/framework.dart:4194:32) +#10 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7302:17) +#11 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#12 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#13 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5985:11) +#14 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#15 StatefulElement.update (package:flutter/src/widgets/framework.dart:6010:5) +#16 Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15) +#17 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16) +#18 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5985:11) +#19 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7) +#20 BuildScope._tryRebuild (package:flutter/src/widgets/framework.dart:2750:15) +#21 BuildScope._flushDirtyElements (package:flutter/src/widgets/framework.dart:2807:11) +#22 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3111:18) +#23 AutomatedTestWidgetsFlutterBinding.drawFrame (package:flutter_test/src/binding.dart:1506:19) +#24 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5) +#25 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1434:15) +#26 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1347:9) +#27 AutomatedTestWidgetsFlutterBinding.pump. (package:flutter_test/src/binding.dart:1335:9) +#30 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:74:41) +#31 AutomatedTestWidgetsFlutterBinding.pump (package:flutter_test/src/binding.dart:1324:27) +#32 WidgetTester.pump. (package:flutter_test/src/widget_tester.dart:652:53) +#35 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:74:41) +#36 WidgetTester.pump (package:flutter_test/src/widget_tester.dart:652:27) +#37 main.. (file:///home/alexander/eatvio_app/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart:82:20) + +#38 testWidgets.. (package:flutter_test/src/widget_tester.dart:192:15) + +#39 TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:1059:5) + + +(elided 7 frames from class _AssertionError, dart:async, and package:stack_trace) + +════════════════════════════════════════════════════════════════════════════════════════════════════ +══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════ +The following message was thrown: +Multiple exceptions (3) were detected during the running of the current test, and at least one was +unexpected. +════════════════════════════════════════════════════════════════════════════════════════════════════ + 00:11 +178 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart: MyRecipesScreen smoke renders my recipes screen with error state [E] + Test failed. See exception logs above. + The test description was: renders my recipes screen with error state + + +To run this test again: /home/alexander/fvm/versions/3.38.9/bin/cache/dart-sdk/bin/dart test /home/alexander/eatvio_app/test/features/recipe/presentation/pages/my_recipes_screen_smoke_test.dart -p vm --plain-name 'MyRecipesScreen smoke renders my recipes screen with error state' + 00:11 +178 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - убирает лайк если уже лайкнуто 00:11 +179 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - убирает лайк если уже лайкнуто 00:11 +180 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - убирает лайк если уже лайкнуто 00:11 +181 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:11 +182 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:11 +183 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:11 +184 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:12 +184 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:12 +185 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:12 +186 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:12 +187 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:12 +188 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:12 +189 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:12 +190 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:12 +191 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:12 +192 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:12 +193 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:12 +194 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/widgets/my_recipe_widget_test.dart: MyRecipeWidget smoke renders my recipe widget 00:12 +195 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - добавляет рецепт в избранное 00:12 +196 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - добавляет рецепт в избранное 00:12 +197 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - добавляет рецепт в избранное 00:12 +198 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - добавляет рецепт в избранное 00:12 +199 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - добавляет рецепт в избранное 00:12 +200 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - добавляет рецепт в избранное 00:12 +201 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/cubit/my_recipes_cubit_test.dart: MyRecipesCubit getMyRecipes - загружает активные рецепты 00:12 +202 -3: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should show validation error for invalid portions 00:12 +203 -3: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should show validation error for invalid portions 00:13 +203 -3: /home/alexander/eatvio_app/test/features/create_recipe/widget_test.dart: RecipeCreateScreen Widget Tests should show validation error for invalid portions 00:13 +204 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:13 +205 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:13 +206 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:13 +207 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:13 +208 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:13 +209 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:13 +210 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:13 +211 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:13 +212 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:13 +213 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:13 +214 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:13 +215 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:13 +216 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:13 +217 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:13 +218 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:13 +219 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:14 +219 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:14 +220 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:14 +221 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:14 +222 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:14 +223 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:14 +224 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:14 +225 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:14 +226 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:14 +227 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:14 +228 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:14 +229 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - удаляет рецепт из избранного 00:14 +230 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget with recipe title 00:14 +231 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget with recipe title 00:14 +232 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget with recipe title 00:14 +233 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget with recipe title 00:14 +234 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget with recipe title 00:14 +235 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget with recipe title 00:14 +236 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display RecipesWidget with recipe title 00:14 +237 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:14 +238 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:14 +239 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:14 +240 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:14 +241 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:14 +242 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:14 +243 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:14 +244 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:14 +245 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:14 +246 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:14 +247 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:14 +248 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:14 +249 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:14 +250 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:14 +251 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:14 +252 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:14 +253 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:15 +253 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:15 +254 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:15 +255 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:15 +256 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:15 +257 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:15 +258 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:15 +259 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:15 +260 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:15 +261 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:15 +262 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:15 +263 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - с recipeIndexInFeed параметром 00:15 +264 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with multiple recipes 00:15 +265 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with multiple recipes 00:15 +266 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with multiple recipes 00:15 +267 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with multiple recipes 00:15 +268 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with multiple recipes 00:15 +269 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with multiple recipes 00:15 +270 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with multiple recipes 00:15 +271 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with multiple recipes 00:15 +272 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with multiple recipes 00:15 +273 -3: /home/alexander/eatvio_app/test/features/recipes/presentation/widgets/basic_widget_test.dart: Recipes Basic Widget Tests should display Recipes widget with multiple recipes 00:15 +274 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +275 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +276 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +277 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +278 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +279 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +280 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +281 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +282 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +283 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +284 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +285 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +286 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +287 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +288 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +289 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +290 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +291 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +292 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +293 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +294 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +295 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +296 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +297 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:15 +298 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:16 +298 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:16 +299 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:16 +300 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:16 +301 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:16 +302 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:16 +303 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:16 +304 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:16 +305 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:16 +306 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:16 +307 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:16 +308 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:16 +309 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:16 +310 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit likeRecipe - обработка ошибки 00:16 +310 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +311 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +312 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +313 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +314 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +315 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +316 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +317 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +318 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +319 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +320 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +321 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +322 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +323 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +324 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +325 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +326 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +327 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +328 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +329 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +330 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:16 +331 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +331 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +332 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +333 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +334 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +335 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +336 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +337 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +338 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +339 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +340 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +341 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +342 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +343 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +344 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +345 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +346 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +347 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +348 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +349 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +350 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +351 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +352 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - с recipeIndex параметром 00:17 +352 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - обработка ошибки 00:17 +353 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit addToFavorite - обработка ошибки 00:17 +353 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:17 +354 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:17 +355 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:17 +356 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:17 +357 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:17 +358 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:17 +359 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +359 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +360 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +361 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +362 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +363 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +364 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +365 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +366 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +367 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +368 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +369 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +370 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +371 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +372 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +373 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +374 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +375 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +376 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +377 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +378 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +379 -3: /home/alexander/eatvio_app/test/features/recipe/presentation/cubit/about_recipe_cubit_test.dart: AboutRecipeCubit removeFromFavorite - с recipeIndex параметром 00:18 +380 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/feed_cubit/feed_cubit_test.dart: FeedCubit loadFeedBlogPostList - успешная загрузка постов 00:18 +381 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/feed_cubit/feed_cubit_test.dart: FeedCubit loadFeedBlogPostList - успешная загрузка постов 00:18 +382 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/feed_cubit/feed_cubit_test.dart: FeedCubit loadFeedBlogPostList - успешная загрузка постов 00:18 +383 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/feed_cubit/feed_cubit_test.dart: FeedCubit loadFeedBlogPostList - успешная загрузка постов 00:18 +384 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/feed_cubit/feed_cubit_test.dart: FeedCubit loadFeedBlogPostList - успешная загрузка постов 00:18 +385 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/feed_cubit/feed_cubit_test.dart: FeedCubit loadFeedBlogPostList - успешная загрузка постов 00:19 +386 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadDiets - обработка ошибки 00:19 +387 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadDiets - обработка ошибки 00:19 +388 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/feed_cubit_test.dart: FeedCubit начальное состояние - loading 00:19 +389 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/feed_cubit/feed_cubit_test.dart: FeedCubit loadFeedBlogPostList - обработка ошибки 00:19 +390 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - загружает следующую страницу 00:19 +391 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - загружает следующую страницу 00:19 +392 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - загружает следующую страницу 00:19 +393 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - загружает следующую страницу 00:19 +394 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - загружает следующую страницу 00:19 +395 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - загружает следующую страницу 00:19 +396 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - загружает следующую страницу 00:19 +397 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - загружает следующую страницу 00:19 +398 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - загружает следующую страницу 00:19 +399 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/feed_cubit_test.dart: FeedCubit loadFeedBlogPostList - обрабатывает ошибку 00:19 +400 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/feed_cubit_test.dart: FeedCubit loadFeedBlogPostList - обрабатывает ошибку 00:19 +401 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - не загружает если уже загружается 00:19 +402 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - не загружает если уже загружается 00:20 +402 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - не загружает если уже загружается 00:20 +403 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - не загружает если уже загружается 00:20 +404 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - не загружает если уже загружается 00:20 +405 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - не загружает если уже загружается 00:20 +406 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - не загружает если уже загружается 00:20 +407 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - не загружает если уже загружается 00:20 +408 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - не загружает если уже загружается 00:20 +409 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - не загружает если уже загружается 00:20 +410 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - не загружает если уже загружается 00:20 +411 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - не загружает если уже загружается 00:20 +412 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit loadNextPage - не загружает если уже загружается 00:20 +413 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/feed_cubit_test.dart: FeedCubit loadNextPage - не загружает если уже на последней странице 00:20 +414 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/plans_cubit/plans_cubit_test.dart: PlansCubit loadPlans - обработка ошибки 00:20 +415 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit likeDiet - добавляет лайк 00:20 +416 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit likeDiet - добавляет лайк 00:20 +417 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit likeDiet - добавляет лайк 00:20 +418 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit likeDiet - добавляет лайк 00:20 +419 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/feed_cubit_test.dart: FeedCubit loadNextPage - не загружает если уже загружается 00:20 +420 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/feed_cubit_test.dart: FeedCubit loadNextPage - не загружает если уже загружается 00:20 +421 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/plans_cubit/plans_cubit_test.dart: PlansCubit loadNextPage - загружает следующую страницу 00:21 +421 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/plans_cubit/plans_cubit_test.dart: PlansCubit loadNextPage - загружает следующую страницу 00:21 +422 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/plans_cubit/plans_cubit_test.dart: PlansCubit loadNextPage - загружает следующую страницу 00:21 +423 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/plans_cubit/plans_cubit_test.dart: PlansCubit loadNextPage - загружает следующую страницу 00:21 +424 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/plans_cubit/plans_cubit_test.dart: PlansCubit loadNextPage - загружает следующую страницу 00:21 +425 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit likeDiet - убирает лайк 00:21 +426 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/recipes_cubit/recipes_cubit_test.dart: RecipesCubit loadNextPage - загружает следующую страницу 00:21 +427 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/recipes_cubit/recipes_cubit_test.dart: RecipesCubit loadNextPage - загружает следующую страницу 00:21 +428 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/plans_cubit/plans_cubit_test.dart: PlansCubit loadNextPage - не загружает если уже загружается 00:21 +428 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/plans_cubit/plans_cubit_test.dart: PlansCubit loadNextPage - не загружает если уже загружается 00:21 +429 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/plans_cubit/plans_cubit_test.dart: PlansCubit loadNextPage - не загружает если уже загружается 00:21 +430 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit addDietToFavorite - добавляет диету в избранное 00:21 +431 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/pages/feed_screen_smoke_test.dart: FeedScreen smoke renders FeedScreen with all tabs 00:21 +432 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/pages/feed_screen_smoke_test.dart: FeedScreen smoke renders FeedScreen with all tabs 00:22 +432 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/pages/feed_screen_smoke_test.dart: FeedScreen smoke renders FeedScreen with all tabs 00:22 +433 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/pages/feed_screen_smoke_test.dart: FeedScreen smoke renders FeedScreen with all tabs 00:22 +434 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/pages/feed_screen_smoke_test.dart: FeedScreen smoke renders FeedScreen with all tabs 00:22 +435 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/pages/feed_screen_smoke_test.dart: FeedScreen smoke renders FeedScreen with all tabs 00:22 +436 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit removeDietFromFavorite - убирает диету из избранного 00:22 +437 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit removeDietFromFavorite - убирает диету из избранного 00:22 +438 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit removeDietFromFavorite - убирает диету из избранного 00:22 +439 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit removeDietFromFavorite - убирает диету из избранного 00:22 +440 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/diets_cubit/diets_cubit_test.dart: DietsCubit removeDietFromFavorite - убирает диету из избранного 00:22 +441 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/widgets/blog_posts_test.dart: BlogPosts smoke renders blog posts widget 00:22 +442 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/widgets/blog_posts_test.dart: BlogPosts smoke renders blog posts widget 00:22 +443 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/widgets/blog_posts_test.dart: BlogPosts smoke renders blog posts widget 00:22 +444 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/widgets/blog_posts_test.dart: BlogPosts smoke renders blog posts widget 00:22 +445 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/recipes_cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:22 +446 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/recipes_cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:22 +447 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/recipes_cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:22 +448 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/recipes_cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:23 +448 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/recipes_cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:23 +449 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/recipes_cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:23 +450 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/recipes_cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:23 +451 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/recipes_cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:23 +452 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/recipes_cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:23 +453 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/bloc/recipes_cubit/recipes_cubit_test.dart: RecipesCubit removeRecipeFromFavorite - удаляет рецепт из избранного 00:23 +454 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/widgets/chip_group_test.dart: ChipGroup smoke renders chip group 00:23 +455 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/widgets/chip_group_test.dart: ChipGroup smoke renders chip group 00:23 +456 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/widgets/chip_group_test.dart: ChipGroup smoke renders chip group 00:23 +456 ~1 -3: /home/alexander/eatvio_app/test/features/feed/presentation/widgets/basic_widget_test.dart: Feed Basic Widget Tests should display BlogPosts widget with loaded state +unhandled element