diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-04-21 15:10:16 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-04-21 15:10:16 +0300 |
commit | 77839aae00dbe2dd955b946739d07fdcbac4468b (patch) | |
tree | 37de17e8d802c9c1e668d77c7a4c58f49463c8a9 /spec/finders | |
parent | 6522adebca024d5fe1ca015f6ddcf4b039a0f197 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/finders')
-rw-r--r-- | spec/finders/group_members_finder_spec.rb | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/spec/finders/group_members_finder_spec.rb b/spec/finders/group_members_finder_spec.rb index a9a8e9d19b8..00aa14209a2 100644 --- a/spec/finders/group_members_finder_spec.rb +++ b/spec/finders/group_members_finder_spec.rb @@ -195,4 +195,37 @@ RSpec.describe GroupMembersFinder, '#execute' do expect(result.to_a).to match_array([member1]) end end + + context 'filter by access levels' do + let!(:owner1) { group.add_owner(user2) } + let!(:owner2) { group.add_owner(user3) } + let!(:maintainer1) { group.add_maintainer(user4) } + let!(:maintainer2) { group.add_maintainer(user5) } + + subject(:by_access_levels) { described_class.new(group, user1, params: { access_levels: access_levels }).execute } + + context 'by owner' do + let(:access_levels) { ::Gitlab::Access::OWNER } + + it 'returns owners' do + expect(by_access_levels).to match_array([owner1, owner2]) + end + end + + context 'by maintainer' do + let(:access_levels) { ::Gitlab::Access::MAINTAINER } + + it 'returns owners' do + expect(by_access_levels).to match_array([maintainer1, maintainer2]) + end + end + + context 'by owner and maintainer' do + let(:access_levels) { [::Gitlab::Access::OWNER, ::Gitlab::Access::MAINTAINER] } + + it 'returns owners and maintainers' do + expect(by_access_levels).to match_array([owner1, owner2, maintainer1, maintainer2]) + end + end + end end |