summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Hughes <me@iamphill.com>2019-03-07 08:39:26 +0000
committerPhil Hughes <me@iamphill.com>2019-03-07 08:39:26 +0000
commit08622a6e95bacb72e734a4ccce51eed7626ca9f3 (patch)
tree6148d1858edfeea6df6724aaa9045b74efcb787e
parent1557289ce3e7e6d3fec6055333587d268974f913 (diff)
parentd72a61b41d1aaf6b0ed9041b32fa411e8907d4f8 (diff)
downloadgitlab-ce-08622a6e95bacb72e734a4ccce51eed7626ca9f3.tar.gz
Merge branch '30299-transform-notes-from-polling-response' into 'master'
Handle transformed notes from polling response See merge request gitlab-org/gitlab-ce!25792
-rw-r--r--app/assets/javascripts/notes/stores/mutations.js4
-rw-r--r--spec/javascripts/notes/stores/mutation_spec.js13
2 files changed, 17 insertions, 0 deletions
diff --git a/app/assets/javascripts/notes/stores/mutations.js b/app/assets/javascripts/notes/stores/mutations.js
index ae6f8b7790a..fa44ef2d057 100644
--- a/app/assets/javascripts/notes/stores/mutations.js
+++ b/app/assets/javascripts/notes/stores/mutations.js
@@ -193,6 +193,10 @@ export default {
const noteObj = utils.findNoteObjectById(state.discussions, note.discussion_id);
if (noteObj.individual_note) {
+ if (note.type === constants.DISCUSSION_NOTE) {
+ noteObj.individual_note = false;
+ }
+
noteObj.notes.splice(0, 1, note);
} else {
const comment = utils.findNoteObjectById(noteObj.notes, note.id);
diff --git a/spec/javascripts/notes/stores/mutation_spec.js b/spec/javascripts/notes/stores/mutation_spec.js
index aa08bf59a7f..4a640d589fb 100644
--- a/spec/javascripts/notes/stores/mutation_spec.js
+++ b/spec/javascripts/notes/stores/mutation_spec.js
@@ -1,5 +1,6 @@
import Vue from 'vue';
import mutations from '~/notes/stores/mutations';
+import { DISCUSSION_NOTE } from '~/notes/constants';
import {
note,
discussionMock,
@@ -326,6 +327,18 @@ describe('Notes Store mutations', () => {
expect(state.discussions[0].notes[0].note).toEqual('Foo');
});
+
+ it('transforms an individual note to discussion', () => {
+ const state = {
+ discussions: [individualNote],
+ };
+
+ const transformedNote = { ...individualNote.notes[0], type: DISCUSSION_NOTE };
+
+ mutations.UPDATE_NOTE(state, transformedNote);
+
+ expect(state.discussions[0].individual_note).toEqual(false);
+ });
});
describe('CLOSE_ISSUE', () => {