Add missing user provider to make screenshot generation work again

This commit is contained in:
Roland Geider
2024-05-12 14:53:38 +02:00
parent 880d4a37f3
commit 9ff0eae355
4 changed files with 52 additions and 25 deletions

View File

@@ -5,10 +5,12 @@ import 'package:provider/provider.dart';
import 'package:wger/providers/body_weight.dart';
import 'package:wger/providers/measurement.dart';
import 'package:wger/providers/nutrition.dart';
import 'package:wger/providers/user.dart';
import 'package:wger/providers/workout_plans.dart';
import 'package:wger/screens/dashboard.dart';
import 'package:wger/theme/theme.dart';
import '../test/exercises/contribute_exercise_test.mocks.dart';
import '../test/measurements/measurement_categories_screen_test.mocks.dart';
import '../test/nutrition/nutritional_plan_form_test.mocks.dart';
import '../test/workout/weight_unit_form_widget_test.mocks.dart';
@@ -17,6 +19,7 @@ import '../test_data/body_weight.dart';
import '../test_data/exercises.dart';
import '../test_data/measurements.dart';
import '../test_data/nutritional_plans.dart';
import '../test_data/profile.dart';
import '../test_data/workouts.dart';
Widget createDashboardScreen({locale = 'en'}) {
@@ -42,13 +45,19 @@ Widget createDashboardScreen({locale = 'en'}) {
when(mockNutritionProvider.items).thenReturn([getNutritionalPlan()]);
final mockWeightProvider = MockBodyWeightProvider();
when(mockWeightProvider.items).thenReturn(getWeightEntries());
when(mockWeightProvider.items).thenReturn(getScreenshotWeightEntries());
final mockMeasurementProvider = MockMeasurementProvider();
when(mockMeasurementProvider.categories).thenReturn(getMeasurementCategories());
final mockUserProvider = MockUserProvider();
when(mockUserProvider.profile).thenReturn(tProfile1);
return MultiProvider(
providers: [
ChangeNotifierProvider<UserProvider>(
create: (context) => mockUserProvider,
),
ChangeNotifierProvider<WorkoutPlansProvider>(
create: (context) => mockWorkoutProvider,
),

View File

@@ -1,36 +1,34 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:mockito/mockito.dart';
import 'package:provider/provider.dart';
import 'package:wger/models/body_weight/weight_entry.dart';
import 'package:wger/providers/body_weight.dart';
import 'package:wger/providers/user.dart';
import 'package:wger/screens/form_screen.dart';
import 'package:wger/screens/weight_screen.dart';
import 'package:wger/theme/theme.dart';
import '../test/utils.dart';
import '../test/weight/weight_screen_test.mocks.dart';
import '../test_data/body_weight.dart';
import '../test_data/profile.dart';
Widget createWeightScreen({locale = 'en'}) {
final provider = BodyWeightProvider(mockBaseProvider);
provider.items = [
WeightEntry(id: 1, weight: 86, date: DateTime(2021, 01, 01)),
WeightEntry(id: 2, weight: 81, date: DateTime(2021, 01, 10)),
WeightEntry(id: 3, weight: 82, date: DateTime(2021, 01, 20)),
WeightEntry(id: 4, weight: 83, date: DateTime(2021, 01, 30)),
WeightEntry(id: 5, weight: 86, date: DateTime(2021, 02, 20)),
WeightEntry(id: 6, weight: 90, date: DateTime(2021, 02, 28)),
WeightEntry(id: 7, weight: 91, date: DateTime(2021, 03, 20)),
WeightEntry(id: 8, weight: 91.1, date: DateTime(2021, 03, 30)),
WeightEntry(id: 9, weight: 90, date: DateTime(2021, 05, 1)),
WeightEntry(id: 10, weight: 91, date: DateTime(2021, 6, 5)),
WeightEntry(id: 11, weight: 89, date: DateTime(2021, 6, 20)),
WeightEntry(id: 12, weight: 88, date: DateTime(2021, 7, 15)),
WeightEntry(id: 13, weight: 86, date: DateTime(2021, 7, 20)),
WeightEntry(id: 14, weight: 83, date: DateTime(2021, 7, 30)),
WeightEntry(id: 15, weight: 80, date: DateTime(2021, 8, 10))
];
final mockWeightProvider = BodyWeightProvider(mockBaseProvider);
mockWeightProvider.items = getScreenshotWeightEntries();
return ChangeNotifierProvider<BodyWeightProvider>(
create: (context) => provider,
final mockUserProvider = MockUserProvider();
when(mockUserProvider.profile).thenReturn(tProfile1);
return MultiProvider(
providers: [
ChangeNotifierProvider<UserProvider>(
create: (context) => mockUserProvider,
),
ChangeNotifierProvider<BodyWeightProvider>(
create: (context) => mockWeightProvider,
),
],
child: MaterialApp(
locale: Locale(locale),
debugShowCheckedModeBanner: false,

View File

@@ -37,15 +37,12 @@ const languages = [
// Note: it seems if too many languages are processed at once, some processes
// disappear and no images are written. Doing this in smaller steps works fine
/*
'ca',
'de-DE',
'el-GR',
'en-US',
'es-ES',
*/
/*
'fr-FR',
'hi-IN',
@@ -54,12 +51,15 @@ const languages = [
'pt-BR',
*/
/*
'nb-NO',
'pl-PL',
'ru-RU',
'tr-TR',
'uk',
'zh-CN'
*/
];
void main() {

View File

@@ -24,3 +24,23 @@ final testWeightEntry2 = WeightEntry(id: 2, weight: 81, date: DateTime(2021, 01,
List<WeightEntry> getWeightEntries() {
return [testWeightEntry1, testWeightEntry2];
}
List<WeightEntry> getScreenshotWeightEntries() {
return [
WeightEntry(id: 1, weight: 86, date: DateTime(2021, 01, 01)),
WeightEntry(id: 2, weight: 81, date: DateTime(2021, 01, 10)),
WeightEntry(id: 3, weight: 82, date: DateTime(2021, 01, 20)),
WeightEntry(id: 4, weight: 83, date: DateTime(2021, 01, 30)),
WeightEntry(id: 5, weight: 86, date: DateTime(2021, 02, 20)),
WeightEntry(id: 6, weight: 90, date: DateTime(2021, 02, 28)),
WeightEntry(id: 7, weight: 91, date: DateTime(2021, 03, 20)),
WeightEntry(id: 8, weight: 91.1, date: DateTime(2021, 03, 30)),
WeightEntry(id: 9, weight: 90, date: DateTime(2021, 05, 1)),
WeightEntry(id: 10, weight: 91, date: DateTime(2021, 6, 5)),
WeightEntry(id: 11, weight: 89, date: DateTime(2021, 6, 20)),
WeightEntry(id: 12, weight: 88, date: DateTime(2021, 7, 15)),
WeightEntry(id: 13, weight: 86, date: DateTime(2021, 7, 20)),
WeightEntry(id: 14, weight: 83, date: DateTime(2021, 7, 30)),
WeightEntry(id: 15, weight: 80, date: DateTime(2021, 8, 10)),
];
}