Skip to content

Commit 3a4b0ad

Browse files
update vitest
1 parent c68675a commit 3a4b0ad

File tree

7 files changed

+515
-821
lines changed

7 files changed

+515
-821
lines changed

packages/attachments/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,13 @@
3333
},
3434
"devDependencies": {
3535
"@types/node": "^20.17.6",
36-
"@vitest/browser": "^2.1.8",
36+
"@vitest/browser": "^3.0.5",
3737
"ts-loader": "^9.5.1",
3838
"ts-node": "^10.9.2",
3939
"typescript": "^5.7.2",
4040
"vite": "^5.4.11",
4141
"vite-plugin-top-level-await": "^1.4.4",
42-
"vitest": "^2.1.8",
42+
"vitest": "^3.0.5",
4343
"webdriverio": "^9.4.5"
4444
}
4545
}

packages/common/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
"rsocket-websocket-client": "1.0.0-alpha.3",
6060
"text-encoding": "^0.7.0",
6161
"typescript": "^5.5.3",
62-
"vitest": "^2.0.5",
62+
"vitest": "3.0.5",
6363
"web-streams-polyfill": "3.2.1"
6464
}
6565
}

packages/drizzle-driver/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,15 @@
3333
"@powersync/web": "workspace:*",
3434
"@journeyapps/wa-sqlite": "^1.2.0",
3535
"@types/node": "^20.17.6",
36-
"@vitest/browser": "^2.1.4",
36+
"@vitest/browser": "^3.0.5",
3737
"drizzle-orm": "^0.35.2",
3838
"ts-loader": "^9.5.1",
3939
"ts-node": "^10.9.2",
4040
"typescript": "^5.6.3",
4141
"vite": "^5.4.10",
4242
"vite-plugin-top-level-await": "^1.4.4",
4343
"vite-plugin-wasm": "^3.3.0",
44-
"vitest": "^2.1.4",
44+
"vitest": "^3.0.5",
4545
"webdriverio": "^9.2.8"
4646
}
4747
}

packages/kysely-driver/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,14 @@
3535
"@powersync/web": "workspace:*",
3636
"@journeyapps/wa-sqlite": "^1.2.0",
3737
"@types/node": "^20.17.6",
38-
"@vitest/browser": "^2.1.4",
38+
"@vitest/browser": "^3.0.5",
3939
"ts-loader": "^9.5.1",
4040
"ts-node": "^10.9.2",
4141
"typescript": "^5.6.3",
4242
"vite": "^5.4.10",
4343
"vite-plugin-top-level-await": "^1.4.4",
4444
"vite-plugin-wasm": "^3.3.0",
45-
"vitest": "^2.1.4",
45+
"vitest": "^3.0.5",
4646
"webdriverio": "^9.2.8"
4747
}
4848
}

packages/web/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474
"devDependencies": {
7575
"@journeyapps/wa-sqlite": "^1.2.0",
7676
"@types/uuid": "^9.0.6",
77-
"@vitest/browser": "^2.1.4",
77+
"@vitest/browser": "^3.0.5",
7878
"crypto-browserify": "^3.12.0",
7979
"p-defer": "^4.0.1",
8080
"source-map-loader": "^5.0.0",
@@ -85,9 +85,9 @@
8585
"vite": "^5.4.10",
8686
"vite-plugin-top-level-await": "^1.4.1",
8787
"vite-plugin-wasm": "^3.3.0",
88-
"vitest": "^2.1.4",
88+
"vitest": "^3.0.5",
8989
"vm-browserify": "^1.1.2",
90-
"webdriverio": "^8.40.6",
90+
"webdriverio": "^9.8.0",
9191
"webpack": "^5.90.1",
9292
"webpack-cli": "^5.1.4",
9393
"webpack-node-externals": "^3.0.0"

packages/web/tests/open.test.ts

Lines changed: 29 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {
55
WASQLiteOpenFactory,
66
WASQLitePowerSyncDatabaseOpenFactory
77
} from '@powersync/web';
8-
import { afterAll, beforeAll, describe, expect, it, vi } from 'vitest';
8+
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
99
import { testSchema } from './utils/testDb';
1010

1111
const testId = '2290de4f-0488-4e50-abed-f8e8eb1d0b42';
@@ -17,9 +17,9 @@ export const basicTest = async (db: AbstractPowerSyncDatabase) => {
1717
await db.close();
1818
};
1919

20-
describe('Open Methods', () => {
21-
let originalSharedWorker: typeof SharedWorker;
22-
let originalWorker: typeof Worker;
20+
const proxyWorkers = () => {
21+
const originalSharedWorker = SharedWorker;
22+
const originalWorker = Worker;
2323

2424
const sharedWorkerProxyHandler = {
2525
construct(target: typeof SharedWorker, args: any[]) {
@@ -40,23 +40,30 @@ describe('Open Methods', () => {
4040
}
4141
};
4242

43-
beforeAll(() => {
44-
// Store the original SharedWorker constructor
45-
originalSharedWorker = SharedWorker;
46-
originalWorker = Worker;
43+
window.SharedWorker = new Proxy(SharedWorker, sharedWorkerProxyHandler);
44+
window.Worker = new Proxy(Worker, workerProxyHandler);
45+
46+
return {
47+
proxies: {
48+
sharedWorkerProxyHandler,
49+
workerProxyHandler
50+
},
51+
dispose: () => {
52+
window.SharedWorker = originalSharedWorker;
53+
window.Worker = originalWorker;
54+
}
55+
};
56+
};
4757

48-
// Create a proxy to intercept the worker constructors
49-
// The vi.SpyOn does not work well with constructors
50-
window.SharedWorker = new Proxy(SharedWorker, sharedWorkerProxyHandler);
51-
window.Worker = new Proxy(Worker, workerProxyHandler);
52-
});
58+
describe('Open Methods', () => {
59+
let mocks: ReturnType<typeof proxyWorkers>;
5360

54-
afterAll(() => {
55-
// Restore Worker
56-
window.SharedWorker = originalSharedWorker;
57-
window.Worker = originalWorker;
61+
beforeEach(() => {
62+
mocks = proxyWorkers();
5863
});
5964

65+
afterEach(() => mocks?.dispose());
66+
6067
it('Should open PowerSync clients from old factory methods', async () => {
6168
const db = new WASQLitePowerSyncDatabaseOpenFactory({
6269
dbFilename: `test-legacy.db`,
@@ -87,7 +94,7 @@ describe('Open Methods', () => {
8794
});
8895

8996
it('Should use shared worker for multiple tabs', async () => {
90-
const sharedSpy = vi.spyOn(sharedWorkerProxyHandler, 'construct');
97+
const sharedSpy = vi.spyOn(mocks.proxies.sharedWorkerProxyHandler, 'construct');
9198

9299
const db = new PowerSyncDatabase({ database: { dbFilename: 'options-test.db' }, schema: testSchema });
93100

@@ -97,8 +104,8 @@ describe('Open Methods', () => {
97104
});
98105

99106
it('Should use dedicated worker when multiple tabs disabled', async () => {
100-
const sharedSpy = vi.spyOn(sharedWorkerProxyHandler, 'construct');
101-
const dedicatedSpy = vi.spyOn(workerProxyHandler, 'construct');
107+
const sharedSpy = vi.spyOn(mocks.proxies.sharedWorkerProxyHandler, 'construct');
108+
const dedicatedSpy = vi.spyOn(mocks.proxies.workerProxyHandler, 'construct');
102109

103110
const db = new PowerSyncDatabase({
104111
database: { dbFilename: 'options-test.db' },
@@ -113,8 +120,8 @@ describe('Open Methods', () => {
113120
});
114121

115122
it('Should not use workers when specified', async () => {
116-
const sharedSpy = vi.spyOn(sharedWorkerProxyHandler, 'construct');
117-
const dedicatedSpy = vi.spyOn(workerProxyHandler, 'construct');
123+
const sharedSpy = vi.spyOn(mocks.proxies.sharedWorkerProxyHandler, 'construct');
124+
const dedicatedSpy = vi.spyOn(mocks.proxies.workerProxyHandler, 'construct');
118125

119126
const db = new PowerSyncDatabase({
120127
database: { dbFilename: 'options-test.db' },

0 commit comments

Comments
 (0)