/* @vitest-environment node */ import { describe, it, expect, vi, beforeEach } from "vitest"; vi.mock("@/lib/auth/session", () => ({ getSession: vi.fn(), })); import { getSession } from "@/lib/auth/session"; import { GET, dynamic } from "./route.js"; describe("GET /api/auth/me", () => { beforeEach(() => { vi.clearAllMocks(); }); it('exports dynamic="force-dynamic" (RHL-006)', () => { expect(dynamic).toBe("force-dynamic"); }); it("returns { user: null } when unauthenticated", async () => { getSession.mockResolvedValue(null); const res = await GET(); expect(res.status).toBe(200); expect(await res.json()).toEqual({ user: null }); }); it("returns user payload when authenticated", async () => { getSession.mockResolvedValue({ userId: "u1", role: "branch", branchId: "NL01", }); const res = await GET(); expect(res.status).toBe(200); expect(await res.json()).toEqual({ user: { userId: "u1", role: "branch", branchId: "NL01" }, }); }); });