diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-08-19 09:08:42 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-08-19 09:08:42 +0000 |
commit | b76ae638462ab0f673e5915986070518dd3f9ad3 (patch) | |
tree | bdab0533383b52873be0ec0eb4d3c66598ff8b91 /spec/frontend/design_management | |
parent | 434373eabe7b4be9593d18a585fb763f1e5f1a6f (diff) | |
download | gitlab-ce-b76ae638462ab0f673e5915986070518dd3f9ad3.tar.gz |
Add latest changes from gitlab-org/gitlab@14-2-stable-eev14.2.0-rc42
Diffstat (limited to 'spec/frontend/design_management')
7 files changed, 198 insertions, 16 deletions
diff --git a/spec/frontend/design_management/components/design_notes/design_discussion_spec.js b/spec/frontend/design_management/components/design_notes/design_discussion_spec.js index efadb9b717d..9335d800a16 100644 --- a/spec/frontend/design_management/components/design_notes/design_discussion_spec.js +++ b/spec/frontend/design_management/components/design_notes/design_discussion_spec.js @@ -17,6 +17,8 @@ const defaultMockDiscussion = { notes, }; +const DEFAULT_TODO_COUNT = 2; + describe('Design discussions component', () => { let wrapper; @@ -41,8 +43,14 @@ describe('Design discussions component', () => { }, }; const mutate = jest.fn().mockResolvedValue({ data: { createNote: { errors: [] } } }); + const readQuery = jest.fn().mockReturnValue({ + project: { + issue: { designCollection: { designs: { nodes: [{ currentUserTodos: { nodes: [] } }] } } }, + }, + }); const $apollo = { mutate, + provider: { clients: { defaultClient: { readQuery } } }, }; function createComponent(props = {}, data = {}) { @@ -69,6 +77,12 @@ describe('Design discussions component', () => { $apollo, $route: { hash: '#note_1', + params: { + id: 1, + }, + query: { + version: null, + }, }, }, }); @@ -138,7 +152,13 @@ describe('Design discussions component', () => { }); describe('when discussion is resolved', () => { + let dispatchEventSpy; + beforeEach(() => { + dispatchEventSpy = jest.spyOn(document, 'dispatchEvent'); + jest.spyOn(document, 'querySelector').mockReturnValue({ + innerText: DEFAULT_TODO_COUNT, + }); createComponent({ discussion: { ...defaultMockDiscussion, @@ -174,6 +194,24 @@ describe('Design discussions component', () => { expect(findResolveIcon().props('name')).toBe('check-circle-filled'); }); + it('emit todo:toggle when discussion is resolved', async () => { + createComponent( + { discussionWithOpenForm: defaultMockDiscussion.id }, + { discussionComment: 'test', isFormRendered: true }, + ); + findResolveButton().trigger('click'); + findReplyForm().vm.$emit('submitForm'); + + await mutate(); + await wrapper.vm.$nextTick(); + + const dispatchedEvent = dispatchEventSpy.mock.calls[0][0]; + + expect(dispatchEventSpy).toHaveBeenCalledTimes(1); + expect(dispatchedEvent.detail).toEqual({ count: DEFAULT_TODO_COUNT }); + expect(dispatchedEvent.type).toBe('todo:toggle'); + }); + describe('when replies are expanded', () => { beforeEach(() => { findRepliesWidget().vm.$emit('toggle'); diff --git a/spec/frontend/design_management/components/upload/__snapshots__/design_version_dropdown_spec.js.snap b/spec/frontend/design_management/components/upload/__snapshots__/design_version_dropdown_spec.js.snap index 63afc3f000d..637f22457c4 100644 --- a/spec/frontend/design_management/components/upload/__snapshots__/design_version_dropdown_spec.js.snap +++ b/spec/frontend/design_management/components/upload/__snapshots__/design_version_dropdown_spec.js.snap @@ -17,13 +17,31 @@ exports[`Design management design version dropdown component renders design vers iconname="" iconrightarialabel="" iconrightname="" + ischeckcentered="true" ischecked="true" ischeckitem="true" secondarytext="" > - Version - 2 - (latest) + <strong> + Version + 2 + (latest) + </strong> + + <div + class="gl-text-gray-600 gl-mt-1" + > + <div> + Adminstrator + </div> + + <time-ago-stub + class="text-1" + cssclass="" + time="2021-08-09T06:05:00Z" + tooltipplacement="bottom" + /> + </div> </gl-dropdown-item-stub> <gl-dropdown-item-stub avatarurl="" @@ -31,12 +49,30 @@ exports[`Design management design version dropdown component renders design vers iconname="" iconrightarialabel="" iconrightname="" + ischeckcentered="true" ischeckitem="true" secondarytext="" > - Version - 1 - + <strong> + Version + 1 + + </strong> + + <div + class="gl-text-gray-600 gl-mt-1" + > + <div> + Adminstrator + </div> + + <time-ago-stub + class="text-1" + cssclass="" + time="2021-08-09T06:05:00Z" + tooltipplacement="bottom" + /> + </div> </gl-dropdown-item-stub> </gl-dropdown-stub> `; @@ -58,13 +94,31 @@ exports[`Design management design version dropdown component renders design vers iconname="" iconrightarialabel="" iconrightname="" + ischeckcentered="true" ischecked="true" ischeckitem="true" secondarytext="" > - Version - 2 - (latest) + <strong> + Version + 2 + (latest) + </strong> + + <div + class="gl-text-gray-600 gl-mt-1" + > + <div> + Adminstrator + </div> + + <time-ago-stub + class="text-1" + cssclass="" + time="2021-08-09T06:05:00Z" + tooltipplacement="bottom" + /> + </div> </gl-dropdown-item-stub> <gl-dropdown-item-stub avatarurl="" @@ -72,12 +126,30 @@ exports[`Design management design version dropdown component renders design vers iconname="" iconrightarialabel="" iconrightname="" + ischeckcentered="true" ischeckitem="true" secondarytext="" > - Version - 1 - + <strong> + Version + 1 + + </strong> + + <div + class="gl-text-gray-600 gl-mt-1" + > + <div> + Adminstrator + </div> + + <time-ago-stub + class="text-1" + cssclass="" + time="2021-08-09T06:05:00Z" + tooltipplacement="bottom" + /> + </div> </gl-dropdown-item-stub> </gl-dropdown-stub> `; diff --git a/spec/frontend/design_management/components/upload/design_version_dropdown_spec.js b/spec/frontend/design_management/components/upload/design_version_dropdown_spec.js index 1b01a363688..ebfe27eaa71 100644 --- a/spec/frontend/design_management/components/upload/design_version_dropdown_spec.js +++ b/spec/frontend/design_management/components/upload/design_version_dropdown_spec.js @@ -1,9 +1,10 @@ import { GlDropdown, GlDropdownItem, GlSprintf } from '@gitlab/ui'; import { shallowMount } from '@vue/test-utils'; import DesignVersionDropdown from '~/design_management/components/upload/design_version_dropdown.vue'; +import TimeAgo from '~/vue_shared/components/time_ago_tooltip.vue'; import mockAllVersions from './mock_data/all_versions'; -const LATEST_VERSION_ID = 3; +const LATEST_VERSION_ID = 1; const PREVIOUS_VERSION_ID = 2; const designRouteFactory = (versionId) => ({ @@ -110,5 +111,13 @@ describe('Design management design version dropdown component', () => { expect(wrapper.findAll(GlDropdownItem)).toHaveLength(wrapper.vm.allVersions.length); }); }); + + it('should render TimeAgo', async () => { + createComponent(); + + await wrapper.vm.$nextTick(); + + expect(wrapper.findAllComponents(TimeAgo)).toHaveLength(wrapper.vm.allVersions.length); + }); }); }); diff --git a/spec/frontend/design_management/components/upload/mock_data/all_versions.js b/spec/frontend/design_management/components/upload/mock_data/all_versions.js index 237e1654f9b..24c59ce1a75 100644 --- a/spec/frontend/design_management/components/upload/mock_data/all_versions.js +++ b/spec/frontend/design_management/components/upload/mock_data/all_versions.js @@ -1,10 +1,20 @@ export default [ { - id: 'gid://gitlab/DesignManagement::Version/3', - sha: '0945756378e0b1588b9dd40d5a6b99e8b7198f55', + id: 'gid://gitlab/DesignManagement::Version/1', + sha: 'b389071a06c153509e11da1f582005b316667001', + createdAt: '2021-08-09T06:05:00Z', + author: { + id: 'gid://gitlab/User/1', + name: 'Adminstrator', + }, }, { id: 'gid://gitlab/DesignManagement::Version/2', - sha: '5b063fef0cd7213b312db65b30e24f057df21b20', + sha: 'b389071a06c153509e11da1f582005b316667021', + createdAt: '2021-08-09T06:05:00Z', + author: { + id: 'gid://gitlab/User/1', + name: 'Adminstrator', + }, }, ]; diff --git a/spec/frontend/design_management/mock_data/all_versions.js b/spec/frontend/design_management/mock_data/all_versions.js index 2b216574e27..f4026da7dfd 100644 --- a/spec/frontend/design_management/mock_data/all_versions.js +++ b/spec/frontend/design_management/mock_data/all_versions.js @@ -2,5 +2,19 @@ export default [ { id: 'gid://gitlab/DesignManagement::Version/1', sha: 'b389071a06c153509e11da1f582005b316667001', + createdAt: '2021-08-09T06:05:00Z', + author: { + id: 'gid://gitlab/User/1', + name: 'Adminstrator', + }, + }, + { + id: 'gid://gitlab/DesignManagement::Version/1', + sha: 'b389071a06c153509e11da1f582005b316667021', + createdAt: '2021-08-09T06:05:00Z', + author: { + id: 'gid://gitlab/User/1', + name: 'Adminstrator', + }, }, ]; diff --git a/spec/frontend/design_management/mock_data/apollo_mock.js b/spec/frontend/design_management/mock_data/apollo_mock.js index e53ad2e6afe..cdd07a16e90 100644 --- a/spec/frontend/design_management/mock_data/apollo_mock.js +++ b/spec/frontend/design_management/mock_data/apollo_mock.js @@ -172,3 +172,40 @@ export const moveDesignMutationResponseWithErrors = { }, }, }; + +export const resolveCommentMutationResponse = { + discussionToggleResolve: { + discussion: { + noteable: { + id: 'gid://gitlab/DesignManagement::Design/1', + currentUserTodos: { + nodes: [], + __typename: 'TodoConnection', + }, + __typename: 'Design', + }, + __typename: 'Discussion', + }, + errors: [], + __typename: 'DiscussionToggleResolvePayload', + }, +}; + +export const getDesignQueryResponse = { + project: { + issue: { + designCollection: { + designs: { + nodes: [ + { + id: 'gid://gitlab/DesignManagement::Design/1', + currentUserTodos: { + nodes: [{ id: 'gid://gitlab/Todo::1' }], + }, + }, + ], + }, + }, + }, + }, +}; diff --git a/spec/frontend/design_management/pages/design/__snapshots__/index_spec.js.snap b/spec/frontend/design_management/pages/design/__snapshots__/index_spec.js.snap index 03ae77d4977..57023c55878 100644 --- a/spec/frontend/design_management/pages/design/__snapshots__/index_spec.js.snap +++ b/spec/frontend/design_management/pages/design/__snapshots__/index_spec.js.snap @@ -61,6 +61,7 @@ exports[`Design management design index page renders design index 1`] = ` <participants-stub class="gl-mb-4" + lazy="true" numberoflessparticipants="7" participants="[object Object]" /> @@ -221,6 +222,7 @@ exports[`Design management design index page with error GlAlert is rendered in c <participants-stub class="gl-mb-4" + lazy="true" numberoflessparticipants="7" participants="[object Object]" /> |