Acceptance Test ‐ Oğuz Özer - bounswe/bounswe2026group11 GitHub Wiki

Acceptance Test: Private Event Invitation Acceptance and Access Control

Test Case Information

Field Value
Test Case ID TC_ACC_PRIVATE_INVITE_006
Test Title Host creates a private event, invited guest can access and accept it, non-invited user is blocked
Priority High
Module Private Event Creation, Invitations, Notifications, Access Control
Designed By Oğuz Özer
Date Designed 2026-04-30
Planned Execution Date 2026-05-09
Automated No
Status Not Run

Description

This acceptance test verifies that a host can create a PRIVATE event, invite guests using username search, and keep the event hidden from non-invited users. It also verifies that invited users receive the invitation, can open the event, and can accept it, while non-invited users cannot discover or access the same private event.

Test Data

Data Type Value
Host name Pelin Tezer
Host email [email protected]
Invited guest name Oğuz Özer
Invited guest email [email protected]
Non-invited user name Kerem Yılmaz
Non-invited user email [email protected]
Event title Private Rooftop Dinner
Event privacy level PRIVATE
Category Social
Location Cihangir, Istanbul
Start date/time 2026-05-10 19:30
End date/time 2026-05-10 22:30
Invitation message We are bringing different friend groups together for a private dinner. Join us if you are available.
Username search input ogu

Required Data Setup

# Setup Item Required State
1 Create host user Pelin Tezer, [email protected]
2 Create invited guest user Oğuz Özer, [email protected]
3 Create non-invited user Kerem Yılmaz, [email protected]
4 Enable notifications In-app notification center is available
5 Email delivery Invitation emails can be observed in test inboxes or mail logs

Pre-conditions

# Condition
1 Host is logged in and can create events.
2 Invited guest and non-invited user accounts already exist.
3 No event named Private Rooftop Dinner exists before the test.
4 Notification and email services are active.

Test Steps

Step Action Expected Result
1 Host opens the Create a New Event page. Event creation form is displayed successfully.
2 Host fills the mandatory event fields with the provided test data. All entered values are accepted by the form.
3 Host selects privacy level PRIVATE. The UI clearly indicates that the event is invitation-only.
4 Host types ogu into the invitation search field. Auto-complete suggests the registered user Oğuz Özer.
5 Host selects Oğuz Özer from the suggestion list and adds the invitation message. The invited guest is added to the invitation list before creation.
6 Host submits the event creation form. Event is created successfully with privacy level PRIVATE.
7 Host opens the created event detail page. Host can see the event and the guest list shows Oğuz Özer with status PENDING or Not Responded.
8 Invited guest logs in and checks notifications/invitation area. An in-app invitation for Private Rooftop Dinner is visible.
9 Verify the invitation email for the invited guest. Invitation email includes event name, host name, event time, and accept/decline options or directions.
10 Invited guest opens the event from the invitation. Event detail page opens successfully for the invited guest.
11 Invited guest accepts the invitation. Invitation status changes from PENDING to ACCEPTED; invited guest is now an approved participant.
12 Host refreshes the event management view. Guest list now shows Oğuz Özer as ACCEPTED.
13 Non-invited user logs in and searches/discovers events. Private Rooftop Dinner does not appear in discovery, search, or map views.
14 Non-invited user attempts to open the event directly via link or event ID. System blocks access and shows an Access Denied view or equivalent unauthorized response.

Expected Results

Area Expected Result
Private event creation Host can create the event successfully with PRIVATE privacy.
Invitation search Username auto-complete helps the host find registered users.
Guest list Invited guests appear in the host's list with invitation states.
In-app notification Invited guest receives an invitation in the app.
Email notification Invited guest receives an invitation email with core event details.
Access for invited guest Invited guest can open and view the private event.
Invitation acceptance Invited guest can accept the invitation successfully.
Host visibility Host sees the invited guest's status updated to ACCEPTED.
Discovery privacy Non-invited users do not see the event in discovery/search/map.
Access control Non-invited users cannot open the private event directly.

Actual Result

Not executed yet.

Post-condition

Item Final Expected State
Event Active and private
Invitation Oğuz Özer invitation is ACCEPTED
Host guest list Shows invited guest as ACCEPTED
Invited guest access Allowed
Non-invited user access Denied

Pass / Fail Criteria

The test passes if the host can create a private event and invite a guest through username search, the invited guest receives the invitation and can access and accept the event, and the non-invited user cannot discover or access the same event.

The test fails if the invited guest does not receive the invitation, cannot access the event after being invited, cannot accept the invitation, the host cannot observe the updated guest status, or a non-invited user can discover or access the private event.

Notes

This test covers a different acceptance context than the existing examples by focusing on the private-event invitation lifecycle and privacy enforcement. It directly validates the stakeholder expectation that private events remain exclusive to invited users.