Rotatory anlegen: Morning-Meeting-Moderation auslosen und nach Nextcloud schreiben
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>
This commit is contained in:
commit
95756778d8
26 files changed
+4697
No files matched your search
@@ -0,0 +1,22 @@
|
||||
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);
|
||||
});
|
||||
Reference in new issue
Block a user