Empty Reps field defaults to 1
This commit is contained in:
File diff suppressed because one or more lines are too long
BIN
server/test.db
BIN
server/test.db
Binary file not shown.
@@ -71,11 +71,11 @@ export const useWorkoutForm = ({ userId, onSetAdded, onUpdateSet }: UseWorkoutFo
|
||||
switch (selectedExercise.type) {
|
||||
case ExerciseType.STRENGTH:
|
||||
if (weight) setData.weight = parseFloat(weight);
|
||||
if (reps) setData.reps = parseInt(reps);
|
||||
setData.reps = reps ? parseInt(reps) : 1;
|
||||
break;
|
||||
case ExerciseType.BODYWEIGHT:
|
||||
if (weight) setData.weight = parseFloat(weight);
|
||||
if (reps) setData.reps = parseInt(reps);
|
||||
setData.reps = reps ? parseInt(reps) : 1;
|
||||
setData.bodyWeightPercentage = parseFloat(bwPercentage) || 100;
|
||||
break;
|
||||
case ExerciseType.CARDIO:
|
||||
@@ -93,7 +93,7 @@ export const useWorkoutForm = ({ userId, onSetAdded, onUpdateSet }: UseWorkoutFo
|
||||
if (distance) setData.distanceMeters = parseFloat(distance);
|
||||
break;
|
||||
case ExerciseType.PLYOMETRIC:
|
||||
if (reps) setData.reps = parseInt(reps);
|
||||
setData.reps = reps ? parseInt(reps) : 1;
|
||||
break;
|
||||
}
|
||||
return setData;
|
||||
|
||||
@@ -482,4 +482,26 @@ test.describe('III. Workout Tracking', () => {
|
||||
|
||||
|
||||
|
||||
test('3.16 C. Active Session - Log Set with Default Reps', async ({ page, createUniqueUser, request }) => {
|
||||
const user = await loginAndSetup(page, createUniqueUser);
|
||||
|
||||
const exName = 'Default Reps ' + randomUUID().slice(0, 4);
|
||||
await request.post('/api/exercises', {
|
||||
data: { name: exName, type: 'STRENGTH' },
|
||||
headers: { 'Authorization': `Bearer ${user.token}` }
|
||||
});
|
||||
|
||||
await page.getByRole('button', { name: /Free Workout|Start Empty/i }).click();
|
||||
await page.getByRole('textbox', { name: /Select Exercise/i }).click();
|
||||
await page.getByText(exName).click();
|
||||
|
||||
await page.getByLabel('Weight (kg)').first().fill('50');
|
||||
// Reps left empty intentionally
|
||||
|
||||
await page.getByRole('button', { name: /Log Set/i }).click();
|
||||
|
||||
// Verify it logged as 1 rep
|
||||
await expect(page.getByText('50 kg x 1 reps')).toBeVisible();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user