Skip to content

Commit e396791

Browse files
authored
Merge pull request #50 from labd/chore/test-deps
chore: update testing dependencies
2 parents 0d0e972 + e9a11d3 commit e396791

8 files changed

Lines changed: 360 additions & 378 deletions

File tree

.changeset/modern-pens-worry.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'react-loqate': patch
3+
---
4+
5+
Update test dependencies and fix all test warnings
File renamed without changes.

package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"name": "react-loqate",
33
"version": "3.0.1",
4+
"type": "module",
45
"license": "MIT",
56
"author": "Bram Kaashoek",
67
"main": "dist/index.js",
@@ -61,25 +62,24 @@
6162
"@storybook/test": "8.0.8",
6263
"@testing-library/jest-dom": "6.4.2",
6364
"@testing-library/react": "15.0.2",
64-
"@testing-library/react-hooks": "8.0.1",
6565
"@testing-library/user-event": "^14.5.2",
6666
"@types/react": "18.0.27",
6767
"@types/react-dom": "18.0.10",
6868
"@typescript-eslint/eslint-plugin": "7.7.0",
69-
"@vitest/coverage-v8": "1.2.1",
69+
"@vitest/coverage-v8": "3.2.4",
7070
"eslint-plugin-prettier": "4.2.1",
7171
"eslint-plugin-storybook": "0.8.0",
7272
"husky": "9.0.11",
7373
"jsdom": "21.1.0",
7474
"lint-staged": "^15.2.2",
75-
"msw": "2.2.14",
75+
"msw": "2.11.1",
7676
"react": "18.2.0",
7777
"react-dom": "18.2.0",
7878
"storybook": "8.0.8",
7979
"tslib": "2.4.1",
8080
"tsup": "8.0.2",
8181
"typescript": "4.9.4",
82-
"vitest": "1.2.1"
82+
"vitest": "3.2.4"
8383
},
8484
"peerDependencies": {
8585
"react": ">=18",

pnpm-lock.yaml

Lines changed: 330 additions & 365 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/utils/Loqate.test.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { fetch } from 'cross-fetch';
22
import { describe, expect, it } from 'vitest';
3+
import { LoqateError } from '../error';
34
import { server } from '../server';
45
import { biasHandler, errorHandler } from '../serverHandlers';
56
import { selection } from '../testing/fixtures/selection';
@@ -79,15 +80,15 @@ describe('Loqate', () => {
7980
limit: 10,
8081
containerId: 'some-container-id',
8182
});
82-
}).rejects.toThrowError(new Error('Unknown key'));
83+
}).rejects.toThrowError('Unknown key');
8384
});
8485

8586
it('should throw loqate errors', async () => {
8687
server.use(errorHandler);
8788

8889
const loqate = Loqate.create('some-key');
8990

90-
let error;
91+
let error: unknown;
9192
try {
9293
await loqate.find({
9394
text: 'some-text',
@@ -100,7 +101,8 @@ describe('Loqate', () => {
100101
error = e;
101102
}
102103

103-
expect(error).toEqual(new Error('Unknown key'));
104+
expect(error).toBeInstanceOf(LoqateError);
105+
expect((error as LoqateError).message).toBe('Unknown key');
104106
expect(JSON.stringify(error)).toEqual(
105107
JSON.stringify({
106108
Cause: 'The key you are using to access the service was not found.',

src/utils/Portal.test.tsx

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { render, screen } from '@testing-library/react';
1+
import { render, screen, act } from '@testing-library/react';
2+
import userEvent from '@testing-library/user-event';
23
import React, { type ReactPortal, useEffect, useState } from 'react';
34
import { createPortal } from 'react-dom';
45
import { beforeEach, expect, it, vi } from 'vitest';
@@ -192,14 +193,20 @@ it('waits for mounting before creating portal', async () => {
192193
);
193194
};
194195

195-
render(<TestComponent />);
196+
await act(async () => {
197+
render(<TestComponent />);
198+
});
196199

197200
expect(mockCreatePortal).not.toHaveBeenCalled();
198201
expect(screen.queryByTestId('delayed-child')).not.toBeInTheDocument();
199202

200-
screen.getByText('Show Portal').click();
203+
await act(async () => {
204+
await userEvent.click(screen.getByText('Show Portal'));
205+
});
201206

202-
await screen.findByTestId('delayed-child');
207+
await act(async () => {
208+
await screen.findByTestId('delayed-child');
209+
});
203210

204211
expect(mockCreatePortal).toHaveBeenCalledTimes(1);
205212
});

src/utils/useDebounceEffect.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
import { renderHook } from '@testing-library/react-hooks';
1+
import { renderHook, waitFor } from '@testing-library/react';
22
import { expect, it, vi } from 'vitest';
33
import useDebounceEffect from './useDebounceEffect';
44

55
it('should debounce the effect', async () => {
66
const effectFn = vi.fn();
77
const delay = 10;
88

9-
const { rerender, waitFor } = renderHook(
9+
const { rerender } = renderHook(
1010
({ value }) => useDebounceEffect(effectFn, delay, [value]),
1111
{
1212
initialProps: {

vitest.config.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
import path from 'path';
2+
import { fileURLToPath } from 'url';
23
import { defineConfig } from 'vitest/config';
34

5+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
6+
47
export default defineConfig({
58
test: {
69
setupFiles: ['./vitest.setup.ts'],

0 commit comments

Comments
 (0)