feat(exécution): clarifie Durée et Temps réalisé, renomme Durée par défaut (s)
Sépare la notion de Durée (paramètre configuré) de Temps réalisé (résultat mesuré au chronomètre), renomme le champ « Temps par défaut (s) » en « Durée par défaut (s) » dans la bibliothèque d'exercices, et limite l'exécution à un seul chrono visible à la fois. Le mode Score chrono est conservé tel quel comme mode du score. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@ -1532,6 +1532,53 @@ void main() {
|
||||
},
|
||||
);
|
||||
|
||||
test(
|
||||
'active set result persists duration and stopwatch score separately',
|
||||
() async {
|
||||
final now = DateTime.utc(2026, 7, 17, 12);
|
||||
await activeRepository.save(
|
||||
ActiveWorkoutSession(
|
||||
metadata: _metadata('session-chrono', now),
|
||||
status: ActiveWorkoutStatus.running,
|
||||
startedAt: now,
|
||||
lastPersistedAt: now,
|
||||
elapsedActiveMs: 0,
|
||||
currentProgramIndex: 0,
|
||||
currentExerciseIndex: 0,
|
||||
currentSetIndex: 0,
|
||||
resolvedTemplateSnapshotJson: _resolvedSnapshot(),
|
||||
),
|
||||
);
|
||||
await activeRepository.saveSetResult(
|
||||
ActiveSetResult(
|
||||
metadata: _metadata('active-result-chrono', now),
|
||||
activeWorkoutSessionId: 'session-chrono',
|
||||
programSnapshotId: 'program-snapshot-1',
|
||||
exerciseSnapshotId: 'exercise-snapshot-1',
|
||||
programIndex: 0,
|
||||
exerciseIndex: 0,
|
||||
setIndex: 0,
|
||||
actualTimeMs: 30000,
|
||||
actualScoreTimeMs: 12000,
|
||||
scoreInputModeSnapshot: ScoreInputMode.stopwatch,
|
||||
completedAt: now,
|
||||
),
|
||||
);
|
||||
|
||||
final afterAppKillRepository = local.DriftActiveSessionRepository(
|
||||
database,
|
||||
);
|
||||
final restored = await afterAppKillRepository.listSetResults(
|
||||
'session-chrono',
|
||||
);
|
||||
|
||||
expect(restored, hasLength(1));
|
||||
expect(restored.single.actualTimeMs, 30000);
|
||||
expect(restored.single.actualScoreTimeMs, 12000);
|
||||
expect(restored.single.scoreInputModeSnapshot, ScoreInputMode.stopwatch);
|
||||
},
|
||||
);
|
||||
|
||||
test(
|
||||
'closing a session stores autonomous history rows with set snapshots',
|
||||
() async {
|
||||
|
||||
Reference in New Issue
Block a user