Files
unisono/tests/e2e.md
2025-10-10 12:48:06 +03:00

3.4 KiB

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.