summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2014-11-05 14:51:04 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2014-11-05 14:51:04 +0000
commit5052d48491a7f485bc11387b374b11f0e7772941 (patch)
tree99c2b054850e81503a3b2ab7febee8e076731588 /test
parent6bb699d65fe0fd4ccaad8634ee0a10bd50b4d784 (diff)
downloadredmine-5052d48491a7f485bc11387b374b11f0e7772941.tar.gz
redmine-5052d48491a7f485bc11387b374b11f0e7772941.zip
Fixed that setting a status as closed should update issue closed_on attribute (#18280).
git-svn-id: http://svn.redmine.org/redmine/trunk@13560 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test')
-rw-r--r--test/unit/issue_status_test.rb34
1 files changed, 34 insertions, 0 deletions
diff --git a/test/unit/issue_status_test.rb b/test/unit/issue_status_test.rb
index cb4ed90b8..71fcfa56e 100644
--- a/test/unit/issue_status_test.rb
+++ b/test/unit/issue_status_test.rb
@@ -96,4 +96,38 @@ class IssueStatusTest < ActiveSupport::TestCase
assert_not_nil status
assert_equal "Resolved", status.name
end
+
+ def test_setting_status_as_closed_should_set_closed_on_for_issues_without_status_journal
+ issue = Issue.generate!(:status_id => 1, :created_on => 2.days.ago)
+ assert_nil issue.closed_on
+
+ issue.status.update! :is_closed => true
+
+ issue.reload
+ assert issue.closed?
+ assert_equal issue.created_on, issue.closed_on
+ end
+
+ def test_setting_status_as_closed_should_set_closed_on_for_issues_with_status_journal
+ issue = Issue.generate!(:status_id => 1, :created_on => 2.days.ago)
+ issue.init_journal(User.find(1))
+ issue.status_id = 2
+ issue.save!
+
+ issue.status.update! :is_closed => true
+
+ issue.reload
+ assert issue.closed?
+ assert_equal issue.journals.first.created_on, issue.closed_on
+ end
+
+ def test_setting_status_as_closed_should_not_set_closed_on_for_issues_with_other_status
+ issue = Issue.generate!(:status_id => 2)
+
+ IssueStatus.find(1).update! :is_closed => true
+
+ issue.reload
+ assert !issue.closed?
+ assert_nil issue.closed_on
+ end
end