route.test.js 996 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /* @vitest-environment node */
  2. import { describe, it, expect, vi, beforeEach } from "vitest";
  3. vi.mock("@/lib/auth/session", () => ({
  4. getSession: vi.fn(),
  5. }));
  6. import { getSession } from "@/lib/auth/session";
  7. import { GET, dynamic } from "./route.js";
  8. describe("GET /api/auth/me", () => {
  9. beforeEach(() => {
  10. vi.clearAllMocks();
  11. });
  12. it('exports dynamic="force-dynamic" (RHL-006)', () => {
  13. expect(dynamic).toBe("force-dynamic");
  14. });
  15. it("returns { user: null } when unauthenticated", async () => {
  16. getSession.mockResolvedValue(null);
  17. const res = await GET();
  18. expect(res.status).toBe(200);
  19. expect(await res.json()).toEqual({ user: null });
  20. });
  21. it("returns user payload when authenticated", async () => {
  22. getSession.mockResolvedValue({
  23. userId: "u1",
  24. role: "branch",
  25. branchId: "NL01",
  26. });
  27. const res = await GET();
  28. expect(res.status).toBe(200);
  29. expect(await res.json()).toEqual({
  30. user: { userId: "u1", role: "branch", branchId: "NL01" },
  31. });
  32. });
  33. });