Persist sidebar collapsed preference to localStorage
This commit is contained in:
@@ -18,7 +18,7 @@ import { MainLayout } from "../../layouts/MainLayout";
|
||||
// Mocks
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
vi.mock("../../providers/AuthProvider", () => ({
|
||||
vi.mock("../../hooks/useAuth", () => ({
|
||||
useAuth: () => ({ logout: vi.fn() }),
|
||||
}));
|
||||
|
||||
@@ -56,6 +56,7 @@ function renderLayout(): void {
|
||||
describe("MainLayout", () => {
|
||||
beforeEach(() => {
|
||||
vi.clearAllMocks();
|
||||
localStorage.clear();
|
||||
});
|
||||
|
||||
it("renders the navigation sidebar", () => {
|
||||
@@ -75,4 +76,17 @@ describe("MainLayout", () => {
|
||||
await userEvent.click(toggleButton);
|
||||
expect(screen.queryByText("BanGUI")).not.toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("initialises sidebar collapsed state from localStorage", () => {
|
||||
localStorage.setItem("bangui_sidebar_collapsed", "true");
|
||||
renderLayout();
|
||||
expect(screen.queryByText("BanGUI")).not.toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("persists sidebar collapsed state to localStorage when toggled", async () => {
|
||||
renderLayout();
|
||||
const toggleButton = screen.getByRole("button", { name: /collapse sidebar/i });
|
||||
await userEvent.click(toggleButton);
|
||||
expect(localStorage.getItem("bangui_sidebar_collapsed")).toBe("true");
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user