Repository navigation
TEST ROOMINVITATIONS 025 UI Case
Linked specification for the matching authoritative QBrain TEST record. Persistence is reported by receipt.json; this documentation run executed no application tests.
| Field | Specification |
|---|---|
| Objective | Verify AC-25: Room invitations. |
| QBrain reference/scope |
TEST-ROOMINVITATIONS-025; Word Pairs / PROD-WORDPAIRS; workspace <home>/github/WordGame/.mcpServer/wordpairs; layer layer-1
|
| Source revision | Original designs at 435be05abac5310172cfb9a9290c9d7ea0d1cbde; exact dirty prose/decision hashes in sources.json. New UI-DEC decisions derive from the operator instruction to fill gaps. |
| Source links | word_association_room_creation.svg |
| Frame/element identifiers | ROOM-FLOW, ROOM-NODE-C, ROOM-NODE-G, ROOM-TRANS-C-D, ROOM-TRANS-B-G, ROOM-TRANS-G-D, MSG-M01, MSG-M02, SCREEN-JOIN, STATE-JOIN-01, STATE-JOIN-02, STATE-JOIN-03, STATE-JOIN-04, STATE-JOIN-05; exact SVG anchors are listed in coverage.md |
| FR/TR → specific AC references |
FR-LOBBYDISCOVERY-019#AC-25; FR-LOBBYLIFECYCLE-003#AC-25; FR-ROOMACCESS-001#AC-25
|
| Priority | high |
| Platform/viewport | Phone Chromium/Android and Safari/iPhone where applicable; project matrix320x568,390x844,844x390;1280px at400%zoom and200%text enlargement. OS-native installation is a separate physical-device dependency. |
| Preconditions/roles | Alice is already a player in an active room; Bob and Cara have independent profiles. |
| Test data | The room's generated code and inviter-bound signed deep link. |
| Synchronization | Await the explicit observable conditions and source-defined deadlines below; no fixed sleeps. Harness timeouts do not create a product response-time SLA. |
| Cleanup | Close case-owned contexts and reset only isolated fixture accounts, rooms or content, including after failure. Preserve shared catalog and real profile data. |
| Automation readiness | Ready for automation once isolated UI fixture seeding and observations are available; documentation only. |
| Basis | Specified by cited designs/QBrain; new gap behavior is specified by UI-DEC-01..08. Synthetic fixture identities/data are test configurations. |
| Execution | Not run here. Existing historical status/evidence remains unchanged; new obligations remain pending/unsatisfied. |
| Step | Action / condition | Observable expected result |
|---|---|---|
| 1 | As Alice share the code to Bob and link to Cara. | Both invitation forms refer to Alice's intended room. |
| 2 | Join as Bob by code and Cara by link when seats are open. | Both enter that same room subject to its configured capacity. |
Feature: AC-25: Room invitations
Scenario: TEST-ROOMINVITATIONS-025 design verification
Given Alice is already a player in an active room; Bob and Cara have independent profiles.
And the fixture data is The room's generated code and inviter-bound signed deep link.
When As Alice share the code to Bob and link to Cara.
Then Both invitation forms refer to Alice's intended room.
When Join as Bob by code and Cara by link when seats are open.
Then Both enter that same room subject to its configured capacity.Criterion references identify intended verification. Non-UI transaction, distribution, release/deployment and native OS guarantees retain separate technical/operational tests; this document is not a claim that a compound criterion passed.
The operator requested the room action Copy Invitation Link on 28 October 2026.
QBrain records the new, unsatisfied criteria as
FR-LOBBYDISCOVERY-019#INVITE-COPY-01 and
FR-LOBBYDISCOVERY-019#INVITE-COPY-02 and
FR-LOBBYDISCOVERY-019#INVITE-COPY-03, with matching criteria on this TEST record.
The original AC-25 and its historical evidence are preserved.
The player selects Copy Invitation Link. The client requests a new inviter-bound link, displays it and attempts to copy it. Successful copying announces “Invitation link copied.” If clipboard access is unavailable or denied, the displayed, selectable link remains available and the page announces that the player can copy it manually. No clipboard success is reported when the write fails. If link creation fails or returns no link, no new link is shown or copied, no copy-success confirmation is announced, and an accessible error is shown.
The automated cases are in
invitation-copy.phase2.spec.ts.
They use the real rendered room screen with synthetic network responses; success,
text-only clipboard support and denial are isolated fixtures, while a separate
Chromium case writes and reads the actual browser clipboard. The mock gate also
rejects corrupted copied/displayed link outcomes. These tests do not establish
clipboard permission behavior on every physical phone or browser.
Scenario: INVITE-COPY-01 copies a generated invitation
Given a player is in an active room and clipboard access is available
When the player selects Copy Invitation Link
Then the generated inviter-bound link is displayed
And that exact link is on the clipboard
And the page announces "Invitation link copied."
Scenario: INVITE-COPY-02 retains a link after clipboard denial
Given a player is in an active room and clipboard access is denied
When the player selects Copy Invitation Link
Then the generated link remains selectable
And the page explains that it can be copied manually
Scenario: INVITE-COPY-03 reports invitation creation failure
Given a player is in an active room
When invitation creation fails
Then no new invitation is displayed or copied
And the page shows an error instead of a copy-success confirmationThe current criteria remain unsatisfied until final suite and independent review evidence is recorded in QBrain.
Generated from MCP requirements wiki export.
- Home
- Guest Game and GitHub Admin PWA
- Functional Requirements
- Technical Requirements
- Testing Requirements
- TR per FR Mapping
- Requirements Matrix
- Wordpairs
- Local Development
- Testing and Evidence
- Administration and Access Control
- Requirements Baseline v2.8
- Architecture Decision Record
- Architecture Design
- Architecture Patterns
- Content Moderation
- Deployment and Release Plan
- Acceptance Criteria Gap Analysis
- Acceptance Criteria Test Inventory
- Implementation Plan
- Phase 0 Execution
- Phase 0 Interface and Data Contracts
- Phase 1A Execution
- Phase 1 Execution
- Phase 2 Execution
- Phase 3 Execution
- Phase 4 Execution
- Phase 5 Execution
- Phase 6 Execution
- Optional Phase 6 Human Feedback
- Historical Chromium Crash Diagnosis
- Completed Coding Goal and Review Agreement
- Third Party Attributions
- Software Bill of Materials Contract
- Phone Installation and PWA
- Live Multiplayer Runtime and UI Integration
- UI Test Case Index
- UI Design Coverage
- UI Criterion Gaps
- UI Design Questions
- UI Test Persistence
- TEST-ACCESSIBLEGAMECONTROLS-044 UI Case
- TEST-ACLAUTHORIZATION-132 UI Case
- TEST-ADMINUI-136 UI Case
- TEST-AUTHORITATIVEANSWERHANDLING-045 UI Case
- TEST-BROWSEOPENLOBBIES-022 UI Case
- TEST-CATALOGVERSIONING-133 UI Case
- TEST-CATEGORYART-005 UI Case
- TEST-CATEGORYCHOICE-011 UI Case
- TEST-CATEGORYSUGGESTIONUNLOCK-019 UI Case
- TEST-CONFIGUREDCAPACITY-024 UI Case
- TEST-CONNECTIONRECOVERY-109 UI Case
- TEST-CONTENTVALIDATION-016 UI Case
- TEST-DEEPLINKJOINANDFULLROOM-026 UI Case
- TEST-FINALSTANDINGS-013 UI Case
- TEST-FIRSTCATEGORY-004 UI Case
- TEST-FREETIERQUOTAHANDLING-037 UI Case
- TEST-FULLROOMOBSERVER-027 UI Case
- TEST-GUESTPLAY-021 UI Case
- TEST-HINTPROGRESSION-009 UI Case
- TEST-HINTSCORING-007 UI Case
- TEST-HOLDOUTWARNINGANDREMOVAL-032 UI Case
- TEST-IDLELOBBYREADINESSPROMPT-033 UI Case
- TEST-INROUNDEMOJIREACTION-029 UI Case
- TEST-LANDINGPAGEPUBLICDATA-050 UI Case
- TEST-LIVESCORECARD-010 UI Case
- TEST-MODERATIONANDCATALOGBOUNDARY-047 UI Case
- TEST-NOHINTSOLVE-006 UI Case
- TEST-NOMINATIONELIGIBILITY-017 UI Case
- TEST-NOMINATIONMODERATION-114 UI Case
- TEST-NOMINATIONTHRESHOLDANDMODERATION-018 UI Case
- TEST-OBSERVERPERSPECTIVEANDPERMISSIONS-028 UI Case
- TEST-OIDCTOKENVALIDATION-046 UI Case
- TEST-OPENAIOIDCPROFILE-020 UI Case
- TEST-ORIENTATION-015 UI Case
- TEST-PLAYERLIMIT-002 UI Case
- TEST-PRECOUNTDOWNOBSERVERPROMOTION-030 UI Case
- TEST-PROFILEICON-003 UI Case
- TEST-PUBLICGAMELANDINGPAGE-043 UI Case
- TEST-PWAINSTALL-137 UI Case
- TEST-PWAPRIVACY-138 UI Case
- TEST-QUICKMATCH-023 UI Case
- TEST-READYCOUNTDOWNANDROSTERLOCK-031 UI Case
- TEST-ROOMINVITATIONS-025 UI Case
- TEST-ROOMJOINING-001 UI Case
- TEST-ROOMSYNC-139 UI Case
- TEST-ROUNDSUMMARY-012 UI Case
- TEST-SUGGESTIONREVIEW-115 UI Case
- TEST-TIMETIEBREAK-014 UI Case
- TEST-UNSOLVEDRESULT-008 UI Case
- UI Gap Decisions and Synchronization
- TEST-ACCESSIBILITYDETAILS-144 UI Case
- TEST-CANDIDATEHOLD-141 UI Case
- TEST-LOBBYMATCHING-117 UI Case
- TEST-NAVIGATIONDRAFTS-142 UI Case
- TEST-NOSOLVERFALLBACK-146 UI Case
- TEST-REQUESTFEEDBACK-143 UI Case
- TEST-RESPONSIVEMATRIX-145 UI Case
- TEST-REVIEWCHANGES-140 UI Case
- TEST-ROOMCODES-110 UI Case
- UI Gap Implementation Plan
- UI Gap Implementation and Evidence
- Contest Readiness
- Hostile Validation Evidence
- Category Artwork
- 10-Player Release Completion Plan
- Deadline Report and Token Accounting
- Deadline Report Supporting Evidence
- Deadline Timeline and Review Finding Analysis
- Stopped Wordpairs Release Handoff