diff options
Diffstat (limited to 'spec/controllers/projects/merge_requests/conflicts_controller_spec.rb')
-rw-r--r-- | spec/controllers/projects/merge_requests/conflicts_controller_spec.rb | 84 |
1 files changed, 38 insertions, 46 deletions
diff --git a/spec/controllers/projects/merge_requests/conflicts_controller_spec.rb b/spec/controllers/projects/merge_requests/conflicts_controller_spec.rb index 311af26abf6..926cd7ea681 100644 --- a/spec/controllers/projects/merge_requests/conflicts_controller_spec.rb +++ b/spec/controllers/projects/merge_requests/conflicts_controller_spec.rb @@ -22,13 +22,11 @@ RSpec.describe Projects::MergeRequests::ConflictsController do allow(Gitlab::UsageDataCounters::MergeRequestActivityUniqueCounter) .to receive(:track_loading_conflict_ui_action) - get :show, - params: { - namespace_id: merge_request_with_conflicts.project.namespace.to_param, - project_id: merge_request_with_conflicts.project, - id: merge_request_with_conflicts.iid - }, - format: 'html' + get :show, params: { + namespace_id: merge_request_with_conflicts.project.namespace.to_param, + project_id: merge_request_with_conflicts.project, + id: merge_request_with_conflicts.iid + }, format: 'html' end it 'does tracks the resolve call' do @@ -45,13 +43,11 @@ RSpec.describe Projects::MergeRequests::ConflictsController do allow(Gitlab::Git::Conflict::Parser).to receive(:parse) .and_raise(Gitlab::Git::Conflict::Parser::UnmergeableFile) - get :show, - params: { - namespace_id: merge_request_with_conflicts.project.namespace.to_param, - project_id: merge_request_with_conflicts.project, - id: merge_request_with_conflicts.iid - }, - format: 'json' + get :show, params: { + namespace_id: merge_request_with_conflicts.project.namespace.to_param, + project_id: merge_request_with_conflicts.project, + id: merge_request_with_conflicts.iid + }, format: 'json' end it 'returns a 200 status code' do @@ -70,13 +66,11 @@ RSpec.describe Projects::MergeRequests::ConflictsController do context 'with valid conflicts' do before do - get :show, - params: { - namespace_id: merge_request_with_conflicts.project.namespace.to_param, - project_id: merge_request_with_conflicts.project, - id: merge_request_with_conflicts.iid - }, - format: 'json' + get :show, params: { + namespace_id: merge_request_with_conflicts.project.namespace.to_param, + project_id: merge_request_with_conflicts.project, + id: merge_request_with_conflicts.iid + }, format: 'json' end it 'matches the schema' do @@ -91,7 +85,7 @@ RSpec.describe Projects::MergeRequests::ConflictsController do end it 'includes each file that has conflicts' do - filenames = json_response['files'].map { |file| file['new_path'] } + filenames = json_response['files'].pluck('new_path') expect(filenames).to contain_exactly('files/ruby/popen.rb', 'files/ruby/regex.rb') end @@ -120,7 +114,7 @@ RSpec.describe Projects::MergeRequests::ConflictsController do it 'has unique section IDs across files' do section_ids = json_response['files'].flat_map do |file| - file['sections'].map { |section| section['id'] }.compact + file['sections'].pluck('id').compact end expect(section_ids.uniq).to eq(section_ids) @@ -130,15 +124,13 @@ RSpec.describe Projects::MergeRequests::ConflictsController do describe 'GET conflict_for_path' do def conflict_for_path(path) - get :conflict_for_path, - params: { - namespace_id: merge_request_with_conflicts.project.namespace.to_param, - project_id: merge_request_with_conflicts.project, - id: merge_request_with_conflicts.iid, - old_path: path, - new_path: path - }, - format: 'json' + get :conflict_for_path, params: { + namespace_id: merge_request_with_conflicts.project.namespace.to_param, + project_id: merge_request_with_conflicts.project, + id: merge_request_with_conflicts.iid, + old_path: path, + new_path: path + }, format: 'json' end context 'when the conflicts cannot be resolved in the UI' do @@ -178,11 +170,13 @@ RSpec.describe Projects::MergeRequests::ConflictsController do aggregate_failures do expect(response).to have_gitlab_http_status(:ok) - expect(json_response).to include('old_path' => path, - 'new_path' => path, - 'blob_icon' => 'doc-text', - 'blob_path' => a_string_ending_with(path), - 'content' => content) + expect(json_response).to include( + 'old_path' => path, + 'new_path' => path, + 'blob_icon' => 'doc-text', + 'blob_path' => a_string_ending_with(path), + 'content' => content + ) end end end @@ -197,15 +191,13 @@ RSpec.describe Projects::MergeRequests::ConflictsController do end def resolve_conflicts(files) - post :resolve_conflicts, - params: { - namespace_id: merge_request_with_conflicts.project.namespace.to_param, - project_id: merge_request_with_conflicts.project, - id: merge_request_with_conflicts.iid, - files: files, - commit_message: 'Commit message' - }, - format: 'json' + post :resolve_conflicts, params: { + namespace_id: merge_request_with_conflicts.project.namespace.to_param, + project_id: merge_request_with_conflicts.project, + id: merge_request_with_conflicts.iid, + files: files, + commit_message: 'Commit message' + }, format: 'json' end context 'with valid params' do |