diff --git a/packages/twenty-front/src/modules/apollo/services/__tests__/apollo.factory.test.ts b/packages/twenty-front/src/modules/apollo/services/__tests__/apollo.factory.test.ts index 91c26151ba8..9e72d0cede3 100644 --- a/packages/twenty-front/src/modules/apollo/services/__tests__/apollo.factory.test.ts +++ b/packages/twenty-front/src/modules/apollo/services/__tests__/apollo.factory.test.ts @@ -192,6 +192,35 @@ describe('ApolloFactory', () => { } }, 10000); + it('should call onError when encountering "GRAPHQL_VALIDATION_FAILED" error', async () => { + const errors = [ + { + message: 'Cannot query field "icon" on type "MarketplaceApp".', + extensions: { + code: 'GRAPHQL_VALIDATION_FAILED', + }, + }, + ]; + fetchMock.mockResponse(() => + Promise.resolve({ + body: JSON.stringify({ + data: {}, + errors, + }), + }), + ); + + try { + await makeRequest(); + } catch (error) { + expect(error).toBeInstanceOf(CombinedGraphQLErrors); + expect((error as CombinedGraphQLErrors).message).toBe( + 'Cannot query field "icon" on type "MarketplaceApp".', + ); + expect(mockOnError).toHaveBeenCalledWith(errors); + } + }, 10000); + it('should call onNetworkError when encountering a network error', async () => { const errors = [ { diff --git a/packages/twenty-front/src/modules/apollo/services/apollo.factory.ts b/packages/twenty-front/src/modules/apollo/services/apollo.factory.ts index c32ca606f88..1e02e85c23d 100644 --- a/packages/twenty-front/src/modules/apollo/services/apollo.factory.ts +++ b/packages/twenty-front/src/modules/apollo/services/apollo.factory.ts @@ -294,7 +294,8 @@ export class ApolloFactory implements ApolloManager { case 'BAD_USER_INPUT': case 'FORBIDDEN': case 'CONFLICT': - case 'METADATA_VALIDATION_FAILED': { + case 'METADATA_VALIDATION_FAILED': + case 'GRAPHQL_VALIDATION_FAILED': { return; } case 'USER_INPUT_ERROR': {