Files
votianng/frontend/test/disposition-drop-time.test.mjs
Sven 781a2b82dc Erweitere VoTiAn NG um Fachfunktionen und verbessere die Listenoberfläche
Ergänze Auftragsbearbeitung, Disposition, Stammdaten, Kunden- und
Transporteurportale, Lagerverwaltung, Abrechnung, Exporte und Statistik.
Füge Kontoeinstellungen, Mitteilungen, Automatikdienste und Betriebsstatus
sowie die zugehörigen Tests und PHP-Abgleichsdokumentation hinzu.

Vergrößere die persönlichen Auftragslisten auf einheitliche Höhen und
richte Statusanzeigen sowie die Ranking-Vorschau-Steuerelemente bündig aus.

Validierung: 44 Frontendtests und Produktionsbuild erfolgreich.
Backend funktional unverändert gegenüber dem vollständigen Lauf mit 1.624
erfolgreichen und drei übersprungenen Tests. Layout im Browser und lokale
Bereitstellung geprüft.
2026-10-20 11:19:43 +02:00

15 lines
1.3 KiB
JavaScript

import test from 'node:test';import assert from 'node:assert/strict';
import {headquartersDropAllowed as allowed} from '../src/dispositionDropTime.mjs';
const base={day:'2026-10-19',units:6,serverNow:'2026-10-19T10:00:00',slot:60};
test('HQ drops preserve exact time boundary and advance while the board remains open',()=>{
assert.equal(allowed(base),true);assert.equal(allowed({...base,slot:59}),false);assert.equal(allowed({...base,elapsedMs:1}),false);assert.equal(allowed({...base,slot:61,elapsedMs:600000}),true);assert.equal(allowed({...base,slot:61,elapsedMs:600001}),false);
});
test('database date crosses midnight independently of browser time zone',()=>{
assert.equal(allowed({...base,day:'2026-10-20',slot:0}),true);assert.equal(allowed({...base,day:'2026-10-18',slot:143}),false);
assert.equal(allowed({...base,serverNow:'2026-10-19T23:59:59',day:'2026-10-20',slot:0,elapsedMs:1000}),true);
assert.equal(allowed({...base,serverNow:'2026-10-19T23:59:59',day:'2026-10-20',slot:0,elapsedMs:1001}),false);
});
test('configured override permits elapsed time; missing server time does not invent a current clock',()=>{
assert.equal(allowed({...base,slot:0,allowPastDrops:true}),true);assert.equal(allowed({...base,serverNow:undefined}),false);assert.equal(allowed({...base,serverNow:'invalid'}),false);assert.equal(allowed({...base,units:0}),false);
});