diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist
index 9a3bec3..20f5333 100644
--- a/ios/Runner/Info.plist
+++ b/ios/Runner/Info.plist
@@ -6,6 +6,11 @@
$(DEVELOPMENT_LANGUAGE)
CFBundleDisplayName
Receipe App
+ CFBundleLocalizations
+
+ en
+ fr
+
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
diff --git a/lib/app/app.dart b/lib/app/app.dart
index f8c7b45..5f428d1 100644
--- a/lib/app/app.dart
+++ b/lib/app/app.dart
@@ -21,6 +21,7 @@ import 'package:receipe_app/services/dish_service.dart';
import 'package:receipe_app/services/database_service.dart';
import 'package:receipe_app/services/user_service.dart';
import 'package:receipe_app/ui/views/single_user/single_user_view.dart';
+import 'package:receipe_app/services/localization_service.dart';
// @stacked-import
@StackedApp(
@@ -49,6 +50,7 @@ import 'package:receipe_app/ui/views/single_user/single_user_view.dart';
LazySingleton(classType: DatabaseMigrationService),
InitializableSingleton(classType: DatabaseService),
LazySingleton(classType: UserService),
+ LazySingleton(classType: LocalizationService),
// @stacked-service
],
bottomsheets: [
@@ -62,4 +64,4 @@ import 'package:receipe_app/ui/views/single_user/single_user_view.dart';
],
logger: StackedLogger(),
)
-class App {}
+class App {}
\ No newline at end of file
diff --git a/lib/app/app.locator.dart b/lib/app/app.locator.dart
index d6fa87c..57fed1f 100644
--- a/lib/app/app.locator.dart
+++ b/lib/app/app.locator.dart
@@ -17,6 +17,7 @@ import '../services/database_service.dart';
import '../services/dio_service.dart';
import '../services/dish_service.dart';
import '../services/event_service.dart';
+import '../services/localization_service.dart';
import '../services/secure_storage_service.dart';
import '../services/user_service.dart';
@@ -45,4 +46,5 @@ Future setupLocator({
locator.registerSingleton(databaseService);
locator.registerLazySingleton(() => UserService());
+ locator.registerLazySingleton(() => LocalizationService());
}
diff --git a/lib/enums/languages.dart b/lib/enums/languages.dart
new file mode 100644
index 0000000..d04cfd1
--- /dev/null
+++ b/lib/enums/languages.dart
@@ -0,0 +1 @@
+enum Languages { english, french }
diff --git a/lib/generated/intl/messages_all.dart b/lib/generated/intl/messages_all.dart
index 203415c..f9e94e5 100644
--- a/lib/generated/intl/messages_all.dart
+++ b/lib/generated/intl/messages_all.dart
@@ -17,16 +17,20 @@ import 'package:intl/message_lookup_by_library.dart';
import 'package:intl/src/intl_helpers.dart';
import 'messages_en.dart' as messages_en;
+import 'messages_fr.dart' as messages_fr;
typedef Future LibraryLoader();
Map _deferredLibraries = {
'en': () => new SynchronousFuture(null),
+ 'fr': () => new SynchronousFuture(null),
};
MessageLookupByLibrary? _findExact(String localeName) {
switch (localeName) {
case 'en':
return messages_en.messages;
+ case 'fr':
+ return messages_fr.messages;
default:
return null;
}
diff --git a/lib/generated/intl/messages_fr.dart b/lib/generated/intl/messages_fr.dart
new file mode 100644
index 0000000..b889d4c
--- /dev/null
+++ b/lib/generated/intl/messages_fr.dart
@@ -0,0 +1,110 @@
+// DO NOT EDIT. This is code generated via package:intl/generate_localized.dart
+// This is a library that provides messages for a fr locale. All the
+// messages from the main program should be duplicated here with the same
+// function name.
+
+// Ignore issues from commonly used lints in this file.
+// ignore_for_file:unnecessary_brace_in_string_interps, unnecessary_new
+// ignore_for_file:prefer_single_quotes,comment_references, directives_ordering
+// ignore_for_file:annotate_overrides,prefer_generic_function_type_aliases
+// ignore_for_file:unused_import, file_names, avoid_escaping_inner_quotes
+// ignore_for_file:unnecessary_string_interpolations, unnecessary_string_escapes
+
+import 'package:intl/intl.dart';
+import 'package:intl/message_lookup_by_library.dart';
+
+final messages = new MessageLookup();
+
+typedef String MessageIfAbsent(String messageStr, List args);
+
+class MessageLookup extends MessageLookupByLibrary {
+ String get localeName => 'fr';
+
+ final messages = _notInlinedMessages(_notInlinedMessages);
+ static Map _notInlinedMessages(_) => {
+ "already_have_an_account":
+ MessageLookupByLibrary.simpleMessage("Vous avez déjà un compte?"),
+ "are_you_sure": MessageLookupByLibrary.simpleMessage(
+ "Êtes-vous sûr de vouloir supprimer ce plat ?"),
+ "cancel": MessageLookupByLibrary.simpleMessage("Annuler"),
+ "click_done": MessageLookupByLibrary.simpleMessage(
+ "Cliquez sur \"Terminé\" après votre saisie."),
+ "connection_error": MessageLookupByLibrary.simpleMessage(
+ "Il semble que nous ayons un problème de connexion au serveur. Veuillez réessayer lorsque vous avez un réseau plus fort"),
+ "connection_timeout": MessageLookupByLibrary.simpleMessage(
+ "Pas de connexion Internet. Il semble que la connexion a expiré"),
+ "create_a_dish": MessageLookupByLibrary.simpleMessage("Créer un plat"),
+ "create_a_dish_intro": MessageLookupByLibrary.simpleMessage(
+ "Salut 😚, il est temps de créer ce plat spécial que vous avez toujours désiré. \nVeuillez remplir les détails ci-dessous"),
+ "create_dish": MessageLookupByLibrary.simpleMessage("Créer un plat"),
+ "dark_mode": MessageLookupByLibrary.simpleMessage("MODE SOMBRE"),
+ "date_created":
+ MessageLookupByLibrary.simpleMessage("Date de création : "),
+ "delete_dish":
+ MessageLookupByLibrary.simpleMessage("Supprimer le plat"),
+ "dont_have_an_account":
+ MessageLookupByLibrary.simpleMessage("Vous n\'avez pas de compte?"),
+ "drawer_home": MessageLookupByLibrary.simpleMessage("ACCUEIL"),
+ "edit_dish": MessageLookupByLibrary.simpleMessage("Modifier le plat"),
+ "email_address": MessageLookupByLibrary.simpleMessage("Adresse e-mail"),
+ "email_cannot_be_empty": MessageLookupByLibrary.simpleMessage(
+ "L\'e-mail ne peut pas être vide"),
+ "email_must_be_a_valid_email": MessageLookupByLibrary.simpleMessage(
+ "L\'e-mail doit être une adresse e-mail valide"),
+ "enter_your_email":
+ MessageLookupByLibrary.simpleMessage("Entrez votre adresse e-mail"),
+ "enter_your_first_name":
+ MessageLookupByLibrary.simpleMessage("Entrez votre prénom"),
+ "enter_your_last_name":
+ MessageLookupByLibrary.simpleMessage("Entrez votre nom de famille"),
+ "enter_your_password":
+ MessageLookupByLibrary.simpleMessage("Entrez votre mot de passe"),
+ "first_name": MessageLookupByLibrary.simpleMessage("Prénom"),
+ "generate_recipe_contents": MessageLookupByLibrary.simpleMessage(
+ "Génération du contenu de la recette"),
+ "get_started": MessageLookupByLibrary.simpleMessage("Commencer"),
+ "hello_word": MessageLookupByLibrary.simpleMessage("Bonjour le monde"),
+ "hi": MessageLookupByLibrary.simpleMessage("Salut"),
+ "home": MessageLookupByLibrary.simpleMessage("Accueil"),
+ "ingredient_of_dish":
+ MessageLookupByLibrary.simpleMessage("Ingrédients du plat"),
+ "ingredients": MessageLookupByLibrary.simpleMessage("Ingrédients"),
+ "instructions": MessageLookupByLibrary.simpleMessage("Instructions"),
+ "kindly_edit": MessageLookupByLibrary.simpleMessage(
+ "Veuillez modifier les détails ci-dessous pour refléter les bonnes informations sur le plat standard"),
+ "last_name": MessageLookupByLibrary.simpleMessage("Nom de famille"),
+ "login": MessageLookupByLibrary.simpleMessage("S\'identifier"),
+ "logout": MessageLookupByLibrary.simpleMessage("SE DÉCONNECTER "),
+ "my_dish": MessageLookupByLibrary.simpleMessage("MON PLAT"),
+ "mydish": MessageLookupByLibrary.simpleMessage("Mon plat"),
+ "name": MessageLookupByLibrary.simpleMessage("Nom : "),
+ "name_of_dish": MessageLookupByLibrary.simpleMessage("Nom du plat"),
+ "no_dish_available": MessageLookupByLibrary.simpleMessage(
+ "Il n\'y a actuellement aucun plat disponible à afficher"),
+ "no_internet": MessageLookupByLibrary.simpleMessage(
+ "Pas de connexion Internet. Veuillez réessayer plus tard"),
+ "onboarding_subtitle_one": MessageLookupByLibrary.simpleMessage(
+ "Kally Dish propose des denrées non périssables au prix de gros le plus bas, livrées gratuitement à votre porte"),
+ "onboarding_subtitle_three": MessageLookupByLibrary.simpleMessage(
+ "Kally Dish offre un accès exclusif à des avantages de réduction des coûts, d\'économie de temps et de réduction du stress grâce à son plan d\'adhésion"),
+ "onboarding_subtitle_two": MessageLookupByLibrary.simpleMessage(
+ "Avec Kally Dish, vous pouvez passer votre commande depuis le confort de votre domicile en appelant l\'un de nos numéros"),
+ "onboarding_title_one": MessageLookupByLibrary.simpleMessage(
+ "Livraison gratuite de qualité"),
+ "onboarding_title_three": MessageLookupByLibrary.simpleMessage(
+ "Abonnez-vous à notre magasin"),
+ "onboarding_title_two":
+ MessageLookupByLibrary.simpleMessage("Commande sans couture"),
+ "password": MessageLookupByLibrary.simpleMessage("Mot de passe"),
+ "please_sign_in_to_continue": MessageLookupByLibrary.simpleMessage(
+ "Veuillez vous connecter pour continuer"),
+ "required": MessageLookupByLibrary.simpleMessage("Obligatoire"),
+ "service_unavailable":
+ MessageLookupByLibrary.simpleMessage("Service non disponible"),
+ "sign_up": MessageLookupByLibrary.simpleMessage("S\'inscrire"),
+ "unknown_error":
+ MessageLookupByLibrary.simpleMessage("Erreur inconnue"),
+ "welcome": MessageLookupByLibrary.simpleMessage("Bienvenue"),
+ "yes": MessageLookupByLibrary.simpleMessage("Oui")
+ };
+}
diff --git a/lib/generated/l10n.dart b/lib/generated/l10n.dart
index 51e1e3a..9c658f4 100644
--- a/lib/generated/l10n.dart
+++ b/lib/generated/l10n.dart
@@ -607,6 +607,7 @@ class AppLocalizationDelegate extends LocalizationsDelegate {
List get supportedLocales {
return const [
Locale.fromSubtags(languageCode: 'en'),
+ Locale.fromSubtags(languageCode: 'fr'),
];
}
diff --git a/lib/l10n/intl_fr.arb b/lib/l10n/intl_fr.arb
new file mode 100644
index 0000000..fe290d9
--- /dev/null
+++ b/lib/l10n/intl_fr.arb
@@ -0,0 +1,58 @@
+{
+ "@@locale": "fr",
+ "hello_word": "Bonjour le monde",
+ "get_started": "Commencer",
+ "onboarding_title_one": "Livraison gratuite de qualité",
+ "onboarding_subtitle_one": "Kally Dish propose des denrées non périssables au prix de gros le plus bas, livrées gratuitement à votre porte",
+ "onboarding_title_two": "Commande sans couture",
+ "onboarding_subtitle_two": "Avec Kally Dish, vous pouvez passer votre commande depuis le confort de votre domicile en appelant l'un de nos numéros",
+ "onboarding_title_three": "Abonnez-vous à notre magasin",
+ "onboarding_subtitle_three": "Kally Dish offre un accès exclusif à des avantages de réduction des coûts, d'économie de temps et de réduction du stress grâce à son plan d'adhésion",
+ "welcome": "Bienvenue",
+ "mydish": "Mon plat",
+ "please_sign_in_to_continue": "Veuillez vous connecter pour continuer",
+ "email_address": "Adresse e-mail",
+ "enter_your_email": "Entrez votre adresse e-mail",
+ "password": "Mot de passe",
+ "enter_your_password": "Entrez votre mot de passe",
+ "first_name": "Prénom",
+ "enter_your_first_name": "Entrez votre prénom",
+ "last_name": "Nom de famille",
+ "enter_your_last_name": "Entrez votre nom de famille",
+ "login": "S'identifier",
+ "dont_have_an_account": "Vous n'avez pas de compte?",
+ "already_have_an_account": "Vous avez déjà un compte?",
+ "sign_up": "S'inscrire",
+ "email_cannot_be_empty": "L'e-mail ne peut pas être vide",
+ "email_must_be_a_valid_email": "L'e-mail doit être une adresse e-mail valide",
+ "required": "Obligatoire",
+ "kindly_edit": "Veuillez modifier les détails ci-dessous pour refléter les bonnes informations sur le plat standard",
+ "edit_dish": "Modifier le plat",
+ "name_of_dish": "Nom du plat",
+ "instructions": "Instructions",
+ "ingredients": "Ingrédients",
+ "click_done": "Cliquez sur \"Terminé\" après votre saisie.",
+ "name": "Nom : ",
+ "date_created": "Date de création : ",
+ "cancel": "Annuler",
+ "yes": "Oui",
+ "are_you_sure": "Êtes-vous sûr de vouloir supprimer ce plat ?",
+ "delete_dish": "Supprimer le plat",
+ "create_a_dish": "Créer un plat",
+ "create_a_dish_intro": "Salut 😚, il est temps de créer ce plat spécial que vous avez toujours désiré. \nVeuillez remplir les détails ci-dessous",
+ "ingredient_of_dish": "Ingrédients du plat",
+ "create_dish": "Créer un plat",
+ "no_internet": "Pas de connexion Internet. Veuillez réessayer plus tard",
+ "connection_timeout": "Pas de connexion Internet. Il semble que la connexion a expiré",
+ "service_unavailable": "Service non disponible",
+ "unknown_error": "Erreur inconnue",
+ "home": "Accueil",
+ "drawer_home": "ACCUEIL",
+ "hi": "Salut",
+ "my_dish": "MON PLAT",
+ "dark_mode": "MODE SOMBRE",
+ "logout": "SE DÉCONNECTER ",
+ "no_dish_available": "Il n'y a actuellement aucun plat disponible à afficher",
+ "generate_recipe_contents": "Génération du contenu de la recette",
+ "connection_error": "Il semble que nous ayons un problème de connexion au serveur. Veuillez réessayer lorsque vous avez un réseau plus fort"
+}
\ No newline at end of file
diff --git a/lib/main.dart b/lib/main.dart
index 5beb75f..14e1700 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
+import 'package:receipe_app/services/localization_service.dart';
import 'package:stacked_services/stacked_services.dart';
import 'app/app.bottomsheets.dart';
import 'app/app.dialogs.dart';
@@ -16,6 +17,7 @@ Future main() async {
await setupLocator();
setupDialogUi();
setupBottomSheetUi();
+ await S.load(const Locale.fromSubtags(languageCode: 'en'));
runApp(const MainApp());
}
@@ -37,6 +39,7 @@ class MainApp extends StatelessWidget {
navigatorObservers: [
StackedService.routeObserver,
],
+ locale: LocalizationService().currentLocale,
localizationsDelegates: const [
S.delegate,
GlobalMaterialLocalizations.delegate,
diff --git a/lib/services/localization_service.dart b/lib/services/localization_service.dart
new file mode 100644
index 0000000..b112017
--- /dev/null
+++ b/lib/services/localization_service.dart
@@ -0,0 +1,18 @@
+import 'dart:ui';
+
+import 'package:receipe_app/enums/languages.dart';
+
+class LocalizationService {
+ //Hold current app locale
+ Locale _currentLocale = Locale.fromSubtags(languageCode: 'en');
+ Locale get currentLocale => _currentLocale;
+
+ //refactoring app-drawer VM localization
+ Languages _selectedLocale = Languages.english;
+ Languages get selectedLocale => _selectedLocale;
+
+ //function to assign locale
+ void assignLocale(Languages value) {
+ _selectedLocale = value;
+ }
+}
diff --git a/lib/ui/widgets/common/app_drawer/app_drawer.dart b/lib/ui/widgets/common/app_drawer/app_drawer.dart
index d8b3c20..b577086 100644
--- a/lib/ui/widgets/common/app_drawer/app_drawer.dart
+++ b/lib/ui/widgets/common/app_drawer/app_drawer.dart
@@ -1,6 +1,8 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:flutter_svg/flutter_svg.dart';
+import 'package:receipe_app/app/app.logger.dart';
+import 'package:receipe_app/enums/languages.dart';
import 'package:receipe_app/generated/l10n.dart';
import 'package:receipe_app/ui/common/app_images.dart';
import 'package:receipe_app/ui/extension/build_context_extension.dart';
@@ -10,7 +12,7 @@ import 'dart:io';
import 'package:flutter/cupertino.dart';
class AppDrawer extends StackedView {
- const AppDrawer({super.key});
+ AppDrawer({super.key});
@override
AppDrawerModel viewModelBuilder(
@@ -18,6 +20,7 @@ class AppDrawer extends StackedView {
) =>
AppDrawerModel();
+ final _logger = getLogger('AppDrawer');
@override
Widget builder(
BuildContext context,
@@ -99,6 +102,36 @@ class AppDrawer extends StackedView {
),
SizedBox(height: 10.h),
Divider(thickness: 15.w, color: context.palette?.gray1),
+ ListTile(
+ leading: Icon(Icons.translate),
+ title: DropdownButton(
+ padding: EdgeInsets.all(20),
+ isExpanded: true,
+ borderRadius: BorderRadius.all(Radius.circular(10)),
+ value: viewModel.selectedLanguage,
+ items: Languages.values
+ .map(
+ (language) => DropdownMenuItem(
+ value: language,
+ child: Text(language.name.toUpperCase()),
+ ),
+ )
+ .toList(),
+ onChanged: (value) {
+ if (value == null) return;
+ _logger.i(value);
+
+ final subtag = value.name.substring(0, 2);
+ S.load(
+ Locale.fromSubtags(
+ languageCode: subtag,
+ ),
+ ); //Load the current locale using the subtag
+ viewModel.toggleLanguage(value);
+ },
+ ),
+ ),
+ Divider(thickness: 15.w, color: context.palette?.gray1),
Spacer(),
Divider(
thickness: 10.w,
diff --git a/lib/ui/widgets/common/app_drawer/app_drawer_model.dart b/lib/ui/widgets/common/app_drawer/app_drawer_model.dart
index 4e4f933..0001e21 100644
--- a/lib/ui/widgets/common/app_drawer/app_drawer_model.dart
+++ b/lib/ui/widgets/common/app_drawer/app_drawer_model.dart
@@ -1,21 +1,33 @@
import 'package:receipe_app/app/app.router.dart';
import 'package:receipe_app/data_model/user.dart';
+import 'package:receipe_app/enums/languages.dart';
+import 'package:receipe_app/services/localization_service.dart';
import 'package:receipe_app/services/secure_storage_service.dart';
import 'package:receipe_app/services/user_service.dart';
import 'package:stacked/stacked.dart';
import 'package:receipe_app/app/app.locator.dart';
import 'package:receipe_app/app/app.logger.dart';
-
import 'package:stacked_services/stacked_services.dart';
class AppDrawerModel extends ReactiveViewModel {
final _navigationService = locator();
final _userService = locator();
final _secureStorageService = locator();
+ final _localizationService = locator();
+
+ final _logger = getLogger('App_Drawer ViewModel');
User? get user => _userService.user;
- final _logger = getLogger('App_Drawer');
+ Languages get selectedLanguage => _localizationService.selectedLocale;
+
+ //toggle and refresh Language dropdown
+ void toggleLanguage(Languages value) {
+ _logger.i(value);
+
+ _localizationService.assignLocale(value);
+ rebuildUi();
+ }
void navigateToHome() {
_logger.i("go back");
diff --git a/pubspec.lock b/pubspec.lock
index 0992e05..e986efb 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -173,10 +173,10 @@ packages:
dependency: transitive
description:
name: collection
- sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687
+ sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
url: "https://pub.dev"
source: hosted
- version: "1.17.2"
+ version: "1.18.0"
convert:
dependency: transitive
description:
@@ -513,10 +513,10 @@ packages:
dependency: transitive
description:
name: meta
- sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3"
+ sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e
url: "https://pub.dev"
source: hosted
- version: "1.9.1"
+ version: "1.10.0"
mime:
dependency: transitive
description:
@@ -830,10 +830,10 @@ packages:
dependency: transitive
description:
name: stack_trace
- sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5
+ sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
url: "https://pub.dev"
source: hosted
- version: "1.11.0"
+ version: "1.11.1"
stacked:
dependency: "direct main"
description:
@@ -870,10 +870,10 @@ packages:
dependency: transitive
description:
name: stream_channel
- sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8"
+ sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
url: "https://pub.dev"
source: hosted
- version: "2.1.1"
+ version: "2.1.2"
stream_transform:
dependency: transitive
description:
@@ -910,10 +910,10 @@ packages:
dependency: transitive
description:
name: test_api
- sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8"
+ sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b"
url: "https://pub.dev"
source: hosted
- version: "0.6.0"
+ version: "0.6.1"
timing:
dependency: transitive
description:
@@ -990,10 +990,10 @@ packages:
dependency: transitive
description:
name: web
- sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10
+ sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152
url: "https://pub.dev"
source: hosted
- version: "0.1.4-beta"
+ version: "0.3.0"
web_socket_channel:
dependency: transitive
description:
@@ -1035,5 +1035,5 @@ packages:
source: hosted
version: "3.1.2"
sdks:
- dart: ">=3.1.0 <4.0.0"
+ dart: ">=3.2.0-194.0.dev <4.0.0"
flutter: ">=3.13.0"
diff --git a/test/helpers/test_helpers.dart b/test/helpers/test_helpers.dart
index 6e60932..af387d3 100644
--- a/test/helpers/test_helpers.dart
+++ b/test/helpers/test_helpers.dart
@@ -10,6 +10,7 @@ import 'package:receipe_app/services/authentication_service.dart';
import 'package:receipe_app/services/dish_service.dart';
import 'package:receipe_app/services/database_service.dart';
import 'package:receipe_app/services/user_service.dart';
+import 'package:receipe_app/services/localization_service.dart';
// @stacked-import
import 'test_helpers.mocks.dart';
@@ -25,6 +26,8 @@ import 'test_helpers.mocks.dart';
MockSpec(onMissingStub: OnMissingStub.returnDefault),
MockSpec(onMissingStub: OnMissingStub.returnDefault),
MockSpec(onMissingStub: OnMissingStub.returnDefault),
+ MockSpec(onMissingStub: OnMissingStub.returnDefault),
+
// @stacked-mock-spec
])
void registerServices() {
@@ -38,6 +41,7 @@ void registerServices() {
getAndRegisterDishService();
getAndRegisterDatabaseService();
getAndRegisterUserService();
+ getAndRegisterLocalizationService();
// @stacked-mock-register
}
@@ -142,6 +146,15 @@ MockUserService getAndRegisterUserService() {
locator.registerSingleton(service);
return service;
}
+
+MockLocalizationService getAndRegisterLocalizationService() {
+ _removeRegistrationIfExists();
+ final service = MockLocalizationService();
+ locator.registerSingleton(service);
+ return service;
+}
+
+//
// @stacked-mock-create
void _removeRegistrationIfExists() {
diff --git a/test/helpers/test_helpers.mocks.dart b/test/helpers/test_helpers.mocks.dart
index 72a8236..d4eb2ce 100644
--- a/test/helpers/test_helpers.mocks.dart
+++ b/test/helpers/test_helpers.mocks.dart
@@ -3,10 +3,10 @@
// Do not manually edit this file.
// ignore_for_file: no_leading_underscores_for_library_prefixes
-import 'dart:async' as _i6;
-import 'dart:ui' as _i7;
+import 'dart:async' as _i7;
+import 'dart:ui' as _i4;
-import 'package:flutter/material.dart' as _i5;
+import 'package:flutter/material.dart' as _i6;
import 'package:mockito/mockito.dart' as _i1;
import 'package:receipe_app/data_model/create_dish_info.dart' as _i18;
import 'package:receipe_app/data_model/event.dart' as _i9;
@@ -15,15 +15,17 @@ import 'package:receipe_app/data_model/login_response.dart' as _i13;
import 'package:receipe_app/data_model/recipes_response.dart' as _i2;
import 'package:receipe_app/data_model/register_model.dart' as _i16;
import 'package:receipe_app/data_model/user.dart' as _i15;
+import 'package:receipe_app/enums/languages.dart' as _i22;
import 'package:receipe_app/services/authentication_service.dart' as _i12;
import 'package:receipe_app/services/database_service.dart' as _i19;
import 'package:receipe_app/services/dio_service.dart' as _i11;
import 'package:receipe_app/services/dish_service.dart' as _i17;
import 'package:receipe_app/services/event_service.dart' as _i8;
+import 'package:receipe_app/services/localization_service.dart' as _i21;
import 'package:receipe_app/services/secure_storage_service.dart' as _i10;
import 'package:receipe_app/services/user_service.dart' as _i20;
import 'package:sqflite/sqflite.dart' as _i3;
-import 'package:stacked_services/stacked_services.dart' as _i4;
+import 'package:stacked_services/stacked_services.dart' as _i5;
// ignore_for_file: type=lint
// ignore_for_file: avoid_redundant_argument_values
@@ -57,10 +59,20 @@ class _FakeDatabase_1 extends _i1.SmartFake implements _i3.Database {
);
}
+class _FakeLocale_2 extends _i1.SmartFake implements _i4.Locale {
+ _FakeLocale_2(
+ Object parent,
+ Invocation parentInvocation,
+ ) : super(
+ parent,
+ parentInvocation,
+ );
+}
+
/// A class which mocks [NavigationService].
///
/// See the documentation for Mockito's code generation for more information.
-class MockNavigationService extends _i1.Mock implements _i4.NavigationService {
+class MockNavigationService extends _i1.Mock implements _i5.NavigationService {
@override
String get previousRoute => (super.noSuchMethod(
Invocation.getter(#previousRoute),
@@ -74,14 +86,14 @@ class MockNavigationService extends _i1.Mock implements _i4.NavigationService {
returnValueForMissingStub: '',
) as String);
@override
- _i5.GlobalKey<_i5.NavigatorState>? nestedNavigationKey(int? index) =>
+ _i6.GlobalKey<_i6.NavigatorState>? nestedNavigationKey(int? index) =>
(super.noSuchMethod(
Invocation.method(
#nestedNavigationKey,
[index],
),
returnValueForMissingStub: null,
- ) as _i5.GlobalKey<_i5.NavigatorState>?);
+ ) as _i6.GlobalKey<_i6.NavigatorState>?);
@override
void config({
bool? enableLog,
@@ -89,7 +101,7 @@ class MockNavigationService extends _i1.Mock implements _i4.NavigationService {
bool? defaultOpaqueRoute,
Duration? defaultDurationTransition,
bool? defaultGlobalState,
- _i4.Transition? defaultTransitionStyle,
+ _i5.Transition? defaultTransitionStyle,
String? defaultTransition,
}) =>
super.noSuchMethod(
@@ -109,18 +121,18 @@ class MockNavigationService extends _i1.Mock implements _i4.NavigationService {
returnValueForMissingStub: null,
);
@override
- _i6.Future? navigateWithTransition(
- _i5.Widget? page, {
+ _i7.Future? navigateWithTransition(
+ _i6.Widget? page, {
bool? opaque,
String? transition = r'',
Duration? duration,
bool? popGesture,
int? id,
- _i5.Curve? curve,
+ _i6.Curve? curve,
bool? fullscreenDialog = false,
bool? preventDuplicates = true,
- _i4.Transition? transitionClass,
- _i4.Transition? transitionStyle,
+ _i5.Transition? transitionClass,
+ _i5.Transition? transitionStyle,
String? routeName,
}) =>
(super.noSuchMethod(
@@ -142,20 +154,20 @@ class MockNavigationService extends _i1.Mock implements _i4.NavigationService {
},
),
returnValueForMissingStub: null,
- ) as _i6.Future?);
+ ) as _i7.Future?);
@override
- _i6.Future? replaceWithTransition(
- _i5.Widget? page, {
+ _i7.Future? replaceWithTransition(
+ _i6.Widget? page, {
bool? opaque,
String? transition = r'',
Duration? duration,
bool? popGesture,
int? id,
- _i5.Curve? curve,
+ _i6.Curve? curve,
bool? fullscreenDialog = false,
bool? preventDuplicates = true,
- _i4.Transition? transitionClass,
- _i4.Transition? transitionStyle,
+ _i5.Transition? transitionClass,
+ _i5.Transition? transitionStyle,
String? routeName,
}) =>
(super.noSuchMethod(
@@ -177,7 +189,7 @@ class MockNavigationService extends _i1.Mock implements _i4.NavigationService {
},
),
returnValueForMissingStub: null,
- ) as _i6.Future?);
+ ) as _i7.Future?);
@override
bool back({
dynamic result,
@@ -197,7 +209,7 @@ class MockNavigationService extends _i1.Mock implements _i4.NavigationService {
) as bool);
@override
void popUntil(
- _i5.RoutePredicate? predicate, {
+ _i6.RoutePredicate? predicate, {
int? id,
}) =>
super.noSuchMethod(
@@ -217,13 +229,13 @@ class MockNavigationService extends _i1.Mock implements _i4.NavigationService {
returnValueForMissingStub: null,
);
@override
- _i6.Future? navigateTo(
+ _i7.Future? navigateTo(
String? routeName, {
dynamic arguments,
int? id,
bool? preventDuplicates = true,
Map? parameters,
- _i5.RouteTransitionsBuilder? transition,
+ _i6.RouteTransitionsBuilder? transition,
}) =>
(super.noSuchMethod(
Invocation.method(
@@ -238,20 +250,20 @@ class MockNavigationService extends _i1.Mock implements _i4.NavigationService {
},
),
returnValueForMissingStub: null,
- ) as _i6.Future?);
+ ) as _i7.Future?);
@override
- _i6.Future? navigateToView(
- _i5.Widget? view, {
+ _i7.Future? navigateToView(
+ _i6.Widget? view, {
dynamic arguments,
int? id,
bool? opaque,
- _i5.Curve? curve,
+ _i6.Curve? curve,
Duration? duration,
bool? fullscreenDialog = false,
bool? popGesture,
bool? preventDuplicates = true,
- _i4.Transition? transition,
- _i4.Transition? transitionStyle,
+ _i5.Transition? transition,
+ _i5.Transition? transitionStyle,
}) =>
(super.noSuchMethod(
Invocation.method(
@@ -271,15 +283,15 @@ class MockNavigationService extends _i1.Mock implements _i4.NavigationService {
},
),
returnValueForMissingStub: null,
- ) as _i6.Future?);
+ ) as _i7.Future?);
@override
- _i6.Future? replaceWith(
+ _i7.Future? replaceWith(
String? routeName, {
dynamic arguments,
int? id,
bool? preventDuplicates = true,
Map? parameters,
- _i5.RouteTransitionsBuilder? transition,
+ _i6.RouteTransitionsBuilder? transition,
}) =>
(super.noSuchMethod(
Invocation.method(
@@ -294,9 +306,9 @@ class MockNavigationService extends _i1.Mock implements _i4.NavigationService {
},
),
returnValueForMissingStub: null,
- ) as _i6.Future?);
+ ) as _i7.Future?);
@override
- _i6.Future? clearStackAndShow(
+ _i7.Future? clearStackAndShow(
String? routeName, {
dynamic arguments,
int? id,
@@ -313,10 +325,10 @@ class MockNavigationService extends _i1.Mock implements _i4.NavigationService {
},
),
returnValueForMissingStub: null,
- ) as _i6.Future?);
+ ) as _i7.Future?);
@override
- _i6.Future? clearStackAndShowView(
- _i5.Widget? view, {
+ _i7.Future? clearStackAndShowView(
+ _i6.Widget? view, {
dynamic arguments,
int? id,
}) =>
@@ -330,9 +342,9 @@ class MockNavigationService extends _i1.Mock implements _i4.NavigationService {
},
),
returnValueForMissingStub: null,
- ) as _i6.Future?);
+ ) as _i7.Future?);
@override
- _i6.Future? clearTillFirstAndShow(
+ _i7.Future? clearTillFirstAndShow(
String? routeName, {
dynamic arguments,
int? id,
@@ -351,10 +363,10 @@ class MockNavigationService extends _i1.Mock implements _i4.NavigationService {
},
),
returnValueForMissingStub: null,
- ) as _i6.Future?);
+ ) as _i7.Future?);
@override
- _i6.Future? clearTillFirstAndShowView(
- _i5.Widget? view, {
+ _i7.Future? clearTillFirstAndShowView(
+ _i6.Widget? view, {
dynamic arguments,
int? id,
}) =>
@@ -368,11 +380,11 @@ class MockNavigationService extends _i1.Mock implements _i4.NavigationService {
},
),
returnValueForMissingStub: null,
- ) as _i6.Future?);
+ ) as _i7.Future?);
@override
- _i6.Future? pushNamedAndRemoveUntil(
+ _i7.Future? pushNamedAndRemoveUntil(
String? routeName, {
- _i5.RoutePredicate? predicate,
+ _i6.RoutePredicate? predicate,
dynamic arguments,
int? id,
}) =>
@@ -387,16 +399,16 @@ class MockNavigationService extends _i1.Mock implements _i4.NavigationService {
},
),
returnValueForMissingStub: null,
- ) as _i6.Future?);
+ ) as _i7.Future?);
}
/// A class which mocks [BottomSheetService].
///
/// See the documentation for Mockito's code generation for more information.
class MockBottomSheetService extends _i1.Mock
- implements _i4.BottomSheetService {
+ implements _i5.BottomSheetService {
@override
- void setCustomSheetBuilders(Map? builders) =>
+ void setCustomSheetBuilders(Map? builders) =>
super.noSuchMethod(
Invocation.method(
#setCustomSheetBuilders,
@@ -405,7 +417,7 @@ class MockBottomSheetService extends _i1.Mock
returnValueForMissingStub: null,
);
@override
- _i6.Future<_i4.SheetResponse?> showBottomSheet({
+ _i7.Future<_i5.SheetResponse?> showBottomSheet({
required String? title,
String? description,
String? confirmButtonTitle = r'Ok',
@@ -436,12 +448,12 @@ class MockBottomSheetService extends _i1.Mock
#useRootNavigator: useRootNavigator,
},
),
- returnValue: _i6.Future<_i4.SheetResponse?>.value(),
+ returnValue: _i7.Future<_i5.SheetResponse?>.value(),
returnValueForMissingStub:
- _i6.Future<_i4.SheetResponse?>.value(),
- ) as _i6.Future<_i4.SheetResponse?>);
+ _i7.Future<_i5.SheetResponse?>.value(),
+ ) as _i7.Future<_i5.SheetResponse?>);
@override
- _i6.Future<_i4.SheetResponse?> showCustomSheet({
+ _i7.Future<_i5.SheetResponse?> showCustomSheet({
dynamic variant,
String? title,
String? description,
@@ -454,7 +466,7 @@ class MockBottomSheetService extends _i1.Mock
bool? showIconInAdditionalButton = false,
String? additionalButtonTitle,
bool? takesInput = false,
- _i7.Color? barrierColor = const _i7.Color(2315255808),
+ _i4.Color? barrierColor = const _i4.Color(2315255808),
bool? barrierDismissible = true,
bool? isScrollControlled = false,
String? barrierLabel = r'',
@@ -496,11 +508,11 @@ class MockBottomSheetService extends _i1.Mock
#useRootNavigator: useRootNavigator,
},
),
- returnValue: _i6.Future<_i4.SheetResponse?>.value(),
- returnValueForMissingStub: _i6.Future<_i4.SheetResponse?>.value(),
- ) as _i6.Future<_i4.SheetResponse?>);
+ returnValue: _i7.Future<_i5.SheetResponse?>.value(),
+ returnValueForMissingStub: _i7.Future<_i5.SheetResponse?>.value(),
+ ) as _i7.Future<_i5.SheetResponse?>);
@override
- void completeSheet(_i4.SheetResponse? response) =>
+ void completeSheet(_i5.SheetResponse? response) =>
super.noSuchMethod(
Invocation.method(
#completeSheet,
@@ -513,10 +525,10 @@ class MockBottomSheetService extends _i1.Mock
/// A class which mocks [DialogService].
///
/// See the documentation for Mockito's code generation for more information.
-class MockDialogService extends _i1.Mock implements _i4.DialogService {
+class MockDialogService extends _i1.Mock implements _i5.DialogService {
@override
void registerCustomDialogBuilders(
- Map? builders) =>
+ Map? builders) =>
super.noSuchMethod(
Invocation.method(
#registerCustomDialogBuilders,
@@ -527,10 +539,10 @@ class MockDialogService extends _i1.Mock implements _i4.DialogService {
@override
void registerCustomDialogBuilder({
required dynamic variant,
- required _i5.Widget Function(
- _i5.BuildContext,
- _i4.DialogRequest,
- dynamic Function(_i4.DialogResponse),
+ required _i6.Widget Function(
+ _i6.BuildContext,
+ _i5.DialogRequest,
+ dynamic Function(_i5.DialogResponse),
)? builder,
}) =>
super.noSuchMethod(
@@ -545,15 +557,15 @@ class MockDialogService extends _i1.Mock implements _i4.DialogService {
returnValueForMissingStub: null,
);
@override
- _i6.Future<_i4.DialogResponse?> showDialog({
+ _i7.Future<_i5.DialogResponse?> showDialog({
String? title,
String? description,
String? cancelTitle,
- _i7.Color? cancelTitleColor,
+ _i4.Color? cancelTitleColor,
String? buttonTitle = r'Ok',
- _i7.Color? buttonTitleColor,
+ _i4.Color? buttonTitleColor,
bool? barrierDismissible = false,
- _i4.DialogPlatform? dialogPlatform,
+ _i5.DialogPlatform? dialogPlatform,
}) =>
(super.noSuchMethod(
Invocation.method(
@@ -570,12 +582,12 @@ class MockDialogService extends _i1.Mock implements _i4.DialogService {
#dialogPlatform: dialogPlatform,
},
),
- returnValue: _i6.Future<_i4.DialogResponse?>.value(),
+ returnValue: _i7.Future<_i5.DialogResponse?>.value(),
returnValueForMissingStub:
- _i6.Future<_i4.DialogResponse?>.value(),
- ) as _i6.Future<_i4.DialogResponse?>);
+ _i7.Future<_i5.DialogResponse?>.value(),
+ ) as _i7.Future<_i5.DialogResponse?>);
@override
- _i6.Future<_i4.DialogResponse?> showCustomDialog({
+ _i7.Future<_i5.DialogResponse?> showCustomDialog({
dynamic variant,
String? title,
String? description,
@@ -588,7 +600,7 @@ class MockDialogService extends _i1.Mock implements _i4.DialogService {
bool? showIconInAdditionalButton = false,
String? additionalButtonTitle,
bool? takesInput = false,
- _i7.Color? barrierColor = const _i7.Color(2315255808),
+ _i4.Color? barrierColor = const _i4.Color(2315255808),
bool? barrierDismissible = false,
String? barrierLabel = r'',
bool? useSafeArea = true,
@@ -620,19 +632,19 @@ class MockDialogService extends _i1.Mock implements _i4.DialogService {
#data: data,
},
),
- returnValue: _i6.Future<_i4.DialogResponse?>.value(),
- returnValueForMissingStub: _i6.Future<_i4.DialogResponse?>.value(),
- ) as _i6.Future<_i4.DialogResponse?>);
+ returnValue: _i7.Future<_i5.DialogResponse?>.value(),
+ returnValueForMissingStub: _i7.Future<_i5.DialogResponse?>.value(),
+ ) as _i7.Future<_i5.DialogResponse?>);
@override
- _i6.Future<_i4.DialogResponse?> showConfirmationDialog({
+ _i7.Future<_i5.DialogResponse?> showConfirmationDialog({
String? title,
String? description,
String? cancelTitle = r'Cancel',
- _i7.Color? cancelTitleColor,
+ _i4.Color? cancelTitleColor,
String? confirmationTitle = r'Ok',
- _i7.Color? confirmationTitleColor,
+ _i4.Color? confirmationTitleColor,
bool? barrierDismissible = false,
- _i4.DialogPlatform? dialogPlatform,
+ _i5.DialogPlatform? dialogPlatform,
}) =>
(super.noSuchMethod(
Invocation.method(
@@ -649,12 +661,12 @@ class MockDialogService extends _i1.Mock implements _i4.DialogService {
#dialogPlatform: dialogPlatform,
},
),
- returnValue: _i6.Future<_i4.DialogResponse?>.value(),
+ returnValue: _i7.Future<_i5.DialogResponse?>.value(),
returnValueForMissingStub:
- _i6.Future<_i4.DialogResponse?>.value(),
- ) as _i6.Future<_i4.DialogResponse?>);
+ _i7.Future<_i5.DialogResponse?>.value(),
+ ) as _i7.Future<_i5.DialogResponse?>);
@override
- void completeDialog(_i4.DialogResponse? response) =>
+ void completeDialog(_i5.DialogResponse? response) =>
super.noSuchMethod(
Invocation.method(
#completeDialog,
@@ -723,61 +735,61 @@ class MockEventService extends _i1.Mock implements _i8.EventService {
class MockSecureStorageService extends _i1.Mock
implements _i10.SecureStorageService {
@override
- _i6.Future deleteAccessToken() => (super.noSuchMethod(
+ _i7.Future deleteAccessToken() => (super.noSuchMethod(
Invocation.method(
#deleteAccessToken,
[],
),
- returnValue: _i6.Future.value(),
- returnValueForMissingStub: _i6.Future.value(),
- ) as _i6.Future);
+ returnValue: _i7.Future.value(),
+ returnValueForMissingStub: _i7.Future.value(),
+ ) as _i7.Future);
@override
- _i6.Future deleteRefreshToken() => (super.noSuchMethod(
+ _i7.Future deleteRefreshToken() => (super.noSuchMethod(
Invocation.method(
#deleteRefreshToken,
[],
),
- returnValue: _i6.Future.value(),
- returnValueForMissingStub: _i6.Future.value(),
- ) as _i6.Future);
+ returnValue: _i7.Future.value(),
+ returnValueForMissingStub: _i7.Future.value(),
+ ) as _i7.Future);
@override
- _i6.Future readAccessToken() => (super.noSuchMethod(
+ _i7.Future readAccessToken() => (super.noSuchMethod(
Invocation.method(
#readAccessToken,
[],
),
- returnValue: _i6.Future.value(),
- returnValueForMissingStub: _i6.Future.value(),
- ) as _i6.Future);
+ returnValue: _i7.Future.value(),
+ returnValueForMissingStub: _i7.Future.value(),
+ ) as _i7.Future);
@override
- _i6.Future readRefreshToken() => (super.noSuchMethod(
+ _i7.Future readRefreshToken() => (super.noSuchMethod(
Invocation.method(
#readRefreshToken,
[],
),
- returnValue: _i6.Future.value(),
- returnValueForMissingStub: _i6.Future.value(),
- ) as _i6.Future);
+ returnValue: _i7.Future.value(),
+ returnValueForMissingStub: _i7.Future.value(),
+ ) as _i7.Future);
@override
- _i6.Future writeAccessToken({String? token}) => (super.noSuchMethod(
+ _i7.Future writeAccessToken({String? token}) => (super.noSuchMethod(
Invocation.method(
#writeAccessToken,
[],
{#token: token},
),
- returnValue: _i6.Future.value(),
- returnValueForMissingStub: _i6.Future.value(),
- ) as _i6.Future);
+ returnValue: _i7.Future.value(),
+ returnValueForMissingStub: _i7.Future.value(),
+ ) as _i7.Future);
@override
- _i6.Future writeRefreshToken({String? token}) => (super.noSuchMethod(
+ _i7.Future writeRefreshToken({String? token}) => (super.noSuchMethod(
Invocation.method(
#writeRefreshToken,
[],
{#token: token},
),
- returnValue: _i6.Future.value(),
- returnValueForMissingStub: _i6.Future.value(),
- ) as _i6.Future);
+ returnValue: _i7.Future.value(),
+ returnValueForMissingStub: _i7.Future.value(),
+ ) as _i7.Future);
}
/// A class which mocks [DioService].
@@ -785,7 +797,7 @@ class MockSecureStorageService extends _i1.Mock
/// See the documentation for Mockito's code generation for more information.
class MockDioService extends _i1.Mock implements _i11.DioService {
@override
- _i6.Future post({
+ _i7.Future post({
required String? path,
Map? data,
Map? queryParameters,
@@ -800,11 +812,11 @@ class MockDioService extends _i1.Mock implements _i11.DioService {
#queryParameters: queryParameters,
},
),
- returnValue: _i6.Future.value(),
- returnValueForMissingStub: _i6.Future.value(),
- ) as _i6.Future);
+ returnValue: _i7.Future.value(),
+ returnValueForMissingStub: _i7.Future.value(),
+ ) as _i7.Future);
@override
- _i6.Future get({
+ _i7.Future get({
required String? path,
Map? queryParameters,
}) =>
@@ -817,11 +829,11 @@ class MockDioService extends _i1.Mock implements _i11.DioService {
#queryParameters: queryParameters,
},
),
- returnValue: _i6.Future.value(),
- returnValueForMissingStub: _i6.Future.value(),
- ) as _i6.Future);
+ returnValue: _i7.Future.value(),
+ returnValueForMissingStub: _i7.Future.value(),
+ ) as _i7.Future);
@override
- _i6.Future put({
+ _i7.Future put({
required String? path,
Map? data,
Map? queryParameters,
@@ -836,11 +848,11 @@ class MockDioService extends _i1.Mock implements _i11.DioService {
#queryParameters: queryParameters,
},
),
- returnValue: _i6.Future.value(),
- returnValueForMissingStub: _i6.Future.value(),
- ) as _i6.Future);
+ returnValue: _i7.Future.value(),
+ returnValueForMissingStub: _i7.Future.value(),
+ ) as _i7.Future);
@override
- _i6.Future patch({
+ _i7.Future patch({
required String? path,
Map? data,
Map? queryParameters,
@@ -855,11 +867,11 @@ class MockDioService extends _i1.Mock implements _i11.DioService {
#queryParameters: queryParameters,
},
),
- returnValue: _i6.Future.value(),
- returnValueForMissingStub: _i6.Future.value(),
- ) as _i6.Future);
+ returnValue: _i7.Future.value(),
+ returnValueForMissingStub: _i7.Future.value(),
+ ) as _i7.Future);
@override
- _i6.Future delete({
+ _i7.Future delete({
required String? path,
Map? data,
Map? queryParameters,
@@ -874,9 +886,9 @@ class MockDioService extends _i1.Mock implements _i11.DioService {
#queryParameters: queryParameters,
},
),
- returnValue: _i6.Future.value(),
- returnValueForMissingStub: _i6.Future.value(),
- ) as _i6.Future);
+ returnValue: _i7.Future.value(),
+ returnValueForMissingStub: _i7.Future.value(),
+ ) as _i7.Future);
}
/// A class which mocks [AuthenticationService].
@@ -885,26 +897,26 @@ class MockDioService extends _i1.Mock implements _i11.DioService {
class MockAuthenticationService extends _i1.Mock
implements _i12.AuthenticationService {
@override
- _i6.Future<_i13.LoginResponse?> login({_i14.LoginModel? loginModel}) =>
+ _i7.Future<_i13.LoginResponse?> login({_i14.LoginModel? loginModel}) =>
(super.noSuchMethod(
Invocation.method(
#login,
[],
{#loginModel: loginModel},
),
- returnValue: _i6.Future<_i13.LoginResponse?>.value(),
- returnValueForMissingStub: _i6.Future<_i13.LoginResponse?>.value(),
- ) as _i6.Future<_i13.LoginResponse?>);
+ returnValue: _i7.Future<_i13.LoginResponse?>.value(),
+ returnValueForMissingStub: _i7.Future<_i13.LoginResponse?>.value(),
+ ) as _i7.Future<_i13.LoginResponse?>);
@override
- _i6.Future<_i15.User?> register(_i16.RegisterModel? registerModel) =>
+ _i7.Future<_i15.User?> register(_i16.RegisterModel? registerModel) =>
(super.noSuchMethod(
Invocation.method(
#register,
[registerModel],
),
- returnValue: _i6.Future<_i15.User?>.value(),
- returnValueForMissingStub: _i6.Future<_i15.User?>.value(),
- ) as _i6.Future<_i15.User?>);
+ returnValue: _i7.Future<_i15.User?>.value(),
+ returnValueForMissingStub: _i7.Future<_i15.User?>.value(),
+ ) as _i7.Future<_i15.User?>);
}
/// A class which mocks [DishService].
@@ -912,22 +924,22 @@ class MockAuthenticationService extends _i1.Mock
/// See the documentation for Mockito's code generation for more information.
class MockDishService extends _i1.Mock implements _i17.DishService {
@override
- _i6.Future createDish(_i18.CreateDishInfo? info) =>
+ _i7.Future createDish(_i18.CreateDishInfo? info) =>
(super.noSuchMethod(
Invocation.method(
#createDish,
[info],
),
- returnValue: _i6.Future.value(),
- returnValueForMissingStub: _i6.Future.value(),
- ) as _i6.Future);
+ returnValue: _i7.Future.value(),
+ returnValueForMissingStub: _i7.Future.value(),
+ ) as _i7.Future);
@override
- _i6.Future<_i2.RecipesResponseModel> getAllDishes() => (super.noSuchMethod(
+ _i7.Future<_i2.RecipesResponseModel> getAllDishes() => (super.noSuchMethod(
Invocation.method(
#getAllDishes,
[],
),
- returnValue: _i6.Future<_i2.RecipesResponseModel>.value(
+ returnValue: _i7.Future<_i2.RecipesResponseModel>.value(
_FakeRecipesResponseModel_0(
this,
Invocation.method(
@@ -935,7 +947,7 @@ class MockDishService extends _i1.Mock implements _i17.DishService {
[],
),
)),
- returnValueForMissingStub: _i6.Future<_i2.RecipesResponseModel>.value(
+ returnValueForMissingStub: _i7.Future<_i2.RecipesResponseModel>.value(
_FakeRecipesResponseModel_0(
this,
Invocation.method(
@@ -943,7 +955,30 @@ class MockDishService extends _i1.Mock implements _i17.DishService {
[],
),
)),
- ) as _i6.Future<_i2.RecipesResponseModel>);
+ ) as _i7.Future<_i2.RecipesResponseModel>);
+ @override
+ _i7.Future<_i2.RecipesResponseModel> getUserDishes() => (super.noSuchMethod(
+ Invocation.method(
+ #getUserDishes,
+ [],
+ ),
+ returnValue: _i7.Future<_i2.RecipesResponseModel>.value(
+ _FakeRecipesResponseModel_0(
+ this,
+ Invocation.method(
+ #getUserDishes,
+ [],
+ ),
+ )),
+ returnValueForMissingStub: _i7.Future<_i2.RecipesResponseModel>.value(
+ _FakeRecipesResponseModel_0(
+ this,
+ Invocation.method(
+ #getUserDishes,
+ [],
+ ),
+ )),
+ ) as _i7.Future<_i2.RecipesResponseModel>);
}
/// A class which mocks [DatabaseService].
@@ -971,41 +1006,41 @@ class MockDatabaseService extends _i1.Mock implements _i19.DatabaseService {
returnValueForMissingStub: null,
);
@override
- _i6.Future init() => (super.noSuchMethod(
+ _i7.Future init() => (super.noSuchMethod(
Invocation.method(
#init,
[],
),
- returnValue: _i6.Future.value(),
- returnValueForMissingStub: _i6.Future.value(),
- ) as _i6.Future);
+ returnValue: _i7.Future