fix(watch): finalise correctif sync workoutHistory/exercise et distance live montre (#157)
This commit is contained in:
@ -377,6 +377,43 @@ void main() {
|
||||
expect(env.repository.stepResults.last.actualScore, 0);
|
||||
});
|
||||
|
||||
test('projects reps target for independent step manual score', () async {
|
||||
final session = _session(
|
||||
steps: [
|
||||
_step(
|
||||
type: ExerciseStepType.reps,
|
||||
defaultTargetValue: 10,
|
||||
hasScore: true,
|
||||
defaultTargetScore: 8,
|
||||
),
|
||||
],
|
||||
);
|
||||
final repository = _FakeActiveSessionRepository()..session = session;
|
||||
repository.stepProgressStates['step-state'] = _stepState(
|
||||
sessionId: session.metadata.id,
|
||||
);
|
||||
final projectionUseCases = WatchCompanionProjectionUseCases(
|
||||
sessionRepository: repository,
|
||||
clock: _FakeClock(_now),
|
||||
ids: _FakeIds(),
|
||||
originDeviceId: 'device-1',
|
||||
);
|
||||
|
||||
final projection = await projectionUseCases.emitCurrentProjection();
|
||||
|
||||
expect(projection.hasManualScore, isTrue);
|
||||
expect(projection.manualScoreScope, WatchManualScoreScope.step);
|
||||
expect(projection.manualScoreRepsTargetValue, 10);
|
||||
expect(projection.manualScoreTargetValue, 8);
|
||||
expect(projection.manualScoreTargetLabel, 'Cible');
|
||||
expect(
|
||||
projection.expiresAtEpochMs - projection.projectedAtEpochMs,
|
||||
const Duration(seconds: 12).inMilliseconds,
|
||||
);
|
||||
|
||||
await projectionUseCases.dispose();
|
||||
});
|
||||
|
||||
test('decrementScore at zero is accepted no-op', () async {
|
||||
final env = _env(
|
||||
session: _session(scoreEnabled: true),
|
||||
@ -740,6 +777,7 @@ final class _FakeProjectionSource implements WatchProjectionSource {
|
||||
deviceSessionId: projection.deviceSessionId,
|
||||
revision: projection.revision + 1,
|
||||
projectedAtEpochMs: projection.projectedAtEpochMs,
|
||||
expiresAtEpochMs: projection.expiresAtEpochMs,
|
||||
phase: projection.phase,
|
||||
phoneReachable: projection.phoneReachable,
|
||||
seriesIndex: projection.seriesIndex,
|
||||
@ -752,6 +790,9 @@ final class _FakeProjectionSource implements WatchProjectionSource {
|
||||
hasManualScore: projection.hasManualScore,
|
||||
currentManualScoreValue: projection.currentManualScoreValue,
|
||||
canDecrementScore: projection.canDecrementScore,
|
||||
manualScoreTargetValue: projection.manualScoreTargetValue,
|
||||
manualScoreTargetLabel: projection.manualScoreTargetLabel,
|
||||
manualScoreRepsTargetValue: projection.manualScoreRepsTargetValue,
|
||||
manualScoreScope: projection.manualScoreScope,
|
||||
);
|
||||
return projection;
|
||||
|
||||
Reference in New Issue
Block a user