summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Schilling <rschilling@student.tugraz.at>2015-05-26 19:12:27 +0000
committerRobert Schilling <rschilling@student.tugraz.at>2015-05-26 19:12:27 +0000
commit0ec1e4c028b6e663929b38f1c90f4158f9a49cc2 (patch)
treea2b4fdff4588404745a4b3f9a2d8df82b0ab2433
parentf955554d0fc08485342475d49236221fca6ca207 (diff)
parent8b92946b5407be42caa1e32a978555b94465905c (diff)
downloadgitlab-ce-0ec1e4c028b6e663929b38f1c90f4158f9a49cc2.tar.gz
Merge branch 'milestoneRescue' into 'master'
Change percent_complete rescue value from 100 to 0 The percent_complete method returns a value of 100 when a ZeroDivisionError occurs. That seems like a very strange default for an error case, and results in a bug when a milestone has no corresponding issues (new, empty milestones show 100% completion). This commit changes the rescue value to 0, and subsequently fixes #1656, which reported this problem. See merge request !714
-rw-r--r--CHANGELOG1
-rw-r--r--app/models/group_milestone.rb2
-rw-r--r--app/models/milestone.rb2
-rw-r--r--spec/models/milestone_spec.rb2
4 files changed, 4 insertions, 3 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 8749ca42e45..df598502820 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -14,6 +14,7 @@ v 7.12.0 (unreleased)
- Use the user list from the target project in a merge request (Stan Hu)
- Default extention for wiki pages is now .md instead of .markdown (Jeroen van Baarsen)
- Add validation to wiki page creation (only [a-zA-Z0-9/_-] are allowed) (Jeroen van Baarsen)
+ - Fix new/empty milestones showing 100% completion value (Jonah Bishop)
v 7.11.2
- no changes
diff --git a/app/models/group_milestone.rb b/app/models/group_milestone.rb
index 7e4f16ebf16..ab055f6b80b 100644
--- a/app/models/group_milestone.rb
+++ b/app/models/group_milestone.rb
@@ -44,7 +44,7 @@ class GroupMilestone
def percent_complete
((closed_items_count * 100) / total_items_count).abs
rescue ZeroDivisionError
- 100
+ 0
end
def state
diff --git a/app/models/milestone.rb b/app/models/milestone.rb
index 9bbb2bafb98..9c543b37023 100644
--- a/app/models/milestone.rb
+++ b/app/models/milestone.rb
@@ -66,7 +66,7 @@ class Milestone < ActiveRecord::Base
def percent_complete
((closed_items_count * 100) / total_items_count).abs
rescue ZeroDivisionError
- 100
+ 0
end
def expires_at
diff --git a/spec/models/milestone_spec.rb b/spec/models/milestone_spec.rb
index 45171e1bf64..eb73aa763fc 100644
--- a/spec/models/milestone_spec.rb
+++ b/spec/models/milestone_spec.rb
@@ -47,7 +47,7 @@ describe Milestone do
it "should recover from dividing by zero" do
expect(milestone.issues).to receive(:count).and_return(0)
- expect(milestone.percent_complete).to eq(100)
+ expect(milestone.percent_complete).to eq(0)
end
end