Skip to content

Commit 981fae6

Browse files
dstaleyjacekradko
andauthored
chore(chrome-extension): Replace Jest with Vitest (#6820)
Co-authored-by: Jacek <[email protected]>
1 parent 85f8b27 commit 981fae6

File tree

15 files changed

+191
-184
lines changed

15 files changed

+191
-184
lines changed

.changeset/brown-icons-shine.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
---
2+
---

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ sessions.pem
9191
# Workflow Outputs
9292
/packages/*/*.tgz
9393
/packages/*/tsconfig*.vitest-temp.json
94+
/packages/*/tsup.config.bundled_*
9495

9596
# Scripts
9697
scripts/.env

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@
9090
"@types/react": "catalog:react",
9191
"@types/react-dom": "catalog:react",
9292
"@vitejs/plugin-react": "^4.5.2",
93-
"@vitest/coverage-v8": "3.0.5",
93+
"@vitest/coverage-v8": "3.2.4",
9494
"chalk": "4.1.2",
9595
"citty": "^0.1.6",
9696
"conventional-changelog-conventionalcommits": "^4.6.3",
@@ -148,7 +148,7 @@
148148
"typescript-eslint": "8.38.0",
149149
"uuid": "8.3.2",
150150
"verdaccio": "6.1.6",
151-
"vitest": "3.0.5",
151+
"vitest": "3.2.4",
152152
"yalc": "1.0.0-pre.53",
153153
"zx": "catalog:repo"
154154
},

packages/chrome-extension/jest.config.js

Lines changed: 0 additions & 24 deletions
This file was deleted.

packages/chrome-extension/package.json

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,9 @@
4444
"lint:attw": "attw --pack . --profile node16",
4545
"lint:publint": "publint",
4646
"publish:local": "pnpm yalc push --replace --sig",
47-
"test": "jest",
48-
"test:cache:clear": "jest --clearCache --useStderr",
49-
"test:ci": "jest --maxWorkers=70%",
50-
"test:coverage": "jest --collectCoverage && open coverage/lcov-report/index.html"
47+
"test": "vitest run",
48+
"test:ci": "vitest run --maxWorkers=70%",
49+
"test:watch": "vitest"
5150
},
5251
"dependencies": {
5352
"@clerk/clerk-js": "workspace:^",

packages/chrome-extension/src/__tests__/__snapshots__/exports.test.ts.snap

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
// Jest Snapshot v1, https://goo.gl/fbAQLP
1+
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
22

3-
exports[`public exports should not include a breaking change 1`] = `
3+
exports[`public exports > should not include a breaking change 1`] = `
44
[
55
"APIKeys",
66
"AuthenticateWithRedirectCallback",

packages/chrome-extension/src/__tests__/exports.test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import { describe, expect, it } from 'vitest';
2+
13
import * as publicExports from '../index';
24

35
describe('public exports', () => {

packages/chrome-extension/src/internal/utils/__tests__/cookies.test.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { afterAll, afterEach, describe, expect, test, vi } from 'vitest';
12
import browser from 'webextension-polyfill';
23

34
import { getClientCookie } from '../cookies';
@@ -24,7 +25,8 @@ describe('Cookies', () => {
2425
const name = '__client';
2526
const cookie = createCookie({ name, value: 'foo', domain });
2627

27-
const getMock = jest.mocked(browser.cookies.get);
28+
// eslint-disable-next-line jest/unbound-method -- The Jest ESLint plugin doesn't support Vitest
29+
const getMock = vi.mocked(browser.cookies.get);
2830

2931
afterEach(() => getMock.mockReset());
3032
afterAll(() => getMock.mockRestore());

packages/chrome-extension/src/internal/utils/__tests__/manifest.test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { describe, expect, test } from 'vitest';
12
import type { Manifest } from 'webextension-polyfill';
23

34
import { missingManifestKeyError } from '../errors';

packages/chrome-extension/src/internal/utils/__tests__/storage.test.ts

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { afterEach, describe, expect, test, vi } from 'vitest';
12
import browser from 'webextension-polyfill';
23

34
import { BrowserStorageCache, MemoryStorageCache } from '../storage';
@@ -21,7 +22,8 @@ describe('StorageCache', () => {
2122

2223
describe('set', () => {
2324
test('setting the storage cache', async () => {
24-
const setMock = jest.mocked(browser.storage.local.set).mockResolvedValueOnce(_void);
25+
// eslint-disable-next-line jest/unbound-method -- The Jest ESLint plugin doesn't support Vitest
26+
const setMock = vi.mocked(browser.storage.local.set).mockResolvedValueOnce(_void);
2527

2628
expect(await BrowserStorageCache.set(KEY, VALUE)).toBe(_void);
2729
expect(setMock).toHaveBeenCalledTimes(1);
@@ -31,7 +33,8 @@ describe('StorageCache', () => {
3133

3234
describe('remove', () => {
3335
test('removing from the storage cache', async () => {
34-
const removeMock = jest.mocked(browser.storage.local.remove).mockResolvedValueOnce(_void);
36+
// eslint-disable-next-line jest/unbound-method -- The Jest ESLint plugin doesn't support Vitest
37+
const removeMock = vi.mocked(browser.storage.local.remove).mockResolvedValueOnce(_void);
3538

3639
expect(await BrowserStorageCache.remove(KEY)).toBe(_void);
3740
expect(removeMock).toHaveBeenCalledTimes(1);
@@ -40,16 +43,22 @@ describe('StorageCache', () => {
4043
});
4144

4245
describe('get', () => {
46+
afterEach(() => {
47+
vi.restoreAllMocks();
48+
});
49+
4350
test('value missing', async () => {
44-
const getMock = jest.mocked(browser.storage.local.get).mockResolvedValue({});
51+
// eslint-disable-next-line jest/unbound-method -- The Jest ESLint plugin doesn't support Vitest
52+
const getMock = vi.mocked(browser.storage.local.get).mockResolvedValue({});
4553

4654
expect(await BrowserStorageCache.get(KEY)).toBeUndefined();
4755
expect(getMock).toHaveBeenCalledTimes(1);
4856
expect(getMock).toHaveBeenCalledWith(KEY);
4957
});
5058

5159
test('value exists', async () => {
52-
const getMock = jest.mocked(browser.storage.local.get).mockResolvedValue({ [KEY]: VALUE });
60+
// eslint-disable-next-line jest/unbound-method -- The Jest ESLint plugin doesn't support Vitest
61+
const getMock = vi.mocked(browser.storage.local.get).mockResolvedValue({ [KEY]: VALUE });
5362

5463
expect(await BrowserStorageCache.get(KEY)).toBe(VALUE);
5564
expect(getMock).toHaveBeenCalledTimes(1);

0 commit comments

Comments
 (0)