diff options
Diffstat (limited to 'spec/finders/projects_finder_spec.rb')
-rw-r--r-- | spec/finders/projects_finder_spec.rb | 34 |
1 files changed, 13 insertions, 21 deletions
diff --git a/spec/finders/projects_finder_spec.rb b/spec/finders/projects_finder_spec.rb index b8b5e2c3bb7..21b5b2f6130 100644 --- a/spec/finders/projects_finder_spec.rb +++ b/spec/finders/projects_finder_spec.rb @@ -31,10 +31,6 @@ RSpec.describe ProjectsFinder do let(:use_cte) { true } let(:finder) { described_class.new(params: params.merge(use_cte: use_cte), current_user: current_user, project_ids_relation: project_ids_relation) } - before do - stub_feature_flags(project_finder_similarity_sort: false) - end - subject { finder.execute } shared_examples 'ProjectFinder#execute examples' do @@ -368,32 +364,28 @@ RSpec.describe ProjectsFinder do end describe 'sorting' do + let_it_be(:more_projects) do + [ + create(:project, :internal, group: group, name: 'projA', path: 'projA'), + create(:project, :internal, group: group, name: 'projABC', path: 'projABC'), + create(:project, :internal, group: group, name: 'projAB', path: 'projAB') + ] + end + context 'when sorting by a field' do let(:params) { { sort: 'name_asc' } } - it { is_expected.to eq([internal_project, public_project]) } + it { is_expected.to eq(([internal_project, public_project] + more_projects).sort_by { |p| p[:name] }) } end context 'when sorting by similarity' do let(:params) { { sort: 'similarity', search: 'pro' } } - let_it_be(:internal_project2) do - create(:project, :internal, group: group, name: 'projA', path: 'projA') - end - - let_it_be(:internal_project3) do - create(:project, :internal, group: group, name: 'projABC', path: 'projABC') - end - - let_it_be(:internal_project4) do - create(:project, :internal, group: group, name: 'projAB', path: 'projAB') - end - - before do - stub_feature_flags(project_finder_similarity_sort: current_user) - end + it { is_expected.to eq([more_projects[0], more_projects[2], more_projects[1]]) } + end - it { is_expected.to eq([internal_project2, internal_project4, internal_project3]) } + context 'when no sort is provided' do + it { is_expected.to eq(([internal_project, public_project] + more_projects).sort_by { |p| p[:id] }.reverse) } end end |