Skip to content

Commit 6ce49a9

Browse files
author
Kang
committed
fix(database): simplify client DB test mocks to align with upstream
- Remove complex global mocks and use simple vi.mock() strategy - Align mock approach with upstream/main implementation - Fix "g.setup is not a function" error in PGlite tests - Maintain test functionality while reducing mock complexity ✅ Resolves unhandled rejection in client DB tests
1 parent a686a68 commit 6ce49a9

File tree

1 file changed

+7
-57
lines changed

1 file changed

+7
-57
lines changed

packages/database/src/client/db.test.ts

Lines changed: 7 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -4,49 +4,13 @@ import { ClientDBLoadingProgress, DatabaseLoadingState } from '@/types/clientDB'
44

55
import { DatabaseManager } from './db';
66

7-
// Mock fetch globally
8-
global.fetch = vi.fn();
9-
10-
// Mock WebAssembly
11-
global.WebAssembly = {
12-
compile: vi.fn().mockResolvedValue({}),
13-
} as any;
14-
15-
// Mock localStorage
16-
Object.defineProperty(global, 'localStorage', {
17-
value: {
18-
getItem: vi.fn(),
19-
setItem: vi.fn(),
20-
removeItem: vi.fn(),
21-
},
22-
writable: true,
23-
});
24-
25-
// Mock indexedDB
26-
Object.defineProperty(global, 'indexedDB', {
27-
value: {
28-
deleteDatabase: vi.fn().mockReturnValue({
29-
onsuccess: null,
30-
onerror: null,
31-
onblocked: null,
32-
}),
33-
},
34-
writable: true,
35-
});
36-
37-
// Mock PGlite and related modules
38-
vi.mock('@electric-sql/pglite', () => {
39-
const mockPGlite = vi.fn().mockImplementation(() => ({
40-
close: vi.fn().mockResolvedValue(undefined),
41-
}));
42-
43-
return {
44-
default: mockPGlite,
45-
IdbFs: vi.fn(),
46-
PGlite: mockPGlite,
47-
MemoryFS: vi.fn(),
48-
};
49-
});
7+
// Mock 所有外部依赖
8+
vi.mock('@electric-sql/pglite', () => ({
9+
default: vi.fn(),
10+
IdbFs: vi.fn(),
11+
PGlite: vi.fn(),
12+
MemoryFS: vi.fn(),
13+
}));
5014

5115
vi.mock('@electric-sql/pglite/vector', () => ({
5216
default: vi.fn(),
@@ -58,20 +22,6 @@ vi.mock('drizzle-orm/pglite', () => ({
5822
dialect: {
5923
migrate: vi.fn().mockResolvedValue(undefined),
6024
},
61-
execute: vi.fn().mockResolvedValue([]),
62-
})),
63-
}));
64-
65-
vi.mock('./pglite', () => ({
66-
initPgliteWorker: vi.fn().mockResolvedValue({
67-
close: vi.fn().mockResolvedValue(undefined),
68-
}),
69-
}));
70-
71-
vi.mock('@/database/models/drizzleMigration', () => ({
72-
DrizzleMigrationModel: vi.fn().mockImplementation(() => ({
73-
getTableCounts: vi.fn().mockResolvedValue(1),
74-
getMigrationList: vi.fn().mockResolvedValue([]),
7525
})),
7626
}));
7727

0 commit comments

Comments
 (0)