Files
votianng/frontend/test/statisticsCourierDetails.test.mjs
T
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

24 lines
1.6 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import test from 'node:test';
import assert from 'node:assert/strict';
import {courierDetailColumns,statisticsDetailValue} from '../src/statisticsCourierDetails.mjs';
import {statisticsAmountColumns} from '../src/statisticsAmountColumns.mjs';
test('courier master fees are visible in all values and never enter aggregate amount columns',()=>{
const result={courierDetails:true,displayMetric:'ALL',gross:true};
assert.deepEqual(courierDetailColumns(result).map(([key])=>key),['courierCompany','systemFee','advertisingAllowance','courierDetailsNotice']);
assert.ok(statisticsAmountColumns(result).every(c=>!['systemFee','advertisingAllowance'].includes(c.key)));
assert.deepEqual(courierDetailColumns({...result,displayMetric:'revenue'}),[['courierCompany','Firma UN']]);
assert.deepEqual(courierDetailColumns({...result,calculation:true}),[['courierCompany','Firma UN']]);
});
test('customer and pickup reports do not expose vehicle fees',()=>{
assert.deepEqual(courierDetailColumns({}),[]);
assert.deepEqual(courierDetailColumns({courierDetails:true,pickup:true}),[]);
assert.deepEqual(courierDetailColumns({courierDetails:true,pickupTimes:true}),[]);
});
test('zero master values stay zero and unknown values stay unknown',()=>{
assert.match(statisticsDetailValue({systemFee:0},'systemFee'),/^0,00\s€$/);
assert.match(statisticsDetailValue({advertisingAllowance:12.5},'advertisingAllowance'),/^12,50\s€$/);
assert.equal(statisticsDetailValue({systemFee:null},'systemFee'),'–');
assert.equal(statisticsDetailValue({courierCompany:'Beispiel & Partner'},'courierCompany'),'Beispiel & Partner');
});