20 lines
683 B
TypeScript
20 lines
683 B
TypeScript
import assert from "node:assert/strict";
|
|
import { test } from "node:test";
|
|
import { siteSettingsSchema } from "../shared/site-settings";
|
|
|
|
test("site settings accept only an explicit boolean and reject privilege fields", () => {
|
|
for (const enabled of [false, true])
|
|
assert.equal(
|
|
siteSettingsSchema.parse({ betaBadgeEnabled: enabled }).betaBadgeEnabled,
|
|
enabled,
|
|
);
|
|
for (const payload of [
|
|
{},
|
|
{ betaBadgeEnabled: "false" },
|
|
{ betaBadgeEnabled: null },
|
|
{ betaBadgeEnabled: false, role: "moderator" },
|
|
{ betaBadgeEnabled: false, updatedBy: "another-player" },
|
|
])
|
|
assert.equal(siteSettingsSchema.safeParse(payload).success, false);
|
|
});
|