From 746747ba2b425c06c16be92d75231639e52ff1e0 Mon Sep 17 00:00:00 2001 From: Charles Bochet Date: Mon, 1 Apr 2024 14:55:28 +0200 Subject: [PATCH] Fix jest tests broken with apollo metadata client (#4728) The tests were broken. It turns out that it is not easy to mock two apolloClients as apollo only provides "MockedProvider" component to mock apollo in tests. MockedProvider Api does not allow us to mock on client level. For now, I'm defaulting to the base ApolloClient in test mode to avoid the issue --- .../__tests__/useCreateOneObjectMetadataItem.test.tsx | 5 +---- .../__tests__/useCreateOneRelationMetadataItem.test.tsx | 5 +---- .../__tests__/useDeleteOneObjectMetadataItem.test.tsx | 5 +---- .../hooks/__tests__/useFieldMetadataItem.test.tsx | 5 +---- .../__tests__/useFindManyObjectMetadataItems.test.tsx | 9 +++------ .../hooks/__tests__/useGetRelationMetadata.test.tsx | 8 +------- .../hooks/__tests__/useObjectMetadataItem.test.tsx | 8 +------- .../__tests__/useObjectMetadataItemForSettings.test.tsx | 6 +----- .../object-metadata/hooks/useApolloMetadataClient.ts | 6 ++++++ 9 files changed, 16 insertions(+), 41 deletions(-) diff --git a/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useCreateOneObjectMetadataItem.test.tsx b/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useCreateOneObjectMetadataItem.test.tsx index 150db7f88d..03443712d9 100644 --- a/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useCreateOneObjectMetadataItem.test.tsx +++ b/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useCreateOneObjectMetadataItem.test.tsx @@ -5,7 +5,6 @@ import { RecoilRoot } from 'recoil'; import { useCreateOneObjectMetadataItem } from '@/object-metadata/hooks/useCreateOneObjectMetadataItem'; -import { TestApolloMetadataClientProvider } from '../__mocks__/ApolloMetadataClientProvider'; import { findManyViewsQuery, query, @@ -51,9 +50,7 @@ const mocks = [ const Wrapper = ({ children }: { children: ReactNode }) => ( - - {children} - + {children} ); diff --git a/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useCreateOneRelationMetadataItem.test.tsx b/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useCreateOneRelationMetadataItem.test.tsx index 46e41021a0..2d9b7f3e3f 100644 --- a/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useCreateOneRelationMetadataItem.test.tsx +++ b/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useCreateOneRelationMetadataItem.test.tsx @@ -6,7 +6,6 @@ import { RecoilRoot } from 'recoil'; import { useCreateOneRelationMetadataItem } from '@/object-metadata/hooks/useCreateOneRelationMetadataItem'; import { RelationMetadataType } from '~/generated/graphql'; -import { TestApolloMetadataClientProvider } from '../__mocks__/ApolloMetadataClientProvider'; import { query, responseData, @@ -30,9 +29,7 @@ const mocks = [ const Wrapper = ({ children }: { children: ReactNode }) => ( - - {children} - + {children} ); diff --git a/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useDeleteOneObjectMetadataItem.test.tsx b/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useDeleteOneObjectMetadataItem.test.tsx index f4e6a96d6a..03954953f7 100644 --- a/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useDeleteOneObjectMetadataItem.test.tsx +++ b/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useDeleteOneObjectMetadataItem.test.tsx @@ -5,7 +5,6 @@ import { RecoilRoot } from 'recoil'; import { useDeleteOneObjectMetadataItem } from '@/object-metadata/hooks/useDeleteOneObjectMetadataItem'; -import { TestApolloMetadataClientProvider } from '../__mocks__/ApolloMetadataClientProvider'; import { query, responseData, @@ -29,9 +28,7 @@ const mocks = [ const Wrapper = ({ children }: { children: ReactNode }) => ( - - {children} - + {children} ); diff --git a/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useFieldMetadataItem.test.tsx b/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useFieldMetadataItem.test.tsx index 7527677e7a..d35e7bb602 100644 --- a/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useFieldMetadataItem.test.tsx +++ b/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useFieldMetadataItem.test.tsx @@ -7,7 +7,6 @@ import { useFieldMetadataItem } from '@/object-metadata/hooks/useFieldMetadataIt import { FieldMetadataItem } from '@/object-metadata/types/FieldMetadataItem'; import { FieldMetadataType } from '~/generated/graphql'; -import { TestApolloMetadataClientProvider } from '../__mocks__/ApolloMetadataClientProvider'; import { objectMetadataId, queries, @@ -85,9 +84,7 @@ const mocks = [ const Wrapper = ({ children }: { children: ReactNode }) => ( - - {children} - + {children} ); diff --git a/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useFindManyObjectMetadataItems.test.tsx b/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useFindManyObjectMetadataItems.test.tsx index 44967e53c3..acb7d7ce43 100644 --- a/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useFindManyObjectMetadataItems.test.tsx +++ b/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useFindManyObjectMetadataItems.test.tsx @@ -6,7 +6,6 @@ import { RecoilRoot } from 'recoil'; import { useFindManyObjectMetadataItems } from '@/object-metadata/hooks/useFindManyObjectMetadataItems'; import { SnackBarProviderScope } from '@/ui/feedback/snack-bar-manager/scopes/SnackBarProviderScope'; -import { TestApolloMetadataClientProvider } from '../__mocks__/ApolloMetadataClientProvider'; import { query, responseData, @@ -30,11 +29,9 @@ const mocks = [ const Wrapper = ({ children }: { children: ReactNode }) => ( - - - {children} - - + + {children} + ); diff --git a/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useGetRelationMetadata.test.tsx b/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useGetRelationMetadata.test.tsx index b13554ed6e..55c7a7f09e 100644 --- a/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useGetRelationMetadata.test.tsx +++ b/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useGetRelationMetadata.test.tsx @@ -7,15 +7,9 @@ import { useGetRelationMetadata } from '@/object-metadata/hooks/useGetRelationMe import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState'; import { getObjectMetadataItemsMock } from '@/object-metadata/utils/getObjectMetadataItemsMock'; -import { TestApolloMetadataClientProvider } from '../__mocks__/ApolloMetadataClientProvider'; - const Wrapper = ({ children }: { children: ReactNode }) => ( - - - {children} - - + {children} ); diff --git a/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useObjectMetadataItem.test.tsx b/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useObjectMetadataItem.test.tsx index d0893b3923..6ea19e3bda 100644 --- a/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useObjectMetadataItem.test.tsx +++ b/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useObjectMetadataItem.test.tsx @@ -5,15 +5,9 @@ import { RecoilRoot } from 'recoil'; import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem'; -import { TestApolloMetadataClientProvider } from '../__mocks__/ApolloMetadataClientProvider'; - const Wrapper = ({ children }: { children: ReactNode }) => ( - - - {children} - - + {children} ); diff --git a/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useObjectMetadataItemForSettings.test.tsx b/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useObjectMetadataItemForSettings.test.tsx index c93057e2e8..8739fd03c8 100644 --- a/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useObjectMetadataItemForSettings.test.tsx +++ b/packages/twenty-front/src/modules/object-metadata/hooks/__tests__/useObjectMetadataItemForSettings.test.tsx @@ -12,8 +12,6 @@ import { useObjectMetadataItemForSettings } from '@/object-metadata/hooks/useObj import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState'; import { getObjectMetadataItemsMock } from '@/object-metadata/utils/getObjectMetadataItemsMock'; -import { TestApolloMetadataClientProvider } from '../__mocks__/ApolloMetadataClientProvider'; - const mocks = [ { request: { @@ -31,9 +29,7 @@ const mocks = [ const Wrapper = ({ children }: { children: ReactNode }) => ( - - {children} - + {children} ); diff --git a/packages/twenty-front/src/modules/object-metadata/hooks/useApolloMetadataClient.ts b/packages/twenty-front/src/modules/object-metadata/hooks/useApolloMetadataClient.ts index 01a262e028..5618138ae8 100644 --- a/packages/twenty-front/src/modules/object-metadata/hooks/useApolloMetadataClient.ts +++ b/packages/twenty-front/src/modules/object-metadata/hooks/useApolloMetadataClient.ts @@ -1,9 +1,15 @@ import { useContext } from 'react'; +import { useApolloClient } from '@apollo/client'; import { ApolloMetadataClientContext } from '../context/ApolloClientMetadataContext'; export const useApolloMetadataClient = () => { const apolloMetadataClient = useContext(ApolloMetadataClientContext); + const apolloClient = useApolloClient(); + + if (process.env.NODE_ENV === 'test') { + return apolloClient; + } return apolloMetadataClient; };