-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.js
More file actions
49 lines (44 loc) · 1.05 KB
/
Copy pathsetup.js
File metadata and controls
49 lines (44 loc) · 1.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import { beforeEach, vi } from 'vitest';
// Mock localStorage for tests
const localStorageMock = (() => {
let store = {};
return {
getItem: vi.fn(key => store[key] || null),
setItem: vi.fn((key, value) => {
store[key] = value.toString();
}),
removeItem: vi.fn(key => {
delete store[key];
}),
clear: vi.fn(() => {
store = {};
}),
get length() {
return Object.keys(store).length;
},
key: vi.fn(index => {
const keys = Object.keys(store);
return keys[index] || null;
}),
};
})();
global.localStorage = localStorageMock;
// Mock DOM methods
global.getComputedStyle = vi.fn(() => ({
getPropertyValue: vi.fn(prop => {
// Mock CSS variables
const mockValues = {
'--bg-primary': '#ffffff',
'--text-primary': '#000000',
'--h1-color': '#0969da',
'--h2-color': '#8250df',
'--h3-color': '#cf222e',
};
return mockValues[prop] || '';
}),
}));
// Reset mocks before each test
beforeEach(() => {
localStorageMock.clear();
vi.clearAllMocks();
});