diff options
-rw-r--r-- | app/controllers/projects/application_controller.rb | 4 | ||||
-rw-r--r-- | spec/controllers/projects/merge_requests_controller_spec.rb | 14 |
2 files changed, 14 insertions, 4 deletions
diff --git a/app/controllers/projects/application_controller.rb b/app/controllers/projects/application_controller.rb index 9096910b82c..a326bc58215 100644 --- a/app/controllers/projects/application_controller.rb +++ b/app/controllers/projects/application_controller.rb @@ -26,15 +26,13 @@ class Projects::ApplicationController < ApplicationController end end - protected + private def apply_diff_view_cookie! view = params[:view] || cookies[:diff_view] cookies.permanent[:diff_view] = params[:view] = view if view end - private - def builds_enabled return render_404 unless @project.builds_enabled? end diff --git a/spec/controllers/projects/merge_requests_controller_spec.rb b/spec/controllers/projects/merge_requests_controller_spec.rb index 6aaec224f6e..183cfef3611 100644 --- a/spec/controllers/projects/merge_requests_controller_spec.rb +++ b/spec/controllers/projects/merge_requests_controller_spec.rb @@ -188,7 +188,7 @@ describe Projects::MergeRequestsController do expect(response).to render_template('diffs') end end - + context 'as json' do it 'renders the diffs template to a string' do go format: 'json' @@ -199,6 +199,18 @@ describe Projects::MergeRequestsController do end end + describe 'GET diffs with view' do + it 'saves the preferred diff view in a cookie' do + get :diffs, + namespace_id: project.namespace.to_param, + project_id: project.to_param, + id: merge_request.iid, + view: 'parallel' + + expect(response.cookies['diff_view']).to eq('parallel') + end + end + describe 'GET commits' do def go(format: 'html') get :commits, |