diff options
author | Eric Davis <edavis@littlestreamsoftware.com> | 2009-12-11 18:48:34 +0000 |
---|---|---|
committer | Eric Davis <edavis@littlestreamsoftware.com> | 2009-12-11 18:48:34 +0000 |
commit | 4fe14e71c2d76a2e92da0aaa71e18493d65b1fc1 (patch) | |
tree | 0ef000f0e3985772228928b0acdca1a292f82ef6 /test/unit/issue_status_test.rb | |
parent | a83501364d0aa5e5e6d7a9e4ccfa2be5dab555b0 (diff) | |
download | redmine-4fe14e71c2d76a2e92da0aaa71e18493d65b1fc1.tar.gz redmine-4fe14e71c2d76a2e92da0aaa71e18493d65b1fc1.zip |
Adds a Setting to control how an Issue's done_ratio is calculated:
* Issue field (default) - the done_ratio field for the Issue
* Issue status - uses the Issue Status's value
#4274
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3151 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test/unit/issue_status_test.rb')
-rw-r--r-- | test/unit/issue_status_test.rb | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/test/unit/issue_status_test.rb b/test/unit/issue_status_test.rb index 042f30e32..2c0685cec 100644 --- a/test/unit/issue_status_test.rb +++ b/test/unit/issue_status_test.rb @@ -66,4 +66,40 @@ class IssueStatusTest < ActiveSupport::TestCase status.reload assert status.is_default? end + + context "#update_done_ratios" do + setup do + @issue = Issue.find(1) + @issue_status = IssueStatus.find(1) + @issue_status.update_attribute(:default_done_ratio, 50) + end + + context "with Setting.issue_done_ratio using the issue_field" do + setup do + Setting.issue_done_ratio = 'issue_field' + end + + should "change nothing" do + IssueStatus.update_issue_done_ratios + + assert_equal 0, Issue.count(:conditions => {:done_ratio => 50}) + end + end + + context "with Setting.issue_done_ratio using the issue_status" do + setup do + Setting.issue_done_ratio = 'issue_status' + end + + should "update all of the issue's done_ratios to match their Issue Status" do + IssueStatus.update_issue_done_ratios + + issues = Issue.find([1,3,4,5,6,7,9,10]) + issues.each do |issue| + assert_equal @issue_status, issue.status + assert_equal 50, issue.read_attribute(:done_ratio) + end + end + end + end end |