diff --git a/app/models/article.rb b/app/models/article.rb index bde00c3..9f6343c 100644 --- a/app/models/article.rb +++ b/app/models/article.rb @@ -2,7 +2,7 @@ require 'hpricot' class Article < ActiveRecord::Base - attr_accessible :name, :body, :abstract, :profile, :tag_list + attr_accessible :name, :body, :abstract, :profile, :tag_list, :parent SEARCHABLE_FIELDS = { :name => 10, diff --git a/app/models/rss_feed.rb b/app/models/rss_feed.rb index 19c093a..90a758e 100644 --- a/app/models/rss_feed.rb +++ b/app/models/rss_feed.rb @@ -1,6 +1,6 @@ class RssFeed < Article - attr_accessible :limit, :enabled + attr_accessible :limit, :enabled, :language def self.type_name _('RssFeed') diff --git a/test/unit/rss_feed_test.rb b/test/unit/rss_feed_test.rb index 19708ac..db35af6 100644 --- a/test/unit/rss_feed_test.rb +++ b/test/unit/rss_feed_test.rb @@ -29,7 +29,7 @@ class RssFeedTest < ActiveSupport::TestCase a2 = profile.articles.build(:name => 'article 2'); a2.save! a3 = profile.articles.build(:name => 'article 3'); a3.save! - feed = RssFeed.new(:name => 'testfeed') + feed = build(RssFeed, :name => 'testfeed') feed.profile = profile feed.save! @@ -45,7 +45,7 @@ class RssFeedTest < ActiveSupport::TestCase a2 = profile.articles.build(:name => 'article 2'); a2.save! a3 = profile.articles.build(:name => 'article 3'); a3.save! - feed = RssFeed.new(:name => 'testfeed') + feed = build(RssFeed, :name => 'testfeed') feed.profile = profile feed.save! @@ -73,7 +73,7 @@ class RssFeedTest < ActiveSupport::TestCase a3_2_1 = a3_2.children.build(:name => 'article 3.2.1', :parent => a3_2, :profile => profile); a3_2_1.save! a3.reload - feed = RssFeed.new(:name => 'testfeed') + feed = build(RssFeed, :name => 'testfeed') feed.parent = a3 feed.profile = profile feed.include = 'parent_and_children' @@ -91,7 +91,7 @@ class RssFeedTest < ActiveSupport::TestCase should 'list blog posts with more recent first and respecting limit' do profile = create_user('testuser').person - blog = Blog.create!(:name => 'blog-test', :profile => profile) + blog = create(Blog, :name => 'blog-test', :profile => profile) posts = [] 6.times do |i| posts << fast_create(TextArticle, :name => "post #{i}", :profile_id => profile.id, :parent_id => blog.id) @@ -105,7 +105,7 @@ class RssFeedTest < ActiveSupport::TestCase should 'list only published posts from blog' do profile = create_user('testuser').person - blog = Blog.create!(:name => 'blog-test', :profile => profile) + blog = create(Blog, :name => 'blog-test', :profile => profile) posts = [] 5.times do |i| posts << fast_create(TextArticle, :name => "post #{i}", :profile_id => profile.id, :parent_id => blog.id) @@ -119,17 +119,17 @@ class RssFeedTest < ActiveSupport::TestCase should 'provide link to profile' do profile = create_user('testuser').person - feed = RssFeed.new(:name => 'testfeed') + feed = build(RssFeed, :name => 'testfeed') feed.profile = profile feed.save! - assert_match "http://#{profile.environment.default_hostname}/testuser", feed.data + assert_match "http://#{profile.environment.default_hostname}/testuser/homepage", feed.data end should 'provide link to each article' do profile = create_user('testuser').person art = profile.articles.build(:name => 'myarticle'); art.save! - feed = RssFeed.new(:name => 'testfeed') + feed = build(RssFeed, :name => 'testfeed') feed.profile = profile feed.save! @@ -144,7 +144,7 @@ class RssFeedTest < ActiveSupport::TestCase a2 = profile.articles.build(:name => 'article 2'); a2.save! a3 = profile.articles.build(:name => 'article 3'); a3.save! - feed = RssFeed.new(:name => 'testfeed') + feed = build(RssFeed, :name => 'testfeed') feed.profile = profile feed.save! @@ -195,13 +195,13 @@ class RssFeedTest < ActiveSupport::TestCase should 'advertise is false before create' do profile = create_user('testuser').person - feed = RssFeed.create!(:name => 'testfeed', :profile => profile) + feed = create(RssFeed, :name => 'testfeed', :profile => profile) assert !feed.advertise? end should 'can display hits' do p = create_user('testuser').person - a = RssFeed.create!(:name => 'Test article', :profile => p) + a = create(RssFeed, :name => 'Test article', :profile => p) assert_equal false, a.can_display_hits? end @@ -209,14 +209,15 @@ class RssFeedTest < ActiveSupport::TestCase article = fast_create(TextileArticle, :body => 'This is the content of the Sample Article.', :profile_id => fast_create(Person).id) profile = fast_create(Profile) blog = fast_create(Blog, :profile_id => profile.id) - a = ApproveArticle.create!(:name => 'test name', :article => article, :target => profile, :requestor => fast_create(Person)) + a = create(ApproveArticle, :name => 'test name', :article => article, :target => profile, :requestor => fast_create(Person)) + a.requestor.stubs(:notification_emails).returns(['random@example.org']) a.finish published_article = article.class.last published_article.parent = blog published_article.save - feed = RssFeed.new(:parent => blog, :profile => profile) + feed = build(RssFeed, :parent => blog, :profile => profile) assert_match "This is the content of the Sample Article", feed.data end @@ -229,7 +230,7 @@ class RssFeedTest < ActiveSupport::TestCase a2 = profile.articles.build(:name => 'article 2'); a2.save! a3 = profile.articles.build(:name => 'article 3'); a3.save! - feed = RssFeed.new(:name => 'testfeed') + feed = build(RssFeed, :name => 'testfeed') feed.profile = profile feed.save! @@ -245,7 +246,7 @@ class RssFeedTest < ActiveSupport::TestCase should 'include posts from all languages' do profile = create_user('testuser').person - blog = Blog.create!(:name => 'blog-test', :profile => profile, :language => nil) + blog = create(Blog, :name => 'blog-test', :profile => profile, :language => nil) blog.posts << en_post = fast_create(TextArticle, :name => "English", :profile_id => profile.id, :parent_id => blog.id, :published => true, :language => 'en') blog.posts << es_post = fast_create(TextArticle, :name => "Spanish", :profile_id => profile.id, :parent_id => blog.id, :published => true, :language => 'es') @@ -255,7 +256,7 @@ class RssFeedTest < ActiveSupport::TestCase should 'include only posts from some language' do profile = create_user('testuser').person - blog = Blog.create!(:name => 'blog-test', :profile => profile) + blog = create(Blog, :name => 'blog-test', :profile => profile) blog.feed.update_attributes! :language => 'es' blog.posts << en_post = fast_create(TextArticle, :name => "English", :profile_id => profile.id, :parent_id => blog.id, :published => true, :language => 'en') blog.posts << es_post = fast_create(TextArticle, :name => "Spanish", :profile_id => profile.id, :parent_id => blog.id, :published => true, :language => 'es') -- libgit2 0.21.2