FIX: Ensure topic exists before making a banner. (#7781)

This commit is contained in:
Bianca Nenciu 2019-06-25 13:49:29 +03:00 committed by GitHub
parent 3fd7cf9038
commit 557805249d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 1 deletions

View File

@ -174,6 +174,6 @@ module TopicGuardian
end
def can_banner_topic?(topic)
authenticated? && !topic.private_message? && is_staff?
topic && authenticated? && !topic.private_message? && is_staff?
end
end

View File

@ -776,6 +776,13 @@ describe Guardian do
PostActionCreator.create(user, first_post, :off_topic)
expect(Guardian.new(moderator).can_see?(private_topic)).to be_truthy
end
it "allows staff to set banner topics" do
topic = Fabricate(:topic)
expect(Guardian.new(admin).can_banner_topic?(nil)).to be_falsey
expect(Guardian.new(admin).can_banner_topic?(topic)).to be_truthy
end
end
describe 'a Post' do