diff --git a/src/__tests__/integrationMutations.test.ts b/src/__tests__/integrationMutations.test.ts index 4309e2cd4..c7f927375 100644 --- a/src/__tests__/integrationMutations.test.ts +++ b/src/__tests__/integrationMutations.test.ts @@ -470,7 +470,7 @@ describe('mutations', () => { spy.mockImplementation(() => Promise.resolve({ erxesApiIds: [integration1._id] })); - const response = await graphqlRequest(mutation, 'integrationsRemoveAccount', { _id: 'accountId' }); + const firstResponse = await graphqlRequest(mutation, 'integrationsRemoveAccount', { _id: 'accountId' }); try { await graphqlRequest(mutation, 'integrationsRemoveAccount', { _id: 'accountId' }); @@ -478,9 +478,19 @@ describe('mutations', () => { expect(e[0].message).toBeDefined(); } - expect(response).toBe('success'); + expect(firstResponse).toBe('success'); spy.mockRestore(); + + const spy1 = jest.spyOn(messageBroker, 'sendRPCMessage'); + + spy1.mockImplementation(() => Promise.resolve({ erxesApiIds: [] })); + + const secondResponse = await graphqlRequest(mutation, 'integrationsRemoveAccount', { _id: 'accountId' }); + + expect(secondResponse).toBe('success'); + + spy1.mockRestore(); }); test('Send mail', async () => { diff --git a/src/data/resolvers/mutations/integrations.ts b/src/data/resolvers/mutations/integrations.ts index e6662ef41..94dfdb271 100644 --- a/src/data/resolvers/mutations/integrations.ts +++ b/src/data/resolvers/mutations/integrations.ts @@ -205,6 +205,10 @@ const integrationMutations = { try { const { erxesApiIds } = await sendRPCMessage({ action: 'remove-account', data: { _id } }); + if (erxesApiIds.length === 0) { + return 'success'; + } + for (const id of erxesApiIds) { await Integrations.removeIntegration(id); }