Files
gogh-engine/common/storage.test.js
Aditya Gupta 6cdc79e345 feat: Implement Gogh Theme Engine with options page, theme parsing, and semantic theme derivation
We're cooked. <skull emoji>

- Added options page for YAML palette editing, live color preview, and diagnostics.
- Implemented theme engine to parse Gogh YAML palettes and derive semantic themes.
- Configured TypeScript and Vite for building the extension.
- Created new tab and popup HTML pages with corresponding scripts and styles.
- Established storage management for user configurations in Chrome storage.
- Added icons for the extension and updated manifest for MV3 compatibility.
2026-03-03 23:11:08 +05:30

43 lines
971 B
JavaScript

import * as storageModule from "./storage";
const get = jest.fn();
const set = jest.fn();
global.chrome = {
storage: {
sync: {
set,
get
}
}
};
const chromeGetStorageSpy = jest.spyOn(chrome.storage.sync, 'get');
const chromeSetStorageSpy = jest.spyOn(chrome.storage.sync, 'set');
describe("storage → getStorage", () => {
beforeEach(() => {
jest.resetAllMocks();
});
test("chrome get storage api method called", () => {
const getCallback = jest.fn();
storageModule.getStorage("Test", getCallback);
expect(chromeGetStorageSpy).toHaveBeenCalledWith(["Test"], expect.any(Function));
});
});
describe("storage → setStorage", () => {
beforeEach(() => {
jest.resetAllMocks();
});
test("chrome set storage api method called", () => {
storageModule.setStorage("Test", "Value");
expect(chromeSetStorageSpy).toHaveBeenCalledWith({["Test"]: "Value"});
});
});