You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

32 lines
1.4 KiB

import { describe, expect, test } from "bun:test";
import { getConfigDefinition, validateConfigValue } from "./registry";
describe("comment email config validation", () => {
test("accepts a valid commentMailFromEmail", () => {
expect(validateConfigValue("commentMailFromEmail" as never, "noreply@example.com")).toBe(true);
});
test("rejects an invalid commentMailFromEmail", () => {
expect(validateConfigValue("commentMailFromEmail" as never, "invalid-email")).toBe(false);
});
test("validates commentNotifyEnabled as boolean", () => {
expect(validateConfigValue("commentNotifyEnabled" as never, true)).toBe(true);
expect(validateConfigValue("commentNotifyEnabled" as never, false)).toBe(true);
expect(validateConfigValue("commentNotifyEnabled" as never, "true")).toBe(false);
});
test("enforces commentSmtpPort boundaries", () => {
expect(validateConfigValue("commentSmtpPort" as never, 0)).toBe(false);
expect(validateConfigValue("commentSmtpPort" as never, 65536)).toBe(false);
expect(validateConfigValue("commentSmtpPort" as never, 465)).toBe(true);
});
test("defines commentNotifyEnabled as user-overridable both-scope key", () => {
const definition = getConfigDefinition("commentNotifyEnabled" as never);
expect(definition.scope).toBe("both");
expect(definition.valueType).toBe("boolean");
expect(definition.defaultValue).toBe(true);
expect(definition.userOverridable).toBe(true);
});
});