diff --git a/app/models/profile.rb b/app/models/profile.rb index 4557e11..77a8280 100644 --- a/app/models/profile.rb +++ b/app/models/profile.rb @@ -143,6 +143,10 @@ class Profile < ActiveRecord::Base # welcome_page... =P belongs_to :welcome_page, :class_name => 'Article', :dependent => :destroy + def welcome_page_content + welcome_page && welcome_page.published ? welcome_page.body : nil + end + def scraps(scrap=nil) scrap = scrap.is_a?(Scrap) ? scrap.id : scrap scrap.nil? ? Scrap.all_scraps(self) : Scrap.all_scraps(self).find(scrap) diff --git a/test/unit/profile_test.rb b/test/unit/profile_test.rb index 420b51e..2b413c8 100644 --- a/test/unit/profile_test.rb +++ b/test/unit/profile_test.rb @@ -1965,4 +1965,26 @@ class ProfileTest < ActiveSupport::TestCase welcome_page = fast_create(TinyMceArticle, :slug => 'welcome-page', :profile_id => template.id) assert !template.copy_article?(welcome_page) end + + should 'return nil on welcome_page_content if template has no welcome page' do + template = fast_create(Profile, :is_template => true) + assert_nil template.welcome_page_content + end + + should 'return nil on welcome_page_content if content is not published' do + template = fast_create(Profile, :is_template => true) + welcome_page = fast_create(TinyMceArticle, :slug => 'welcome-page', :profile_id => template.id, :body => 'Template welcome page', :published => false) + template.welcome_page = welcome_page + template.save! + assert_nil template.welcome_page_content + end + + should 'return template welcome page content on welcome_page_content if content is published' do + template = fast_create(Profile, :is_template => true) + body = 'Template welcome page' + welcome_page = fast_create(TinyMceArticle, :slug => 'welcome-page', :profile_id => template.id, :body => body, :published => true) + template.welcome_page = welcome_page + template.save! + assert_equal body, template.welcome_page_content + end end -- libgit2 0.21.2