diff options
Diffstat (limited to 'spec/models')
-rw-r--r-- | spec/models/ci/runner_spec.rb | 2 | ||||
-rw-r--r-- | spec/models/clusters/agent_token_spec.rb | 16 | ||||
-rw-r--r-- | spec/models/namespace_setting_spec.rb | 53 |
3 files changed, 14 insertions, 57 deletions
diff --git a/spec/models/ci/runner_spec.rb b/spec/models/ci/runner_spec.rb index 9ea73a3688b..e3816c31f1c 100644 --- a/spec/models/ci/runner_spec.rb +++ b/spec/models/ci/runner_spec.rb @@ -48,7 +48,7 @@ RSpec.describe Ci::Runner do let(:runner) { create(:ci_runner, :group, groups: [group]) } it 'disallows assigning group if already assigned to a group' do - runner.runner_namespaces << build(:ci_runner_namespace) + runner.runner_namespaces << create(:ci_runner_namespace) expect(runner).not_to be_valid expect(runner.errors.full_messages).to include('Runner needs to be assigned to exactly one group') diff --git a/spec/models/clusters/agent_token_spec.rb b/spec/models/clusters/agent_token_spec.rb index 462050b575a..2e17d8487f0 100644 --- a/spec/models/clusters/agent_token_spec.rb +++ b/spec/models/clusters/agent_token_spec.rb @@ -13,15 +13,25 @@ RSpec.describe Clusters::AgentToken do describe 'scopes' do describe '.order_last_used_at_desc' do - let_it_be(:token_1) { create(:cluster_agent_token, last_used_at: 7.days.ago) } - let_it_be(:token_2) { create(:cluster_agent_token, last_used_at: nil) } - let_it_be(:token_3) { create(:cluster_agent_token, last_used_at: 2.days.ago) } + let_it_be(:agent) { create(:cluster_agent) } + let_it_be(:token_1) { create(:cluster_agent_token, agent: agent, last_used_at: 7.days.ago) } + let_it_be(:token_2) { create(:cluster_agent_token, agent: agent, last_used_at: nil) } + let_it_be(:token_3) { create(:cluster_agent_token, agent: agent, last_used_at: 2.days.ago) } it 'sorts by last_used_at descending, with null values at last' do expect(described_class.order_last_used_at_desc) .to eq([token_3, token_1, token_2]) end end + + describe '.with_status' do + let!(:active_token) { create(:cluster_agent_token) } + let!(:revoked_token) { create(:cluster_agent_token, :revoked) } + + subject { described_class.with_status(:active) } + + it { is_expected.to contain_exactly(active_token) } + end end describe '#token' do diff --git a/spec/models/namespace_setting_spec.rb b/spec/models/namespace_setting_spec.rb index 429727c2360..c9f8a1bcdc2 100644 --- a/spec/models/namespace_setting_spec.rb +++ b/spec/models/namespace_setting_spec.rb @@ -126,57 +126,4 @@ RSpec.describe NamespaceSetting, type: :model do end end end - - describe 'hooks related to group user cap update' do - let(:settings) { create(:namespace_settings, new_user_signups_cap: user_cap) } - let(:group) { create(:group, namespace_settings: settings) } - - before do - allow(group).to receive(:root?).and_return(true) - end - - context 'when updating a group with a user cap' do - let(:user_cap) { nil } - - it 'also sets share_with_group_lock and prevent_sharing_groups_outside_hierarchy to true' do - expect(group.new_user_signups_cap).to be_nil - expect(group.share_with_group_lock).to be_falsey - expect(settings.prevent_sharing_groups_outside_hierarchy).to be_falsey - - settings.update!(new_user_signups_cap: 10) - group.reload - - expect(group.new_user_signups_cap).to eq(10) - expect(group.share_with_group_lock).to be_truthy - expect(settings.reload.prevent_sharing_groups_outside_hierarchy).to be_truthy - end - - it 'has share_with_group_lock and prevent_sharing_groups_outside_hierarchy returning true for descendent groups' do - descendent = create(:group, parent: group) - desc_settings = descendent.namespace_settings - - expect(descendent.share_with_group_lock).to be_falsey - expect(desc_settings.prevent_sharing_groups_outside_hierarchy).to be_falsey - - settings.update!(new_user_signups_cap: 10) - - expect(descendent.reload.share_with_group_lock).to be_truthy - expect(desc_settings.reload.prevent_sharing_groups_outside_hierarchy).to be_truthy - end - end - - context 'when removing a user cap from namespace settings' do - let(:user_cap) { 10 } - - it 'leaves share_with_group_lock and prevent_sharing_groups_outside_hierarchy set to true to the related group' do - expect(group.share_with_group_lock).to be_truthy - expect(settings.prevent_sharing_groups_outside_hierarchy).to be_truthy - - settings.update!(new_user_signups_cap: nil) - - expect(group.reload.share_with_group_lock).to be_truthy - expect(settings.reload.prevent_sharing_groups_outside_hierarchy).to be_truthy - end - end - end end |