Default Exercises Set for new User
This commit is contained in:
45
tests/default-exercises.spec.ts
Normal file
45
tests/default-exercises.spec.ts
Normal file
@@ -0,0 +1,45 @@
|
||||
import { test, expect } from './fixtures';
|
||||
import { request as playwrightRequest } from '@playwright/test';
|
||||
import path from 'path';
|
||||
import fs from 'fs';
|
||||
|
||||
test('Default Exercises Creation', async ({ createUniqueUser }) => {
|
||||
// 1. Create a user
|
||||
const user = await createUniqueUser();
|
||||
|
||||
// 2. Fetch exercises for the user
|
||||
// Create authenticated context
|
||||
const apiContext = await playwrightRequest.newContext({
|
||||
baseURL: 'http://127.0.0.1:3001',
|
||||
extraHTTPHeaders: {
|
||||
'Authorization': `Bearer ${user.token}`
|
||||
}
|
||||
});
|
||||
|
||||
const exercisesRes = await apiContext.get('/api/exercises');
|
||||
await expect(exercisesRes).toBeOK();
|
||||
const responseJson = await exercisesRes.json();
|
||||
console.log('DEBUG: Fetched exercises response:', JSON.stringify(responseJson, null, 2));
|
||||
const exercises = responseJson.data;
|
||||
|
||||
// 3. Verify default exercises are present
|
||||
// Checking a subset of influential exercises from the populated list
|
||||
const expectedNames = ['Bench Press', 'Squat', 'Deadlift', 'Push-Ups', 'Pull-Ups', 'Running', 'Plank', 'Handstand', 'Sprint', 'Bulgarian Split-Squats'];
|
||||
|
||||
for (const name of expectedNames) {
|
||||
const found = exercises.find((e: any) => e.name === name);
|
||||
expect(found, `Exercise ${name} should exist`).toBeDefined();
|
||||
}
|
||||
|
||||
// 4. Verify properties
|
||||
const dumbbellCurl = exercises.find((e: any) => e.name === 'Dumbbell Curl');
|
||||
expect(dumbbellCurl.isUnilateral).toBe(true);
|
||||
expect(dumbbellCurl.type).toBe('STRENGTH');
|
||||
|
||||
const handstand = exercises.find((e: any) => e.name === 'Handstand');
|
||||
expect(handstand.type).toBe('BODYWEIGHT');
|
||||
expect(handstand.bodyWeightPercentage).toBe(1.0);
|
||||
|
||||
const pushUps = exercises.find((e: any) => e.name === 'Push-Ups');
|
||||
expect(pushUps.bodyWeightPercentage).toBe(0.65);
|
||||
});
|
||||
Reference in New Issue
Block a user