diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-02-18 12:45:46 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-02-18 12:45:46 +0300 |
commit | a7b3560714b4d9cc4ab32dffcd1f74a284b93580 (patch) | |
tree | 7452bd5c3545c2fa67a28aa013835fb4fa071baf /spec/frontend/alerts_settings | |
parent | ee9173579ae56a3dbfe5afe9f9410c65bb327ca7 (diff) |
Add latest changes from gitlab-org/gitlab@14-8-stable-eev14.8.0-rc42
Diffstat (limited to 'spec/frontend/alerts_settings')
-rw-r--r-- | spec/frontend/alerts_settings/components/alerts_settings_wrapper_spec.js | 34 | ||||
-rw-r--r-- | spec/frontend/alerts_settings/components/mocks/apollo_mock.js | 6 |
2 files changed, 16 insertions, 24 deletions
diff --git a/spec/frontend/alerts_settings/components/alerts_settings_wrapper_spec.js b/spec/frontend/alerts_settings/components/alerts_settings_wrapper_spec.js index e6a6e01c41c..6193233881d 100644 --- a/spec/frontend/alerts_settings/components/alerts_settings_wrapper_spec.js +++ b/spec/frontend/alerts_settings/components/alerts_settings_wrapper_spec.js @@ -1,7 +1,7 @@ import { GlLoadingIcon, GlAlert } from '@gitlab/ui'; -import { mount, createLocalVue } from '@vue/test-utils'; +import { mount } from '@vue/test-utils'; import AxiosMockAdapter from 'axios-mock-adapter'; -import { nextTick } from 'vue'; +import Vue from 'vue'; import VueApollo from 'vue-apollo'; import createHttpIntegrationMutation from 'ee_else_ce/alerts_settings/graphql/mutations/create_http_integration.mutation.graphql'; import updateHttpIntegrationMutation from 'ee_else_ce/alerts_settings/graphql/mutations/update_http_integration.mutation.graphql'; @@ -50,8 +50,6 @@ import mockIntegrations from './mocks/integrations.json'; jest.mock('~/flash'); -const localVue = createLocalVue(); - describe('AlertsSettingsWrapper', () => { let wrapper; let fakeApollo; @@ -70,21 +68,12 @@ describe('AlertsSettingsWrapper', () => { const findAlertsSettingsForm = () => wrapper.findComponent(AlertsSettingsForm); const findAlert = () => wrapper.findComponent(GlAlert); - async function destroyHttpIntegration(localWrapper) { - await jest.runOnlyPendingTimers(); - await localWrapper.vm.$nextTick(); - + function destroyHttpIntegration(localWrapper) { localWrapper .find(IntegrationsList) .vm.$emit('delete-integration', { id: integrationToDestroy.id }); } - async function awaitApolloDomMock() { - await nextTick(); // kick off the DOM update - await jest.runOnlyPendingTimers(); // kick off the mocked GQL stuff (promises) - await nextTick(); // kick off the DOM update for flash - } - const createComponent = ({ data = {}, provide = {}, loading = false } = {}) => { wrapper = extendedWrapper( mount(AlertsSettingsWrapper, { @@ -118,7 +107,7 @@ describe('AlertsSettingsWrapper', () => { function createComponentWithApollo({ destroyHandler = jest.fn().mockResolvedValue(destroyIntegrationResponse), } = {}) { - localVue.use(VueApollo); + Vue.use(VueApollo); destroyIntegrationHandler = destroyHandler; const requestHandlers = [ @@ -129,7 +118,6 @@ describe('AlertsSettingsWrapper', () => { fakeApollo = createMockApollo(requestHandlers); wrapper = mount(AlertsSettingsWrapper, { - localVue, apolloProvider: fakeApollo, provide: { alertSettings: { @@ -476,21 +464,19 @@ describe('AlertsSettingsWrapper', () => { describe('with mocked Apollo client', () => { it('has a selection of integrations loaded via the getIntegrationsQuery', async () => { createComponentWithApollo(); - - await jest.runOnlyPendingTimers(); - await nextTick(); + await waitForPromises(); expect(findIntegrations()).toHaveLength(4); }); it('calls a mutation with correct parameters and destroys a integration', async () => { createComponentWithApollo(); + await waitForPromises(); - await destroyHttpIntegration(wrapper); + destroyHttpIntegration(wrapper); expect(destroyIntegrationHandler).toHaveBeenCalled(); - - await nextTick(); + await waitForPromises(); expect(findIntegrations()).toHaveLength(3); }); @@ -501,7 +487,7 @@ describe('AlertsSettingsWrapper', () => { }); await destroyHttpIntegration(wrapper); - await awaitApolloDomMock(); + await waitForPromises(); expect(createFlash).toHaveBeenCalledWith({ message: 'Houston, we have a problem' }); }); @@ -512,7 +498,7 @@ describe('AlertsSettingsWrapper', () => { }); await destroyHttpIntegration(wrapper); - await awaitApolloDomMock(); + await waitForPromises(); expect(createFlash).toHaveBeenCalledWith({ message: DELETE_INTEGRATION_ERROR, diff --git a/spec/frontend/alerts_settings/components/mocks/apollo_mock.js b/spec/frontend/alerts_settings/components/mocks/apollo_mock.js index e7ad2cd1d2a..694dff56632 100644 --- a/spec/frontend/alerts_settings/components/mocks/apollo_mock.js +++ b/spec/frontend/alerts_settings/components/mocks/apollo_mock.js @@ -38,6 +38,7 @@ export const getIntegrationsQueryResponse = { alertManagementIntegrations: { nodes: [ { + __typename: 'AlertManagementIntegration', id: '37', type: 'HTTP', active: true, @@ -48,6 +49,7 @@ export const getIntegrationsQueryResponse = { apiUrl: null, }, { + __typename: 'AlertManagementIntegration', id: '41', type: 'HTTP', active: true, @@ -58,6 +60,7 @@ export const getIntegrationsQueryResponse = { apiUrl: null, }, { + __typename: 'AlertManagementIntegration', id: '40', type: 'HTTP', active: true, @@ -68,6 +71,7 @@ export const getIntegrationsQueryResponse = { apiUrl: null, }, { + __typename: 'AlertManagementIntegration', id: '12', type: 'PROMETHEUS', active: false, @@ -83,6 +87,7 @@ export const getIntegrationsQueryResponse = { }; export const integrationToDestroy = { + __typename: 'AlertManagementIntegration', id: '37', type: 'HTTP', active: true, @@ -97,6 +102,7 @@ export const destroyIntegrationResponse = { httpIntegrationDestroy: { errors: [], integration: { + __typename: 'AlertManagementIntegration', id: '37', type: 'HTTP', active: true, |