From 8b92946b5407be42caa1e32a978555b94465905c Mon Sep 17 00:00:00 2001 From: Jonah Bishop Date: Tue, 26 May 2015 14:44:04 -0400 Subject: [PATCH] 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. --- CHANGELOG | 1 + app/models/group_milestone.rb | 2 +- app/models/milestone.rb | 2 +- spec/models/milestone_spec.rb | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 1b5427b5adc..356673cd5a5 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -11,6 +11,7 @@ v 7.12.0 (unreleased) - Update Asciidoctor gem to version 1.5.2. (Jakub Jirutka) - Fix resolving of relative links to repository files in AsciiDoc documents. (Jakub Jirutka) - Use the user list from the target project in a merge request (Stan Hu) + - 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 @@ def total_items_count 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 @@ def total_items_count 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 @@ 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 -- GitLab