Express-App mit JSON-Speicher unter VCH_DATA_DIR, Monatskalender mit Fotos, Personen mit Rollen und Teilzeit-Freitagen, Abwesenheiten, Feiertage je Bundesland, faire Zufallsauslosung mit Fixieren und Neu-Auslosen. Nextcloud: CalDAV-Discovery, Zielkalender wählbar, Termine je Werktag schreiben und aktualisieren, Abwesenheiten aus Kalender importieren, Personen samt Fotos aus dem Systemadressbuch übernehmen. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
23 lines
1.0 KiB
JavaScript
23 lines
1.0 KiB
JavaScript
import { test } from 'node:test';
|
|
import assert from 'node:assert/strict';
|
|
import fs from 'node:fs';
|
|
import os from 'node:os';
|
|
import path from 'node:path';
|
|
import { loadEnvFile } from '../server/env.js';
|
|
|
|
test('.env laden ohne bestehende Variablen zu überschreiben', () => {
|
|
const dir = fs.mkdtempSync(path.join(os.tmpdir(), 'rot-'));
|
|
const file = path.join(dir, '.env');
|
|
fs.writeFileSync(file, '# Kommentar\nROT_A=eins\nROT_B="zwei drei" \nROT_C=vier # optional\nexport ROT_D=\'fünf\'\nROT_E=\nROT_F= # optional Erklärung\nROT_G=wert # Kommentar\n');
|
|
process.env.ROT_A = 'vorher';
|
|
assert.equal(loadEnvFile(file), true);
|
|
assert.equal(process.env.ROT_A, 'vorher');
|
|
assert.equal(process.env.ROT_B, 'zwei drei');
|
|
assert.equal(process.env.ROT_C, 'vier');
|
|
assert.equal(process.env.ROT_D, 'fünf');
|
|
assert.equal(process.env.ROT_E, '');
|
|
assert.equal(process.env.ROT_F, '', 'Kommentar nach leerem Wert ist kein Wert');
|
|
assert.equal(process.env.ROT_G, 'wert');
|
|
assert.equal(loadEnvFile(path.join(dir, 'fehlt')), false);
|
|
});
|