import { expect, test } from "@playwright/test"; import { runAuthenticatedSidebarAction } from "@/lib/home/sidebar-auth"; test.describe("home sidebar authentication guard", () => { test("opens login without running the action for signed-out users", () => { let actionCount = 0; let loginCount = 0; const allowed = runAuthenticatedSidebarAction({ action: () => { actionCount += 1; }, isAuthenticated: false, onRequireLogin: () => { loginCount += 1; }, }); expect(allowed).toBe(false); expect(actionCount).toBe(0); expect(loginCount).toBe(1); }); test("runs the action without opening login for authenticated users", () => { let actionCount = 0; let loginCount = 0; const allowed = runAuthenticatedSidebarAction({ action: () => { actionCount += 1; }, isAuthenticated: true, onRequireLogin: () => { loginCount += 1; }, }); expect(allowed).toBe(true); expect(actionCount).toBe(1); expect(loginCount).toBe(0); }); });