diff options
author | Rémy Coutable <remy@rymai.me> | 2017-06-29 12:53:55 +0000 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2017-06-29 12:53:55 +0000 |
commit | 572fa2cb0263b87b5323ebb0d72bc71fa252df78 (patch) | |
tree | bc9422f43dcfdd47a888874bbdd26f5cda13f683 /spec/features/projects | |
parent | 4f1d3c62f58aec2d795c0b4546bb5d69b2317d65 (diff) | |
parent | 5681bf63490a945df6a70c85bebd94f376181307 (diff) | |
download | gitlab-ce-572fa2cb0263b87b5323ebb0d72bc71fa252df78.tar.gz |
Merge branch '34280-gitalyclient-sort_by_param-invalid-sort_by-key-recently_updated' into 'master'
Fix a bug where an invalid sort param value was passed to Gitaly
Closes #34280
See merge request !12534
Diffstat (limited to 'spec/features/projects')
-rw-r--r-- | spec/features/projects/branches_spec.rb | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/spec/features/projects/branches_spec.rb b/spec/features/projects/branches_spec.rb index 8694366de35..0050864d305 100644 --- a/spec/features/projects/branches_spec.rb +++ b/spec/features/projects/branches_spec.rb @@ -21,10 +21,48 @@ describe 'Branches', feature: true do it 'shows all the branches' do visit namespace_project_branches_path(project.namespace, project) - repository.branches { |branch| expect(page).to have_content("#{branch.name}") } + repository.branches_sorted_by(:name).first(20).each do |branch| + expect(page).to have_content("#{branch.name}") + end expect(page).to have_content("Protected branches can be managed in project settings") end + it 'sorts the branches by name' do + visit namespace_project_branches_path(project.namespace, project) + + click_button "Name" # Open sorting dropdown + click_link "Name" + + sorted = repository.branches_sorted_by(:name).first(20).map do |branch| + Regexp.escape(branch.name) + end + expect(page).to have_content(/#{sorted.join(".*")}/) + end + + it 'sorts the branches by last updated' do + visit namespace_project_branches_path(project.namespace, project) + + click_button "Name" # Open sorting dropdown + click_link "Last updated" + + sorted = repository.branches_sorted_by(:updated_desc).first(20).map do |branch| + Regexp.escape(branch.name) + end + expect(page).to have_content(/#{sorted.join(".*")}/) + end + + it 'sorts the branches by oldest updated' do + visit namespace_project_branches_path(project.namespace, project) + + click_button "Name" # Open sorting dropdown + click_link "Oldest updated" + + sorted = repository.branches_sorted_by(:updated_asc).first(20).map do |branch| + Regexp.escape(branch.name) + end + expect(page).to have_content(/#{sorted.join(".*")}/) + end + it 'avoids a N+1 query in branches index' do control_count = ActiveRecord::QueryRecorder.new { visit namespace_project_branches_path(project.namespace, project) }.count |