Files
tickte-system/tests/unit/storageFormat.test.mjs

28 lines
1.2 KiB
JavaScript

import test from 'node:test'
import assert from 'node:assert/strict'
import { loadModule } from './load.mjs'
// P6: Faelligkeitsspalte der E-Mail-Speicher-Aufgaben als reiner Helfer
const { storageDue, isOverdue } = await loadModule('src/lib/storageFormat.js')
const t0 = Date.parse('2026-10-05T08:00:00Z')
test('storageDue: Einrichten sofort, Verringern zum Periodenende (ueberfaellig = warn)', () => {
assert.deepEqual(
storageDue({ kind: 'einrichten', createdAt: '2026-10-01T08:30:00.000Z' }, t0),
{ tone: 'warn', label: 'jetzt einrichten', sub: 'bestellt 01.10.26, 10:30', subMuted: true },
)
assert.deepEqual(
storageDue({ kind: 'senken', dueAt: '2026-10-04T00:00:00.000Z' }, t0),
{ tone: 'warn', label: 'zum Periodenende', sub: '04.10.2026', subMuted: false },
)
const later = storageDue({ kind: 'senken', dueAt: '2026-10-20T00:00:00.000Z' }, t0)
assert.equal(later.tone, 'muted')
assert.equal(later.sub, '20.10.2026')
})
test('isOverdue: vergangenes dueAt ja, zukuenftiges oder fehlendes nein', () => {
assert.equal(isOverdue({ dueAt: '2026-10-04T00:00:00.000Z' }, t0), true)
assert.equal(isOverdue({ dueAt: '2026-10-20T00:00:00.000Z' }, t0), false)
assert.equal(isOverdue({}, t0), false)
})