mirror of
https://github.com/discourse/discourse.git
synced 2025-05-25 09:57:25 +08:00
FIX: guardian always got user but sometimes it is anonymous (#9342)
* FIX: guardian always got user but sometimes it is anonymous ``` def initialize(user = nil, request = nil) @user = user.presence || AnonymousUser.new @request = request end ``` AnonymouseUser defines `blank?` method ``` class AnonymousUser def blank? true end ... end ``` so if we would use @user.present? it would be correct, however, just @user is always true
This commit is contained in:

committed by
GitHub

parent
f8ec5f309a
commit
ce00da3bcd
@ -2743,6 +2743,7 @@ describe Guardian do
|
||||
end
|
||||
|
||||
describe '#can_export_entity?' do
|
||||
let(:anonymous_guardian) { Guardian.new }
|
||||
let(:user_guardian) { Guardian.new(user) }
|
||||
let(:moderator_guardian) { Guardian.new(moderator) }
|
||||
let(:admin_guardian) { Guardian.new(admin) }
|
||||
@ -2758,6 +2759,10 @@ describe Guardian do
|
||||
expect(moderator_guardian.can_export_entity?('staff_action')).to be_truthy
|
||||
expect(admin_guardian.can_export_entity?('staff_action')).to be_truthy
|
||||
end
|
||||
|
||||
it 'does not allow anonymous to export' do
|
||||
expect(anonymous_guardian.can_export_entity?('user_archive')).to be_falsey
|
||||
end
|
||||
end
|
||||
|
||||
describe '#can_ignore_user?' do
|
||||
|
Reference in New Issue
Block a user