chore: perauset customer project
This commit is contained in:
68
e2e/tests/features/retreats.feature
Normal file
68
e2e/tests/features/retreats.feature
Normal file
@@ -0,0 +1,68 @@
|
||||
Feature: Retreat Management
|
||||
|
||||
Scenario: Create retreat as admin
|
||||
Given I login as "admin@perauset.org"
|
||||
When I create a retreat "Summer Solstice" with slug "summer-solstice-2026" from "2026-06-20" to "2026-06-22"
|
||||
Then the response status should be 200
|
||||
And the response body field "status" should be "draft"
|
||||
And I store the response field "retreatId" as "retreatId"
|
||||
|
||||
Scenario: List retreats
|
||||
Given I login as "admin@perauset.org"
|
||||
When I create a retreat "Autumn Equinox" with slug "autumn-equinox-2026" from "2026-09-22" to "2026-09-24"
|
||||
Then the response status should be 200
|
||||
When I list retreats
|
||||
Then the response status should be 200
|
||||
And the response body field "items" should be truthy
|
||||
|
||||
Scenario: Update retreat
|
||||
Given I login as "admin@perauset.org"
|
||||
When I create a retreat "Spring Retreat" with slug "spring-retreat-2026" from "2026-03-20" to "2026-03-22"
|
||||
Then the response status should be 200
|
||||
And I store the response field "retreatId" as "retreatId"
|
||||
When I update the retreat with name "Spring Renewal Retreat" and capacity 30
|
||||
Then the response status should be 200
|
||||
And the response body field "success" should be truthy
|
||||
|
||||
Scenario: Publish retreat
|
||||
Given I login as "admin@perauset.org"
|
||||
When I create a retreat "Winter Solstice" with slug "winter-solstice-2026" from "2026-12-20" to "2026-12-22"
|
||||
Then the response status should be 200
|
||||
And I store the response field "retreatId" as "retreatId"
|
||||
When I publish the retreat
|
||||
Then the response status should be 200
|
||||
And the response body field "status" should be "published"
|
||||
|
||||
Scenario: Add person to retreat
|
||||
Given I login as "admin@perauset.org"
|
||||
When I create a retreat "Meditation Retreat" with slug "meditation-2026" from "2026-08-01" to "2026-08-03"
|
||||
Then the response status should be 200
|
||||
And I store the response field "retreatId" as "retreatId"
|
||||
When I add a person "Jane Doe" with role "participant" to the retreat
|
||||
Then the response status should be 200
|
||||
And the response body field "attendanceStatus" should be "registered"
|
||||
And I store the response field "retreatPersonId" as "retreatPersonId"
|
||||
|
||||
Scenario: Add schedule item to retreat
|
||||
Given I login as "admin@perauset.org"
|
||||
When I create a retreat "Yoga Retreat" with slug "yoga-retreat-2026" from "2026-10-01" to "2026-10-03"
|
||||
Then the response status should be 200
|
||||
And I store the response field "retreatId" as "retreatId"
|
||||
When I add a schedule item "Morning Yoga" from "2026-10-01T07:00:00Z" to "2026-10-01T08:30:00Z" at "Main Hall"
|
||||
Then the response status should be 200
|
||||
And the response body field "itemId" should be truthy
|
||||
|
||||
Scenario: Cancel retreat
|
||||
Given I login as "admin@perauset.org"
|
||||
When I create a retreat "Cancelled Event" with slug "cancelled-event-2026" from "2026-11-01" to "2026-11-03"
|
||||
Then the response status should be 200
|
||||
And I store the response field "retreatId" as "retreatId"
|
||||
When I cancel the retreat
|
||||
Then the response status should be 200
|
||||
And the response body field "status" should be "cancelled"
|
||||
|
||||
Scenario: Unpermissioned user cannot create retreats
|
||||
Given a user "guest@test.org" exists with roles "guest"
|
||||
And I login as "guest@test.org"
|
||||
When I create a retreat "Forbidden Retreat" with slug "forbidden-2026" from "2026-07-01" to "2026-07-03"
|
||||
Then the response status should be 403
|
||||
Reference in New Issue
Block a user