diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-07-20 12:26:25 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-07-20 12:26:25 +0000 |
commit | a09983ae35713f5a2bbb100981116d31ce99826e (patch) | |
tree | 2ee2af7bd104d57086db360a7e6d8c9d5d43667a /spec/frontend/design_management | |
parent | 18c5ab32b738c0b6ecb4d0df3994000482f34bd8 (diff) | |
download | gitlab-ce-a09983ae35713f5a2bbb100981116d31ce99826e.tar.gz |
Add latest changes from gitlab-org/gitlab@13-2-stable-ee
Diffstat (limited to 'spec/frontend/design_management')
4 files changed, 49 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 557f53e864f..102e8e0664c 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 @@ -4,7 +4,7 @@ import notes from '../../mock_data/notes'; import DesignDiscussion from '~/design_management/components/design_notes/design_discussion.vue'; import DesignNote from '~/design_management/components/design_notes/design_note.vue'; import DesignReplyForm from '~/design_management/components/design_notes/design_reply_form.vue'; -import createNoteMutation from '~/design_management/graphql/mutations/createNote.mutation.graphql'; +import createNoteMutation from '~/design_management/graphql/mutations/create_note.mutation.graphql'; import toggleResolveDiscussionMutation from '~/design_management/graphql/mutations/toggle_resolve_discussion.mutation.graphql'; import ReplyPlaceholder from '~/notes/components/discussion_reply_placeholder.vue'; import ToggleRepliesWidget from '~/design_management/components/design_notes/toggle_replies_widget.vue'; diff --git a/spec/frontend/design_management/pages/design/index_spec.js b/spec/frontend/design_management/pages/design/index_spec.js index 430cf8722fe..82b607eb77d 100644 --- a/spec/frontend/design_management/pages/design/index_spec.js +++ b/spec/frontend/design_management/pages/design/index_spec.js @@ -5,8 +5,8 @@ import { ApolloMutation } from 'vue-apollo'; import createFlash from '~/flash'; import DesignIndex from '~/design_management/pages/design/index.vue'; import DesignSidebar from '~/design_management/components/design_sidebar.vue'; -import DesignReplyForm from '~/design_management/components/design_notes/design_reply_form.vue'; -import createImageDiffNoteMutation from '~/design_management/graphql/mutations/createImageDiffNote.mutation.graphql'; +import DesignPresentation from '~/design_management/components/design_presentation.vue'; +import createImageDiffNoteMutation from '~/design_management/graphql/mutations/create_image_diff_note.mutation.graphql'; import design from '../../mock_data/design'; import mockResponseWithDesigns from '../../mock_data/designs'; import mockResponseNoDesigns from '../../mock_data/no_designs'; @@ -26,6 +26,15 @@ jest.mock('mousetrap', () => ({ unbind: jest.fn(), })); +const focusInput = jest.fn(); + +const DesignReplyForm = { + template: '<div><textarea ref="textarea"></textarea></div>', + methods: { + focusInput, + }, +}; + const localVue = createLocalVue(); localVue.use(VueRouter); @@ -64,6 +73,7 @@ describe('Design management design index page', () => { const findDiscussionForm = () => wrapper.find(DesignReplyForm); const findSidebar = () => wrapper.find(DesignSidebar); + const findDesignPresentation = () => wrapper.find(DesignPresentation); function createComponent(loading = false, data = {}) { const $apollo = { @@ -83,6 +93,7 @@ describe('Design management design index page', () => { stubs: { ApolloMutation, DesignSidebar, + DesignReplyForm, }, data() { return { @@ -153,13 +164,29 @@ describe('Design management design index page', () => { }, }); - wrapper.vm.openCommentForm({ x: 0, y: 0 }); + findDesignPresentation().vm.$emit('openCommentForm', { x: 0, y: 0 }); return wrapper.vm.$nextTick().then(() => { expect(findDiscussionForm().exists()).toBe(true); }); }); + it('keeps new discussion form focused', () => { + createComponent(false, { + design: { + ...design, + discussions: { + nodes: [], + }, + }, + annotationCoordinates, + }); + + findDesignPresentation().vm.$emit('openCommentForm', { x: 10, y: 10 }); + + expect(focusInput).toHaveBeenCalled(); + }); + it('sends a mutation on submitting form and closes form', () => { createComponent(false, { design: { diff --git a/spec/frontend/design_management/pages/index_spec.js b/spec/frontend/design_management/pages/index_spec.js index d4e9bae3e89..d3761bf09e9 100644 --- a/spec/frontend/design_management/pages/index_spec.js +++ b/spec/frontend/design_management/pages/index_spec.js @@ -3,7 +3,7 @@ import { ApolloMutation } from 'vue-apollo'; import VueRouter from 'vue-router'; import { GlEmptyState } from '@gitlab/ui'; import Index from '~/design_management/pages/index.vue'; -import uploadDesignQuery from '~/design_management/graphql/mutations/uploadDesign.mutation.graphql'; +import uploadDesignQuery from '~/design_management/graphql/mutations/upload_design.mutation.graphql'; import DesignDestroyer from '~/design_management/components/design_destroyer.vue'; import DesignDropzone from '~/design_management/components/upload/design_dropzone.vue'; import DeleteButton from '~/design_management/components/delete_button.vue'; diff --git a/spec/frontend/design_management/utils/tracking_spec.js b/spec/frontend/design_management/utils/tracking_spec.js index 9fa5eae55b3..0549fb44956 100644 --- a/spec/frontend/design_management/utils/tracking_spec.js +++ b/spec/frontend/design_management/utils/tracking_spec.js @@ -8,7 +8,7 @@ function getTrackingSpy(key) { describe('Tracking Events', () => { describe('trackDesignDetailView', () => { const eventKey = 'projects:issues:design'; - const eventName = 'design_viewed'; + const eventName = 'view_design'; it('trackDesignDetailView fires a tracking event when called', () => { const trackingSpy = getTrackingSpy(eventKey); @@ -20,11 +20,14 @@ describe('Tracking Events', () => { eventName, expect.objectContaining({ label: eventName, - value: { - 'internal-object-refrerer': '', - 'design-collection-owner': '', - 'design-version-number': 1, - 'design-is-current-version': false, + context: { + schema: expect.any(String), + data: { + 'design-version-number': 1, + 'design-is-current-version': false, + 'internal-object-referrer': '', + 'design-collection-owner': '', + }, }, }), ); @@ -40,11 +43,14 @@ describe('Tracking Events', () => { eventName, expect.objectContaining({ label: eventName, - value: { - 'internal-object-refrerer': 'from-a-test', - 'design-collection-owner': 'test', - 'design-version-number': 100, - 'design-is-current-version': true, + context: { + schema: expect.any(String), + data: { + 'design-version-number': 100, + 'design-is-current-version': true, + 'internal-object-referrer': 'from-a-test', + 'design-collection-owner': 'test', + }, }, }), ); |