diff options
Diffstat (limited to 'spec/finders/ci/runners_finder_spec.rb')
-rw-r--r-- | spec/finders/ci/runners_finder_spec.rb | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/spec/finders/ci/runners_finder_spec.rb b/spec/finders/ci/runners_finder_spec.rb index dac244e4300..e7ec4f01995 100644 --- a/spec/finders/ci/runners_finder_spec.rb +++ b/spec/finders/ci/runners_finder_spec.rb @@ -91,8 +91,8 @@ RSpec.describe Ci::RunnersFinder do end context 'sorting' do - let_it_be(:runner1) { create :ci_runner, created_at: '2018-07-12 07:00', contacted_at: 1.minute.ago } - let_it_be(:runner2) { create :ci_runner, created_at: '2018-07-12 08:00', contacted_at: 3.minutes.ago } + let_it_be(:runner1) { create :ci_runner, created_at: '2018-07-12 07:00', contacted_at: 1.minute.ago, token_expires_at: '2022-02-15 07:00' } + let_it_be(:runner2) { create :ci_runner, created_at: '2018-07-12 08:00', contacted_at: 3.minutes.ago, token_expires_at: '2022-02-15 06:00' } let_it_be(:runner3) { create :ci_runner, created_at: '2018-07-12 09:00', contacted_at: 2.minutes.ago } subject do @@ -142,6 +142,22 @@ RSpec.describe Ci::RunnersFinder do is_expected.to eq [runner1, runner3, runner2] end end + + context 'with sort param equal to token_expires_at_asc' do + let(:params) { { sort: 'token_expires_at_asc' } } + + it 'sorts by contacted_at ascending' do + is_expected.to eq [runner2, runner1, runner3] + end + end + + context 'with sort param equal to token_expires_at_desc' do + let(:params) { { sort: 'token_expires_at_desc' } } + + it 'sorts by contacted_at descending' do + is_expected.to eq [runner3, runner1, runner2] + end + end end context 'by non admin user' do @@ -206,7 +222,7 @@ RSpec.describe Ci::RunnersFinder do sub_group_4.runners << runner_sub_group_4 end - shared_examples '#execute' do + describe '#execute' do subject { described_class.new(current_user: user, params: params).execute } shared_examples 'membership equal to :descendants' do @@ -349,16 +365,6 @@ RSpec.describe Ci::RunnersFinder do end end - it_behaves_like '#execute' - - context 'when the FF ci_find_runners_by_ci_mirrors is disabled' do - before do - stub_feature_flags(ci_find_runners_by_ci_mirrors: false) - end - - it_behaves_like '#execute' - end - describe '#sort_key' do subject { described_class.new(current_user: user, params: params.merge(group: group)).sort_key } |