Commit 2fc52fa335584d59ce6b4f57adfe16b713cf80e9
1 parent
b376dedb
Exists in
master
and in
29 other branches
[postgres-tests] Avoiding database retrieve order assumptions from article tests
Showing
1 changed file
with
24 additions
and
14 deletions
Show diff stats
test/unit/article_test.rb
@@ -327,16 +327,15 @@ class ArticleTest < ActiveSupport::TestCase | @@ -327,16 +327,15 @@ class ArticleTest < ActiveSupport::TestCase | ||
327 | 327 | ||
328 | should 'list most commented articles' do | 328 | should 'list most commented articles' do |
329 | Article.delete_all | 329 | Article.delete_all |
330 | - (1..4).each do |n| | ||
331 | - create(TextileArticle, :name => "art #{n}", :profile_id => profile.id) | ||
332 | - end | ||
333 | - first_article = profile.articles.first | ||
334 | - 2.times { Comment.create(:title => 'test', :body => 'asdsad', :author => profile, :source => first_article).save! } | 330 | + a1 = create(TextileArticle, :name => "art 1", :profile_id => profile.id) |
331 | + a2 = create(TextileArticle, :name => "art 2", :profile_id => profile.id) | ||
332 | + a3 = create(TextileArticle, :name => "art 3", :profile_id => profile.id) | ||
333 | + | ||
334 | + 2.times { Comment.create(:title => 'test', :body => 'asdsad', :author => profile, :source => a2).save! } | ||
335 | + 4.times { Comment.create(:title => 'test', :body => 'asdsad', :author => profile, :source => a3).save! } | ||
335 | 336 | ||
336 | - last_article = profile.articles.last | ||
337 | - 4.times { Comment.create(:title => 'test', :body => 'asdsad', :author => profile, :source => last_article).save! } | ||
338 | # should respect the order (more commented comes first) | 337 | # should respect the order (more commented comes first) |
339 | - assert_equal [last_article, first_article], profile.articles.most_commented(2) | 338 | + assert_equal [a3, a2, a1], profile.articles.most_commented(3) |
340 | end | 339 | end |
341 | 340 | ||
342 | should 'identify itself as a non-folder' do | 341 | should 'identify itself as a non-folder' do |
@@ -434,8 +433,15 @@ class ArticleTest < ActiveSupport::TestCase | @@ -434,8 +433,15 @@ class ArticleTest < ActiveSupport::TestCase | ||
434 | owner = create_user('testuser').person | 433 | owner = create_user('testuser').person |
435 | art = owner.articles.create!(:name => 'ytest') | 434 | art = owner.articles.create!(:name => 'ytest') |
436 | art.category_ids = [c2,c3,c3].map(&:id) | 435 | art.category_ids = [c2,c3,c3].map(&:id) |
437 | - assert_equal [c2, c3], art.categories(true) | ||
438 | - assert_equal [c2, c1, c3], art.categories_including_virtual(true) | 436 | + |
437 | + categories = art.categories(true) | ||
438 | + categories_including_virtual = art.categories_including_virtual(true) | ||
439 | + assert_not_includes categories, c1 | ||
440 | + assert_includes categories, c2 | ||
441 | + assert_includes categories, c3 | ||
442 | + assert_includes categories_including_virtual, c1 | ||
443 | + assert_includes categories_including_virtual, c2 | ||
444 | + assert_includes categories_including_virtual, c3 | ||
439 | end | 445 | end |
440 | 446 | ||
441 | should 'not accept Product category as category' do | 447 | should 'not accept Product category as category' do |
@@ -1290,11 +1296,15 @@ class ArticleTest < ActiveSupport::TestCase | @@ -1290,11 +1296,15 @@ class ArticleTest < ActiveSupport::TestCase | ||
1290 | 1296 | ||
1291 | should 'rotate translations when root article is destroyed' do | 1297 | should 'rotate translations when root article is destroyed' do |
1292 | native_article = fast_create(Article, :language => 'pt', :profile_id => @profile.id) | 1298 | native_article = fast_create(Article, :language => 'pt', :profile_id => @profile.id) |
1293 | - translation1 = fast_create(Article, :language => 'en', :translation_of_id => native_article.id, :profile_id => @profile.id) | ||
1294 | - translation2 = fast_create(Article, :language => 'es', :translation_of_id => native_article.id, :profile_id => @profile.id) | 1299 | + fast_create(Article, :language => 'en', :translation_of_id => native_article.id, :profile_id => @profile.id) |
1300 | + fast_create(Article, :language => 'es', :translation_of_id => native_article.id, :profile_id => @profile.id) | ||
1301 | + | ||
1302 | + new_root = native_article.translations.first | ||
1303 | + child = (native_article.translations - [new_root]).first | ||
1295 | native_article.destroy | 1304 | native_article.destroy |
1296 | - assert translation1.translation_of.nil? | ||
1297 | - assert translation1.translations.include?(translation2) | 1305 | + |
1306 | + assert new_root.translation_of.nil? | ||
1307 | + assert new_root.translations.include?(child) | ||
1298 | end | 1308 | end |
1299 | 1309 | ||
1300 | should 'rotate one translation when root article is destroyed' do | 1310 | should 'rotate one translation when root article is destroyed' do |