Merge pull request 'test(web): silence localStorage-file warnings in vitest' (#428) from fix/web-test-warnings-2 into develop
Some checks failed
ci/woodpecker/push/orchestrator Pipeline was successful
ci/woodpecker/push/web Pipeline failed
ci/woodpecker/push/api Pipeline was successful

Reviewed-on: #428
This commit was merged in pull request #428.
This commit is contained in:
2026-02-19 01:45:06 +00:00

View File

@@ -24,3 +24,33 @@ Object.defineProperty(window, "matchMedia", {
dispatchEvent: () => false,
}),
});
// Ensure localStorage exists with a full Storage API for tests.
// Avoid touching the built-in accessor (which emits warnings in Node).
let storageStore: Record<string, string> = {};
const storageMock: Storage = {
getItem: (key: string): string | null => storageStore[key] ?? null,
setItem: (key: string, value: string): void => {
storageStore[key] = value;
},
removeItem: (key: string): void => {
// eslint-disable-next-line @typescript-eslint/no-dynamic-delete
delete storageStore[key];
},
clear: (): void => {
storageStore = {};
},
get length(): number {
return Object.keys(storageStore).length;
},
key: (index: number): string | null => {
const keys = Object.keys(storageStore);
return keys[index] ?? null;
},
};
Object.defineProperty(window, "localStorage", {
value: storageMock,
writable: true,
configurable: true,
});