diff --git a/app/helpers/issues_helper.rb b/app/helpers/issues_helper.rb index a6515d283..caf23bfdd 100644 --- a/app/helpers/issues_helper.rb +++ b/app/helpers/issues_helper.rb @@ -384,6 +384,9 @@ module IssuesHelper attr_value = (issue.send attribute).to_s next if attr_value.blank? + if attribute == 'due_date' + attr_value << " (#{due_date_distance_in_words(issue.send(attribute))})" unless issue.closed? + end if html items << content_tag('strong', "#{l("field_#{attribute}")}: ") + attr_value else diff --git a/test/unit/mailer_test.rb b/test/unit/mailer_test.rb index 0e820ce29..f1e03a7e6 100644 --- a/test/unit/mailer_test.rb +++ b/test/unit/mailer_test.rb @@ -333,6 +333,34 @@ class MailerTest < ActiveSupport::TestCase end end + def test_deliver_issue_should_be_show_due_date_with_distance_in_words + issue = issues(:issues_001) + journal = issue.journals.last + + # Do show "Due in X days" if the issue is not closed + expect = /^\* Due date: #{issue.due_date} \(Due in 10 days\)\R/ + + ActionMailer::Base.deliveries.clear + Mailer.deliver_issue_add(issue) + assert_mail_body_match expect, last_email + + ActionMailer::Base.deliveries.clear + Mailer.deliver_issue_edit(journal) + assert_mail_body_match expect, last_email + + # Don't show "Due in X days" if the issue is closed + issue.update_attribute(:status, IssueStatus.find_by_is_closed(true)) + expect = /^\* Due date: #{issue.due_date}\R/ + + ActionMailer::Base.deliveries.clear + Mailer.deliver_issue_add(issue) + assert_mail_body_match expect, last_email + + ActionMailer::Base.deliveries.clear + Mailer.deliver_issue_edit(journal) + assert_mail_body_match expect, last_email + end + def test_message_posted_message_id message = Message.find(1) attachment = message.attachments.first