Skip to content

Commit

Permalink
fixed report page not showing the backlog points
Browse files Browse the repository at this point in the history
  • Loading branch information
GabrielRMuller committed Jan 11, 2019
1 parent a76627c commit 6cdca62
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 25 deletions.
10 changes: 1 addition & 9 deletions app/helpers/projects_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -92,16 +92,8 @@ def last_iteration_start_date(worst = false)
@backlog_date.last.to_date.to_s(:short)
end

def total_backlog_points
stories = @service.instance_variable_get('@stories')
stories.each do |story|
story.delete if story[:state] == "accepted"
end
stories.map(&:estimate).compact.sum
end

def calculate_and_render_burn_up!
@group_by_day = BurnUpCalculator.call(@project)
@report_data = BurnUpCalculator.call(@project)
end

def burn_down_data
Expand Down
27 changes: 18 additions & 9 deletions app/services/burn_up_calculator.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,32 +6,41 @@ def call(project)

calculate_points

@group_by_day
@report_data
end

private

attr_reader :service_full

def initialize_group_by_day
@group_by_day = [
{ name: 'today', data: { Date.current => service_full.group_by_day[Date.current] } },
{ name: 'real', data: service_full.group_by_day },
{ name: 'ideal', data: service_full.group_by_day.dup }
]
@report_data = {
group_by_day: [
{ name: 'today', data: { Date.current => service_full.group_by_day[Date.current] } },
{ name: 'real', data: service_full.group_by_day },
{ name: 'ideal', data: service_full.group_by_day.dup }
],
total_backlog_points: total_backlog_points
}
end

def total_backlog_points
stories = service_full.instance_variable_get('@stories')
backlog_stories = stories.select { |story| !story.accepted? }
backlog_stories.map(&:estimate).compact.sum
end

def points_per_day
@points_per_day ||= @total_backlog_points.to_f / service_full.group_by_day.keys.size
@points_per_day ||= total_backlog_points.to_f / service_full.group_by_day.keys.size
end

def calculate_points
initial_points = 0

initialize_group_by_day

@group_by_day.last[:data].keys.each do |key|
@group_by_day.last[:data][key] = initial_points
@report_data[:group_by_day].last[:data].keys.each do |key|
@report_data[:group_by_day].last[:data][key] = initial_points
initial_points += points_per_day
end
end
Expand Down
4 changes: 2 additions & 2 deletions app/views/projects/reports.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@
<div class="panel-body">
<% calculate_and_render_burn_up! %>

<p><%= t('projects.reports.burn_up.backlog_points_html', count: total_backlog_points) %></p>
<p><%= t('projects.reports.burn_up.backlog_points_html', count: @report_data[:total_backlog_points]) %></p>
<p>
<%= t('projects.reports.burn_up.remaining_time',
velocity: @service.velocity,
Expand All @@ -89,7 +89,7 @@
</p>
<% end %>

<p><%= area_chart @group_by_day, max: total_backlog_points, xtitle: t('day'), ytitle: t('accepted_points') %></p>
<p><%= area_chart @report_data[:group_by_day], max: @report_data[:total_backlog_points], xtitle: t('day'), ytitle: t('accepted_points') %></p>
</div>
</div>

Expand Down
11 changes: 6 additions & 5 deletions spec/services/burn_up_calculator_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
describe BurnUpCalculator do
let(:service_full) { double(:service_full) }
let(:project) { double(:project, name: 'Central') }
let(:story1) { double(:story1, estimate: 3) }
let(:story2) { double(:story2, estimate: 8) }
let(:story1) { double(:story1, estimate: 3, state: 'unstarted', accepted?: false) }
let(:story2) { double(:story2, estimate: 8, state: 'unstarted', accepted?: false) }
let(:stories) { [story1, story2] }

let(:yesterday) { Date.current - 1.day }
Expand All @@ -28,9 +28,9 @@
end

describe '#call' do
it 'returns classified points' do
it 'returns classified points and the total backlog points' do
expect(subject).to eq(
[
group_by_day: [
{
name: 'today',
data: { today => 1 }
Expand All @@ -43,7 +43,8 @@
name: 'ideal',
data: { yesterday => 0, today => 3.6666666666666665, tomorrow => 7.333333333333333 }
}
]
],
total_backlog_points: 11
)
end
end
Expand Down

0 comments on commit 6cdca62

Please sign in to comment.