FIX: do not show private group flair on user avatars (#13872)

Meta ref: https://meta.discourse.org/t/visible-flair-for-invisible-groups-is-that-on-purpose/167674
This commit is contained in:
Arpit Jalan
2021-08-02 06:21:00 +05:30
committed by GitHub
parent 2d02ae36b5
commit fe3e18f981
6 changed files with 51 additions and 8 deletions

View File

@ -53,4 +53,32 @@ describe UserLookup do
expect(user_lookup_group.name).to eq("testgroup")
end
end
describe '#flair_groups' do
fab!(:group) { Fabricate(:group, name: "flair_group", flair_icon: "icon", visibility_level: Group.visibility_levels[:public], members_visibility_level: Group.visibility_levels[:public]) }
fab!(:user2) { Fabricate(:user, flair_group: group) }
before do
@user_lookup = UserLookup.new([user.id, user2.id, nil])
end
it 'returns nil if user_id does not exists' do
expect(@user_lookup.flair_groups[0]).to eq(nil)
end
it 'returns nil if user_id is nil' do
expect(@user_lookup.flair_groups[nil]).to eq(nil)
end
it 'returns nil if user has no flair group' do
expect(@user_lookup.flair_groups[user.id]).to eq(nil)
end
it 'returns group if user has flair group' do
user_lookup_group = @user_lookup.flair_groups[user2.id]
expect(user_lookup_group).to eq(group)
expect(user_lookup_group.name).to eq("flair_group")
expect(user_lookup_group.flair_url).to eq("icon")
end
end
end