mirror of
https://github.com/carbon-design-system/carbon-components-svelte.git
synced 2025-09-15 18:31:06 +00:00
test(local-storage): extract shared global mock
This commit is contained in:
parent
220f6f833b
commit
c540fa8b68
3 changed files with 50 additions and 63 deletions
|
@ -43,3 +43,41 @@ class ResizeObserverMock {
|
|||
global.ResizeObserver = ResizeObserverMock;
|
||||
|
||||
export const user = userEvent.setup();
|
||||
|
||||
export const setupLocalStorageMock = () => {
|
||||
let localStorageMock: { [key: string]: string } = {};
|
||||
let originalLocalStorage: Storage;
|
||||
|
||||
beforeEach(() => {
|
||||
originalLocalStorage = global.localStorage;
|
||||
localStorageMock = {};
|
||||
global.localStorage = {
|
||||
getItem: vi.fn((key) => localStorageMock[key] || null),
|
||||
setItem: vi.fn((key, value) => {
|
||||
localStorageMock[key] = value;
|
||||
}),
|
||||
removeItem: vi.fn((key) => {
|
||||
delete localStorageMock[key];
|
||||
}),
|
||||
clear: vi.fn(() => {
|
||||
localStorageMock = {};
|
||||
}),
|
||||
length: 0,
|
||||
key: vi.fn(),
|
||||
};
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
global.localStorage = originalLocalStorage;
|
||||
localStorage.clear();
|
||||
vi.restoreAllMocks();
|
||||
localStorageMock = {};
|
||||
});
|
||||
|
||||
return {
|
||||
setMockItem: (key: string, value: string) => {
|
||||
localStorageMock[key] = value;
|
||||
},
|
||||
getMockItem: (key: string) => localStorageMock[key],
|
||||
};
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue