Commit 631b96a015bb5226ecd5bccf956f21e06e8cc9d6
1 parent
d9680fb6
Exists in
master
and in
22 other branches
rails3: fix rss_feed tests
Showing
3 changed files
with
19 additions
and
18 deletions
Show diff stats
app/models/article.rb
| @@ -2,7 +2,7 @@ require 'hpricot' | @@ -2,7 +2,7 @@ require 'hpricot' | ||
| 2 | 2 | ||
| 3 | class Article < ActiveRecord::Base | 3 | class Article < ActiveRecord::Base |
| 4 | 4 | ||
| 5 | - attr_accessible :name, :body, :abstract, :profile, :tag_list | 5 | + attr_accessible :name, :body, :abstract, :profile, :tag_list, :parent |
| 6 | 6 | ||
| 7 | SEARCHABLE_FIELDS = { | 7 | SEARCHABLE_FIELDS = { |
| 8 | :name => 10, | 8 | :name => 10, |
app/models/rss_feed.rb
test/unit/rss_feed_test.rb
| @@ -29,7 +29,7 @@ class RssFeedTest < ActiveSupport::TestCase | @@ -29,7 +29,7 @@ class RssFeedTest < ActiveSupport::TestCase | ||
| 29 | a2 = profile.articles.build(:name => 'article 2'); a2.save! | 29 | a2 = profile.articles.build(:name => 'article 2'); a2.save! |
| 30 | a3 = profile.articles.build(:name => 'article 3'); a3.save! | 30 | a3 = profile.articles.build(:name => 'article 3'); a3.save! |
| 31 | 31 | ||
| 32 | - feed = RssFeed.new(:name => 'testfeed') | 32 | + feed = build(RssFeed, :name => 'testfeed') |
| 33 | feed.profile = profile | 33 | feed.profile = profile |
| 34 | feed.save! | 34 | feed.save! |
| 35 | 35 | ||
| @@ -45,7 +45,7 @@ class RssFeedTest < ActiveSupport::TestCase | @@ -45,7 +45,7 @@ class RssFeedTest < ActiveSupport::TestCase | ||
| 45 | a2 = profile.articles.build(:name => 'article 2'); a2.save! | 45 | a2 = profile.articles.build(:name => 'article 2'); a2.save! |
| 46 | a3 = profile.articles.build(:name => 'article 3'); a3.save! | 46 | a3 = profile.articles.build(:name => 'article 3'); a3.save! |
| 47 | 47 | ||
| 48 | - feed = RssFeed.new(:name => 'testfeed') | 48 | + feed = build(RssFeed, :name => 'testfeed') |
| 49 | feed.profile = profile | 49 | feed.profile = profile |
| 50 | feed.save! | 50 | feed.save! |
| 51 | 51 | ||
| @@ -73,7 +73,7 @@ class RssFeedTest < ActiveSupport::TestCase | @@ -73,7 +73,7 @@ class RssFeedTest < ActiveSupport::TestCase | ||
| 73 | a3_2_1 = a3_2.children.build(:name => 'article 3.2.1', :parent => a3_2, :profile => profile); a3_2_1.save! | 73 | a3_2_1 = a3_2.children.build(:name => 'article 3.2.1', :parent => a3_2, :profile => profile); a3_2_1.save! |
| 74 | 74 | ||
| 75 | a3.reload | 75 | a3.reload |
| 76 | - feed = RssFeed.new(:name => 'testfeed') | 76 | + feed = build(RssFeed, :name => 'testfeed') |
| 77 | feed.parent = a3 | 77 | feed.parent = a3 |
| 78 | feed.profile = profile | 78 | feed.profile = profile |
| 79 | feed.include = 'parent_and_children' | 79 | feed.include = 'parent_and_children' |
| @@ -91,7 +91,7 @@ class RssFeedTest < ActiveSupport::TestCase | @@ -91,7 +91,7 @@ class RssFeedTest < ActiveSupport::TestCase | ||
| 91 | 91 | ||
| 92 | should 'list blog posts with more recent first and respecting limit' do | 92 | should 'list blog posts with more recent first and respecting limit' do |
| 93 | profile = create_user('testuser').person | 93 | profile = create_user('testuser').person |
| 94 | - blog = Blog.create!(:name => 'blog-test', :profile => profile) | 94 | + blog = create(Blog, :name => 'blog-test', :profile => profile) |
| 95 | posts = [] | 95 | posts = [] |
| 96 | 6.times do |i| | 96 | 6.times do |i| |
| 97 | posts << fast_create(TextArticle, :name => "post #{i}", :profile_id => profile.id, :parent_id => blog.id) | 97 | posts << fast_create(TextArticle, :name => "post #{i}", :profile_id => profile.id, :parent_id => blog.id) |
| @@ -105,7 +105,7 @@ class RssFeedTest < ActiveSupport::TestCase | @@ -105,7 +105,7 @@ class RssFeedTest < ActiveSupport::TestCase | ||
| 105 | 105 | ||
| 106 | should 'list only published posts from blog' do | 106 | should 'list only published posts from blog' do |
| 107 | profile = create_user('testuser').person | 107 | profile = create_user('testuser').person |
| 108 | - blog = Blog.create!(:name => 'blog-test', :profile => profile) | 108 | + blog = create(Blog, :name => 'blog-test', :profile => profile) |
| 109 | posts = [] | 109 | posts = [] |
| 110 | 5.times do |i| | 110 | 5.times do |i| |
| 111 | posts << fast_create(TextArticle, :name => "post #{i}", :profile_id => profile.id, :parent_id => blog.id) | 111 | posts << fast_create(TextArticle, :name => "post #{i}", :profile_id => profile.id, :parent_id => blog.id) |
| @@ -119,17 +119,17 @@ class RssFeedTest < ActiveSupport::TestCase | @@ -119,17 +119,17 @@ class RssFeedTest < ActiveSupport::TestCase | ||
| 119 | 119 | ||
| 120 | should 'provide link to profile' do | 120 | should 'provide link to profile' do |
| 121 | profile = create_user('testuser').person | 121 | profile = create_user('testuser').person |
| 122 | - feed = RssFeed.new(:name => 'testfeed') | 122 | + feed = build(RssFeed, :name => 'testfeed') |
| 123 | feed.profile = profile | 123 | feed.profile = profile |
| 124 | feed.save! | 124 | feed.save! |
| 125 | 125 | ||
| 126 | - assert_match "<link>http://#{profile.environment.default_hostname}/testuser</link>", feed.data | 126 | + assert_match "<link>http://#{profile.environment.default_hostname}/testuser/homepage</link>", feed.data |
| 127 | end | 127 | end |
| 128 | 128 | ||
| 129 | should 'provide link to each article' do | 129 | should 'provide link to each article' do |
| 130 | profile = create_user('testuser').person | 130 | profile = create_user('testuser').person |
| 131 | art = profile.articles.build(:name => 'myarticle'); art.save! | 131 | art = profile.articles.build(:name => 'myarticle'); art.save! |
| 132 | - feed = RssFeed.new(:name => 'testfeed') | 132 | + feed = build(RssFeed, :name => 'testfeed') |
| 133 | feed.profile = profile | 133 | feed.profile = profile |
| 134 | feed.save! | 134 | feed.save! |
| 135 | 135 | ||
| @@ -144,7 +144,7 @@ class RssFeedTest < ActiveSupport::TestCase | @@ -144,7 +144,7 @@ class RssFeedTest < ActiveSupport::TestCase | ||
| 144 | a2 = profile.articles.build(:name => 'article 2'); a2.save! | 144 | a2 = profile.articles.build(:name => 'article 2'); a2.save! |
| 145 | a3 = profile.articles.build(:name => 'article 3'); a3.save! | 145 | a3 = profile.articles.build(:name => 'article 3'); a3.save! |
| 146 | 146 | ||
| 147 | - feed = RssFeed.new(:name => 'testfeed') | 147 | + feed = build(RssFeed, :name => 'testfeed') |
| 148 | feed.profile = profile | 148 | feed.profile = profile |
| 149 | feed.save! | 149 | feed.save! |
| 150 | 150 | ||
| @@ -195,13 +195,13 @@ class RssFeedTest < ActiveSupport::TestCase | @@ -195,13 +195,13 @@ class RssFeedTest < ActiveSupport::TestCase | ||
| 195 | 195 | ||
| 196 | should 'advertise is false before create' do | 196 | should 'advertise is false before create' do |
| 197 | profile = create_user('testuser').person | 197 | profile = create_user('testuser').person |
| 198 | - feed = RssFeed.create!(:name => 'testfeed', :profile => profile) | 198 | + feed = create(RssFeed, :name => 'testfeed', :profile => profile) |
| 199 | assert !feed.advertise? | 199 | assert !feed.advertise? |
| 200 | end | 200 | end |
| 201 | 201 | ||
| 202 | should 'can display hits' do | 202 | should 'can display hits' do |
| 203 | p = create_user('testuser').person | 203 | p = create_user('testuser').person |
| 204 | - a = RssFeed.create!(:name => 'Test article', :profile => p) | 204 | + a = create(RssFeed, :name => 'Test article', :profile => p) |
| 205 | assert_equal false, a.can_display_hits? | 205 | assert_equal false, a.can_display_hits? |
| 206 | end | 206 | end |
| 207 | 207 | ||
| @@ -209,14 +209,15 @@ class RssFeedTest < ActiveSupport::TestCase | @@ -209,14 +209,15 @@ class RssFeedTest < ActiveSupport::TestCase | ||
| 209 | article = fast_create(TextileArticle, :body => 'This is the content of the Sample Article.', :profile_id => fast_create(Person).id) | 209 | article = fast_create(TextileArticle, :body => 'This is the content of the Sample Article.', :profile_id => fast_create(Person).id) |
| 210 | profile = fast_create(Profile) | 210 | profile = fast_create(Profile) |
| 211 | blog = fast_create(Blog, :profile_id => profile.id) | 211 | blog = fast_create(Blog, :profile_id => profile.id) |
| 212 | - a = ApproveArticle.create!(:name => 'test name', :article => article, :target => profile, :requestor => fast_create(Person)) | 212 | + a = create(ApproveArticle, :name => 'test name', :article => article, :target => profile, :requestor => fast_create(Person)) |
| 213 | + a.requestor.stubs(:notification_emails).returns(['random@example.org']) | ||
| 213 | a.finish | 214 | a.finish |
| 214 | 215 | ||
| 215 | published_article = article.class.last | 216 | published_article = article.class.last |
| 216 | published_article.parent = blog | 217 | published_article.parent = blog |
| 217 | published_article.save | 218 | published_article.save |
| 218 | 219 | ||
| 219 | - feed = RssFeed.new(:parent => blog, :profile => profile) | 220 | + feed = build(RssFeed, :parent => blog, :profile => profile) |
| 220 | 221 | ||
| 221 | assert_match "This is the content of the Sample Article", feed.data | 222 | assert_match "This is the content of the Sample Article", feed.data |
| 222 | end | 223 | end |
| @@ -229,7 +230,7 @@ class RssFeedTest < ActiveSupport::TestCase | @@ -229,7 +230,7 @@ class RssFeedTest < ActiveSupport::TestCase | ||
| 229 | a2 = profile.articles.build(:name => 'article 2'); a2.save! | 230 | a2 = profile.articles.build(:name => 'article 2'); a2.save! |
| 230 | a3 = profile.articles.build(:name => 'article 3'); a3.save! | 231 | a3 = profile.articles.build(:name => 'article 3'); a3.save! |
| 231 | 232 | ||
| 232 | - feed = RssFeed.new(:name => 'testfeed') | 233 | + feed = build(RssFeed, :name => 'testfeed') |
| 233 | feed.profile = profile | 234 | feed.profile = profile |
| 234 | feed.save! | 235 | feed.save! |
| 235 | 236 | ||
| @@ -245,7 +246,7 @@ class RssFeedTest < ActiveSupport::TestCase | @@ -245,7 +246,7 @@ class RssFeedTest < ActiveSupport::TestCase | ||
| 245 | 246 | ||
| 246 | should 'include posts from all languages' do | 247 | should 'include posts from all languages' do |
| 247 | profile = create_user('testuser').person | 248 | profile = create_user('testuser').person |
| 248 | - blog = Blog.create!(:name => 'blog-test', :profile => profile, :language => nil) | 249 | + blog = create(Blog, :name => 'blog-test', :profile => profile, :language => nil) |
| 249 | blog.posts << en_post = fast_create(TextArticle, :name => "English", :profile_id => profile.id, :parent_id => blog.id, :published => true, :language => 'en') | 250 | blog.posts << en_post = fast_create(TextArticle, :name => "English", :profile_id => profile.id, :parent_id => blog.id, :published => true, :language => 'en') |
| 250 | blog.posts << es_post = fast_create(TextArticle, :name => "Spanish", :profile_id => profile.id, :parent_id => blog.id, :published => true, :language => 'es') | 251 | blog.posts << es_post = fast_create(TextArticle, :name => "Spanish", :profile_id => profile.id, :parent_id => blog.id, :published => true, :language => 'es') |
| 251 | 252 | ||
| @@ -255,7 +256,7 @@ class RssFeedTest < ActiveSupport::TestCase | @@ -255,7 +256,7 @@ class RssFeedTest < ActiveSupport::TestCase | ||
| 255 | 256 | ||
| 256 | should 'include only posts from some language' do | 257 | should 'include only posts from some language' do |
| 257 | profile = create_user('testuser').person | 258 | profile = create_user('testuser').person |
| 258 | - blog = Blog.create!(:name => 'blog-test', :profile => profile) | 259 | + blog = create(Blog, :name => 'blog-test', :profile => profile) |
| 259 | blog.feed.update_attributes! :language => 'es' | 260 | blog.feed.update_attributes! :language => 'es' |
| 260 | blog.posts << en_post = fast_create(TextArticle, :name => "English", :profile_id => profile.id, :parent_id => blog.id, :published => true, :language => 'en') | 261 | blog.posts << en_post = fast_create(TextArticle, :name => "English", :profile_id => profile.id, :parent_id => blog.id, :published => true, :language => 'en') |
| 261 | blog.posts << es_post = fast_create(TextArticle, :name => "Spanish", :profile_id => profile.id, :parent_id => blog.id, :published => true, :language => 'es') | 262 | blog.posts << es_post = fast_create(TextArticle, :name => "Spanish", :profile_id => profile.id, :parent_id => blog.id, :published => true, :language => 'es') |