Acceptance Test ‐ Buğra Keser - bounswe/bounswe2026group11 GitHub Wiki
TC_ACC_TICKET_001 - Login, Protected Event Approval, and Single-Use Ticket Scan
Structured Test Document
| Field | Value |
|---|---|
| Test case ID | TC_ACC_TICKET_001 |
| Name / Test Title | User logs in, receives a ticket after protected event approval, and ticket is accepted only once |
| Test Priority | High |
| Name of Module | Login, Protected Event Participation, Ticket Generation & QR Validation |
| Designed by | Buğra Keser |
| Date designed | April 30, 2026 |
| Executed by | Not executed during Lab 9 |
| Date of Execution | Not executed during Lab 9 |
| Test Type / Keywords | Acceptance, functional, login, protected event, join request, ticket, QR scan, mobile-only flow |
| Description of Test | Verify that invalid login is rejected, valid host/participant login succeeds, a participant receives an active ticket after host approval for a protected event, the ticket QR can be scanned successfully once by the host, and reuse of the same QR token is rejected. |
| Pre-condition | Host and participant accounts exist. Backend, frontend/mobile client, and database are running. Test is executed before the event start time. |
| Dependencies | Login, protected event creation, join request creation, host approval, ticket generation, QR token generation, host ticket scanning. |
| Test Data | Host: [email protected], password: HostPass!2026. Participant: [email protected], password: ParticipantPass!2026. Invalid password: WrongPass!2026. Event title: TC Ticketed Board Game Night. Privacy: PROTECTED. Capacity: 5. Category: Gaming. Location: Boğaziçi University South Campus. Latitude: 41.085014. Longitude: 29.044891. Start: 2026-05-10T19:00:00+03:00. End: 2026-05-10T21:00:00+03:00. Join message: I would like to join this event. |
| Expected Results | Invalid login is rejected with an error message. Valid users can log in. A protected event requires host approval. After host approval, the participant becomes approved and receives one active digital ticket. The QR ticket is accessible through the mobile flow. The first host scan accepts the ticket and changes its status to USED. A second scan of the same QR token is rejected because the ticket was already used. |
| Actual Result | Not executed during Lab 9. |
| Post-condition | Participant remains approved for the event. Ticket status is USED. Reused QR token cannot grant entry again. |
| Automated? | No |
| Link / Defect ID | No defect. Related feature: backend ticketing flow PR #513. |
| Requirement | 1.1.3, 1.1.4, 3.1.1, 3.2.2, 3.2.3, 4.4.1, 4.4.2, 4.5.1, 4.5.4, 4.5.6, 9.1.1, 9.1.2, 9.1.3, 9.1.4, 9.2.1, 9.3.1, 9.3.2, 9.3.3, 9.3.4 |
| Status | Not Executed |
| Notes | This test covers both validation testing and defect testing: the first QR scan should succeed, while QR reuse should fail in a controlled way. |
Test Steps
| Step No | Description | Data | Expected Result | Actual Result | Status |
|---|---|---|---|---|---|
| 1 | Attempt to log in as the host with invalid credentials. | Email: [email protected]; password: WrongPass!2026 |
Login is rejected and an invalid credentials error message is displayed. | Not executed | Not Executed |
| 2 | Log in as the host with valid credentials. | Email: [email protected]; password: HostPass!2026 |
Host session is created successfully. | Not executed | Not Executed |
| 3 | Host creates a protected event. | Title: TC Ticketed Board Game Night; privacy: PROTECTED; capacity: 5; category: Gaming; location: 41.085014, 29.044891; start/end times above |
Event is created successfully with privacy type PROTECTED. |
Not executed | Not Executed |
| 4 | Log out from host account. | Host session | Host session ends successfully. | Not executed | Not Executed |
| 5 | Log in as the participant with valid credentials. | Email: [email protected]; password: ParticipantPass!2026 |
Participant session is created successfully. | Not executed | Not Executed |
| 6 | Participant opens the protected event detail page. | Event title: TC Ticketed Board Game Night |
Event is visible, but direct joining is not allowed; request-to-join action is shown. | Not executed | Not Executed |
| 7 | Participant sends a join request. | Message: I would like to join this event. |
Join request is created with PENDING status. Participant is not yet counted as approved. |
Not executed | Not Executed |
| 8 | Log in again as host and open pending join requests. | Host credentials; same event | Participant's pending request is visible to the host. | Not executed | Not Executed |
| 9 | Host approves the participant's join request. | Pending request from [email protected] |
Join request becomes APPROVED; participant status becomes APPROVED; one active ticket is generated. |
Not executed | Not Executed |
| 10 | Participant lists or opens personal ticket details on mobile. | Participant account; generated ticket | Ticket is visible with status ACTIVE and related event information. QR access is available through the mobile ticket flow. |
Not executed | Not Executed |
| 11 | Participant opens the QR ticket near the event location. | Latitude: 41.085014; longitude: 29.044891 |
System generates/displays a valid short-lived QR token for the active ticket. | Not executed | Not Executed |
| 12 | Host scans the participant's QR ticket on mobile. | QR token from step 11 | Scan is accepted. Ticket status changes from ACTIVE to USED. Host sees a successful scan confirmation. |
Not executed | Not Executed |
| 13 | Host scans the same QR token again. | Same QR token from step 11 | Scan is rejected. System shows that the ticket has already been used, and ticket status remains USED. |
Not executed | Not Executed |