Files
wehub-resource-sync 70bf21e064
Handle Changesets / Handle Changesets (push) Waiting to run
Semgrep OSS scan / semgrep-oss (push) Waiting to run
Deploy (to testing) and Test Playground Preview Worker / Deploy Playground Preview Worker (testing) (push) Has been skipped
Deploy Workers Shared Staging / Deploy Workers Shared Staging (push) Failing after 0s
Prerelease / build (push) Has been skipped
chore: import upstream snapshot with attribution
2026-07-13 12:30:11 +08:00

38 lines
1.2 KiB
TypeScript

import { describe, it } from "vitest";
import { getFrameworkClassInstance } from "../../src/frameworks";
import { NextJs } from "../../src/frameworks/next";
import { NoOpFramework } from "../../src/frameworks/no-op";
import { Static } from "../../src/frameworks/static";
describe("getFrameworkClassInstance()", () => {
it("should return a Static framework when frameworkId is unknown", ({
expect,
}) => {
const framework = getFrameworkClassInstance("unknown-framework");
expect(framework).toBeInstanceOf(Static);
expect(framework.id).toBe("static");
expect(framework.name).toBe("Static");
});
it("should return a target framework when frameworkId is known and supported", ({
expect,
}) => {
const framework = getFrameworkClassInstance("next");
expect(framework).toBeInstanceOf(NextJs);
expect(framework.id).toBe("next");
expect(framework.name).toBe("Next.js");
});
it("should return a NoOpFramework for an unsupported framework (hono)", ({
expect,
}) => {
const framework = getFrameworkClassInstance("hono");
expect(framework).toBeInstanceOf(NoOpFramework);
expect(framework.id).toBe("hono");
expect(framework.name).toBe("Hono");
});
});