Skip to content

VGBC Fase 2 - Testing Checklist

Datum: 2025-12-16 Status: Ready for testing

Setup Verificatie ✅

Code

  • ✅ StudentProfessionCondition plugin (vg_student_profession)
  • ✅ StandhouderQuotaValidator event subscriber
  • ✅ vgbc_partner_quota ECK entity type (ID: 33 = VGBC 2026)

Database

  • ✅ Product 5: VGBC 2026 - Standaard Ticket (€49.95)
  • ✅ Product 6: VGBC 2026 - Standhouder Ticket (€0.00)
  • ✅ Promotie 1: Studentenkorting VGBC 2026 (40% off, condition: vg_student_profession)
  • ✅ field_partner op customer profile (entity_reference naar Partner ECK)
  • ✅ field_payment_method op commerce_order (list_string: mollie, handmatig, standhouder_quota)
  • ✅ Views: winkel_tickets, winkel_uitgaven, winkel_merchandise, winkel_abonnementen

Test Scenario's

Test 1: Normale aankoop zonder korting

Doel: Verifieer dat gewone gebruikers de standaardprijs betalen

Stappen: 1. Login als niet-student user (of anoniem) 2. Ga naar /winkel 3. Voeg "VGBC 2026 - Standaard Ticket" toe aan winkelwagen 4. Checkout 5. Check prijs

Verwacht resultaat: - Prijs: €49.95 (geen korting) - Geen promotie toegepast


Test 2: Student korting (40%)

Doel: Verifieer dat studenten automatisch 40% korting krijgen

Voorbereiding: 1. Maak test user aan of gebruik bestaande user 2. Bewerk customer profile: stel field_beroep = "student" (case-insensitive) 3. Logout en login als deze user

Stappen: 1. Ga naar /winkel 2. Voeg "VGBC 2026 - Standaard Ticket" toe 3. Check winkelwagen 4. Check checkout review

Verwacht resultaat: - Originele prijs: €49.95 - Korting: 40% (€19.98) - Eindprijs: €29.97 - Promotie "Studentenkorting VGBC 2026" zichtbaar


Test 3: Standhouder binnen quota

Doel: Verifieer dat standhouders gratis tickets kunnen krijgen binnen hun quota

Voorbereiding: 1. Maak Partner entity aan (of gebruik bestaande) 2. Maak vgbc_partner_quota aan: - field_partner: link naar Partner entity - field_vgbc_editie: 33 (VGBC 2026) - field_quota: 3 3. Maak test user aan 4. Link user aan partner via customer profile field_partner

Stappen: 1. Login als standhouder user 2. Ga naar /winkel 3. Voeg 2x "VGBC 2026 - Standhouder Ticket" toe 4. Checkout en complete order 5. Check dat order succesvol is

Verwacht resultaat: - 2 gratis tickets - Geen betaling nodig (of field_payment_method = "standhouder_quota") - Order successful - Quota updated: 1 remaining


Test 4: Standhouder quota overschreden

Doel: Verifieer dat StandhouderQuotaValidator quota limiet afdwingt

Voorbereiding: - Gebruik zelfde setup als Test 3 - Na Test 3 is quota: gebruikt=2, beschikbaar=1

Stappen: 1. Login als zelfde standhouder 2. Probeer 2 standhouder tickets toe te voegen 3. Ga naar checkout

Verwacht resultaat: - Error tijdens order placement:

"Quotum overschreden. U heeft nog 1 standhouder ticket(s) beschikbaar voor VGBC 2026."
- Order wordt NIET geplaatst - Gebruiker blijft op checkout pagina


Additionele Checks

Views

  • /winkel toont winkel_tickets view met VGBC 2026 tickets
  • Tickets hebben correcte prijs display
  • "In winkelwagen" button werkt

Admin

  • /admin/content/partner-quota toont quota entities
  • Quota kan handmatig aangepast worden
  • Rol "Winkel" heeft correcte permissies

Known Issues

  1. VGBC editie hardcoded: StandhouderQuotaValidator.php:104 heeft $vgbc_editie_id = 33;
  2. Voor toekomstige edities moet dit configurabel gemaakt worden
  3. Store ID hardcoded: $store_id = 1; (regel 103)
  4. field_partner niet verplicht: Standhouders zonder partner kunnen nu geen gebruik maken van quota

Next Steps (Fase 3)

  • Multi-ticket checkout (meerdere attendees)
  • TicketAssignmentPane voor attendee gegevens
  • Student korting per attendee (niet per order)
  • QR codes en commerce_license integratie