session start works

This commit is contained in:
aodulov
2025-10-10 12:48:06 +03:00
parent 556df015e8
commit 3c192b136c
51 changed files with 29002 additions and 46 deletions

83
tests/e2e.md Normal file
View File

@@ -0,0 +1,83 @@
# End-to-End (E2E) Test Plan
**Feature**: Anonymous Desire Aggregator
**Date**: 2025-10-09
This document outlines the manual test plan for verifying the end-to-end functionality of the application.
## Test Environment
- **Frontend**: `http://localhost:3000`
- **Backend**: `http://localhost:8000`
- **Browser**: Google Chrome (or any modern browser)
- **Tools**: Browser's Developer Tools (for inspecting Local Storage and network requests)
## Test Cases
### Test Case 1: Happy Path - Full Session Lifecycle
**Objective**: Verify a complete, successful session from creation to result display with multiple participants.
**Steps**:
1. **Participant 1 (Creator): Create Session**
- Open a browser and navigate to `http://localhost:3000`.
- In the "Topic" field, enter "Team Lunch".
- In the "Number of Participants" field, enter "3".
- Click "Create Session".
- **Expected**: The user is redirected to a new URL (e.g., `/session/some-uuid`). The session ID should be visible in the URL.
- Copy the session URL.
2. **Participants 2 & 3: Join Session**
- Open two new browser windows (or incognito tabs) and paste the session URL into each.
- **Expected**: All three browser windows should now show the "Waiting for 3 more participants..." message, which should update as each new participant joins.
3. **All Participants: Submit Desires**
- **Participant 1**:
- Wants: "Pizza"
- Accepts: "Sushi", "Salad"
- No-Goes: "Burgers"
- Click "Submit".
- **Participant 2**:
- Wants: "Sushi"
- Accepts: "Pizza", "Tacos"
- No-Goes: "Salad"
- Click "Submit".
- **Participant 3**:
- Wants: "Pizza"
- Accepts: "Tacos"
- No-Goes: "Sushi"
- Click "Submit".
- **Expected**: As each participant submits, the "Waiting for..." message should update. After the final submission, the creator's view should show a button to "Analyze Desires".
4. **Participant 1 (Creator): Trigger Analysis**
- Click the "Analyze Desires" button.
- **Expected**: A loading indicator should appear. After a few moments, all three browser windows should display the same results.
5. **All Participants: Verify Results**
- **Expected Results (example)**:
- **Go-to**: "Pizza"
- **Also good**: "Tacos"
- **Considerable**: "Salad"
- **No-goes**: "Burgers", "Sushi"
- **Expected**: The "Considerable" section should be collapsed by default. Clicking it should expand to show the items.
### Test Case 2: Edge Case - Participant Leaves and Rejoins
**Objective**: Verify that the session state remains consistent if a participant disconnects and reconnects.
**Steps**:
1. Follow steps 1 and 2 from Test Case 1.
2. Close the browser window for Participant 2.
3. Re-open the session URL in a new window for Participant 2.
4. **Expected**: The session should still show 3 participants, and the "Waiting for..." message should be accurate. The session should proceed normally when all desires are submitted.
### Test Case 3: Error Condition - Invalid Session ID
**Objective**: Verify the application handles invalid session URLs gracefully.
**Steps**:
1. Navigate to a non-existent session URL (e.g., `http://localhost:3000/session/invalid-uuid`).
2. **Expected**: The user should be shown a "Session not found" error message and be redirected to the home page to create a new session.