From f6d816f9fe5dae55ed980b48aac7366c46f95461 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Coutable?= Date: Fri, 5 Feb 2016 12:34:51 +0100 Subject: Add a controller test for the new 'diff_view' cookie --- app/controllers/projects/application_controller.rb | 4 +--- .../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, -- cgit v1.2.1