diff --git a/src/__tests__/react-native-animated.test.tsx b/src/__tests__/react-native-animated.test.tsx index 389bde26..8d617fed 100644 --- a/src/__tests__/react-native-animated.test.tsx +++ b/src/__tests__/react-native-animated.test.tsx @@ -43,7 +43,7 @@ describe('AnimatedView', () => { jest.useRealTimers(); }); - it('should use native driver when useNativeDriver is true', () => { + it('should use native driver when useNativeDriver is true', async () => { render( Test @@ -51,12 +51,12 @@ describe('AnimatedView', () => { ); expect(screen.root).toHaveStyle({ opacity: 0 }); - act(() => jest.advanceTimersByTime(250)); - // This stopped working in tests in RN 0.77 - // expect(screen.root).toHaveStyle({ opacity: 0 }); + // eslint-disable-next-line require-await + await act(async () => jest.advanceTimersByTime(250)); + expect(screen.root).toHaveStyle({ opacity: 0 }); }); - it('should not use native driver when useNativeDriver is false', () => { + it('should not use native driver when useNativeDriver is false', async () => { render( Test @@ -64,7 +64,8 @@ describe('AnimatedView', () => { ); expect(screen.root).toHaveStyle({ opacity: 0 }); - act(() => jest.advanceTimersByTime(250)); + // eslint-disable-next-line require-await + await act(async () => jest.advanceTimersByTime(250)); expect(screen.root).toHaveStyle({ opacity: 1 }); }); }); diff --git a/src/__tests__/render-hook-async.test.tsx b/src/__tests__/render-hook-async.test.tsx index 82ee858a..a9f86212 100644 --- a/src/__tests__/render-hook-async.test.tsx +++ b/src/__tests__/render-hook-async.test.tsx @@ -216,19 +216,25 @@ test('handles custom hooks with complex logic', async () => { return { count, increment, decrement, reset }; } - const { result, rerenderAsync } = await renderHookAsync(useCounter, { initialProps: 5 }); + const { result } = await renderHookAsync(useCounter, { initialProps: 5 }); expect(result.current.count).toBe(5); - result.current.increment(); - await rerenderAsync(5); + // eslint-disable-next-line require-await + await act(async () => { + result.current.increment(); + }); expect(result.current.count).toBe(6); - result.current.reset(); - await rerenderAsync(5); + // eslint-disable-next-line require-await + await act(async () => { + result.current.reset(); + }); expect(result.current.count).toBe(5); - result.current.decrement(); - await rerenderAsync(5); + // eslint-disable-next-line require-await + await act(async () => { + result.current.decrement(); + }); expect(result.current.count).toBe(4); }); diff --git a/src/user-event/scroll/__tests__/scroll-to-flat-list.test.tsx b/src/user-event/scroll/__tests__/scroll-to-flat-list.test.tsx index ea111a05..5883dc82 100644 --- a/src/user-event/scroll/__tests__/scroll-to-flat-list.test.tsx +++ b/src/user-event/scroll/__tests__/scroll-to-flat-list.test.tsx @@ -113,4 +113,7 @@ test('scrollTo with contentSize and layoutMeasurement update FlatList content', expect(screen.getByText('Item 0')).toBeOnTheScreen(); expect(screen.getByText('Item 7')).toBeOnTheScreen(); expect(screen.getByText('Item 15')).toBeOnTheScreen(); + + // Prevent act warning by unmounting the component + await screen.unmountAsync(); });