fix tests

This commit is contained in:
Dieter Plaetinck
2025-06-28 17:01:22 +02:00
parent 650ef38c70
commit 20713ee6fc
3 changed files with 44 additions and 20 deletions

View File

@@ -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)));

View File

@@ -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<NutritionPlansProvider>(
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<NutritionPlansProvider>(
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<BodyWeightProvider>(
create: (context) => BodyWeightProvider(mockBaseProvider),
),
ChangeNotifierProvider<UserProvider>(
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,

View File

@@ -214,6 +214,7 @@ NutritionalPlan getNutritionalPlanScreenshot() {
id: 1,
description: 'Diet',
creationDate: DateTime(2021, 5, 23),
startDate: DateTime(2021, 5, 23),
meals: [meal1, meal2],
);