From 7bb153efe97e91a67a9fe0d2ded240849e7f010f Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Fri, 22 Nov 2024 05:33:32 +1100 Subject: [PATCH] [8.x] [React18] Migrate test suites to account for testing library upgrades appex-sharedux (#201153) (#201237) # Backport This will backport the following commits from `main` to `8.x`: - [[React18] Migrate test suites to account for testing library upgrades appex-sharedux (#201153)](https://github.com/elastic/kibana/pull/201153) ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) Co-authored-by: Eyo O. Eyo <7893459+eokoneyo@users.noreply.github.com> --- .../modal/tabbed/src/context/index.test.tsx | 2 +- .../src/use_table_persist.test.ts | 2 +- .../content_client_mutation_hooks.test.tsx | 20 +++++++------------ .../content_client_query_hooks.test.tsx | 12 +++++------ 4 files changed, 14 insertions(+), 22 deletions(-) diff --git a/packages/shared-ux/modal/tabbed/src/context/index.test.tsx b/packages/shared-ux/modal/tabbed/src/context/index.test.tsx index a25504421b330..8c42dea9080c2 100644 --- a/packages/shared-ux/modal/tabbed/src/context/index.test.tsx +++ b/packages/shared-ux/modal/tabbed/src/context/index.test.tsx @@ -8,7 +8,7 @@ */ import React, { type ComponentProps, type ComponentType } from 'react'; -import { renderHook, act } from '@testing-library/react-hooks'; +import { renderHook, act } from '@testing-library/react'; import { useModalContext, ModalContextProvider } from '.'; type ModalContextProviderProps = ComponentProps; diff --git a/packages/shared-ux/table_persist/src/use_table_persist.test.ts b/packages/shared-ux/table_persist/src/use_table_persist.test.ts index 51fbd93f7a214..9c88c97b8244a 100644 --- a/packages/shared-ux/table_persist/src/use_table_persist.test.ts +++ b/packages/shared-ux/table_persist/src/use_table_persist.test.ts @@ -8,7 +8,7 @@ */ import { CriteriaWithPagination } from '@elastic/eui'; -import { renderHook, act } from '@testing-library/react-hooks'; +import { renderHook, act } from '@testing-library/react'; import { useEuiTablePersist } from './use_table_persist'; import { createStorage } from './storage'; // Mock this if it's external diff --git a/src/plugins/content_management/public/content_client/content_client_mutation_hooks.test.tsx b/src/plugins/content_management/public/content_client/content_client_mutation_hooks.test.tsx index d2ad215f46e4c..6e77a6c9c47da 100644 --- a/src/plugins/content_management/public/content_client/content_client_mutation_hooks.test.tsx +++ b/src/plugins/content_management/public/content_client/content_client_mutation_hooks.test.tsx @@ -8,7 +8,7 @@ */ import React, { FC, PropsWithChildren } from 'react'; -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook, waitFor } from '@testing-library/react'; import { ContentClientProvider } from './content_client_context'; import { ContentClient } from './content_client'; import { createCrudClientMock } from '../crud_client/crud_client.mock'; @@ -46,12 +46,10 @@ describe('useCreateContentMutation', () => { const input: CreateIn = { contentTypeId: 'testType', data: { foo: 'bar' }, version: 2 }; const output = { test: 'test' }; crudClient.create.mockResolvedValueOnce(output); - const { result, waitFor } = renderHook(() => useCreateContentMutation(), { wrapper: Wrapper }); + const { result } = renderHook(() => useCreateContentMutation(), { wrapper: Wrapper }); result.current.mutate(input); - await waitFor(() => result.current.isSuccess); - - expect(result.current.data).toEqual(output); + await waitFor(() => expect(result.current.data).toEqual(output)); }); }); @@ -66,12 +64,10 @@ describe('useUpdateContentMutation', () => { }; const output = { test: 'test' }; crudClient.update.mockResolvedValueOnce(output); - const { result, waitFor } = renderHook(() => useUpdateContentMutation(), { wrapper: Wrapper }); + const { result } = renderHook(() => useUpdateContentMutation(), { wrapper: Wrapper }); result.current.mutate(input); - await waitFor(() => result.current.isSuccess); - - expect(result.current.data).toEqual(output); + await waitFor(() => expect(result.current.data).toEqual(output)); }); }); @@ -81,11 +77,9 @@ describe('useDeleteContentMutation', () => { const input: DeleteIn = { contentTypeId: 'testType', id: 'test', version: 2 }; const output = { test: 'test' }; crudClient.delete.mockResolvedValueOnce(output); - const { result, waitFor } = renderHook(() => useDeleteContentMutation(), { wrapper: Wrapper }); + const { result } = renderHook(() => useDeleteContentMutation(), { wrapper: Wrapper }); result.current.mutate(input); - await waitFor(() => result.current.isSuccess); - - expect(result.current.data).toEqual(output); + await waitFor(() => expect(result.current.data).toEqual(output)); }); }); diff --git a/src/plugins/content_management/public/content_client/content_client_query_hooks.test.tsx b/src/plugins/content_management/public/content_client/content_client_query_hooks.test.tsx index 8cffde7ebd051..266e94641936e 100644 --- a/src/plugins/content_management/public/content_client/content_client_query_hooks.test.tsx +++ b/src/plugins/content_management/public/content_client/content_client_query_hooks.test.tsx @@ -8,7 +8,7 @@ */ import React, { FC, PropsWithChildren } from 'react'; -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook, waitFor } from '@testing-library/react'; import { ContentClientProvider } from './content_client_context'; import { ContentClient } from './content_client'; import { createCrudClientMock } from '../crud_client/crud_client.mock'; @@ -42,9 +42,8 @@ describe('useGetContentQuery', () => { const input: GetIn = { id: 'test', contentTypeId: 'testType', version: 2 }; const output = { test: 'test' }; crudClient.get.mockResolvedValueOnce(output); - const { result, waitFor } = renderHook(() => useGetContentQuery(input), { wrapper: Wrapper }); - await waitFor(() => result.current.isSuccess); - expect(result.current.data).toEqual(output); + const { result } = renderHook(() => useGetContentQuery(input), { wrapper: Wrapper }); + await waitFor(() => expect(result.current.data).toEqual(output)); }); }); @@ -54,10 +53,9 @@ describe('useSearchContentQuery', () => { const input: SearchIn = { contentTypeId: 'testType', query: {}, version: 2 }; const output = { hits: [{ id: 'test' }] }; crudClient.search.mockResolvedValueOnce(output); - const { result, waitFor } = renderHook(() => useSearchContentQuery(input), { + const { result } = renderHook(() => useSearchContentQuery(input), { wrapper: Wrapper, }); - await waitFor(() => result.current.isSuccess); - expect(result.current.data).toEqual(output); + await waitFor(() => expect(result.current.data).toEqual(output)); }); });