Funktionen: Buchung per Stripe, Webhook, Mails und Freischalt-Job
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
770cbe32b7
commit
0cc35bf1a5
12 files changed
+642
-8
No files matched your search
@@ -131,3 +131,34 @@ test('parallele_webhooks_ein_ticket', async () => {
|
||||
assert.equal(tickets().length, before + 1)
|
||||
assert.ok((await sf.getFeatureDoc('c1', 'p4', 'news')).ticketId)
|
||||
})
|
||||
|
||||
test('abgelaufen_fasst_setup_und_active_nicht_an', async () => {
|
||||
// cs_1 ist bezahlt ('setup' bzw. nach dem Schliessen des Tickets 'active'): ein spaetes expired aendert nichts
|
||||
const before = await sf.getFeatureDoc('c1', 'p1', 'news')
|
||||
assert.notEqual(before.state, 'ordered')
|
||||
const after = await sf.markCheckoutFailed('cs_1')
|
||||
assert.equal(after.state, before.state)
|
||||
assert.equal((await sf.getFeatureDoc('c1', 'p1', 'news')).state, before.state)
|
||||
assert.equal((await sf.getFeatureDoc('c1', 'p1', 'news')).purchaseStatus, 'paid')
|
||||
})
|
||||
|
||||
test('bezahlt_und_abgelaufen_gleichzeitig_bleiben_stimmig', async () => {
|
||||
const pid = 'p_race'
|
||||
aw.seed('websiteProjects', { $id: pid, customerId: 'c1', projectName: 'Rennen' })
|
||||
await sf.markOrdered({ customerId: 'c1', projectId: pid, key: 'news', sessionId: 'cs_race', consent })
|
||||
const ticketsBefore = tickets().length
|
||||
await Promise.all([
|
||||
sf.markPaid({ sessionId: 'cs_race', invoiceId: 'in_r', invoiceUrl: '' }),
|
||||
sf.markCheckoutFailed('cs_race'),
|
||||
])
|
||||
const doc = await sf.getFeatureDoc('c1', pid, 'news')
|
||||
// entweder bezahlt (mit Ticket) oder zurueckgesetzt (ohne): nie 'setup' ohne Ticket oder 'off' mit Ticket
|
||||
if (doc.state === 'setup') {
|
||||
assert.ok(doc.ticketId)
|
||||
assert.equal(tickets().length, ticketsBefore + 1)
|
||||
} else {
|
||||
assert.equal(doc.state, 'off')
|
||||
assert.equal(doc.ticketId || '', '')
|
||||
assert.equal(tickets().length, ticketsBefore)
|
||||
}
|
||||
})
|
||||
Reference in new issue
Block a user