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