PASS valid booking              expected [] got []
PASS missing name               expected [name] got [name]
PASS bad email                  expected [email] got [email]
PASS unknown service            expected [service] got [service]
PASS date today (too soon)      expected [date] got [date]
PASS weekend date               expected [date] got [date]
PASS impossible date            expected [date] got [date]
PASS time before opening        expected [time] got [time]
PASS time after last slot       expected [time] got [time]
PASS time not on half hour      expected [time] got [time]
PASS qty zero                   expected [qty] got [qty]
PASS qty text                   expected [qty] got [qty]
PASS notes too long             expected [notes] got [notes]
PASS honeypot filled            expected [form] got [form]
PASS several errors at once     expected [email,name,qty] got [email,name,qty]
PASS invoice number format
PASS net = 2 x 340.00
PASS tax = 10% of net
PASS gross = net + tax
PASS due date = issued + 14 days
PASS same slot reported as taken
PASS other slot still free
PASS database rejects duplicate slot
PASS next sequence number is 2

24 of 24 tests passed
