Kontrolle: Rechnungsdialog übernimmt das Zahlungsziel der gewählten AB

Bei Anzahlung, Schlussrechnung und Aufwand wird 'Zahlungsziel in Tagen' mit
auftrag.zahlungszielTage vorbelegt (sonst 14); eine Eingabe des Nutzers bleibt.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Sonnet 5.5 committed 2026-10-07 15:17:08 +00:00
1 parent b7b3e834f8
commit dec7bea7d2
5 files changed
+63 -3

No files matched your search

+18 -1
View File
@@ -9,7 +9,7 @@ test('anfangszustand: nichts gewählt, eine leere Position, Zahlungsziel 14', ()
projektId: 'p1', art: '', auftragId: '',
items: [{ uid: 1, description: '', quantity: '1', price: '' }], zusatz: [],
abgewaehlt: [], weitereTickets: [], anzahlung: {}, zeilentexte: {},
zeitraum: '', zeitraumGeaendert: false, days: '14', memo: '',
zeitraum: '', zeitraumGeaendert: false, days: '14', tageGeaendert: false, memo: '',
})
assert.equal(anfangszustand().projektId, null)
assert.equal(anfangszustand({ projektId: '' }).projektId, '')
@@ -113,3 +113,20 @@ test('anzahlung und auftrag: Eingaben ergänzen sich, eine andere AB setzt sie z
assert.deepEqual([s.auftragId, s.anzahlung], ['a2', {}])
assert.equal(reduce(s, { type: 'gibtsnicht' }), s)
})
test('tage-vorschlag: übernimmt das Zahlungsziel der AB, solange der Nutzer es nicht selbst geändert hat', () => {
let s = anfangszustand({ projektId: 'p1' })
s = reduce(s, { type: 'tage-vorschlag', wert: '30' })
assert.equal(s.days, '30')
assert.equal(s.tageGeaendert, false)
assert.equal(reduce(s, { type: 'tage-vorschlag', wert: '30' }), s) // derselbe Wert: nichts zu tun
s = reduce(s, { type: 'tage-vorschlag', wert: '14' }) // andere AB gewählt: der Vorschlag folgt
assert.equal(s.days, '14')
// eine Eingabe des Nutzers wird nie überschrieben, auch nicht nach einem Projektwechsel
s = reduce(s, { type: 'tage', wert: '7' })
assert.equal(s.tageGeaendert, true)
assert.equal(reduce(s, { type: 'tage-vorschlag', wert: '30' }), s)
s = reduce(s, { type: 'projekt', projektId: 'p2' })
assert.equal(s.days, '7')
assert.equal(reduce(s, { type: 'tage-vorschlag', wert: '30' }).days, '7')
})