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 | 24 |
1 files changed, 24 insertions, 0 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 36c4174c03d..6af8ac9e18e 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,5 +1,8 @@ +import { getByRole } from '@testing-library/dom'; import Vue from 'vue'; import mountComponent from 'helpers/vue_mount_component_helper'; +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'; import eventHub from '~/vue_merge_request_widget/event_hub'; @@ -16,6 +19,7 @@ describe('MRWidgetMerged', () => { }; beforeEach(() => { + jest.spyOn(document, 'dispatchEvent'); const Component = Vue.extend(mergedComponent); const mr = { isRemovingSourceBranch: false, @@ -147,6 +151,26 @@ describe('MRWidgetMerged', () => { }); }); + it('calls dispatchDocumentEvent to load in the modal component', () => { + expect(document.dispatchEvent).toHaveBeenCalledWith(new CustomEvent('merged:UpdateActions')); + }); + + it('emits event to open the revert modal on revert button click', () => { + const eventHubSpy = jest.spyOn(modalEventHub, '$emit'); + + getByRole(vm.$el, 'button', { name: /Revert/i }).click(); + + expect(eventHubSpy).toHaveBeenCalledWith(OPEN_REVERT_MODAL); + }); + + it('emits event to open the cherry-pick modal on cherry-pick button click', () => { + const eventHubSpy = jest.spyOn(modalEventHub, '$emit'); + + getByRole(vm.$el, 'button', { name: /Cherry-pick/i }).click(); + + expect(eventHubSpy).toHaveBeenCalledWith(OPEN_CHERRY_PICK_MODAL); + }); + it('has merged by information', () => { expect(vm.$el.textContent).toContain('Merged by'); expect(vm.$el.textContent).toContain('Administrator'); |