Improve MineGeo interface and functionality
This commit is contained in:
19
tests/site-settings.test.ts
Normal file
19
tests/site-settings.test.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
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);
|
||||
});
|
||||
Reference in New Issue
Block a user