Skip to content

Commit fcc2ee9

Browse files
committed
♻️ Improve tests (#1924)
1 parent d5efc52 commit fcc2ee9

File tree

2 files changed

+20
-4
lines changed

2 files changed

+20
-4
lines changed

src/test/lib/stores/active_contest_type.svelte.test.ts

+10-2
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,16 @@ describe('ActiveContestTypeStore', () => {
1414
let store: ActiveContestTypeStore;
1515

1616
const mockLocalStorage: Storage = {
17-
getItem: vi.fn(),
18-
setItem: vi.fn(),
17+
getItem: vi.fn((key) => mockStorage[key] || null),
18+
setItem: vi.fn((key, value) => {
19+
mockStorage[key] = value;
20+
}),
1921
removeItem: vi.fn(),
2022
clear: vi.fn(),
2123
length: 0,
2224
key: vi.fn(),
2325
};
26+
const mockStorage: Record<string, string> = {};
2427

2528
beforeEach(() => {
2629
vi.clearAllMocks();
@@ -96,11 +99,16 @@ describe('ActiveContestTypeStore', () => {
9699

97100
describe('Active contest type store in SSR', () => {
98101
beforeEach(() => {
102+
vi.restoreAllMocks();
99103
vi.mock('$app/environment', () => ({
100104
browser: false,
101105
}));
102106
});
103107

108+
afterEach(() => {
109+
vi.restoreAllMocks();
110+
});
111+
104112
test('handles SSR gracefully', () => {
105113
expect(activeContestTypeStore.get()).toBe('abcLatest20Rounds');
106114
});

src/test/lib/stores/active_problem_list_tab.svelte.test.ts

+10-2
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,16 @@ describe('ActiveProblemListTabStore', () => {
1313
let store: ActiveProblemListTabStore;
1414

1515
const mockLocalStorage: Storage = {
16-
getItem: vi.fn(),
17-
setItem: vi.fn(),
16+
getItem: vi.fn((key) => mockStorage[key] || null),
17+
setItem: vi.fn((key, value) => {
18+
mockStorage[key] = value;
19+
}),
1820
removeItem: vi.fn(),
1921
clear: vi.fn(),
2022
length: 0,
2123
key: vi.fn(),
2224
};
25+
const mockStorage: Record<string, string> = {};
2326

2427
beforeEach(() => {
2528
vi.clearAllMocks();
@@ -87,11 +90,16 @@ describe('ActiveProblemListTabStore', () => {
8790

8891
describe('Active problem list tab store in SSR', () => {
8992
beforeEach(() => {
93+
vi.restoreAllMocks();
9094
vi.mock('$app/environment', () => ({
9195
browser: false,
9296
}));
9397
});
9498

99+
afterEach(() => {
100+
vi.restoreAllMocks();
101+
});
102+
95103
test('handles SSR gracefully', () => {
96104
expect(activeProblemListTabStore.get()).toBe('contestTable');
97105
});

0 commit comments

Comments
 (0)