Add new sort option "most_stars" to "Group > Children" pages
This commit is contained in:
parent
9da83baf66
commit
caf0e44375
4 changed files with 36 additions and 5 deletions
|
@ -48,15 +48,21 @@ module SortingHelper
|
||||||
|
|
||||||
def groups_sort_options_hash
|
def groups_sort_options_hash
|
||||||
{
|
{
|
||||||
sort_value_name => sort_title_name,
|
sort_value_name => sort_title_name,
|
||||||
sort_value_name_desc => sort_title_name_desc,
|
sort_value_name_desc => sort_title_name_desc,
|
||||||
sort_value_recently_created => sort_title_recently_created,
|
sort_value_recently_created => sort_title_recently_created,
|
||||||
sort_value_oldest_created => sort_title_oldest_created,
|
sort_value_oldest_created => sort_title_oldest_created,
|
||||||
sort_value_recently_updated => sort_title_recently_updated,
|
sort_value_recently_updated => sort_title_recently_updated,
|
||||||
sort_value_oldest_updated => sort_title_oldest_updated
|
sort_value_oldest_updated => sort_title_oldest_updated
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def subgroups_sort_options_hash
|
||||||
|
groups_sort_options_hash.merge(
|
||||||
|
sort_value_most_stars => sort_title_most_stars
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
def admin_groups_sort_options_hash
|
def admin_groups_sort_options_hash
|
||||||
groups_sort_options_hash.merge(
|
groups_sort_options_hash.merge(
|
||||||
sort_value_largest_group => sort_title_largest_group
|
sort_value_largest_group => sort_title_largest_group
|
||||||
|
|
|
@ -53,7 +53,7 @@
|
||||||
= _("Archived projects")
|
= _("Archived projects")
|
||||||
|
|
||||||
.nav-controls
|
.nav-controls
|
||||||
= render "shared/groups/dropdown"
|
= render "shared/groups/dropdown", options_hash: subgroups_sort_options_hash
|
||||||
|
|
||||||
.tab-content
|
.tab-content
|
||||||
#subgroups_and_projects.tab-pane
|
#subgroups_and_projects.tab-pane
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
---
|
||||||
|
title: Add new sort option "most_stars" to "Group > Children" pages
|
||||||
|
merge_request: 22121
|
||||||
|
author: Rene Hennig
|
|
@ -101,4 +101,25 @@ describe 'Group show page' do
|
||||||
expect(page).to have_emoji('smile')
|
expect(page).to have_emoji('smile')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'where group has projects' do
|
||||||
|
let(:user) { create(:user) }
|
||||||
|
|
||||||
|
before do
|
||||||
|
group.add_owner(user)
|
||||||
|
sign_in(user)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'allows users to sorts projects by most stars', :js do
|
||||||
|
project1 = create(:project, namespace: group, star_count: 2)
|
||||||
|
project2 = create(:project, namespace: group, star_count: 3)
|
||||||
|
project3 = create(:project, namespace: group, star_count: 0)
|
||||||
|
|
||||||
|
visit group_path(group, sort: :stars_desc)
|
||||||
|
|
||||||
|
expect(find('.group-row:nth-child(1) .namespace-title > a')).to have_content(project2.title)
|
||||||
|
expect(find('.group-row:nth-child(2) .namespace-title > a')).to have_content(project1.title)
|
||||||
|
expect(find('.group-row:nth-child(3) .namespace-title > a')).to have_content(project3.title)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue