diff options
| author | Kamil Trzciński <ayufan@ayufan.eu> | 2018-02-28 20:36:55 +0100 | 
|---|---|---|
| committer | Kamil Trzciński <ayufan@ayufan.eu> | 2018-02-28 20:36:55 +0100 | 
| commit | 965dc28691e2d70b7040e28d90ccbc3721a9e416 (patch) | |
| tree | 84258f35b72f2e7ce6a7198db66032df4ad5aadb /spec/javascripts/notes | |
| parent | e3fafa7632e038927085cf8c8228c93be44b36bd (diff) | |
| parent | 7fabc892f251740dbd9a4755baede662e6854870 (diff) | |
| download | gitlab-ce-965dc28691e2d70b7040e28d90ccbc3721a9e416.tar.gz | |
Merge commit '7fabc892f251740dbd9a4755baede662e6854870' into object-storage-ee-to-ce-backport
Diffstat (limited to 'spec/javascripts/notes')
16 files changed, 67 insertions, 48 deletions
| diff --git a/spec/javascripts/notes/components/issue_comment_form_spec.js b/spec/javascripts/notes/components/issue_comment_form_spec.js index a26fc8f63cc..04a7f8e32f1 100644 --- a/spec/javascripts/notes/components/issue_comment_form_spec.js +++ b/spec/javascripts/notes/components/issue_comment_form_spec.js @@ -2,7 +2,7 @@ import Vue from 'vue';  import Autosize from 'autosize';  import store from '~/notes/stores';  import issueCommentForm from '~/notes/components/issue_comment_form.vue'; -import { loggedOutIssueData, notesDataMock, userDataMock, issueDataMock } from '../mock_data'; +import { loggedOutnoteableData, notesDataMock, userDataMock, noteableDataMock } from '../mock_data';  import { keyboardDownEvent } from '../../issue_show/helpers';  describe('issue_comment_form component', () => { @@ -23,7 +23,7 @@ describe('issue_comment_form component', () => {    describe('user is logged in', () => {      beforeEach(() => {        store.dispatch('setUserData', userDataMock); -      store.dispatch('setIssueData', issueDataMock); +      store.dispatch('setNoteableData', noteableDataMock);        store.dispatch('setNotesData', notesDataMock);        vm = mountComponent(); @@ -55,6 +55,25 @@ describe('issue_comment_form component', () => {          expect(vm.toggleIssueState).toHaveBeenCalled();        }); + +      it('should disable action button whilst submitting', (done) => { +        const saveNotePromise = Promise.resolve(); +        vm.note = 'hello world'; +        spyOn(vm, 'saveNote').and.returnValue(saveNotePromise); +        spyOn(vm, 'stopPolling'); + +        const actionButton = vm.$el.querySelector('.js-action-button'); + +        vm.handleSave(); + +        Vue.nextTick() +          .then(() => expect(actionButton.disabled).toBeTruthy()) +          .then(saveNotePromise) +          .then(Vue.nextTick) +          .then(() => expect(actionButton.disabled).toBeFalsy()) +          .then(done) +          .catch(done.fail); +      });      });      describe('textarea', () => { @@ -159,7 +178,7 @@ describe('issue_comment_form component', () => {      describe('issue is confidential', () => {        it('shows information warning', (done) => { -        store.dispatch('setIssueData', Object.assign(issueDataMock, { confidential: true })); +        store.dispatch('setNoteableData', Object.assign(noteableDataMock, { confidential: true }));          Vue.nextTick(() => {            expect(vm.$el.querySelector('.confidential-issue-warning')).toBeDefined();            done(); @@ -171,7 +190,7 @@ describe('issue_comment_form component', () => {    describe('user is not logged in', () => {      beforeEach(() => {        store.dispatch('setUserData', null); -      store.dispatch('setIssueData', loggedOutIssueData); +      store.dispatch('setNoteableData', loggedOutnoteableData);        store.dispatch('setNotesData', notesDataMock);        vm = mountComponent(); diff --git a/spec/javascripts/notes/components/issue_discussion_spec.js b/spec/javascripts/notes/components/issue_discussion_spec.js index 05c6b57f93e..b6ae55d44f5 100644 --- a/spec/javascripts/notes/components/issue_discussion_spec.js +++ b/spec/javascripts/notes/components/issue_discussion_spec.js @@ -1,7 +1,7 @@  import Vue from 'vue';  import store from '~/notes/stores';  import issueDiscussion from '~/notes/components/issue_discussion.vue'; -import { issueDataMock, discussionMock, notesDataMock } from '../mock_data'; +import { noteableDataMock, discussionMock, notesDataMock } from '../mock_data';  describe('issue_discussion component', () => {    let vm; @@ -9,7 +9,7 @@ describe('issue_discussion component', () => {    beforeEach(() => {      const Component = Vue.extend(issueDiscussion); -    store.dispatch('setIssueData', issueDataMock); +    store.dispatch('setNoteableData', noteableDataMock);      store.dispatch('setNotesData', notesDataMock);      vm = new Component({ diff --git a/spec/javascripts/notes/components/issue_note_app_spec.js b/spec/javascripts/notes/components/issue_note_app_spec.js index 22e91c4c40f..8e43037f356 100644 --- a/spec/javascripts/notes/components/issue_note_app_spec.js +++ b/spec/javascripts/notes/components/issue_note_app_spec.js @@ -1,6 +1,6 @@  import Vue from 'vue';  import issueNotesApp from '~/notes/components/issue_notes_app.vue'; -import service from '~/notes/services/issue_notes_service'; +import service from '~/notes/services/notes_service';  import * as mockData from '../mock_data';  describe('issue_note_app', () => { @@ -24,7 +24,7 @@ describe('issue_note_app', () => {      mountComponent = (data) => {        const props = data || { -        issueData: mockData.issueDataMock, +        noteableData: mockData.noteableDataMock,          notesData: mockData.notesDataMock,          userData: mockData.userDataMock,        }; @@ -60,7 +60,7 @@ describe('issue_note_app', () => {      });      it('should set issue data', () => { -      expect(vm.$store.state.issueData).toEqual(mockData.issueDataMock); +      expect(vm.$store.state.noteableData).toEqual(mockData.noteableDataMock);      });      it('should set user data', () => { diff --git a/spec/javascripts/notes/components/issue_note_body_spec.js b/spec/javascripts/notes/components/issue_note_body_spec.js index 81f07ed47cc..37aad50737b 100644 --- a/spec/javascripts/notes/components/issue_note_body_spec.js +++ b/spec/javascripts/notes/components/issue_note_body_spec.js @@ -2,7 +2,7 @@  import Vue from 'vue';  import store from '~/notes/stores';  import noteBody from '~/notes/components/issue_note_body.vue'; -import { issueDataMock, notesDataMock, note } from '../mock_data'; +import { noteableDataMock, notesDataMock, note } from '../mock_data';  describe('issue_note_body component', () => {    let vm; @@ -10,7 +10,7 @@ describe('issue_note_body component', () => {    beforeEach(() => {      const Component = Vue.extend(noteBody); -    store.dispatch('setIssueData', issueDataMock); +    store.dispatch('setNoteableData', noteableDataMock);      store.dispatch('setNotesData', notesDataMock);      vm = new Component({ diff --git a/spec/javascripts/notes/components/issue_note_form_spec.js b/spec/javascripts/notes/components/issue_note_form_spec.js index a90dbcb72b5..d42ef239711 100644 --- a/spec/javascripts/notes/components/issue_note_form_spec.js +++ b/spec/javascripts/notes/components/issue_note_form_spec.js @@ -1,7 +1,7 @@  import Vue from 'vue';  import store from '~/notes/stores';  import issueNoteForm from '~/notes/components/issue_note_form.vue'; -import { issueDataMock, notesDataMock } from '../mock_data'; +import { noteableDataMock, notesDataMock } from '../mock_data';  import { keyboardDownEvent } from '../../issue_show/helpers';  describe('issue_note_form component', () => { @@ -11,7 +11,7 @@ describe('issue_note_form component', () => {    beforeEach(() => {      const Component = Vue.extend(issueNoteForm); -    store.dispatch('setIssueData', issueDataMock); +    store.dispatch('setNoteableData', noteableDataMock);      store.dispatch('setNotesData', notesDataMock);      props = { diff --git a/spec/javascripts/notes/components/issue_note_spec.js b/spec/javascripts/notes/components/issue_note_spec.js index 7ef85d5b4f0..73fd188dbe5 100644 --- a/spec/javascripts/notes/components/issue_note_spec.js +++ b/spec/javascripts/notes/components/issue_note_spec.js @@ -2,7 +2,7 @@  import Vue from 'vue';  import store from '~/notes/stores';  import issueNote from '~/notes/components/issue_note.vue'; -import { issueDataMock, notesDataMock, note } from '../mock_data'; +import { noteableDataMock, notesDataMock, note } from '../mock_data';  describe('issue_note', () => {    let vm; @@ -10,7 +10,7 @@ describe('issue_note', () => {    beforeEach(() => {      const Component = Vue.extend(issueNote); -    store.dispatch('setIssueData', issueDataMock); +    store.dispatch('setNoteableData', noteableDataMock);      store.dispatch('setNotesData', notesDataMock);      vm = new Component({ diff --git a/spec/javascripts/notes/components/issue_note_actions_spec.js b/spec/javascripts/notes/components/note_actions_spec.js index 7bcc061f167..ab81aabb992 100644 --- a/spec/javascripts/notes/components/issue_note_actions_spec.js +++ b/spec/javascripts/notes/components/note_actions_spec.js @@ -1,6 +1,6 @@  import Vue from 'vue';  import store from '~/notes/stores'; -import issueActions from '~/notes/components/issue_note_actions.vue'; +import noteActions from '~/notes/components/note_actions.vue';  import { userDataMock } from '../mock_data';  describe('issse_note_actions component', () => { @@ -8,7 +8,7 @@ describe('issse_note_actions component', () => {    let Component;    beforeEach(() => { -    Component = Vue.extend(issueActions); +    Component = Vue.extend(noteActions);    });    afterEach(() => { diff --git a/spec/javascripts/notes/components/issue_note_attachment_spec.js b/spec/javascripts/notes/components/note_attachment_spec.js index 8f33b874ad6..b14a518b622 100644 --- a/spec/javascripts/notes/components/issue_note_attachment_spec.js +++ b/spec/javascripts/notes/components/note_attachment_spec.js @@ -1,5 +1,5 @@  import Vue from 'vue'; -import issueNoteAttachment from '~/notes/components/issue_note_attachment.vue'; +import noteAttachment from '~/notes/components/note_attachment.vue';  describe('issue note attachment', () => {    it('should render properly', () => { @@ -11,7 +11,7 @@ describe('issue note attachment', () => {        },      }; -    const Component = Vue.extend(issueNoteAttachment); +    const Component = Vue.extend(noteAttachment);      const vm = new Component({        propsData: props,      }).$mount(); diff --git a/spec/javascripts/notes/components/issue_note_awards_list_spec.js b/spec/javascripts/notes/components/note_awards_list_spec.js index 3b6c34f1494..15995ec5a05 100644 --- a/spec/javascripts/notes/components/issue_note_awards_list_spec.js +++ b/spec/javascripts/notes/components/note_awards_list_spec.js @@ -1,16 +1,16 @@  import Vue from 'vue';  import store from '~/notes/stores'; -import awardsNote from '~/notes/components/issue_note_awards_list.vue'; -import { issueDataMock, notesDataMock } from '../mock_data'; +import awardsNote from '~/notes/components/note_awards_list.vue'; +import { noteableDataMock, notesDataMock } from '../mock_data'; -describe('issue_note_awards_list component', () => { +describe('note_awards_list component', () => {    let vm;    let awardsMock;    beforeEach(() => {      const Component = Vue.extend(awardsNote); -    store.dispatch('setIssueData', issueDataMock); +    store.dispatch('setNoteableData', noteableDataMock);      store.dispatch('setNotesData', notesDataMock);      awardsMock = [        { diff --git a/spec/javascripts/notes/components/issue_note_edited_text_spec.js b/spec/javascripts/notes/components/note_edited_text_spec.js index 6603241eb64..e0b991c32ec 100644 --- a/spec/javascripts/notes/components/issue_note_edited_text_spec.js +++ b/spec/javascripts/notes/components/note_edited_text_spec.js @@ -1,12 +1,12 @@  import Vue from 'vue'; -import issueNoteEditedText from '~/notes/components/issue_note_edited_text.vue'; +import noteEditedText from '~/notes/components/note_edited_text.vue'; -describe('issue_note_edited_text', () => { +describe('note_edited_text', () => {    let vm;    let props;    beforeEach(() => { -    const Component = Vue.extend(issueNoteEditedText); +    const Component = Vue.extend(noteEditedText);      props = {        actionText: 'Edited',        className: 'foo-bar', diff --git a/spec/javascripts/notes/components/issue_note_header_spec.js b/spec/javascripts/notes/components/note_header_spec.js index 83ea18508ae..16a76b11321 100644 --- a/spec/javascripts/notes/components/issue_note_header_spec.js +++ b/spec/javascripts/notes/components/note_header_spec.js @@ -1,13 +1,13 @@  import Vue from 'vue'; -import issueNoteHeader from '~/notes/components/issue_note_header.vue'; +import noteHeader from '~/notes/components/note_header.vue';  import store from '~/notes/stores'; -describe('issue_note_header component', () => { +describe('note_header component', () => {    let vm;    let Component;    beforeEach(() => { -    Component = Vue.extend(issueNoteHeader); +    Component = Vue.extend(noteHeader);    });    afterEach(() => { diff --git a/spec/javascripts/notes/components/issue_note_signed_out_widget_spec.js b/spec/javascripts/notes/components/note_signed_out_widget_spec.js index f20d9ce9268..6cba8053888 100644 --- a/spec/javascripts/notes/components/issue_note_signed_out_widget_spec.js +++ b/spec/javascripts/notes/components/note_signed_out_widget_spec.js @@ -1,13 +1,13 @@  import Vue from 'vue'; -import issueNoteSignedOut from '~/notes/components/issue_note_signed_out_widget.vue'; +import noteSignedOut from '~/notes/components/note_signed_out_widget.vue';  import store from '~/notes/stores';  import { notesDataMock } from '../mock_data'; -describe('issue_note_signed_out_widget component', () => { +describe('note_signed_out_widget component', () => {    let vm;    beforeEach(() => { -    const Component = Vue.extend(issueNoteSignedOut); +    const Component = Vue.extend(noteSignedOut);      store.dispatch('setNotesData', notesDataMock);      vm = new Component({ diff --git a/spec/javascripts/notes/mock_data.js b/spec/javascripts/notes/mock_data.js index 89ba3a002b7..42497de3c55 100644 --- a/spec/javascripts/notes/mock_data.js +++ b/spec/javascripts/notes/mock_data.js @@ -18,7 +18,7 @@ export const userDataMock = {    username: 'root',  }; -export const issueDataMock = { +export const noteableDataMock = {    assignees: [],    author_id: 1,    branch_name: null, @@ -271,7 +271,7 @@ export const discussionMock = {    individual_note: false,  }; -export const loggedOutIssueData = { +export const loggedOutnoteableData = {    "id": 98,    "iid": 26,    "author_id": 1, diff --git a/spec/javascripts/notes/stores/actions_spec.js b/spec/javascripts/notes/stores/actions_spec.js index 3d1ca870ca4..e092320f9a3 100644 --- a/spec/javascripts/notes/stores/actions_spec.js +++ b/spec/javascripts/notes/stores/actions_spec.js @@ -1,6 +1,6 @@  import * as actions from '~/notes/stores/actions';  import testAction from '../../helpers/vuex_action_helper'; -import { discussionMock, notesDataMock, userDataMock, issueDataMock, individualNote } from '../mock_data'; +import { discussionMock, notesDataMock, userDataMock, noteableDataMock, individualNote } from '../mock_data';  describe('Actions Notes Store', () => {    describe('setNotesData', () => { @@ -11,10 +11,10 @@ describe('Actions Notes Store', () => {      });    }); -  describe('setIssueData', () => { +  describe('setNoteableData', () => {      it('should set received issue data', (done) => { -      testAction(actions.setIssueData, null, { issueData: {} }, [ -        { type: 'SET_ISSUE_DATA', payload: issueDataMock }, +      testAction(actions.setNoteableData, null, { noteableData: {} }, [ +        { type: 'SET_NOTEABLE_DATA', payload: noteableDataMock },        ], done);      });    }); diff --git a/spec/javascripts/notes/stores/getters_spec.js b/spec/javascripts/notes/stores/getters_spec.js index 48ee1bf9a52..c5a84b71788 100644 --- a/spec/javascripts/notes/stores/getters_spec.js +++ b/spec/javascripts/notes/stores/getters_spec.js @@ -1,5 +1,5 @@  import * as getters from '~/notes/stores/getters'; -import { notesDataMock, userDataMock, issueDataMock, individualNote } from '../mock_data'; +import { notesDataMock, userDataMock, noteableDataMock, individualNote } from '../mock_data';  describe('Getters Notes Store', () => {    let state; @@ -11,7 +11,7 @@ describe('Getters Notes Store', () => {        notesData: notesDataMock,        userData: userDataMock, -      issueData: issueDataMock, +      noteableData: noteableDataMock,      };    });    describe('notes', () => { @@ -32,9 +32,9 @@ describe('Getters Notes Store', () => {      });    }); -  describe('getIssueData', () => { -    it('should return all data in `issueData`', () => { -      expect(getters.getIssueData(state)).toEqual(issueDataMock); +  describe('getNoteableData', () => { +    it('should return all data in `noteableData`', () => { +      expect(getters.getNoteableData(state)).toEqual(noteableDataMock);      });    }); diff --git a/spec/javascripts/notes/stores/mutation_spec.js b/spec/javascripts/notes/stores/mutation_spec.js index 1e22e03e178..22d99998a7d 100644 --- a/spec/javascripts/notes/stores/mutation_spec.js +++ b/spec/javascripts/notes/stores/mutation_spec.js @@ -1,5 +1,5 @@  import mutations from '~/notes/stores/mutations'; -import { note, discussionMock, notesDataMock, userDataMock, issueDataMock, individualNote } from '../mock_data'; +import { note, discussionMock, notesDataMock, userDataMock, noteableDataMock, individualNote } from '../mock_data';  describe('Mutation Notes Store', () => {    describe('ADD_NEW_NOTE', () => { @@ -74,14 +74,14 @@ describe('Mutation Notes Store', () => {      });    }); -  describe('SET_ISSUE_DATA', () => { +  describe('SET_NOTEABLE_DATA', () => {      it('should set the issue data', () => {        const state = { -        issueData: {}, +        noteableData: {},        }; -      mutations.SET_ISSUE_DATA(state, issueDataMock); -      expect(state.issueData).toEqual(issueDataMock); +      mutations.SET_NOTEABLE_DATA(state, noteableDataMock); +      expect(state.noteableData).toEqual(noteableDataMock);      });    }); | 
