Skip to content

Commit 108754f

Browse files
committed
tweaks
1 parent 4bf2a23 commit 108754f

File tree

2 files changed

+20
-31
lines changed

2 files changed

+20
-31
lines changed

src/__tests__/render-hook-async.test.tsx

Lines changed: 16 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ test('renderHookAsync supports legacy rendering option', async () => {
5151
expect(result.current).toEqual(42);
5252
});
5353

54-
test('rerender function updates hook asynchronously', async () => {
54+
test('rerenderAsync function updates hook asynchronously', async () => {
5555
function useTestHook(props: { value: number }) {
5656
const [state, setState] = React.useState(props.value);
5757

@@ -62,10 +62,10 @@ test('rerender function updates hook asynchronously', async () => {
6262
return state;
6363
}
6464

65-
const { result, rerender } = await renderHookAsync(useTestHook, { initialProps: { value: 5 } });
65+
const { result, rerenderAsync } = await renderHookAsync(useTestHook, { initialProps: { value: 5 } });
6666
expect(result.current).toEqual(10);
6767

68-
await rerender({ value: 10 });
68+
await rerenderAsync({ value: 10 });
6969
expect(result.current).toEqual(20);
7070
});
7171

@@ -82,10 +82,10 @@ test('unmount function unmounts hook asynchronously', async () => {
8282
return 'test';
8383
}
8484

85-
const { unmount } = await renderHookAsync(useTestHook);
85+
const { unmountAsync } = await renderHookAsync(useTestHook);
8686
expect(cleanupCalled).toBe(false);
8787

88-
await unmount();
88+
await unmountAsync();
8989
expect(cleanupCalled).toBe(true);
9090
});
9191

@@ -214,29 +214,20 @@ test('handles custom hooks with complex logic', async () => {
214214
return { count, increment, decrement, reset };
215215
}
216216

217-
const { result, rerender } = await renderHookAsync(useCounter, { initialProps: 5 });
218-
217+
const { result, rerenderAsync } = await renderHookAsync(useCounter, { initialProps: 5 });
219218
expect(result.current.count).toBe(5);
220219

221-
// Test increment
222220
result.current.increment();
223-
await rerender(5);
221+
await rerenderAsync(5);
224222
expect(result.current.count).toBe(6);
225223

226-
// Test decrement
227-
result.current.decrement();
228-
await rerender(5);
229-
expect(result.current.count).toBe(5);
230-
231-
// Test reset
232-
result.current.increment();
233-
result.current.increment();
234-
await rerender(5);
235-
expect(result.current.count).toBe(7);
236-
237224
result.current.reset();
238-
await rerender(5);
225+
await rerenderAsync(5);
239226
expect(result.current.count).toBe(5);
227+
228+
result.current.decrement();
229+
await rerenderAsync(5);
230+
expect(result.current.count).toBe(4);
240231
});
241232

242233
test('handles hook with cleanup and re-initialization', async () => {
@@ -250,28 +241,26 @@ test('handles hook with cleanup and re-initialization', async () => {
250241
effectCount++;
251242
setValue(`${props.key}-effect`);
252243

253-
return () => {
254-
cleanupCount++;
255-
};
244+
return () => { cleanupCount++; };
256245
}, [props.key]);
257246

258247
return value;
259248
}
260249

261-
const { result, rerender, unmount } = await renderHookAsync(useTestHook, {
250+
const { result, rerenderAsync, unmountAsync } = await renderHookAsync(useTestHook, {
262251
initialProps: { key: 'initial' },
263252
});
264253

265254
expect(result.current).toBe('initial-effect');
266255
expect(effectCount).toBe(1);
267256
expect(cleanupCount).toBe(0);
268257

269-
await rerender({ key: 'updated' });
258+
await rerenderAsync({ key: 'updated' });
270259
expect(result.current).toBe('updated-effect');
271260
expect(effectCount).toBe(2);
272261
expect(cleanupCount).toBe(1);
273262

274-
await unmount();
263+
await unmountAsync();
275264
expect(effectCount).toBe(2);
276265
expect(cleanupCount).toBe(2);
277266
});

src/render-hook.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ export type RenderHookResult<Result, Props> = {
1111

1212
export type RenderHookAsyncResult<Result, Props> = {
1313
result: React.RefObject<Result>;
14-
rerender: (props: Props) => Promise<void>;
15-
unmount: () => Promise<void>;
14+
rerenderAsync: (props: Props) => Promise<void>;
15+
unmountAsync: () => Promise<void>;
1616
};
1717

1818
export type RenderHookOptions<Props> = {
@@ -90,7 +90,7 @@ export async function renderHookAsync<Result, Props>(
9090
return {
9191
// Result should already be set after the first render effects are run.
9292
result: result as React.RefObject<Result>,
93-
rerender: (hookProps: Props) => rerenderComponentAsync(<TestComponent hookProps={hookProps} />),
94-
unmount: unmountAsync,
93+
rerenderAsync: (hookProps: Props) => rerenderComponentAsync(<TestComponent hookProps={hookProps} />),
94+
unmountAsync,
9595
};
9696
}

0 commit comments

Comments
 (0)