From 855e23ffb7becc3c47958eaf2124dfe25a0fd0b7 Mon Sep 17 00:00:00 2001 From: Rodrigo Souto Date: Mon, 27 Aug 2012 18:04:14 +0000 Subject: [PATCH] [tolerance-time] Making publication not crash if profile has no tolerance yet defined --- plugins/tolerance_time/lib/tolerance_time_plugin/publication.rb | 6 ++++-- plugins/tolerance_time/test/unit/tolerance_time_plugin/publication_test.rb | 10 ++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/plugins/tolerance_time/lib/tolerance_time_plugin/publication.rb b/plugins/tolerance_time/lib/tolerance_time_plugin/publication.rb index f2cc45f..9f38b94 100644 --- a/plugins/tolerance_time/lib/tolerance_time_plugin/publication.rb +++ b/plugins/tolerance_time/lib/tolerance_time_plugin/publication.rb @@ -13,10 +13,12 @@ class ToleranceTimePlugin::Publication < Noosfero::Plugin::ActiveRecord def expired? profile = (target.kind_of?(Article) ? target.profile : target.article.profile) profile_tolerance = ToleranceTimePlugin::Tolerance.find_by_profile_id(profile.id) + content_tolerance = profile_tolerance ? profile_tolerance.content_tolerance : nil + comment_tolerance = profile_tolerance ? profile_tolerance.comment_tolerance : nil if target.kind_of?(Article) - tolerance_time = profile_tolerance.content_tolerance || 1.0/0 + tolerance_time = content_tolerance || 1.0/0 elsif target.kind_of?(Comment) - tolerance_time = profile_tolerance.comment_tolerance || 1.0/0 + tolerance_time = comment_tolerance || 1.0/0 else tolerance_time = 1.0/0 end diff --git a/plugins/tolerance_time/test/unit/tolerance_time_plugin/publication_test.rb b/plugins/tolerance_time/test/unit/tolerance_time_plugin/publication_test.rb index 08abfc8..199d0b4 100644 --- a/plugins/tolerance_time/test/unit/tolerance_time_plugin/publication_test.rb +++ b/plugins/tolerance_time/test/unit/tolerance_time_plugin/publication_test.rb @@ -65,4 +65,14 @@ class ToleranceTimePlugin::PublicationTest < ActiveSupport::TestCase assert !article_publication.expired? end + + should 'not crash if profile has no tolerance yet defined' do + profile = fast_create(Profile) + article = fast_create(Article, :profile_id => profile.id) + article_publication = ToleranceTimePlugin::Publication.create!(:target => article) + article_publication.created_at = 1000.years.ago + article_publication.save! + + assert !article_publication.expired? + end end -- libgit2 0.21.2