From fb3d702a7845bf83aa4df799745d68f455ae4d1e Mon Sep 17 00:00:00 2001 From: Nathan Lie Date: Mon, 2 Dec 2024 09:35:49 -0800 Subject: [PATCH] fix: better gql errors in tests --- packages/backend/src/tenants/service.test.ts | 54 ++++++++++++++++++-- 1 file changed, 50 insertions(+), 4 deletions(-) diff --git a/packages/backend/src/tenants/service.test.ts b/packages/backend/src/tenants/service.test.ts index e51d73dd1f..39b723b7a3 100644 --- a/packages/backend/src/tenants/service.test.ts +++ b/packages/backend/src/tenants/service.test.ts @@ -12,6 +12,44 @@ import { truncateTables } from '../tests/tableManager' import { ApolloClient, NormalizedCacheObject } from '@apollo/client' import { Tenant } from './model' +const generateMutateGqlError = (path: string = 'createTenant') => ({ + errors: [ + { + message: 'invalid input syntax', + locations: [ + { + line: 1, + column: 1 + } + ], + path: [path], + extensions: { + code: 'INTERNAl_SERVER_ERROR' + } + } + ], + data: null +}) + +const queryGqlError = { + errors: [ + { + message: 'unknown peer', + locations: [ + { + line: 1, + column: 1 + } + ], + path: ['tenant'], + extensions: { + code: 'NOT_FOUND' + } + } + ], + data: null +} + describe('Tenant Service', (): void => { let deps: IocContract let appContainer: TestContainer @@ -103,7 +141,9 @@ describe('Tenant Service', (): void => { const createdTenant = await tenantService.create(createOptions) createScope.done() - const getScope = nock(config.authAdminApiUrl).post('').reply(400) + const getScope = nock(config.authAdminApiUrl) + .post('') + .reply(200, queryGqlError) const apolloSpy = jest.spyOn(apolloClient, 'query') let tenant try { @@ -180,7 +220,9 @@ describe('Tenant Service', (): void => { idpSecret: 'test-idp-secret' } - const scope = nock(config.authAdminApiUrl).post('').reply(400) + const scope = nock(config.authAdminApiUrl) + .post('') + .reply(200, generateMutateGqlError('createTenant')) const apolloSpy = jest.spyOn(apolloClient, 'mutate') let tenant @@ -277,7 +319,9 @@ describe('Tenant Service', (): void => { nock.cleanAll() - nock(config.authAdminApiUrl).post('').reply(400) + nock(config.authAdminApiUrl) + .post('') + .reply(200, generateMutateGqlError('updateTenant')) const apolloSpy = jest.spyOn(apolloClient, 'mutate') let updatedTenant try { @@ -382,7 +426,9 @@ describe('Tenant Service', (): void => { nock.cleanAll() const apolloSpy = jest.spyOn(apolloClient, 'mutate') - const deleteScope = nock(config.authAdminApiUrl).post('').reply(400) + const deleteScope = nock(config.authAdminApiUrl) + .post('') + .reply(200, generateMutateGqlError('deleteTenant')) try { await tenantService.delete(tenant.id) } catch (err) {