Files
unisono/tests/unisono-test-plan.md

7.9 KiB

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.

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.