@@ -263,7 +263,7 class Issue < ActiveRecord::Base | |||||
263 | end |
|
263 | end | |
264 |
|
264 | |||
265 | def done_ratio |
|
265 | def done_ratio | |
266 |
if Issue.use_status_for_done_ratio? && status && status.default_done_ratio |
|
266 | if Issue.use_status_for_done_ratio? && status && status.default_done_ratio | |
267 | status.default_done_ratio |
|
267 | status.default_done_ratio | |
268 | else |
|
268 | else | |
269 | read_attribute(:done_ratio) |
|
269 | read_attribute(:done_ratio) | |
@@ -326,7 +326,7 class Issue < ActiveRecord::Base | |||||
326 | # Set the done_ratio using the status if that setting is set. This will keep the done_ratios |
|
326 | # Set the done_ratio using the status if that setting is set. This will keep the done_ratios | |
327 | # even if the user turns off the setting later |
|
327 | # even if the user turns off the setting later | |
328 | def update_done_ratio_from_issue_status |
|
328 | def update_done_ratio_from_issue_status | |
329 |
if Issue.use_status_for_done_ratio? && status && status.default_done_ratio |
|
329 | if Issue.use_status_for_done_ratio? && status && status.default_done_ratio | |
330 | self.done_ratio = status.default_done_ratio |
|
330 | self.done_ratio = status.default_done_ratio | |
331 | end |
|
331 | end | |
332 | end |
|
332 | end | |
@@ -714,7 +714,7 class Issue < ActiveRecord::Base | |||||
714 | end |
|
714 | end | |
715 |
|
715 | |||
716 | # done ratio = weighted average ratio of leaves |
|
716 | # done ratio = weighted average ratio of leaves | |
717 |
unless Issue.use_status_for_done_ratio? && p.status && p.status.default_done_ratio |
|
717 | unless Issue.use_status_for_done_ratio? && p.status && p.status.default_done_ratio | |
718 | leaves_count = p.leaves.count |
|
718 | leaves_count = p.leaves.count | |
719 | if leaves_count > 0 |
|
719 | if leaves_count > 0 | |
720 | average = p.leaves.average(:estimated_hours).to_f |
|
720 | average = p.leaves.average(:estimated_hours).to_f |
@@ -38,6 +38,7 issues_002: | |||||
38 | lft: 1 |
|
38 | lft: 1 | |
39 | rgt: 2 |
|
39 | rgt: 2 | |
40 | lock_version: 3 |
|
40 | lock_version: 3 | |
|
41 | done_ratio: 30 | |||
41 | issues_003: |
|
42 | issues_003: | |
42 | created_on: 2006-07-19 21:07:27 +02:00 |
|
43 | created_on: 2006-07-19 21:07:27 +02:00 | |
43 | project_id: 1 |
|
44 | project_id: 1 |
@@ -593,6 +593,9 class IssueTest < ActiveSupport::TestCase | |||||
593 | @issue = Issue.find(1) |
|
593 | @issue = Issue.find(1) | |
594 | @issue_status = IssueStatus.find(1) |
|
594 | @issue_status = IssueStatus.find(1) | |
595 | @issue_status.update_attribute(:default_done_ratio, 50) |
|
595 | @issue_status.update_attribute(:default_done_ratio, 50) | |
|
596 | @issue2 = Issue.find(2) | |||
|
597 | @issue_status2 = IssueStatus.find(2) | |||
|
598 | @issue_status2.update_attribute(:default_done_ratio, 0) | |||
596 | end |
|
599 | end | |
597 |
|
600 | |||
598 | context "with Setting.issue_done_ratio using the issue_field" do |
|
601 | context "with Setting.issue_done_ratio using the issue_field" do | |
@@ -602,6 +605,7 class IssueTest < ActiveSupport::TestCase | |||||
602 |
|
605 | |||
603 | should "read the issue's field" do |
|
606 | should "read the issue's field" do | |
604 | assert_equal 0, @issue.done_ratio |
|
607 | assert_equal 0, @issue.done_ratio | |
|
608 | assert_equal 30, @issue2.done_ratio | |||
605 | end |
|
609 | end | |
606 | end |
|
610 | end | |
607 |
|
611 | |||
@@ -612,6 +616,7 class IssueTest < ActiveSupport::TestCase | |||||
612 |
|
616 | |||
613 | should "read the Issue Status's default done ratio" do |
|
617 | should "read the Issue Status's default done ratio" do | |
614 | assert_equal 50, @issue.done_ratio |
|
618 | assert_equal 50, @issue.done_ratio | |
|
619 | assert_equal 0, @issue2.done_ratio | |||
615 | end |
|
620 | end | |
616 | end |
|
621 | end | |
617 | end |
|
622 | end | |
@@ -621,6 +626,9 class IssueTest < ActiveSupport::TestCase | |||||
621 | @issue = Issue.find(1) |
|
626 | @issue = Issue.find(1) | |
622 | @issue_status = IssueStatus.find(1) |
|
627 | @issue_status = IssueStatus.find(1) | |
623 | @issue_status.update_attribute(:default_done_ratio, 50) |
|
628 | @issue_status.update_attribute(:default_done_ratio, 50) | |
|
629 | @issue2 = Issue.find(2) | |||
|
630 | @issue_status2 = IssueStatus.find(2) | |||
|
631 | @issue_status2.update_attribute(:default_done_ratio, 0) | |||
624 | end |
|
632 | end | |
625 |
|
633 | |||
626 | context "with Setting.issue_done_ratio using the issue_field" do |
|
634 | context "with Setting.issue_done_ratio using the issue_field" do | |
@@ -630,8 +638,10 class IssueTest < ActiveSupport::TestCase | |||||
630 |
|
638 | |||
631 | should "not change the issue" do |
|
639 | should "not change the issue" do | |
632 | @issue.update_done_ratio_from_issue_status |
|
640 | @issue.update_done_ratio_from_issue_status | |
|
641 | @issue2.update_done_ratio_from_issue_status | |||
633 |
|
642 | |||
634 | assert_equal 0, @issue.done_ratio |
|
643 | assert_equal 0, @issue.read_attribute(:done_ratio) | |
|
644 | assert_equal 30, @issue2.read_attribute(:done_ratio) | |||
635 | end |
|
645 | end | |
636 | end |
|
646 | end | |
637 |
|
647 | |||
@@ -640,10 +650,12 class IssueTest < ActiveSupport::TestCase | |||||
640 | Setting.issue_done_ratio = 'issue_status' |
|
650 | Setting.issue_done_ratio = 'issue_status' | |
641 | end |
|
651 | end | |
642 |
|
652 | |||
643 |
should " |
|
653 | should "change the issue's done ratio" do | |
644 | @issue.update_done_ratio_from_issue_status |
|
654 | @issue.update_done_ratio_from_issue_status | |
|
655 | @issue2.update_done_ratio_from_issue_status | |||
645 |
|
656 | |||
646 | assert_equal 50, @issue.done_ratio |
|
657 | assert_equal 50, @issue.read_attribute(:done_ratio) | |
|
658 | assert_equal 0, @issue2.read_attribute(:done_ratio) | |||
647 | end |
|
659 | end | |
648 | end |
|
660 | end | |
649 | end |
|
661 | end |
General Comments 0
You need to be logged in to leave comments.
Login now