diff --git a/test/nutrition/nutritional_plan_form_test.dart b/test/nutrition/nutritional_plan_form_test.dart index 9511c3f4..2fc96495 100644 --- a/test/nutrition/nutritional_plan_form_test.dart +++ b/test/nutrition/nutritional_plan_form_test.dart @@ -71,7 +71,7 @@ void main() { await tester.pumpWidget(createHomeScreen(plan1)); await tester.pumpAndSettle(); - expect(find.byType(TextFormField), findsOneWidget); + expect(find.byType(TextFormField), findsNWidgets(3)); expect(find.byType(ElevatedButton), findsOneWidget); expect(find.byKey(const Key(SUBMIT_BUTTON_KEY_NAME)), findsOneWidget); }); @@ -110,7 +110,9 @@ void main() { await tester.pumpWidget(createHomeScreen(plan2)); await tester.pumpAndSettle(); - expect(find.text(''), findsOneWidget, reason: 'New nutritional plan has no description'); + expect(find.text(''), findsNWidgets(2), + reason: 'New nutritional plan needs description, and end date'); + // there's also the start date, but it will have a value depending on 'now' await tester.enterText(find.byKey(const Key('field-description')), 'New cool plan'); await tester.tap(find.byKey(const Key(SUBMIT_BUTTON_KEY_NAME))); diff --git a/test/nutrition/nutritional_plans_screen_test.dart b/test/nutrition/nutritional_plans_screen_test.dart index 436d8dc2..610e5a66 100644 --- a/test/nutrition/nutritional_plans_screen_test.dart +++ b/test/nutrition/nutritional_plans_screen_test.dart @@ -26,9 +26,12 @@ import 'package:provider/provider.dart'; import 'package:wger/database/ingredients/ingredients_database.dart'; import 'package:wger/l10n/generated/app_localizations.dart'; import 'package:wger/models/nutrition/nutritional_plan.dart'; +import 'package:wger/models/user/profile.dart'; import 'package:wger/providers/auth.dart'; import 'package:wger/providers/base_provider.dart'; +import 'package:wger/providers/body_weight.dart'; import 'package:wger/providers/nutrition.dart'; +import 'package:wger/providers/user.dart'; import 'package:wger/screens/form_screen.dart'; import 'package:wger/screens/nutritional_plans_screen.dart'; import 'package:wger/widgets/nutrition/forms.dart'; @@ -62,25 +65,43 @@ void main() { when(mockAuthProvider.serverUrl).thenReturn('http://localhost'); when(mockAuthProvider.getAppNameHeader()).thenReturn('wger app'); - return ChangeNotifierProvider( - create: (context) => NutritionPlansProvider( - mockBaseProvider, - [ - NutritionalPlan( - id: 1, - description: 'test plan 1', - creationDate: DateTime(2021, 01, 01), - startDate: DateTime(2021, 01, 01), + return MultiProvider( + providers: [ + ChangeNotifierProvider( + create: (context) => NutritionPlansProvider( + mockBaseProvider, + [ + NutritionalPlan( + id: 1, + description: 'test plan 1', + creationDate: DateTime(2021, 01, 01), + startDate: DateTime(2021, 01, 01), + ), + NutritionalPlan( + id: 2, + description: 'test plan 2', + creationDate: DateTime(2021, 01, 10), + startDate: DateTime(2021, 01, 10), + ), + ], + database: database, ), - NutritionalPlan( - id: 2, - description: 'test plan 2', - creationDate: DateTime(2021, 01, 10), - startDate: DateTime(2021, 01, 10), - ), - ], - database: database, - ), + ), + ChangeNotifierProvider( + create: (context) => BodyWeightProvider(mockBaseProvider), + ), + ChangeNotifierProvider( + create: (context) => UserProvider( + mockBaseProvider, + )..profile = Profile( + username: 'test', + emailVerified: true, + isTrustworthy: true, + email: 'test@example.com', + weightUnitStr: 'kg', + ), + ), + ], child: MaterialApp( locale: Locale(locale), localizationsDelegates: AppLocalizations.localizationsDelegates, diff --git a/test_data/nutritional_plans.dart b/test_data/nutritional_plans.dart index 1132d4de..a4fbaa21 100644 --- a/test_data/nutritional_plans.dart +++ b/test_data/nutritional_plans.dart @@ -214,6 +214,7 @@ NutritionalPlan getNutritionalPlanScreenshot() { id: 1, description: 'Diet', creationDate: DateTime(2021, 5, 23), + startDate: DateTime(2021, 5, 23), meals: [meal1, meal2], );