diff options
Diffstat (limited to 'spec/models/deploy_token_spec.rb')
-rw-r--r-- | spec/models/deploy_token_spec.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/spec/models/deploy_token_spec.rb b/spec/models/deploy_token_spec.rb index 9fd3751be13..60a3e3fc0e2 100644 --- a/spec/models/deploy_token_spec.rb +++ b/spec/models/deploy_token_spec.rb @@ -353,4 +353,29 @@ RSpec.describe DeployToken do end end end + + describe '#accessible_projects' do + subject { deploy_token.accessible_projects } + + context 'when a deploy token is associated to a project' do + let_it_be(:deploy_token) { create(:deploy_token, :project) } + + it 'returns only projects directly associated with the token' do + expect(deploy_token).to receive(:projects) + + subject + end + end + + context 'when a deploy token is associated to a group' do + let_it_be(:group) { create(:group) } + let_it_be(:deploy_token) { create(:deploy_token, :group, groups: [group]) } + + it 'returns all projects from the group' do + expect(group).to receive(:all_projects) + + subject + end + end + end end |