IKHSAN
EN Read in EnglishID

homeio

Publik

Fork dari doctor-io/homeio

Branch
main
Commit terakhir
958d74616 Oktober 2026

lock-state.test.ts

Buka raw
import { describe, expect, it, vi } from "vitest";
import {
  LOCK_STATE_STORAGE_KEY,
  readLockState,
  writeLockState,
} from "@/lib/desktop/lock-state";

describe("desktop lock state", () => {
  it("reads unlocked by default", () => {
    const getItem = vi.fn().mockReturnValue(null);
    const storage = { getItem } as unknown as Storage;

    expect(readLockState(storage)).toBe(false);
    expect(getItem).toHaveBeenCalledWith(LOCK_STATE_STORAGE_KEY);
  });

  it("reads locked when persisted value is 1", () => {
    const storage = {
      getItem: vi.fn().mockReturnValue("1"),
    } as unknown as Storage;

    expect(readLockState(storage)).toBe(true);
  });

  it("persists and clears lock state", () => {
    const setItem = vi.fn();
    const removeItem = vi.fn();
    const storage = {
      setItem,
      removeItem,
    } as unknown as Storage;

    writeLockState(storage, true);
    expect(setItem).toHaveBeenCalledWith(LOCK_STATE_STORAGE_KEY, "1");

    writeLockState(storage, false);
    expect(removeItem).toHaveBeenCalledWith(LOCK_STATE_STORAGE_KEY);
  });
});
byte
1.087
baris
40
Jenis
ts
Commit terakhir
16 Oktober 2026