Commit 80800e40322891929e85049de33896c832edf87b

Authored by Arthur Esposte
1 parent e3817276

Change feed published metho to consider it's parent privacy

app/models/rss_feed.rb
@@ -14,7 +14,7 @@ class RssFeed < Article @@ -14,7 +14,7 @@ class RssFeed < Article
14 14
15 # store setting in body 15 # store setting in body
16 serialize :body, Hash 16 serialize :body, Hash
17 - 17 +
18 def body 18 def body
19 self[:body] ||= {} 19 self[:body] ||= {}
20 end 20 end
@@ -89,6 +89,14 @@ class RssFeed < Article @@ -89,6 +89,14 @@ class RssFeed < Article
89 ) 89 )
90 end 90 end
91 91
  92 + def published?
  93 + if self.parent
  94 + self.parent.published?
  95 + else
  96 + self.published
  97 + end
  98 + end
  99 +
92 def self.short_description 100 def self.short_description
93 _('RSS Feed') 101 _('RSS Feed')
94 end 102 end
test/unit/rss_feed_test.rb
@@ -262,4 +262,31 @@ class RssFeedTest < ActiveSupport::TestCase @@ -262,4 +262,31 @@ class RssFeedTest < ActiveSupport::TestCase
262 assert_equal [es_post], blog.feed.fetch_articles 262 assert_equal [es_post], blog.feed.fetch_articles
263 end 263 end
264 264
  265 + should 'a feed have the same privacy of its parent' do
  266 + profile = create_user('testuser').person
  267 + blog = create(Blog, :name => 'blog-test', :profile => profile)
  268 + feed = blog.feed
  269 +
  270 + assert blog.published?
  271 + assert feed.published?
  272 +
  273 + feed.published = false
  274 + feed.save
  275 +
  276 + assert blog.published?
  277 + assert feed.published?
  278 +
  279 + blog.published = false
  280 + blog.save
  281 + feed.reload
  282 +
  283 + assert !blog.published?
  284 + assert !feed.published?
  285 +
  286 + feed.published = true
  287 + feed.save
  288 +
  289 + assert !blog.published?
  290 + assert !feed.published?
  291 + end
265 end 292 end