Terminplaner TP2 C7a: Nachbesserung 1
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
edaefd4237
commit
0090332c70
2 files changed
+30
-2
No files matched your search
@@ -142,6 +142,31 @@ test('ressourcenAusNamen: übrige alte Einträge werden der Reihe nach umbenannt
|
||||
assert.deepEqual(gemischt.neu, [])
|
||||
})
|
||||
|
||||
test('ressourcenAusNamen: ein neuer Name vor einem behaltenen bekommt trotzdem dessen Plan (Vorlage unabhängig von der Reihenfolge)', () => {
|
||||
const bisher = [{ id: 'r_anna0001', typ: 'person', name: 'Anna', aktiv: true, plan: { 1: [['09:00', '12:00']] } }]
|
||||
const erg = ressourcenAusNamen({ bisher, typ: 'person', namen: ['Ben', 'Anna'], neueId: zaehler() })
|
||||
assert.deepEqual(namenVon(erg.ressourcen), ['Ben', 'Anna'])
|
||||
const [ben, anna] = erg.ressourcen
|
||||
assert.equal(anna.id, 'r_anna0001', 'Anna behält ihre ID')
|
||||
assert.deepEqual(anna.plan, { 1: [['09:00', '12:00']] }, 'und ihren Plan')
|
||||
assert.equal(ben.id, 'r_test0001')
|
||||
assert.deepEqual(ben.plan, { 1: [['09:00', '12:00']] }, 'Ben bekommt Annas Plan, nicht einen leeren')
|
||||
assert.notEqual(ben.plan, anna.plan, 'als Kopie')
|
||||
ben.plan[1].push(['14:00', '16:00'])
|
||||
assert.equal(anna.plan[1].length, 1, 'Änderungen an Ben verändern Anna nicht')
|
||||
assert.equal(bisher[0].plan[1].length, 1, 'und nicht den alten Eintrag')
|
||||
assert.deepEqual(erg.neu, ['r_test0001'])
|
||||
assert.deepEqual(erg.entfernt, [])
|
||||
// mehrere neue Namen vor dem behaltenen, und ein umbenannter alter Eintrag liefert die Vorlage ebenso
|
||||
const drei = ressourcenAusNamen({ bisher, typ: 'person', namen: ['Ben', 'Cem', 'Anna'], neueId: zaehler() })
|
||||
assert.deepEqual(drei.ressourcen.map((r) => r.plan), [bisher[0].plan, bisher[0].plan, bisher[0].plan])
|
||||
const umbenannt = ressourcenAusNamen({ bisher, typ: 'person', namen: ['Ben', 'Cem'], neueId: zaehler() })
|
||||
assert.deepEqual(idsVon(umbenannt.ressourcen), ['r_anna0001', 'r_test0001'], 'Anna wird zu Ben, Cem ist neu')
|
||||
assert.deepEqual(umbenannt.ressourcen.map((r) => r.plan), [bisher[0].plan, bisher[0].plan])
|
||||
// ohne bisherigen Eintrag gibt es keine Vorlage: leerer Plan
|
||||
assert.deepEqual(ressourcenAusNamen({ bisher: [], typ: 'person', namen: ['Ben', 'Cem'], neueId: zaehler() }).ressourcen.map((r) => r.plan), [{}, {}])
|
||||
})
|
||||
|
||||
test('ressourcenAusNamen: trimmt, entfernt Leere und Doppelte ohne Rücksicht auf Groß-/Kleinschreibung', () => {
|
||||
const erg = ressourcenAusNamen({ bisher: [], typ: 'person', namen: [' Anna ', '', ' ', 'anna', 'ANNA', 'Ben', ' Ben', null, undefined, 5], neueId: zaehler() })
|
||||
assert.deepEqual(namenVon(erg.ressourcen), ['Anna', 'Ben'], 'die erste Schreibweise gilt')
|
||||
|
||||
Reference in new issue
Block a user