Infinity Bug in Commit Statistics

fixes #1548
This commit is contained in:
Jonas Weber
2016-05-20 22:23:08 +02:00
parent c5a5d54842
commit 382e8cfef6
2 changed files with 40 additions and 1 deletions
+1 -1
View File
@@ -18,7 +18,7 @@ module Gitlab
end
def commit_per_day
@commit_per_day ||= (@commits.size.to_f / @duration).round(1)
@commit_per_day ||= @commits.size / (@duration + 1)
end
def collect_data
+39
View File
@@ -0,0 +1,39 @@
require 'spec_helper'
describe Gitlab::Graphs::Commits, lib: true do
let!(:project) { create(:project, :public, :empty_repo) }
let!(:commit1) { create(:commit, git_commit: RepoHelpers.sample_commit, project: project, committed_date: Time.now) }
let!(:commit1_yesterday) { create(:commit, git_commit: RepoHelpers.sample_commit, project: project, committed_date: 1.day.ago)}
let!(:commit2) { create(:commit, git_commit: RepoHelpers.another_sample_commit, project: project, committed_date: Time.now) }
describe '#commit_per_day' do
context 'when range is only commits from today' do
subject { described_class.new([commit2, commit1]).commit_per_day }
it { is_expected.to eq 2 }
end
end
context 'when range is only commits from today' do
subject { described_class.new([commit2, commit1]) }
describe '#commit_per_day' do
it { expect(subject.commit_per_day).to eq 2 }
end
describe '#duration' do
it { expect(subject.duration).to eq 0 }
end
end
context 'with commits from yesterday and today' do
subject { described_class.new([commit2, commit1_yesterday]) }
describe '#commit_per_day' do
it { expect(subject.commit_per_day).to eq 1 }
end
describe '#duration' do
it { expect(subject.duration).to eq 1 }
end
end
end