From caa79b26040d5ae84255292e2d447220df7c359a Mon Sep 17 00:00:00 2001 From: Jacopo Date: Mon, 20 Aug 2018 17:41:48 +0200 Subject: Fallbacks to legacy issuable_sort key --- app/controllers/concerns/issuable_collections.rb | 4 +++- .../projects/merge_requests/user_sorts_merge_requests_spec.rb | 10 ++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/app/controllers/concerns/issuable_collections.rb b/app/controllers/concerns/issuable_collections.rb index 87a29914152..22b39f47bf0 100644 --- a/app/controllers/concerns/issuable_collections.rb +++ b/app/controllers/concerns/issuable_collections.rb @@ -108,6 +108,8 @@ module IssuableCollections def set_sort_order_from_cookie cookies[remember_sorting_key] = params[:sort] if params[:sort].present? + # fallback to legacy cookie value for backward compatibility + cookies[remember_sorting_key] ||= cookies['issuable_sort'] cookies[remember_sorting_key] = update_cookie_value(cookies[remember_sorting_key]) params[:sort] = cookies[remember_sorting_key] end @@ -146,7 +148,7 @@ module IssuableCollections end def collection_type - @collection_type ||= case finder_type.to_s + @collection_type ||= case finder_type.name when 'IssuesFinder' 'Issue' when 'MergeRequestsFinder' diff --git a/spec/features/projects/merge_requests/user_sorts_merge_requests_spec.rb b/spec/features/projects/merge_requests/user_sorts_merge_requests_spec.rb index f059908540f..82cfe600d52 100644 --- a/spec/features/projects/merge_requests/user_sorts_merge_requests_spec.rb +++ b/spec/features/projects/merge_requests/user_sorts_merge_requests_spec.rb @@ -1,6 +1,8 @@ require 'spec_helper' describe 'User sorts merge requests' do + include CookieHelper + let!(:merge_request) { create(:merge_request, source_project: project, target_project: project) } let!(:merge_request2) do create(:merge_request_with_diffs, source_project: project, target_project: project, source_branch: 'merge-test') @@ -36,6 +38,14 @@ describe 'User sorts merge requests' do expect(find('.issues-filters a.is-active')).to have_content('Milestone') end + it 'fallbacks to issuable_sort cookie key when remembering the sorting option' do + set_cookie('issuable_sort', 'milestone') + + visit(merge_requests_dashboard_path(assignee_id: user.id)) + + expect(find('.issues-filters a.is-active')).to have_content('Milestone') + end + it 'separates remember sorting with issues' do create(:issue, project: project) -- cgit v1.2.1