FEATURE: add support for group members visibility level (#8004)

There are 5 visibility levels (similar to group visibility)

public (default)
logged-in users
members only
staff
owners

Admins & group owners always have visibility to group members.
This commit is contained in:
Vinoth Kannan
2019-08-14 19:00:04 +05:30
committed by GitHub
parent f4aa6096ab
commit 88359b0f16
22 changed files with 351 additions and 15 deletions

View File

@@ -89,4 +89,29 @@ describe BasicGroupSerializer do
end
end
end
describe '#can_see_members' do
fab!(:group) { Fabricate(:group, members_visibility_level: Group.visibility_levels[:members]) }
describe 'for a group user' do
fab!(:user) { Fabricate(:user) }
let(:guardian) { Guardian.new(user) }
before do
group.add(user)
end
it 'should be true' do
expect(subject.as_json[:can_see_members]).to eq(true)
end
end
describe 'for a normal user' do
let(:guardian) { Guardian.new(Fabricate(:user)) }
it 'should be false' do
expect(subject.as_json[:can_see_members]).to eq(false)
end
end
end
end