import { describe, it, expect, vi } from "vitest"; import { useIsPremium } from "./useIsPremium"; vi.mock("./useLicense", () => ({ useLicense: vi.fn(), })); import { useLicense } from "./useLicense"; const mockUseLicense = vi.mocked(useLicense); describe("useIsPremium", () => { it('returns true when edition is "premium"', () => { mockUseLicense.mockReturnValue({ state: { status: "ready", edition: "premium", info: null, error: null }, refresh: vi.fn(), submitKey: vi.fn(), checkEntitlement: vi.fn(), }); expect(useIsPremium()).toBe(true); }); it('returns false when edition is "base"', () => { mockUseLicense.mockReturnValue({ state: { status: "ready", edition: "base", info: null, error: null }, refresh: vi.fn(), submitKey: vi.fn(), checkEntitlement: vi.fn(), }); expect(useIsPremium()).toBe(false); }); it('returns false when edition is "free"', () => { mockUseLicense.mockReturnValue({ state: { status: "ready", edition: "free", info: null, error: null }, refresh: vi.fn(), submitKey: vi.fn(), checkEntitlement: vi.fn(), }); expect(useIsPremium()).toBe(false); }); });