diff options
Diffstat (limited to 'spec/frontend/vue_mr_widget/components/states/mr_widget_merged_spec.js')
-rw-r--r-- | spec/frontend/vue_mr_widget/components/states/mr_widget_merged_spec.js | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/spec/frontend/vue_mr_widget/components/states/mr_widget_merged_spec.js b/spec/frontend/vue_mr_widget/components/states/mr_widget_merged_spec.js index e0f1f091129..7d86e453bc7 100644 --- a/spec/frontend/vue_mr_widget/components/states/mr_widget_merged_spec.js +++ b/spec/frontend/vue_mr_widget/components/states/mr_widget_merged_spec.js @@ -1,6 +1,7 @@ import { getByRole } from '@testing-library/dom'; -import Vue from 'vue'; +import Vue, { nextTick } from 'vue'; import mountComponent from 'helpers/vue_mount_component_helper'; +import waitForPromises from 'helpers/wait_for_promises'; import { OPEN_REVERT_MODAL, OPEN_CHERRY_PICK_MODAL } from '~/projects/commit/constants'; import modalEventHub from '~/projects/commit/event_hub'; import mergedComponent from '~/vue_merge_request_widget/components/states/mr_widget_merged.vue'; @@ -127,7 +128,7 @@ describe('MRWidgetMerged', () => { describe('methods', () => { describe('removeSourceBranch', () => { - it('should set flag and call service then request main component to update the widget', (done) => { + it('should set flag and call service then request main component to update the widget', async () => { jest.spyOn(vm.service, 'removeSourceBranch').mockReturnValue( new Promise((resolve) => { resolve({ @@ -139,14 +140,14 @@ describe('MRWidgetMerged', () => { ); vm.removeSourceBranch(); - setImmediate(() => { - const args = eventHub.$emit.mock.calls[0]; - - expect(vm.isMakingRequest).toEqual(true); - expect(args[0]).toEqual('MRWidgetUpdateRequested'); - expect(args[1]).not.toThrow(); - done(); - }); + + await waitForPromises(); + + const args = eventHub.$emit.mock.calls[0]; + + expect(vm.isMakingRequest).toEqual(true); + expect(args[0]).toEqual('MRWidgetUpdateRequested'); + expect(args[1]).not.toThrow(); }); }); }); @@ -200,7 +201,7 @@ describe('MRWidgetMerged', () => { it('hides button to copy commit SHA if SHA does not exist', (done) => { vm.mr.mergeCommitSha = null; - Vue.nextTick(() => { + nextTick(() => { expect(selectors.copyMergeShaButton).toBe(null); expect(vm.$el.querySelector('.mr-info-list').innerText).not.toContain('with'); done(); @@ -216,7 +217,7 @@ describe('MRWidgetMerged', () => { it('should not show source branch deleted text', (done) => { vm.mr.sourceBranchRemoved = false; - Vue.nextTick(() => { + nextTick(() => { expect(vm.$el.innerText).not.toContain('The source branch has been deleted'); done(); }); @@ -226,7 +227,7 @@ describe('MRWidgetMerged', () => { vm.mr.isRemovingSourceBranch = true; vm.mr.sourceBranchRemoved = false; - Vue.nextTick(() => { + nextTick(() => { expect(vm.$el.innerText).toContain('The source branch is being deleted'); expect(vm.$el.innerText).not.toContain('The source branch has been deleted'); done(); |