Commit 52ea9097 authored by manojmj's avatar manojmj

Refactor relation_group_members method

This change refactors the
`relation_group_members ` method
parent 0533f830
......@@ -66,9 +66,13 @@ class GroupMembersFinder < UnionFinder
group.members
end
# rubocop: disable CodeReuse/ActiveRecord
def relation_group_members(relation)
GroupMember.non_request.non_minimal_access
all_group_members(relation).non_minimal_access
end
# rubocop: disable CodeReuse/ActiveRecord
def all_group_members(relation)
GroupMember.non_request
.where(source_id: relation.select(:id))
.where.not(user_id: group.users.select(:id))
end
......
......@@ -18,19 +18,13 @@ module EE::GroupMembersFinder
def group_members_list
return group.all_group_members if group.minimal_access_role_allowed?
group.members
super
end
override :relation_group_members
# rubocop: disable CodeReuse/ActiveRecord
def relation_group_members(relation)
members = ::GroupMember.non_request
.where(source_id: relation.select(:id))
.where.not(user_id: group.users.select(:id))
return members if group.minimal_access_role_allowed?
return all_group_members(relation) if group.minimal_access_role_allowed?
members.non_minimal_access
super
end
# rubocop: enable CodeReuse/ActiveRecord
end
......@@ -43,7 +43,7 @@ RSpec.describe GroupMembersFinder do
stub_licensed_features(minimal_access_role: true)
end
it 'returns only members with minimal access' do
it 'also returns members with minimal access' do
result = finder.execute(include_relations: [:direct, :descendants])
expect(result.to_a).to match_array([group_owner_membership, group_member_membership, dedicated_member_account_membership, group_minimal_access_membership])
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment