Skip to content

Commit 4120b4d

Browse files
committed
main 🧊 add test for use query, add retry delay
1 parent ab789b9 commit 4120b4d

File tree

10 files changed

+280
-152
lines changed

10 files changed

+280
-152
lines changed

‎src/hooks/index.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ export * from './useMap/useMap';
5353
export * from './useMeasure/useMeasure';
5454
export * from './useMediaQuery/useMediaQuery';
5555
export * from './useMemory/useMemory';
56-
export * from './useMessage/usePostMessage';
5756
export * from './useMount/useMount';
5857
export * from './useMouse/useMouse';
5958
export * from './useMutation/useMutation';
@@ -70,6 +69,7 @@ export * from './usePaint/usePaint';
7069
export * from './useParallax/useParallax';
7170
export * from './usePermission/usePermission';
7271
export * from './usePointerLock/usePointerLock';
72+
export * from './usePostMessage/usePostMessage';
7373
export * from './usePreferredColorScheme/usePreferredColorScheme';
7474
export * from './usePreferredContrast/usePreferredContrast';
7575
export * from './usePreferredDark/usePreferredDark';

‎src/hooks/useClipboard/useClipboard.test.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ it('Should use copy to clipboard', () => {
2323
const { result } = renderHook(useClipboard);
2424

2525
expect(result.current.value).toBeNull();
26-
expect(result.current.supported).toBe(true);
26+
expect(result.current.supported).toBeTruthy();
2727
expect(typeof result.current.copy).toBe('function');
2828
});
2929

‎src/hooks/useDeviceOrientation/useDeviceOrientation.test.ts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ beforeAll(() => {
1313
it('Should use on device orientation', () => {
1414
const { result } = renderHook(useDeviceOrientation);
1515

16-
expect(result.current.supported).toBe(true);
16+
expect(result.current.supported).toBeTruthy();
1717
expect(result.current.value.alpha).toBeNull();
1818
expect(result.current.value.beta).toBeNull();
1919
expect(result.current.value.gamma).toBeNull();
@@ -38,5 +38,5 @@ it('Should set new values when device orientation change', () => {
3838
expect(result.current.value.alpha).toBe(30);
3939
expect(result.current.value.beta).toBe(60);
4040
expect(result.current.value.gamma).toBe(90);
41-
expect(result.current.value.absolute).toBe(true);
41+
expect(result.current.value.absolute).toBeTruthy();
4242
});

‎src/hooks/useInterval/useInterval.test.ts‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ beforeEach(() => {
88

99
it('Should use interval', () => {
1010
const { result } = renderHook(() => useInterval(vi.fn, 1000));
11-
expect(result.current.active).toBe(true);
11+
expect(result.current.active).toBeTruthy();
1212
expect(typeof result.current.pause).toBe('function');
1313
expect(typeof result.current.resume).toBe('function');
1414
});
@@ -17,24 +17,24 @@ it('Should pause and resume properly', () => {
1717
const { result } = renderHook(() => useInterval(() => {}, 1000));
1818
const { pause, resume } = result.current;
1919

20-
expect(result.current.active).toBe(true);
20+
expect(result.current.active).toBeTruthy();
2121
act(pause);
22-
expect(result.current.active).toBe(false);
22+
expect(result.current.active).toBeFalsy();
2323
act(resume);
24-
expect(result.current.active).toBe(true);
24+
expect(result.current.active).toBeTruthy();
2525
});
2626

2727
it('Should not be active when disabled', () => {
2828
const { result } = renderHook(() => useInterval(() => {}, 1000, { enabled: false }));
2929

30-
expect(result.current.active).toBe(false);
30+
expect(result.current.active).toBeFalsy();
3131
});
3232

3333
it('Should call callback on interval', () => {
3434
const callback = vi.fn();
3535
const { result } = renderHook(() => useInterval(callback, 1000));
3636

37-
expect(result.current.active).toBe(true);
37+
expect(result.current.active).toBeTruthy();
3838
act(() => vi.advanceTimersByTime(1000));
3939

4040
expect(callback).toBeCalledTimes(1);

‎src/hooks/usePageLeave/usePageLeave.test.ts‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,16 @@ it('Should use page leave', () => {
1111
it('Should call the callback on page leave', () => {
1212
const callback = vi.fn();
1313
const { result } = renderHook(() => usePageLeave(callback));
14-
expect(result.current).toBe(false);
14+
expect(result.current).toBeFalsy();
1515

1616
act(() => document.dispatchEvent(new Event('mouseleave')));
1717
expect(callback).toBeCalledTimes(1);
18-
expect(result.current).toBe(true);
18+
expect(result.current).toBeTruthy();
1919

2020
act(() => document.dispatchEvent(new Event('mouseenter')));
21-
expect(result.current).toBe(false);
21+
expect(result.current).toBeFalsy();
2222

2323
act(() => document.dispatchEvent(new Event('mouseleave')));
2424
expect(callback).toBeCalledTimes(2);
25-
expect(result.current).toBe(true);
25+
expect(result.current).toBeTruthy();
2626
});

‎src/hooks/usePostMessage/usePostMessage.demo.tsx‎

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,20 @@ import { usePostMessage } from './usePostMessage';
55
const Demo = () => {
66
const [messages, setMessages] = useState<string[]>([]);
77

8-
const postMessage = usePostMessage<{ type: 'delete' } | { type: 'send'; value: string }>('*', (message) => {
9-
console.log('Message received', message);
10-
11-
if (message.type === 'send') {
12-
setMessages((prevMessages) => [...prevMessages, message.value]);
13-
}
14-
15-
if (message.type === 'delete') {
16-
setMessages((prevMessages) => prevMessages.slice(0, prevMessages.length - 1));
8+
const postMessage = usePostMessage<{ type: 'delete' } | { type: 'send'; value: string }>(
9+
'*',
10+
(message) => {
11+
console.log('Message received', message);
12+
13+
if (message.type === 'send') {
14+
setMessages((prevMessages) => [...prevMessages, message.value]);
15+
}
16+
17+
if (message.type === 'delete') {
18+
setMessages((prevMessages) => prevMessages.slice(0, prevMessages.length - 1));
19+
}
1720
}
18-
});
21+
);
1922

2023
const onSendClick = () =>
2124
postMessage({ type: 'send', value: (Math.random() + 1).toString(36).substring(3) });
@@ -35,8 +38,12 @@ const Demo = () => {
3538
</ul>
3639
)}
3740
</div>
38-
<button type='button' onClick={onSendClick}>Send message</button>
39-
<button type='button' onClick={onDeleteClick}>Delete message</button>
41+
<button type='button' onClick={onSendClick}>
42+
Send message
43+
</button>
44+
<button type='button' onClick={onDeleteClick}>
45+
Delete message
46+
</button>
4047
</>
4148
);
4249
};

‎src/hooks/useQuery/useQuery.demo.tsx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ interface Pokemon {
77
}
88

99
const getPokemon = (id: number) =>
10-
fetch(`https://pokeapi.co/api/v2/pokemon/${id}`).then((res) => res.json()) as Promise<Pokemon>;
10+
fetch(`https://pokeapi.co/api/v2/pokemon2/${id}`).then((res) => res.json()) as Promise<Pokemon>;
1111

1212
const Demo = () => {
1313
const counter = useCounter(1);

0 commit comments

Comments
 (0)