astro-ghostcms/packages/starlight-ghostcms/src/utils/api/invariant.test.ts

33 lines
836 B
TypeScript

import { describe, expect, it } from "vitest";
// Modified version of invariant script to allow tests
const isProduction = false;
const prefix: string = "Invariant failed";
function invariant(condition: any, message?: string | (() => string)) {
if (condition) {
return;
}
if (isProduction) {
throw new Error(prefix);
}
const provided: string | undefined =
typeof message === "function" ? message() : message;
const value: string = provided ? `${prefix}: ${provided}` : prefix;
return value;
}
// TEST SECTION
const testTrue = true;
const testFalse = false;
describe("test invariant", () => {
it("Test `true` value", () => {
invariant(testTrue, "This should not error");
expect(null);
});
it("Test `false` value", () => {
invariant(testFalse, "This should Error");
expect(String("Invariant failed"));
});
});