feat: add Docker support with demo mode and database reset functionality
This commit is contained in:
1 parent
75af38a4b6
commit
373b9278d1
12 files changed
+248
-5
No files matched your search
@@ -8,6 +8,22 @@ import { localClock, localInstant, pickupState } from "../src/lib/time";
|
||||
import { childSchema, correctionSchema, daySchema, overrideSchema, aloneRulesSchema, contactSchema, slotSchema, applicationSchema } from "../src/lib/validation";
|
||||
import { hashPassword, verifyPassword } from "../src/lib/password";
|
||||
import { chooseWinners, invitationHash, newInvitation } from "../src/lib/admissions";
|
||||
import { demoLogin, isDemoDatabase } from "../src/lib/demo";
|
||||
|
||||
test("Demozugang nur bei explizitem Modus; Container-Reset nur fuer isolierte Demo-Datenbank", () => {
|
||||
const normal = { NODE_ENV: "test" } as const;
|
||||
assert.equal(demoLogin(normal), undefined);
|
||||
assert.equal(demoLogin({ ...normal, DEMO_MODE: "false" }), undefined);
|
||||
assert.equal(demoLogin({ ...normal, DEMO_MODE: "TRUE" }), undefined);
|
||||
const demo = { ...normal, DEMO_MODE: "true", DEMO_RESET_ON_START: "true" };
|
||||
assert.deepEqual(demoLogin(demo), { email: "demo@kibu.local", password: "KIBU-Demo-2026!" });
|
||||
const target = new URL("postgresql://demo-db/kibu_demo");
|
||||
assert.equal(isDemoDatabase(target, demo), true);
|
||||
assert.equal(isDemoDatabase(target, normal), false);
|
||||
assert.equal(isDemoDatabase(target, { ...demo, DEMO_RESET_ON_START: "false" }), false);
|
||||
assert.equal(isDemoDatabase(new URL("postgresql://demo-db/kibu"), demo), false);
|
||||
assert.equal(isDemoDatabase(new URL("postgresql://production/kibu_demo"), demo), false);
|
||||
});
|
||||
|
||||
test("Abholfenster: genau jetzt und bis einschließlich 15 Minuten, überfällig erst davor", () => {
|
||||
assert.equal(pickupState(null, "14:00"), "none");
|
||||
|
||||
Reference in new issue
Block a user