feat(ui): programme simplifié en cartes compactes (ticket #20)
Simplifie l'affichage du programme sur program_screen.dart avec des cartes compactes. flutter analyze propre, 30/30 tests verts, build APK debug validé. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@ -8,6 +8,7 @@ void main() {
|
||||
testWidgets(
|
||||
'ajoute un exercice au programme avec sa configuration par défaut',
|
||||
(tester) async {
|
||||
final programRepository = _FakeProgramRepository();
|
||||
final exerciseRepository = _FakeExerciseRepository()
|
||||
..exercises.add(
|
||||
Exercise(
|
||||
@ -23,7 +24,7 @@ void main() {
|
||||
MaterialApp(
|
||||
home: ProgramFormScreen(
|
||||
programUseCases: _programUseCases(
|
||||
_FakeProgramRepository(),
|
||||
programRepository,
|
||||
exerciseRepository,
|
||||
),
|
||||
exerciseUseCases: _exerciseUseCases(exerciseRepository),
|
||||
@ -31,21 +32,30 @@ void main() {
|
||||
),
|
||||
);
|
||||
|
||||
await tester.enterText(
|
||||
find.widgetWithText(TextFormField, 'Nom'),
|
||||
'Jambes',
|
||||
);
|
||||
await tester.tap(find.text('Ajouter un exercice'));
|
||||
await tester.pumpAndSettle();
|
||||
await tester.tap(find.text('Squat'));
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
expect(find.text('Squat'), findsOneWidget);
|
||||
expect(
|
||||
find.text('3 séries · Temps + Répétitions · Repos 60 s'),
|
||||
findsOneWidget,
|
||||
);
|
||||
expect(find.widgetWithText(CheckboxListTile, 'Temps'), findsOneWidget);
|
||||
expect(
|
||||
find.widgetWithText(CheckboxListTile, 'Répétitions'),
|
||||
findsOneWidget,
|
||||
);
|
||||
expect(find.text('Repos 60 s'), findsOneWidget);
|
||||
expect(find.text('Exercice ajouté'), findsOneWidget);
|
||||
expect(find.byTooltip("Personnaliser l'exercice"), findsOneWidget);
|
||||
expect(find.byType(CheckboxListTile), findsNothing);
|
||||
|
||||
await tester.tap(find.text('Enregistrer'));
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
final savedExercise = programRepository.programs.single.exercises.single;
|
||||
expect(savedExercise.setsCount, 3);
|
||||
expect(savedExercise.timeEnabled, isTrue);
|
||||
expect(savedExercise.repsEnabled, isTrue);
|
||||
expect(savedExercise.scoreEnabled, isFalse);
|
||||
expect(savedExercise.restSecondsOverride, 60);
|
||||
},
|
||||
);
|
||||
|
||||
@ -80,12 +90,16 @@ void main() {
|
||||
await tester.tap(find.text('Pompes'));
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
await tester.tap(find.byTooltip("Personnaliser l'exercice"));
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
expect(find.text("Personnaliser l'exercice"), findsOneWidget);
|
||||
expect(
|
||||
find.widgetWithText(CheckboxListTile, 'Répétitions'),
|
||||
find.widgetWithText(SwitchListTile, 'Répétitions'),
|
||||
findsOneWidget,
|
||||
);
|
||||
expect(find.widgetWithText(CheckboxListTile, 'Temps'), findsNothing);
|
||||
expect(find.widgetWithText(CheckboxListTile, 'Score'), findsNothing);
|
||||
expect(find.widgetWithText(SwitchListTile, 'Temps'), findsNothing);
|
||||
expect(find.widgetWithText(SwitchListTile, 'Score'), findsNothing);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user