177 lines
7.9 KiB
Markdown
177 lines
7.9 KiB
Markdown
# Unisono Application - Comprehensive Test Plan
|
|
|
|
## Application Overview
|
|
|
|
The Unisono application facilitates harmonizing desires among participants through real-time collaboration. Users can create sessions, define a topic and optional details, specify the number of expected responses, and then share a link for others to join. The application uses a passphrase for authentication.
|
|
|
|
## Test Scenarios
|
|
|
|
### 1. Authentication
|
|
|
|
#### 1.1 Successful Login with Valid Passphrase
|
|
**Steps:**
|
|
1. Navigate to the application URL (e.g., `https://unisono.aglink.duckdns.org`).
|
|
2. On the login page, enter the valid `AUTH_PASSPHRASE` into the "Passphrase" textbox.
|
|
3. Click the "Enter" button.
|
|
|
|
**Expected Results:**
|
|
- The user is redirected to a new session creation page (e.g., `/session/<session-id>`).
|
|
- The "Harmonize Desires" heading is visible.
|
|
- The session creation form (Topic, Details, Number of Expected Responses, Start Session button) is displayed.
|
|
|
|
#### 1.2 Unsuccessful Login with Invalid Passphrase
|
|
**Steps:**
|
|
1. Navigate to the application URL (e.g., `https://unisono.aglink.duckdns.org`).
|
|
2. On the login page, enter an invalid passphrase (e.g., "incorrect-passphrase") into the "Passphrase" textbox.
|
|
3. Click the "Enter" button.
|
|
|
|
**Expected Results:**
|
|
- An error message indicating invalid credentials is displayed.
|
|
- The user remains on the login page.
|
|
|
|
### 2. Session Creation
|
|
|
|
#### 2.1 Create Session with Valid Data
|
|
**Steps:**
|
|
1. Ensure the user is logged in and on the session creation page.
|
|
2. Enter a valid topic (e.g., "Project Alpha Planning") into the "Topic" textbox.
|
|
3. Enter optional details (e.g., "Discuss Q4 goals and allocate resources") into the "Details (Optional)" textbox.
|
|
4. Enter a valid number of participants (e.g., "3") into the "Number of Expected Responses" spinbutton.
|
|
5. Click the "Start Session" button.
|
|
|
|
**Expected Results:**
|
|
- A new session is created.
|
|
- The user is redirected to the active session page.
|
|
- The session details (Topic, Details, Number of Expected Responses) are displayed correctly.
|
|
- A "Copy Link" button is visible.
|
|
|
|
#### 2.2 Attempt to Create Session with Missing Topic
|
|
**Steps:**
|
|
1. Ensure the user is logged in and on the session creation page.
|
|
2. Leave the "Topic" textbox empty.
|
|
3. Enter optional details (e.g., "Discuss Q4 goals and allocate resources") into the "Details (Optional)" textbox.
|
|
4. Enter a valid number of participants (e.g., "3") into the "Number of Expected Responses" spinbutton.
|
|
5. Click the "Start Session" button.
|
|
|
|
**Expected Results:**
|
|
- An error message indicating that the "Topic" field is required is displayed.
|
|
- The session is not created, and the user remains on the session creation page.
|
|
|
|
#### 2.3 Attempt to Create Session with Invalid Number of Participants (Less than 2)
|
|
**Steps:**
|
|
1. Ensure the user is logged in and on the session creation page.
|
|
2. Enter a valid topic (e.g., "Project Alpha Planning") into the "Topic" textbox.
|
|
3. Enter optional details (e.g., "Discuss Q4 goals and allocate resources") into the "Details (Optional)" textbox.
|
|
4. Enter "1" into the "Number of Expected Responses" spinbutton.
|
|
5. Click the "Start Session" button.
|
|
|
|
**Expected Results:**
|
|
- An error message indicating that the number of participants must be at least 2 is displayed.
|
|
- The session is not created, and the user remains on the session creation page.
|
|
|
|
#### 2.4 Attempt to Create Session with Invalid Number of Participants (More than 12)
|
|
**Steps:**
|
|
1. Ensure the user is logged in and on the session creation page.
|
|
2. Enter a valid topic (e.g., "Project Alpha Planning") into the "Topic" textbox.
|
|
3. Enter optional details (e.g., "Discuss Q4 goals and allocate resources") into the "Details (Optional)" textbox.
|
|
4. Enter "13" into the "Number of Expected Responses" spinbutton.
|
|
5. Click the "Start Session" button.
|
|
|
|
**Expected Results:**
|
|
- An error message indicating that the number of participants cannot exceed 12 is displayed.
|
|
- The session is not created, and the user remains on the session creation page.
|
|
|
|
### 3. Copy Link Feature
|
|
|
|
#### 3.1 Verify Copy Link Button Functionality
|
|
**Steps:**
|
|
1. Ensure a session has been successfully created and the user is on the active session page.
|
|
2. Click the "Copy Link" button.
|
|
|
|
**Expected Results:**
|
|
- A success message (e.g., "Link copied to clipboard!") is displayed.
|
|
- The session URL is copied to the clipboard.
|
|
|
|
### 4. Submit Desires Functionality
|
|
|
|
#### 4.1 Single User - Submit All Desire Categories
|
|
**Steps:**
|
|
1. Ensure a session is created and the user is on the active session page.
|
|
2. Enter items into "What You Want" textbox (e.g., "Item A\nItem B").
|
|
3. Enter items into "Afraid to Ask (Private)" textbox (e.g., "Secret Item").
|
|
4. Enter items into "What You Accept" textbox (e.g., "Acceptable Item").
|
|
5. Enter items into "What You Do Not Want" textbox (e.g., "Unwanted Item").
|
|
6. Click the "Submit Desires" button.
|
|
|
|
**Expected Results:**
|
|
- A success message indicating desires have been submitted is displayed.
|
|
- The input fields are cleared or disabled.
|
|
- The page transitions to a "Waiting for other participants" or similar state if `Expected Responses` > 1.
|
|
|
|
#### 4.2 Multi-User - All Participants Submit Desires
|
|
**Steps:**
|
|
1. Create a session with `Number of Expected Responses` set to 2.
|
|
2. Copy the session link.
|
|
3. **User 1:**
|
|
a. Enter desires into all categories.
|
|
b. Click "Submit Desires".
|
|
4. **User 2 (in a new browser context/page):**
|
|
a. Navigate to the copied session link.
|
|
b. Enter desires into all categories.
|
|
c. Click "Submit Desires".
|
|
|
|
**Expected Results:**
|
|
- After User 1 submits, their page shows a "Waiting for other participants" message.
|
|
- After User 2 submits, both User 1 and User 2's pages transition to the "Results Display" page.
|
|
- The "Results Display" page shows a summary of all submitted desires, categorized and potentially aggregated.
|
|
- Private desires are not visible to other users.
|
|
|
|
#### 4.3 Single User - Submit Only "What You Want"
|
|
**Steps:**
|
|
1. Ensure a session is created and the user is on the active session page.
|
|
2. Enter items into "What You Want" textbox (e.g., "Only Want This").
|
|
3. Leave other desire fields empty.
|
|
4. Click the "Submit Desires" button.
|
|
|
|
**Expected Results:**
|
|
- Desires are submitted successfully.
|
|
- The page transitions to a "Waiting for other participants" or similar state.
|
|
|
|
#### 4.4 Multi-User - Different Desire Submissions
|
|
**Steps:**
|
|
1. Create a session with `Number of Expected Responses` set to 2.
|
|
2. Copy the session link.
|
|
3. **User 1:**
|
|
a. Enter items into "What You Want" (e.g., "User1 Want A").
|
|
b. Enter items into "What You Do Not Want" (e.g., "User1 Not Want B").
|
|
c. Click "Submit Desires".
|
|
4. **User 2 (in a new browser context/page):**
|
|
a. Navigate to the copied session link.
|
|
b. Enter items into "What You Want" (e.g., "User2 Want C").
|
|
c. Enter items into "What You Accept" (e.g., "User2 Accept D").
|
|
d. Click "Submit Desires".
|
|
|
|
**Expected Results:**
|
|
- Both users' pages transition to the "Results Display" page.
|
|
- The "Results Display" page accurately reflects the combined desires from both users, with correct categorization.
|
|
|
|
### 5. Results Display Functionality
|
|
|
|
#### 5.1 Verify Results Display After All Submissions
|
|
**Steps:**
|
|
1. Follow steps for "4.2 Multi-User - All Participants Submit Desires" to reach the results page.
|
|
|
|
**Expected Results:**
|
|
- The "Results Display" page is visible.
|
|
- All submitted desires (excluding private ones) are displayed in their respective categories (Want, Accept, Do Not Want).
|
|
- The count of participants who submitted desires matches the `Number of Expected Responses`.
|
|
- The session topic and details are still visible.
|
|
|
|
#### 5.2 Verify Private Desires are Not Shared
|
|
**Steps:**
|
|
1. Follow steps for "4.2 Multi-User - All Participants Submit Desires", ensuring User 1 submits a "Afraid to Ask (Private)" item.
|
|
2. On User 2's results page, verify that User 1's private desire is *not* displayed.
|
|
|
|
**Expected Results:**
|
|
- User 1's private desire is only visible to User 1 (if applicable, or not displayed at all on the results page).
|
|
- User 2's results page does not show User 1's private desire. |