1Business context
EventHive sells event tickets with tiers, stock limits and per-order caps. Each ticket needs an attendee; sold-out events offer a waitlist. Totals include a 5% booking fee after discounts.
Filter events, pick quantities across ticket tiers (sold out, only-N-left, max 5 per order), fill details per attendee with unique emails, apply a promo, pay and get QR tickets — or join a waitlist.
2Users & roles
- 👤 Attendee / buyer — discovers events, buys tickets for a group, joins waitlists
3Modules & screens
| Screen | Route | What it does |
|---|---|---|
| Discover | /apps/events | Category, city, date range and free-only filters |
| Event page | /apps/events/e/[id] | Ticket tiers with stock, sold-out states, waitlist |
| Checkout | /apps/events/checkout | Buyer and per-attendee forms, promo, payment |
| Tickets | /apps/events/tickets/[id] | Issued tickets per attendee |
| My tickets | /apps/events/my-tickets | All purchased tickets |
4Main end-to-end journey
Tickets for three attendees
- Filter Tech and open TestCon
- Add 2 Regular and 1 VIP
- Checkout, fill buyer and tick first attendee is me
- Fill attendees 2 and 3
- Apply EARLY10 and pay by card
Expected: Subtotal ₹10,997, total ₹10,392, and three tickets with the right holders
5Business rules & validations
- Filters & switchBeginner
category-*, event-city, event-range and free-only combine; assert event-count.
- Stock & order capIntermediate
tier-*-inc disables at the tier's stock (VIP has 3) and when the order reaches 5 tickets.
- Sold-out statesBeginner
tier-sold-out-early shows on TestCon; Design Systems Meetup is fully sold out and shows the waitlist.
- Dynamic attendee formsIntermediate
One attendee-N block per ticket; first-is-buyer copies your details into ticket 1.
- Unique emailsIntermediate
Two attendees with the same email show error-unique-emails.
- Totals mathsAdvanced
Check ticket-subtotal, event-discount (10%), event-fees (5% after discount) and event-total.
- Free registrationBeginner
The free workshop skips card fields; the button says Register.
- Waitlist positionIntermediate
join-waitlist validates the email and shows waitlist-joined with your position.
6Test data & credentials
- URL
- /apps/events
- Promo
- EARLY10 (10%)
- Booking fee
- 5%
- Max per order
- 5 tickets
7Glossary
- EARLY10
- 10% off promo
- Booking fee
- 5%, applied after the discount
- Order cap
- Maximum 5 tickets per order
8Watch-outs for automation
- ⚠️Attendee forms appear dynamically — one per ticket
- ⚠️Two attendees can't share an email
- ⚠️Free events skip card fields
9Suggested test strategy
1 · Smoke
2
P1 positive and end-to-end cases — run on every build.
2 · Regression
15
All cases, incl. 2 negative and 4 edge — run before release.
3 · End-to-end
3
Full user journeys — run nightly.
Start with these smoke cases
- EVENTHIVE-01 — Buy tickets
- EVENTHIVE-E2E-01 — Tickets for three attendees