diff --git a/specs/gymflow-test-plan.md b/specs/gymflow-test-plan.md index 2051097..661d0d7 100644 --- a/specs/gymflow-test-plan.md +++ b/specs/gymflow-test-plan.md @@ -971,6 +971,22 @@ Comprehensive test plan for the GymFlow web application, covering authentication - The user is permanently removed from the system. - The user no longer appears in the user list. + +#### 5.13. A. Default Exercises - Creation on Signup + +**File:** `tests/default-exercises.spec.ts` + +**Steps:** + 1. Register a NEW user via API or UI. + 2. Log in as that user. + 3. Navigate to Profile -> Exercise Manager (or query API). + 4. Verify the list of exercises. + +**Expected Results:** + - The user has a pre-populated list of exercises (e.g., Push-Ups, Squats, Sprint). + - The exercises match the configuration in `server/default_exercises.csv`. + - Properties like `type` and `isUnilateral` are correctly set. + ### 6. VI. User Interface & Experience **Seed:** `tests/ui-ux.spec.ts` diff --git a/specs/requirements.md b/specs/requirements.md index 8b74ee7..1916058 100644 --- a/specs/requirements.md +++ b/specs/requirements.md @@ -42,6 +42,16 @@ The system relies on JWT-based authentication. * Dates are handled as ISO strings or timestamps. ### 3.2. Workout Management (Plans) + +* **3.1.5 Default Exercises (Seeding)** + * **Concept**: New users are initialized with a set of default exercises. + * **Configuration**: + * The file path is defined by `DEFAULT_EXERCISES_CSV_PATH` in `.env`. + * Format: CSV (`name`, `type`, `bodyWeightPercentage`, `isUnilateral`). + * **Logic**: + * Upon successful registration (3.1.2), the system reads the CSV. + * It creates `Exercise` records in the DB linked to the new user. + * Failure to read/parse the CSV is non-blocking (logs an error but allows user creation). Users can structure their training via Plans. * **3.2.1 Plan Creation/Editing**