Acceptance Test ‐ Utku Yiğit Demir - bounswe/bounswe2026group11 GitHub Wiki

TC_ACC_JOIN_REJECT_001 - Login, Protected Event Join Request, and Host Rejection Flow

Structured Test Document

Field Value
Test case ID TC_ACC_JOIN_REJECT_001
Name / Test Title User submits a join request to a protected event, the host rejects it, and no participation or ticket is created
Test Priority High
Name of Module Login, Protected Event Join Request, Host Rejection Flow
Designed by Utku Yiğit Demir
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, rejection, negative path, participation lifecycle
Description of Test Verify that invalid login is rejected, valid host/participant login succeeds, a participant can submit a join request to a protected event, the host can reject the pending request, and that the rejection has no side effects: the request transitions to REJECTED, no participation record is created, no ticket is generated, the event's approved-participant count is unchanged, and the participant cannot trivially resubmit a duplicate request to the same event.
Pre-condition Host and participant accounts exist. Backend, frontend/mobile client, and database are running. Test is executed before the event start time. The participant has no prior join request for the target event.
Dependencies Login, protected event creation, join request submission, host pending-request listing, host rejection action, participation record lookup, ticket lookup, duplicate-request prevention.
Test Data Host: [email protected], password: HostPass!2026. Participant: [email protected], password: ParticipantPass!2026. Invalid password: WrongPass!2026. Event title: TC Closed Hiking Trip. Privacy: PROTECTED. Capacity: 8. Category: Outdoor. Location: Belgrad Forest, Istanbul. Latitude: 41.183500. Longitude: 28.978000. Start: 2026-05-12T08:30:00+03:00. End: 2026-05-12T13:00:00+03:00. Join message: I would like to join this hiking trip.
Expected Results Invalid login is rejected with an error message. Valid users can log in. A protected event accepts join requests but does not allow direct joining. After the host rejects the request, the request status becomes REJECTED. No participation record is created for the participant on this event. No ticket is generated. The event's approved-participant count remains unchanged. The participant sees the rejected status and cannot create a second PENDING request for the same event while the prior decision still stands.
Actual Result Not executed during Lab 9.
Post-condition Join request from [email protected] for TC Closed Hiking Trip exists with status REJECTED. No participation record and no ticket exist for this user on this event. Approved-participant count for the event is 0.
Automated? No
Link / Defect ID No defect. Related feature: backend join-flow validation PR #510.
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.6
Status Not Executed
Notes This test focuses on the negative half of the protected-event join lifecycle. It complements approval-path tests by verifying that rejection produces no side effects (no participation, no ticket, no count change) and that the system blocks a trivially duplicated request.

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 with the specified details. Title: TC Closed Hiking Trip; privacy: PROTECTED; capacity: 8; category: Outdoor; location: 41.183500, 28.978000; start/end times above Event is created successfully with privacy type PROTECTED and status ACTIVE. Initial approved-participant count is 0. Not executed Not Executed
4 Log out from the 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 Closed Hiking Trip Event is visible, but direct joining is not allowed; a request-to-join action is shown. Not executed Not Executed
7 Participant submits a join request. Message: I would like to join this hiking trip. Join request is created with PENDING status. Participant is not yet counted as approved and no ticket exists. Not executed Not Executed
8 Log out from the participant account and log in again as the host. Host credentials: [email protected]; password: HostPass!2026 Host session is created successfully. Not executed Not Executed
9 Host opens the pending join requests list for the event. Event title: TC Closed Hiking Trip The join request from [email protected] is visible with PENDING status. Not executed Not Executed
10 Host rejects the participant's join request. Pending request from [email protected] Rejection is accepted. Host sees a confirmation that the request was rejected. Not executed Not Executed
11 Host re-opens the request to verify its state. Same request Request status is now REJECTED. The request no longer appears in the PENDING list. Not executed Not Executed
12 Verify that no participation record was created for the participant on this event. Host view of approved participants list; event: TC Closed Hiking Trip The participant is not listed as an approved participant. No participation record with status APPROVED exists for [email protected]. Not executed Not Executed
13 Verify that no ticket was generated for the participant. Host ticket list for the event; participant ticket list on mobile No ticket exists for the participant on this event. The participant's ticket list does not include this event. Not executed Not Executed
14 Verify that the event's approved-participant count is unchanged. Event detail page metrics Approved-participant count is still 0. Capacity remains 8. Not executed Not Executed
15 Log out from the host account and log in again as the participant. Participant credentials: [email protected]; password: ParticipantPass!2026 Participant session is created successfully. Not executed Not Executed
16 Participant opens the event detail page and checks request status. Event title: TC Closed Hiking Trip The participant's join request is shown as REJECTED. The active request-to-join action is no longer available, or is replaced by an indication that a previous request was rejected. Not executed Not Executed
17 Participant attempts to submit a second join request for the same event. Message: I would like to join this hiking trip. System blocks the duplicate submission. No new PENDING request is created. The prior request remains REJECTED and the event's approved-participant count remains 0. Not executed Not Executed