summaryrefslogtreecommitdiff
path: root/spec/frontend/design_management
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-08-19 09:08:42 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2021-08-19 09:08:42 +0000
commitb76ae638462ab0f673e5915986070518dd3f9ad3 (patch)
treebdab0533383b52873be0ec0eb4d3c66598ff8b91 /spec/frontend/design_management
parent434373eabe7b4be9593d18a585fb763f1e5f1a6f (diff)
downloadgitlab-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')
-rw-r--r--spec/frontend/design_management/components/design_notes/design_discussion_spec.js38
-rw-r--r--spec/frontend/design_management/components/upload/__snapshots__/design_version_dropdown_spec.js.snap96
-rw-r--r--spec/frontend/design_management/components/upload/design_version_dropdown_spec.js11
-rw-r--r--spec/frontend/design_management/components/upload/mock_data/all_versions.js16
-rw-r--r--spec/frontend/design_management/mock_data/all_versions.js14
-rw-r--r--spec/frontend/design_management/mock_data/apollo_mock.js37
-rw-r--r--spec/frontend/design_management/pages/design/__snapshots__/index_spec.js.snap2
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]"
/>