|
import { beforeEach, describe, expect, it, vi, type Mock } from "vitest";
|
|
import { getCachedConfig } from "../../src/utils/storage";
|
|
|
|
describe("getCachedConfig", () => {
|
|
beforeEach(() => {
|
|
|
|
Storage.prototype.getItem = vi.fn();
|
|
});
|
|
|
|
it("should return an empty object when local storage is null or undefined", () => {
|
|
(Storage.prototype.getItem as Mock).mockReturnValue(null);
|
|
expect(getCachedConfig()).toEqual({});
|
|
|
|
(Storage.prototype.getItem as Mock).mockReturnValue(undefined);
|
|
expect(getCachedConfig()).toEqual({});
|
|
});
|
|
|
|
it("should return an empty object when local storage has invalid JSON", () => {
|
|
(Storage.prototype.getItem as Mock).mockReturnValue("invalid JSON");
|
|
expect(getCachedConfig()).toEqual({});
|
|
});
|
|
|
|
it("should return parsed object when local storage has valid JSON", () => {
|
|
const validJSON = '{"key":"value"}';
|
|
(Storage.prototype.getItem as Mock).mockReturnValue(validJSON);
|
|
expect(getCachedConfig()).toEqual({ key: "value" });
|
|
});
|
|
});
|
|
|