diff options
-rw-r--r-- | spec/javascripts/fixtures/merge_requests.rb | 38 | ||||
-rw-r--r-- | spec/javascripts/notes/components/diff_file_header_spec.js | 2 | ||||
-rw-r--r-- | spec/javascripts/notes/components/diff_with_note_spec.js | 14 | ||||
-rw-r--r-- | spec/javascripts/notes/mock_data.js | 118 |
4 files changed, 31 insertions, 141 deletions
diff --git a/spec/javascripts/fixtures/merge_requests.rb b/spec/javascripts/fixtures/merge_requests.rb index 3bf5202c582..ee60489eb7c 100644 --- a/spec/javascripts/fixtures/merge_requests.rb +++ b/spec/javascripts/fixtures/merge_requests.rb @@ -26,20 +26,6 @@ describe Projects::MergeRequestsController, '(JavaScript fixtures)', type: :cont diff_refs: merge_request.diff_refs ) end - let(:image_merge_request) { create(:merge_request_with_diffs, :with_image_diffs, source_project: project, author: admin) } - let(:image_path) { "files/images/ee_repo_logo.png" } - let(:image_position) do - Gitlab::Diff::Position.new( - old_path: path, - new_path: path, - width: 100, - height: 100, - x: 1, - y: 1, - position_type: "image", - diff_refs: image_merge_request.diff_refs - ) - end render_views @@ -94,10 +80,26 @@ describe Projects::MergeRequestsController, '(JavaScript fixtures)', type: :cont render_discussions_json(merge_request, example.description) end - it 'merge_requests/image_diff_discussion.json' do |example| - create(:diff_note_on_merge_request, project: project, noteable: image_merge_request, position: image_position) - - render_discussions_json(merge_request, example.description) + context 'with image diff' do + let(:merge_request2) { create(:merge_request_with_diffs, :with_image_diffs, source_project: project, title: "Added images") } + let(:image_path) { "files/images/ee_repo_logo.png" } + let(:image_position) do + Gitlab::Diff::Position.new( + old_path: image_path, + new_path: image_path, + width: 100, + height: 100, + x: 1, + y: 1, + position_type: "image", + diff_refs: merge_request2.diff_refs + ) + end + + it 'merge_requests/image_diff_discussion.json' do |example| + create(:diff_note_on_merge_request, project: project, noteable: merge_request2, position: image_position) + render_discussions_json(merge_request2, example.description) + end end private diff --git a/spec/javascripts/notes/components/diff_file_header_spec.js b/spec/javascripts/notes/components/diff_file_header_spec.js index 14abf287140..a12f219102f 100644 --- a/spec/javascripts/notes/components/diff_file_header_spec.js +++ b/spec/javascripts/notes/components/diff_file_header_spec.js @@ -3,7 +3,7 @@ import DiffFileHeader from '~/notes/components/diff_file_header.vue'; import { camelCaseKeys } from '~/lib/utils/text_utility'; import mountComponent from '../../helpers/vue_mount_component_helper'; -const discussionFixture = 'merge_requests/discussions.json'; +const discussionFixture = 'merge_requests/diff_discussion.json'; describe('diff_file_header', () => { let vm; diff --git a/spec/javascripts/notes/components/diff_with_note_spec.js b/spec/javascripts/notes/components/diff_with_note_spec.js index cd59d705cde..d775200bc7e 100644 --- a/spec/javascripts/notes/components/diff_with_note_spec.js +++ b/spec/javascripts/notes/components/diff_with_note_spec.js @@ -1,13 +1,18 @@ import Vue from 'vue'; import DiffWithNote from '~/notes/components/diff_with_note.vue'; +import { camelCaseKeys } from '~/lib/utils/text_utility'; import mountComponent from '../../helpers/vue_mount_component_helper'; -import { diffDiscussionMock, imageDiffDiscussionMock } from '../mock_data'; + +const discussionFixture = 'merge_requests/diff_discussion.json'; +const imageDiscussionFixture = 'merge_requests/image_diff_discussion.json'; describe('diff_with_note', () => { let vm; + const diffDiscussionMock = getJSONFixture(discussionFixture)[0]; + const diffDiscussion = camelCaseKeys(diffDiscussionMock); const Component = Vue.extend(DiffWithNote); const props = { - discussion: diffDiscussionMock, + discussion: diffDiscussion, }; const selectors = { get container() { @@ -35,7 +40,7 @@ describe('diff_with_note', () => { }); it('shows diff lines', () => { - expect(selectors.diffRows.length).toBe(4); + expect(selectors.diffRows.length).toBe(12); }); it('shows notes row', () => { @@ -45,7 +50,8 @@ describe('diff_with_note', () => { describe('image diff', () => { beforeEach(() => { - props.discussion = imageDiffDiscussionMock; + const imageDiffDiscussionMock = getJSONFixture(imageDiscussionFixture)[0]; + props.discussion = camelCaseKeys(imageDiffDiscussionMock); }); it('shows image diff', () => { diff --git a/spec/javascripts/notes/mock_data.js b/spec/javascripts/notes/mock_data.js index ca2d14e24fd..6b608adff15 100644 --- a/spec/javascripts/notes/mock_data.js +++ b/spec/javascripts/notes/mock_data.js @@ -270,124 +270,6 @@ export const discussionMock = { }], individual_note: false, }; -export const replacedImageDiffHtml = ` -<div class="image js-replaced-image" data=""> -<div class="two-up view"> -<div class="wrap"> -<div class="frame deleted"> -<img alt="art/google-play-badge.png" src="/Commit451/lab-coat/raw/dae8af3b6c107853c34d8d7b275a052d48c9f2a6/art/google-play-badge.png"> -</div> -<p class="image-info"> -<span class="meta-filesize">6.15 KB</span> -| -<strong>W:</strong> -<span class="meta-width">214px</span> -| -<strong>H:</strong> -<span class="meta-height">83px</span> -</p> -</div> -<div class="wrap"> -<div class="added frame js-image-frame" data-note-type="DiffNote" data-position="{"base_sha":"dae8af3b6c107853c34d8d7b275a052d48c9f2a6","start_sha":"dae8af3b6c107853c34d8d7b275a052d48c9f2a6","head_sha":"9a74eca5e3ff13de09d25f9d3daa3fd6c77acfb7","old_path":"art/google-play-badge.png","new_path":"art/google-play-badge.png","position_type":"image","width":512,"height":512,"x":132,"y":294}"> -<img alt="art/google-play-badge.png" draggable="false" src="/Commit451/lab-coat/raw/9a74eca5e3ff13de09d25f9d3daa3fd6c77acfb7/art/google-play-badge.png" style="width: 452px;"> -</div> - -<p class="image-info"> -<span class="meta-filesize">109 KB</span> -| -<strong>W:</strong> -<span class="meta-width">512px</span> -| -<strong>H:</strong> -<span class="meta-height">512px</span> -</p> -</div> -</div> -<div class="swipe view hide"> -<div class="swipe-frame"> -<div class="frame deleted"> -<img alt="art/google-play-badge.png" src="/Commit451/lab-coat/raw/dae8af3b6c107853c34d8d7b275a052d48c9f2a6/art/google-play-badge.png"> -</div> -<div class="swipe-wrap"> -<div class="added frame js-image-frame" data-note-type="DiffNote" data-position="{"base_sha":"dae8af3b6c107853c34d8d7b275a052d48c9f2a6","start_sha":"dae8af3b6c107853c34d8d7b275a052d48c9f2a6","head_sha":"9a74eca5e3ff13de09d25f9d3daa3fd6c77acfb7","old_path":"art/google-play-badge.png","new_path":"art/google-play-badge.png","position_type":"image","width":512,"height":512,"x":132,"y":294}"> -<img alt="art/google-play-badge.png" draggable="false" src="/Commit451/lab-coat/raw/9a74eca5e3ff13de09d25f9d3daa3fd6c77acfb7/art/google-play-badge.png"> -</div> - -</div> -<span class="swipe-bar"> -<span class="top-handle"></span> -<span class="bottom-handle"></span> -</span> -</div> -</div> -<div class="onion-skin view hide"> -<div class="onion-skin-frame"> -<div class="frame deleted"> -<img alt="art/google-play-badge.png" src="/Commit451/lab-coat/raw/dae8af3b6c107853c34d8d7b275a052d48c9f2a6/art/google-play-badge.png"> -</div> -<div class="added frame js-image-frame" data-note-type="DiffNote" data-position="{"base_sha":"dae8af3b6c107853c34d8d7b275a052d48c9f2a6","start_sha":"dae8af3b6c107853c34d8d7b275a052d48c9f2a6","head_sha":"9a74eca5e3ff13de09d25f9d3daa3fd6c77acfb7","old_path":"art/google-play-badge.png","new_path":"art/google-play-badge.png","position_type":"image","width":512,"height":512,"x":132,"y":294}"> -<img alt="art/google-play-badge.png" draggable="false" src="/Commit451/lab-coat/raw/9a74eca5e3ff13de09d25f9d3daa3fd6c77acfb7/art/google-play-badge.png"> -</div> - -<div class="controls"> -<div class="transparent"></div> -<div class="drag-track"> -<div class="dragger" style="left: 0px;"></div> -</div> -<div class="opaque"></div> -</div> -</div> -</div> -</div> -<div class="view-modes"> -<ul class="view-modes-menu"> -<li class="two-up" data-mode="two-up">2-up</li> -<li class="swipe" data-mode="swipe">Swipe</li> -<li class="onion-skin" data-mode="onion-skin">Onion skin</li> -</ul> -</div> -`; - -export const diffDiscussionMock = { - ...discussionMock, - truncated_diff_lines: `<tr class="line_holder" id=""> <td class="diff-line-num old_line" data-linenumber="327"> 327 </td><td class="diff-line-num new_line" data-linenumber="327"> 327 </td><td class="line_content noteable_line"> <span id="LC327" class="line" lang="kotlin"> <span class="n">isConfidential</span> <span class="p">))</span> </span> </td></tr><tr class="line_holder" id=""> <td class="diff-line-num old_line" data-linenumber="328"> 328 </td><td class="diff-line-num new_line" data-linenumber="328"> 328 </td><td class="line_content noteable_line"> <span id="LC328" class="line" lang="kotlin"> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span> </span> </td></tr><tr class="line_holder" id=""> <td class="diff-line-num old_line" data-linenumber="329"> 329 </td><td class="diff-line-num new_line" data-linenumber="329"> 329 </td><td class="line_content noteable_line"> <span id="LC329" class="line" lang="kotlin"> <span class="n">observeUpdate</span> <span class="p">(</span> <span class="n">App</span> <span class="p">.</span> <span class="k">get</span> <span class="p">().</span> <span class="n">gitLab</span> <span class="p">.</span> <span class="n">updateIssue</span> <span class="p">(</span> <span class="n">project</span> <span class="p">.</span> <span class="n">id</span> <span class="p">,</span> </span> </td></tr><tr class="line_holder old" id=""> <td class="diff-line-num old old_line" data-linenumber="330"> 330 </td><td class="diff-line-num new_line old" data-linenumber="330"> </td><td class="line_content noteable_line old"> <span id="LC330" class="line" lang="kotlin"> <span class="n">issue</span> <span class="o">!!</span> <span class="p">.</span> <span class="n">id</span> <span class="p">,</span> </span> </td></tr>`, - diff_file: { - submodule: false, - submoduleLink: '<a href="/bha">Submodule</a>', // submodule_link(blob, diff_file.content_sha, diff_file.repository) - discussionPath: '/something', - renamedFile: false, - deletedFile: false, - modeChanged: false, - aMode: '100755', - bMode: '100644', - filePath: 'some/file/path.rb', - oldPath: '', - newPath: '', - fileTypeIcon: 'fa-file-image-o', // file_type_icon_class('file', diff_file.b_mode, diff_file.file_path) - text: true, - }, -} - -export const imageDiffDiscussionMock = { - ...discussionMock, - diff_discussion: true, - diff_file: { - submodule: false, - submoduleLink: '<a href="/bha">Submodule</a>', // submodule_link(blob, diff_file.content_sha, diff_file.repository) - discussionPath: '/something', - renamedFile: false, - deletedFile: false, - modeChanged: false, - aMode: '100755', - bMode: '100644', - filePath: 'some/file/path.rb', - oldPath: '', - newPath: '', - fileTypeIcon: 'fa-file-image-o', // file_type_icon_class('file', diff_file.b_mode, diff_file.file_path) - text: false, - }, - replaced_image_diff_html: replacedImageDiffHtml, -} export const loggedOutnoteableData = { "id": 98, |