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,16 @@
|
||||
import test from 'node:test';
|
||||
import assert from 'node:assert/strict';
|
||||
import {contactEmails,isContactEmail} from '../src/contactEmails.mjs';
|
||||
|
||||
test('each recipient gets a separate vCard mail value',()=>{
|
||||
const raw=' eins@example.test, zwei+tag@example.org, dritt@[127.0.0.1] ';
|
||||
assert.deepEqual(contactEmails(raw),['eins@example.test','zwei+tag@example.org','dritt@[127.0.0.1]']);
|
||||
assert.equal(raw,' eins@example.test, zwei+tag@example.org, dritt@[127.0.0.1] ');
|
||||
});
|
||||
test('empty mail values add no empty vCard property',()=>{
|
||||
for(const raw of [null,undefined,'',' ', ', ,'])assert.deepEqual(contactEmails(raw),[]);
|
||||
});
|
||||
test('mail aliases include generic fields and exclude ordinary notes',()=>{
|
||||
for(const type of ['mail','email','mail_business','mail_private','email_business','email_private'])assert.equal(isContactEmail(type),true);
|
||||
for(const type of ['text','phone_business','mail_note'])assert.equal(isContactEmail(type),false);
|
||||
});
|
||||
Reference in new issue
Block a user