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.
This commit is contained in:
1 parent
363bc27c26
commit
781a2b82dc
1165 files changed
+74986
-1028
No files matched your search
@@ -0,0 +1,23 @@
|
||||
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');
|
||||
});
|
||||
Reference in new issue
Block a user