Commit e64c9c21 authored by Phil Hughes's avatar Phil Hughes

Fixed duplicated inline diff discussions

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/55388
parent 9714dfdf
......@@ -138,7 +138,7 @@ export default {
if (file.highlighted_diff_lines) {
file.highlighted_diff_lines = file.highlighted_diff_lines.map(line =>
mapDiscussions(line),
lineCheck(line) ? mapDiscussions(line) : line,
);
}
......
......@@ -358,6 +358,71 @@ describe('DiffsStoreMutations', () => {
expect(state.diffFiles[0].highlighted_diff_lines[0].discussions[0].resolved).toBe(true);
});
it('should not duplicate inline diff discussions', () => {
const diffPosition = {
base_sha: 'ed13df29948c41ba367caa757ab3ec4892509910',
head_sha: 'b921914f9a834ac47e6fd9420f78db0f83559130',
new_line: null,
new_path: '500-lines-4.txt',
old_line: 5,
old_path: '500-lines-4.txt',
start_sha: 'ed13df29948c41ba367caa757ab3ec4892509910',
};
const state = {
latestDiff: true,
diffFiles: [
{
file_hash: 'ABC',
highlighted_diff_lines: [
{
line_code: 'ABC_1',
discussions: [
{
id: 1,
line_code: 'ABC_1',
diff_discussion: true,
resolvable: true,
original_position: diffPosition,
position: diffPosition,
diff_file: {
file_hash: 'ABC',
},
},
],
},
{
line_code: 'ABC_2',
discussions: [],
},
],
},
],
};
const discussion = {
id: 2,
line_code: 'ABC_2',
diff_discussion: true,
resolvable: true,
original_position: diffPosition,
position: diffPosition,
diff_file: {
file_hash: state.diffFiles[0].file_hash,
},
};
const diffPositionByLineCode = {
ABC_2: diffPosition,
};
mutations[types.SET_LINE_DISCUSSIONS_FOR_FILE](state, {
discussion,
diffPositionByLineCode,
});
expect(state.diffFiles[0].highlighted_diff_lines[0].discussions.length).toBe(1);
});
it('should add legacy discussions to the given line', () => {
const diffPosition = {
base_sha: 'ed13df29948c41ba367caa757ab3ec4892509910',
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment