Projektkonto: Abzeichen abgerechnet je Ticket (Rechnungsnummer oder Entwurf)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Sonnet 5.5 committed 2026-10-07 14:12:25 +00:00
1 parent 7cec85f888
commit 32726fa1c2
2 files changed
+49

No files matched your search

+26
View File
@@ -659,3 +659,29 @@ test('Detail bei ausgeschaltetem Schalter: keine ABs, Vereinbart leer, ABs werde
assert.equal(detail.konto.vereinbart.festpreisCents, null)
assert.equal(aw.listCalls(config.collections.auftraege).length, 0)
})
// ---------- Abzeichen "abgerechnet" (Task 6) ----------
test('abgerechnetFuerTicket: Rechnungsnummer oder Entwurf, nur Blätter dieses Tickets, nur aktive Projektrechnungen des Kunden', async () => {
seedTicket('t1', '100001')
seedTicket('t2', '100002')
seedBlatt('w1', 't1', 60)
seedBlatt('w2', 't1', 30)
seedBlatt('w3', 't1', 15)
seedBlatt('w9', 't2', 45)
seedPr('in_1', { rechnungsnummer: 'WEBKLAR-0007', arbeitsblattIds: ['w1'] })
seedPr('in_2', { rechnungsnummer: '', arbeitsblattIds: ['w2', 'w9'] }) // Entwurf, ein Blatt gehört zu t2
seedPr('in_3', { rechnungsnummer: 'WEBKLAR-0003', arbeitsblattIds: ['w3'], aktiv: false }) // zurückgenommen
seedPr('in_4', { kundenId: 'c2', rechnungsnummer: 'WEBKLAR-0004', arbeitsblattIds: ['w1'] }) // anderer Kunde
assert.deepEqual(await abgerechnetFuerTicket('t1'), { w1: 'WEBKLAR-0007', w2: 'Entwurf' })
assert.deepEqual(await abgerechnetFuerTicket('t2'), { w9: 'Entwurf' })
})
test('abgerechnetFuerTicket: unbekanntes Ticket, Ticket ohne Kunde oder nichts abgerechnet -> leer', async () => {
seedTicket('t1', '100001')
seedTicket('t3', '100003', '')
seedBlatt('w1', 't1', 60)
assert.deepEqual(await abgerechnetFuerTicket('gibtsnicht'), {})
assert.deepEqual(await abgerechnetFuerTicket('t3'), {})
assert.deepEqual(await abgerechnetFuerTicket('t1'), {})
})