Merge branch '50926-sort-by-due-date-and-popularity' into 'master'

Resolve "Sort by due date and popularity in both directions"

Closes #50926

See merge request gitlab-org/gitlab-ce!25502
This commit is contained in:
Douglas Barbosa Alexandre 2019-05-04 16:16:48 +00:00
commit 7a3a1c2f40
3 changed files with 37 additions and 18 deletions

View file

@ -142,7 +142,9 @@ module SortingHelper
{ {
sort_value_oldest_created => sort_value_created_date, sort_value_oldest_created => sort_value_created_date,
sort_value_oldest_updated => sort_value_recently_updated, sort_value_oldest_updated => sort_value_recently_updated,
sort_value_milestone_later => sort_value_milestone sort_value_milestone_later => sort_value_milestone,
sort_value_due_date_later => sort_value_due_date,
sort_value_least_popular => sort_value_popularity
} }
end end
@ -151,7 +153,11 @@ module SortingHelper
sort_value_created_date => sort_value_oldest_created, sort_value_created_date => sort_value_oldest_created,
sort_value_recently_created => sort_value_oldest_created, sort_value_recently_created => sort_value_oldest_created,
sort_value_recently_updated => sort_value_oldest_updated, sort_value_recently_updated => sort_value_oldest_updated,
sort_value_milestone => sort_value_milestone_later sort_value_milestone => sort_value_milestone_later,
sort_value_due_date => sort_value_due_date_later,
sort_value_due_date_soon => sort_value_due_date_later,
sort_value_popularity => sort_value_least_popular,
sort_value_most_popular => sort_value_least_popular
}.merge(issuable_sort_option_overrides) }.merge(issuable_sort_option_overrides)
end end
@ -420,6 +426,14 @@ module SortingHelper
'popularity' 'popularity'
end end
def sort_value_most_popular
'popularity_desc'
end
def sort_value_least_popular
'popularity_asc'
end
def sort_value_priority def sort_value_priority
'priority' 'priority'
end end

View file

@ -0,0 +1,5 @@
---
title: Sort by due date and popularity in both directions for Issues and Merge requests
merge_request: 25502
author: Nermin Vehabovic
type: changed

View file

@ -86,26 +86,26 @@ describe 'Sort Issuable List' do
expect(last_merge_request).to include(first_created_issuable.title) expect(last_merge_request).to include(first_created_issuable.title)
end end
end end
end
context 'custom sorting' do context 'custom sorting' do
let(:issuable_type) { :merge_request } let(:issuable_type) { :merge_request }
it 'supports sorting in asc and desc order' do it 'supports sorting in asc and desc order' do
visit_merge_requests_with_state(project, 'open') visit_merge_requests_with_state(project, 'open')
page.within('.issues-other-filters') do page.within('.issues-other-filters') do
click_button('Created date') click_button('Created date')
click_link('Last updated') click_link('Last updated')
end
expect(first_merge_request).to include(last_updated_issuable.title)
expect(last_merge_request).to include(first_updated_issuable.title)
find('.issues-other-filters .filter-dropdown-container .qa-reverse-sort').click
expect(first_merge_request).to include(first_updated_issuable.title)
expect(last_merge_request).to include(last_updated_issuable.title)
end end
expect(first_merge_request).to include(last_updated_issuable.title)
expect(last_merge_request).to include(first_updated_issuable.title)
find('.issues-other-filters .filter-dropdown-container .qa-reverse-sort').click
expect(first_merge_request).to include(first_updated_issuable.title)
expect(last_merge_request).to include(last_updated_issuable.title)
end end
end end
end end