diff options
Diffstat (limited to 'spec/frontend/issue_show')
-rw-r--r-- | spec/frontend/issue_show/components/header_actions_spec.js | 27 | ||||
-rw-r--r-- | spec/frontend/issue_show/issue_spec.js | 3 |
2 files changed, 27 insertions, 3 deletions
diff --git a/spec/frontend/issue_show/components/header_actions_spec.js b/spec/frontend/issue_show/components/header_actions_spec.js index 67b8665a889..b9836ae7240 100644 --- a/spec/frontend/issue_show/components/header_actions_spec.js +++ b/spec/frontend/issue_show/components/header_actions_spec.js @@ -7,6 +7,7 @@ import HeaderActions from '~/issue_show/components/header_actions.vue'; import { IssuableStatus, IssueStateEvent } from '~/issue_show/constants'; import promoteToEpicMutation from '~/issue_show/queries/promote_to_epic.mutation.graphql'; import * as urlUtility from '~/lib/utils/url_utility'; +import eventHub from '~/notes/event_hub'; import createStore from '~/notes/stores'; jest.mock('~/flash'); @@ -82,8 +83,10 @@ describe('HeaderActions component', () => { } = {}) => { mutateMock = jest.fn().mockResolvedValue(mutateResponse); - store.getters.getNoteableData.state = issueState; - store.getters.getNoteableData.blocked_by_issues = blockedByIssues; + store.dispatch('setNoteableData', { + blocked_by_issues: blockedByIssues, + state: issueState, + }); return shallowMount(HeaderActions, { localVue, @@ -273,6 +276,26 @@ describe('HeaderActions component', () => { }); }); + describe('when `toggle.issuable.state` event is emitted', () => { + it('invokes a method to toggle the issue state', () => { + wrapper = mountComponent({ mutateResponse: updateIssueMutationResponse }); + + eventHub.$emit('toggle.issuable.state'); + + expect(mutateMock).toHaveBeenCalledWith( + expect.objectContaining({ + variables: { + input: { + iid: defaultProps.iid, + projectPath: defaultProps.projectPath, + stateEvent: IssueStateEvent.Close, + }, + }, + }), + ); + }); + }); + describe('modal', () => { const blockedByIssues = [ { iid: 13, web_url: 'gitlab-org/gitlab-test/-/issues/13' }, diff --git a/spec/frontend/issue_show/issue_spec.js b/spec/frontend/issue_show/issue_spec.js index 7a48353af94..cee9969d26a 100644 --- a/spec/frontend/issue_show/issue_spec.js +++ b/spec/frontend/issue_show/issue_spec.js @@ -30,7 +30,8 @@ describe('Issue show index', () => { initialDescriptionHtml: '<svg onload=window.alert(1)>', }); - const issuableData = parseData.parseIssuableData(); + const initialDataEl = document.getElementById('js-issuable-app'); + const issuableData = parseData.parseIssuableData(initialDataEl); initIssuableApp(issuableData, createStore()); await waitForPromises(); |