Initial Commit
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
import { describe, expect, it } from "@suaveplan/testing/runner";
|
||||
import {
|
||||
OPENAPI_UI_SCALAR_CODES,
|
||||
OpenapiUiScalarError,
|
||||
} from "./error-codes.js";
|
||||
|
||||
describe("OPENAPI_UI_SCALAR codes", () => {
|
||||
it("exposes the three stable codes", { timeout: 5000 }, () => {
|
||||
expect(OPENAPI_UI_SCALAR_CODES.ASSETS_MISSING).toBe(
|
||||
"OPENAPI_UI_SCALAR.ASSETS_MISSING"
|
||||
);
|
||||
expect(OPENAPI_UI_SCALAR_CODES.INVALID_OPTIONS).toBe(
|
||||
"OPENAPI_UI_SCALAR.INVALID_OPTIONS"
|
||||
);
|
||||
expect(OPENAPI_UI_SCALAR_CODES.ASSET_NOT_REGISTERED).toBe(
|
||||
"OPENAPI_UI_SCALAR.ASSET_NOT_REGISTERED"
|
||||
);
|
||||
});
|
||||
|
||||
it("error carries the code in both fields", { timeout: 5000 }, () => {
|
||||
const err = new OpenapiUiScalarError(
|
||||
OPENAPI_UI_SCALAR_CODES.ASSETS_MISSING,
|
||||
"missing",
|
||||
{ context: { mode: "bundled" } }
|
||||
);
|
||||
expect(err).toBeInstanceOf(OpenapiUiScalarError);
|
||||
expect(err.code).toBe(OPENAPI_UI_SCALAR_CODES.ASSETS_MISSING);
|
||||
expect(err.scalarCode).toBe(OPENAPI_UI_SCALAR_CODES.ASSETS_MISSING);
|
||||
expect(err.name).toBe("OpenapiUiScalarError");
|
||||
expect(err.context?.mode).toBe("bundled");
|
||||
});
|
||||
|
||||
it("supports the cause chain on the shared base", { timeout: 5000 }, () => {
|
||||
const root = new Error("root");
|
||||
const err = new OpenapiUiScalarError(
|
||||
OPENAPI_UI_SCALAR_CODES.INVALID_OPTIONS,
|
||||
"boom",
|
||||
{ cause: root }
|
||||
);
|
||||
expect(err.cause).toBe(root);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user