diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-04-02 18:08:11 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-04-02 18:08:11 +0000 |
commit | 8a7efa45c38ed3200d173d2c3207a8154e583c16 (patch) | |
tree | 1bb4d579b95c79aae4946a06fefa089e5549b722 /spec/javascripts/notes/components/note_actions_spec.js | |
parent | 53b1f4eaa2a451aaba908a5fee7ce97a930021ac (diff) | |
download | gitlab-ce-8a7efa45c38ed3200d173d2c3207a8154e583c16.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/javascripts/notes/components/note_actions_spec.js')
-rw-r--r-- | spec/javascripts/notes/components/note_actions_spec.js | 160 |
1 files changed, 0 insertions, 160 deletions
diff --git a/spec/javascripts/notes/components/note_actions_spec.js b/spec/javascripts/notes/components/note_actions_spec.js deleted file mode 100644 index 5d13f587ca7..00000000000 --- a/spec/javascripts/notes/components/note_actions_spec.js +++ /dev/null @@ -1,160 +0,0 @@ -import Vue from 'vue'; -import { shallowMount, createLocalVue, createWrapper } from '@vue/test-utils'; -import { TEST_HOST } from 'spec/test_constants'; -import createStore from '~/notes/stores'; -import noteActions from '~/notes/components/note_actions.vue'; -import { userDataMock } from '../mock_data'; - -describe('noteActions', () => { - let wrapper; - let store; - let props; - - const shallowMountNoteActions = propsData => { - const localVue = createLocalVue(); - return shallowMount(localVue.extend(noteActions), { - store, - propsData, - localVue, - }); - }; - - beforeEach(() => { - store = createStore(); - props = { - accessLevel: 'Maintainer', - authorId: 26, - canDelete: true, - canEdit: true, - canAwardEmoji: true, - canReportAsAbuse: true, - noteId: '539', - noteUrl: `${TEST_HOST}/group/project/-/merge_requests/1#note_1`, - reportAbusePath: `${TEST_HOST}/abuse_reports/new?ref_url=http%3A%2F%2Flocalhost%3A3000%2Fgitlab-org%2Fgitlab-ce%2Fissues%2F7%23note_539&user_id=26`, - showReply: false, - }; - }); - - afterEach(() => { - wrapper.destroy(); - }); - - describe('user is logged in', () => { - beforeEach(() => { - store.dispatch('setUserData', userDataMock); - - wrapper = shallowMountNoteActions(props); - }); - - it('should render access level badge', () => { - expect( - wrapper - .find('.note-role') - .text() - .trim(), - ).toEqual(props.accessLevel); - }); - - it('should render emoji link', () => { - expect(wrapper.find('.js-add-award').exists()).toBe(true); - expect(wrapper.find('.js-add-award').attributes('data-position')).toBe('right'); - }); - - describe('actions dropdown', () => { - it('should be possible to edit the comment', () => { - expect(wrapper.find('.js-note-edit').exists()).toBe(true); - }); - - it('should be possible to report abuse to admin', () => { - expect(wrapper.find(`a[href="${props.reportAbusePath}"]`).exists()).toBe(true); - }); - - it('should be possible to copy link to a note', () => { - expect(wrapper.find('.js-btn-copy-note-link').exists()).toBe(true); - }); - - it('should not show copy link action when `noteUrl` prop is empty', done => { - wrapper.setProps({ - ...props, - noteUrl: '', - }); - - Vue.nextTick() - .then(() => { - expect(wrapper.find('.js-btn-copy-note-link').exists()).toBe(false); - }) - .then(done) - .catch(done.fail); - }); - - it('should be possible to delete comment', () => { - expect(wrapper.find('.js-note-delete').exists()).toBe(true); - }); - - it('closes tooltip when dropdown opens', done => { - wrapper.find('.more-actions-toggle').trigger('click'); - - const rootWrapper = createWrapper(wrapper.vm.$root); - Vue.nextTick() - .then(() => { - const emitted = Object.keys(rootWrapper.emitted()); - - expect(emitted).toEqual(['bv::hide::tooltip']); - done(); - }) - .catch(done.fail); - }); - }); - }); - - describe('user is not logged in', () => { - beforeEach(() => { - store.dispatch('setUserData', {}); - wrapper = shallowMountNoteActions({ - ...props, - canDelete: false, - canEdit: false, - canAwardEmoji: false, - canReportAsAbuse: false, - }); - }); - - it('should not render emoji link', () => { - expect(wrapper.find('.js-add-award').exists()).toBe(false); - }); - - it('should not render actions dropdown', () => { - expect(wrapper.find('.more-actions').exists()).toBe(false); - }); - }); - - describe('for showReply = true', () => { - beforeEach(() => { - wrapper = shallowMountNoteActions({ - ...props, - showReply: true, - }); - }); - - it('shows a reply button', () => { - const replyButton = wrapper.find({ ref: 'replyButton' }); - - expect(replyButton.exists()).toBe(true); - }); - }); - - describe('for showReply = false', () => { - beforeEach(() => { - wrapper = shallowMountNoteActions({ - ...props, - showReply: false, - }); - }); - - it('does not show a reply button', () => { - const replyButton = wrapper.find({ ref: 'replyButton' }); - - expect(replyButton.exists()).toBe(false); - }); - }); -}); |