25 lines
1.0 KiB
React
25 lines
1.0 KiB
React
// @vitest-environment jsdom
|
|
|
|
import { render, screen } from "@testing-library/react";
|
|
import { describe, expect, it } from "vitest";
|
|
|
|
import { createAnonymousSessionAdapter } from "../../src/adapters/auth/external-session-adapter.js";
|
|
import { AppRouter } from "../../src/presentation/routes/app-router.jsx";
|
|
|
|
describe("application router", () => {
|
|
it("renders not-found without making an API request", () => {
|
|
window.history.pushState({}, "", "/missing");
|
|
render(<AppRouter authSession={createAnonymousSessionAdapter()} />);
|
|
expect(
|
|
screen.getByRole("heading", { name: "페이지를 찾을 수 없습니다." }),
|
|
).toBeVisible();
|
|
});
|
|
|
|
it("shows session-required UX without claiming authorization", () => {
|
|
window.history.pushState({}, "", "/sample/resources");
|
|
render(<AppRouter authSession={createAnonymousSessionAdapter()} />);
|
|
expect(screen.getByRole("heading", { name: "세션이 필요합니다." })).toBeVisible();
|
|
expect(screen.getByRole("button", { name: "로그인" })).toBeVisible();
|
|
});
|
|
});
|