fix: complete TechLog migration evidence

This commit is contained in:
DongHyeonka
2026-08-16 04:55:52 +09:00
parent 6c2780b7a7
commit 3a7c5deca0
81 changed files with 1492 additions and 345 deletions
@@ -372,18 +372,20 @@ describe("TechLog explore discovery", () => {
).toHaveAttribute("href", "/explore");
});
it("renders an unknown kind as the source production plain 404", async () => {
it("keeps the unreachable unknown-kind client fallback accessible", async () => {
const { router, container } = renderDiscoveryRoute(
"TECH_LOG_EXPLORE_KIND",
"/explore/unknown",
);
expect(router.state.location.pathname).toBe("/explore/unknown");
expect(await screen.findByText("Not Found", { exact: true })).toBeVisible();
expect(
await screen.findByRole("heading", { name: "페이지를 찾을 수 없습니다." }),
).toBeVisible();
expect(
screen.queryByRole("heading", { name: "화면을 표시하지 못했습니다." }),
).not.toBeInTheDocument();
expect(container.querySelector(".site-frame")).toBeNull();
expect(container.querySelector(".site-frame")).not.toBeNull();
});
it("recovers a rejecting registered not-found runtime under its own chunk contract", async () => {
@@ -337,12 +337,14 @@ describe("TechLog topics and Public not-found routing", () => {
["TECH_LOG_REFERENCE" as const, "/references/not-registered"],
["TECH_LOG_QUESTION" as const, "/questions/not-registered"],
["TECH_LOG_TOPIC" as const, "/topics/not-registered"],
])("uses the source production plain 404 for %s", async (routeId, path) => {
])("keeps the unreachable client fallback accessible for %s", async (routeId, path) => {
const { container, router } = renderDocumentRoute(routeId, path);
expect(router.state.location.pathname).toBe(path);
expect(await screen.findByText("Not Found", { exact: true })).toBeVisible();
expect(
await screen.findByRole("heading", { name: "페이지를 찾을 수 없습니다." }),
).toBeVisible();
expect(screen.queryByRole("heading", { name: "화면을 표시하지 못했습니다." })).not.toBeInTheDocument();
expect(container.querySelector(".site-frame")).toBeNull();
expect(container.querySelector(".site-frame")).not.toBeNull();
});
});
@@ -360,25 +360,29 @@ describe("TechLog Public not-found runtime", () => {
["TECH_LOG_PROJECT_RECORDS" as const, "/projects/missing-project/records"],
["TECH_LOG_RELEASE" as const, "/releases/9.9.9"],
["TECH_LOG_CASE" as const, "/cases/not-registered"],
])("renders the source-compatible plain fallback for %s", async (routeId, path) => {
])("keeps the client-only fallback accessible for %s", async (routeId, path) => {
const { container, router } = renderPublicRoute(routeId, path);
expect(router.state.location.pathname).toBe(path);
expect(await screen.findByText("Not Found", { exact: true })).toBeVisible();
expect(
await screen.findByRole("heading", { name: "페이지를 찾을 수 없습니다." }),
).toBeVisible();
expect(
screen.queryByRole("heading", { name: "화면을 표시하지 못했습니다." }),
).not.toBeInTheDocument();
expect(container.querySelector(".site-frame")).toBeNull();
expect(container.querySelector(".site-frame")).not.toBeNull();
});
it("renders the source-compatible plain fallback for the Public catch-all", () => {
it("keeps the client-only Public catch-all accessible", () => {
const { container, router } = renderPublicRoute(
"NOT_FOUND",
"/definitely-not-a-product-route",
);
expect(router.state.location.pathname).toBe("/definitely-not-a-product-route");
expect(screen.getByText("Not Found", { exact: true })).toBeVisible();
expect(container.querySelector(".site-frame")).toBeNull();
expect(
screen.getByRole("heading", { name: "페이지를 찾을 수 없습니다." }),
).toBeVisible();
expect(container.querySelector(".site-frame")).not.toBeNull();
});
});