feat(core): consolide le chainage type metier d'exercice -> strategie Health Services -> payload montre -> consommation Kotlin
Finalise #183 : modele/persistance des types metier d'exercice, mapping vers la strategie Health Services, propagation du payload dans le contrat watch bridge et consommation cote Kotlin montre. Perimetre complet QA vert. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@ -227,6 +227,11 @@ void main() {
|
||||
manualScoreTargetLabel: 'Cible',
|
||||
manualScoreRepsTargetValue: 12,
|
||||
manualScoreScope: WatchManualScoreScope.step,
|
||||
healthServicesExerciseTypeStrategy: const [
|
||||
'RUNNING',
|
||||
'HIGH_INTENSITY_INTERVAL_TRAINING',
|
||||
'WORKOUT',
|
||||
],
|
||||
);
|
||||
|
||||
final decoded = WatchSessionProjection.fromJson(
|
||||
@ -274,6 +279,7 @@ void main() {
|
||||
expect(projection.manualScoreTargetLabel, isNull);
|
||||
expect(projection.manualScoreRepsTargetValue, isNull);
|
||||
expect(projection.manualScoreScope, isNull);
|
||||
expect(projection.healthServicesExerciseTypeStrategy, isEmpty);
|
||||
});
|
||||
|
||||
test('falls back to neutral values for absent required fields', () {
|
||||
@ -300,6 +306,7 @@ void main() {
|
||||
expect(projection.manualScoreTargetLabel, isNull);
|
||||
expect(projection.manualScoreRepsTargetValue, isNull);
|
||||
expect(projection.manualScoreScope, isNull);
|
||||
expect(projection.healthServicesExerciseTypeStrategy, isEmpty);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user