| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- import { describe, it, expect, beforeEach, vi } from "vitest";
- import { clearSession } from "../src/utils/clear-session";
- import store from "../src/store";
- import { initialState as browserInitialState } from "../src/state/browserSlice";
- describe("clearSession", () => {
- beforeEach(() => {
- // Mock localStorage
- const localStorageMock = {
- getItem: vi.fn(),
- setItem: vi.fn(),
- removeItem: vi.fn(),
- clear: vi.fn(),
- };
- vi.stubGlobal("localStorage", localStorageMock);
- // Set initial browser state to non-default values
- store.dispatch({
- type: "browser/setUrl",
- payload: "https://example.com",
- });
- store.dispatch({
- type: "browser/setScreenshotSrc",
- payload: "base64screenshot",
- });
- });
- it("should clear localStorage and reset browser state", () => {
- clearSession();
- // Verify localStorage items were removed
- expect(localStorage.removeItem).toHaveBeenCalledWith("token");
- expect(localStorage.removeItem).toHaveBeenCalledWith("repo");
- // Verify browser state was reset
- const state = store.getState();
- expect(state.browser.url).toBe(browserInitialState.url);
- expect(state.browser.screenshotSrc).toBe(browserInitialState.screenshotSrc);
- });
- });
|