Files
flutter/integration_test/2_workout.dart
Roland Geider 18b6903513 Create more and more realistic screenshots for the app store
Now these test use the regular test data, which has been updated and is used in
the rest of the tests as well.
2022-11-24 11:24:09 +01:00

44 lines
1.4 KiB
Dart

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/providers/workout_plans.dart';
import 'package:wger/screens/workout_plan_screen.dart';
import 'package:wger/theme/theme.dart';
import '../test/workout/workout_form_test.mocks.dart';
import '../test_data/workouts.dart';
Widget createWorkoutDetailScreen({locale = 'en'}) {
final key = GlobalKey<NavigatorState>();
final mockWorkoutProvider = MockWorkoutPlansProvider();
final workout = getWorkout();
when(mockWorkoutProvider.activePlan).thenReturn(workout);
when(mockWorkoutProvider.fetchAndSetWorkoutPlanFull(1)).thenAnswer((_) => Future.value(workout));
return MultiProvider(
providers: [
ChangeNotifierProvider<WorkoutPlansProvider>(
create: (context) => mockWorkoutProvider,
),
],
child: MaterialApp(
locale: Locale(locale),
localizationsDelegates: AppLocalizations.localizationsDelegates,
supportedLocales: AppLocalizations.supportedLocales,
theme: wgerTheme,
navigatorKey: key,
home: TextButton(
onPressed: () => key.currentState!.push(
MaterialPageRoute<void>(
settings: RouteSettings(arguments: getWorkout()),
builder: (_) => WorkoutPlanScreen(),
),
),
child: const SizedBox(),
),
),
);
}