44 lines
2.0 KiB
Gherkin
44 lines
2.0 KiB
Gherkin
@booking @flow
|
|
Feature: Full booking flow — enquiry through confirmed
|
|
A client submits an enquiry via the public form. The admin then drives
|
|
the booking through every step: approval, contract, deposit, confirmation.
|
|
|
|
# ── Guest: submit enquiry ───────────────────────────────────────────────
|
|
Scenario: client submits an enquiry via the public form
|
|
Given "a guest" visits "/enquiry"
|
|
When they fill "courseName" with "E2E Full Flow Test"
|
|
And they fill "startDate" with "2028-06-15"
|
|
And they fill "endDate" with "2028-06-22"
|
|
And they fill "organisationName" with "E2E Organisation"
|
|
And they fill "contactEmail" with "e2e@example.com"
|
|
And they turn on "agbAccepted"
|
|
And they turn on "privacyAccepted"
|
|
And they click "Anfrage absenden"
|
|
Then they see "Ihre Anfrage ist eingegangen"
|
|
|
|
# ── Admin: full flow from enquiry to confirmed ──────────────────────────
|
|
Scenario: admin drives a booking from enquiry through to confirmed
|
|
Given the app data is reset
|
|
And "the admin" is logged in
|
|
|
|
# 1. Open the seeded enquiry directly
|
|
When they visit "/admin/bookings/b_lc_enquiry"
|
|
|
|
# 2. Approve the enquiry → reserved
|
|
When they trigger booking action "action-approve-enquiry"
|
|
Then they see "Reserviert"
|
|
And the audit log tab includes "Reservierung bestätigt"
|
|
|
|
# 3. Send the contract manually (bypasses the 365-day cron window)
|
|
When they trigger booking action "action-send-contract"
|
|
Then the audit log tab includes "Vertrag & Anzahlungsrechnung"
|
|
|
|
# 4. Record the client's contract signature
|
|
When they trigger booking action "action-contract-approved"
|
|
Then they see "Anzahlung als erhalten markieren"
|
|
|
|
# 5. Record the deposit received → confirmed
|
|
When they trigger booking action "action-deposit-received"
|
|
Then they see "Bestätigt"
|
|
And the audit log tab includes "Buchung bestätigt"
|