diff --git a/app/models/person.rb b/app/models/person.rb index eef78ed..0c88cb1 100644 --- a/app/models/person.rb +++ b/app/models/person.rb @@ -435,6 +435,7 @@ roles] } end def follows?(profile) + return false if profile.nil? profile.followed_by?(self) end diff --git a/test/unit/article_test.rb b/test/unit/article_test.rb index 3393f85..ae1675d 100644 --- a/test/unit/article_test.rb +++ b/test/unit/article_test.rb @@ -2018,4 +2018,23 @@ class ArticleTest < ActiveSupport::TestCase assert_equal [a], Article.display_filter(user, p) end + should 'display_filter do not show person private content to non friends passing nil as profile parameter' do + user = create_user('someuser').person + p = fast_create(Person) + assert !p.is_a_friend?(user) + assert !user.is_admin? + Article.delete_all + fast_create(Article, :published => false, :profile_id => p.id) + assert_equal [], Article.display_filter(user, nil) + end + + should 'display_filter do not show community private content to non members passing nil as profile parameter' do + user = create_user('someuser').person + p = fast_create(Community) + assert !user.is_member_of?(p) + Article.delete_all + fast_create(Article, :published => false, :profile_id => p.id) + assert_equal [], Article.display_filter(user, nil) + end + end diff --git a/test/unit/person_test.rb b/test/unit/person_test.rb index 4aac899..c2cdede 100644 --- a/test/unit/person_test.rb +++ b/test/unit/person_test.rb @@ -1631,4 +1631,9 @@ class PersonTest < ActiveSupport::TestCase assert person.can_change_homepage? end + should 'follow? return false when no profile is passed as parameter' do + person = Person.new + assert_equal false, person.follows?(nil) + end + end -- libgit2 0.21.2