diff options
author | Mike Greiling <mike@pixelcog.com> | 2019-07-18 22:11:09 +0300 |
---|---|---|
committer | Mike Greiling <mike@pixelcog.com> | 2019-07-19 10:27:15 +0300 |
commit | 97b8f85e03f0b6dcfc5d85b92323be979bd27b09 (patch) | |
tree | 63c1d694be569bd91b77184dd883c50122d321f8 /spec/frontend/fixtures/merge_requests_diffs.rb | |
parent | 1abe3e514f3fb1920862829cfc272ad7f73e714a (diff) |
Move frontend fixtures into spec/frontend
Moves every fixture source file from
spec/javascripts to spec/frontend
Diffstat (limited to 'spec/frontend/fixtures/merge_requests_diffs.rb')
-rw-r--r-- | spec/frontend/fixtures/merge_requests_diffs.rb | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/spec/frontend/fixtures/merge_requests_diffs.rb b/spec/frontend/fixtures/merge_requests_diffs.rb new file mode 100644 index 00000000000..b633a0495a6 --- /dev/null +++ b/spec/frontend/fixtures/merge_requests_diffs.rb @@ -0,0 +1,69 @@ +require 'spec_helper' + +describe Projects::MergeRequests::DiffsController, '(JavaScript fixtures)', type: :controller do + include JavaScriptFixturesHelpers + + let(:admin) { create(:admin) } + let(:namespace) { create(:namespace, name: 'frontend-fixtures' )} + let(:project) { create(:project, :repository, namespace: namespace, path: 'merge-requests-project') } + let(:merge_request) { create(:merge_request, :with_diffs, source_project: project, target_project: project, description: '- [ ] Task List Item') } + let(:path) { "files/ruby/popen.rb" } + let(:selected_commit) { merge_request.all_commits[0] } + let(:position) do + Gitlab::Diff::Position.new( + old_path: path, + new_path: path, + old_line: nil, + new_line: 14, + diff_refs: merge_request.diff_refs + ) + end + + render_views + + before(:all) do + clean_frontend_fixtures('merge_request_diffs/') + end + + before do + sign_in(admin) + end + + after do + remove_repository(project) + end + + it 'merge_request_diffs/with_commit.json' do + # Create a user that matches the selected commit author + # This is so that the "author" information will be populated + create(:user, email: selected_commit.author_email, name: selected_commit.author_name) + + render_merge_request(merge_request, commit_id: selected_commit.sha) + end + + it 'merge_request_diffs/inline_changes_tab_with_comments.json' do + create(:diff_note_on_merge_request, project: project, author: admin, position: position, noteable: merge_request) + create(:note_on_merge_request, author: admin, project: project, noteable: merge_request) + render_merge_request(merge_request) + end + + it 'merge_request_diffs/parallel_changes_tab_with_comments.json' do + create(:diff_note_on_merge_request, project: project, author: admin, position: position, noteable: merge_request) + create(:note_on_merge_request, author: admin, project: project, noteable: merge_request) + render_merge_request(merge_request, view: 'parallel') + end + + private + + def render_merge_request(merge_request, view: 'inline', **extra_params) + get :show, params: { + namespace_id: project.namespace.to_param, + project_id: project, + id: merge_request.to_param, + view: view, + **extra_params + }, format: :json + + expect(response).to be_successful + end +end |