fix(exercice): sélection d'un score par défaut à 0 impossible (ticket #71)

Corrige la contrainte CHECK sur la table exercises (tables.dart) qui
empêchait à tort une valeur de score par défaut à 0, et ajoute la
migration Drift schemaVersion 12→13 reconstruisant la table avec la
contrainte corrigée (app_database.dart). build_runner OK, test de
régression ajouté.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-20 07:50:26 +02:00
parent 871ac95298
commit ef2c3ffffd
3 changed files with 131 additions and 2 deletions

View File

@ -79,6 +79,25 @@ void main() {
expect(changes.every((change) => change.entityType == 'Exercise'), isTrue);
});
test('exercise repository accepts zero manual default score', () async {
final exercise = Exercise(
metadata: _metadata('exercise-score-zero', DateTime.utc(2026, 7, 17, 12)),
name: 'Score nul',
hasTimeMeasure: false,
hasRepsMeasure: false,
hasScoreMeasure: true,
scoreLabel: 'Score',
scoreUnit: 'pts',
defaultTargetScore: 0,
);
await exerciseRepository.save(exercise);
final restored = await exerciseRepository.findById(exercise.metadata.id);
expect(restored, isNotNull);
expect(restored!.defaultTargetScore, 0);
});
test('exercise repository round-trips configured steps', () async {
final now = DateTime.utc(2026, 7, 17, 12);
final exercise = Exercise(