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'); });