diff options
author | James Lopez <james@jameslopez.es> | 2016-11-24 12:38:54 +0100 |
---|---|---|
committer | James Lopez <james@jameslopez.es> | 2016-11-25 11:47:33 +0100 |
commit | 9c49fa2d92a3ab1051df87e4d75d9802a1b7cfc7 (patch) | |
tree | 7081443e9d0cb6af6cf5707ecdb13ade48c692f0 | |
parent | afe90d529c82566886d1f2513dd6bee4fa73ff94 (diff) | |
download | gitlab-ce-9c49fa2d92a3ab1051df87e4d75d9802a1b7cfc7.tar.gz |
fix for builds with no start date and spec
-rw-r--r-- | app/serializers/entity_date_helper.rb | 2 | ||||
-rw-r--r-- | spec/serializers/analytics_build_entity_spec.rb | 31 |
2 files changed, 32 insertions, 1 deletions
diff --git a/app/serializers/entity_date_helper.rb b/app/serializers/entity_date_helper.rb index 918abba8d99..3cc98fb18a1 100644 --- a/app/serializers/entity_date_helper.rb +++ b/app/serializers/entity_date_helper.rb @@ -2,6 +2,8 @@ module EntityDateHelper include ActionView::Helpers::DateHelper def interval_in_words(diff) + return 'not started' unless diff + "#{distance_of_time_in_words(Time.now, diff)} ago" end diff --git a/spec/serializers/analytics_build_entity_spec.rb b/spec/serializers/analytics_build_entity_spec.rb index c0b7e86b17c..ba562353661 100644 --- a/spec/serializers/analytics_build_entity_spec.rb +++ b/spec/serializers/analytics_build_entity_spec.rb @@ -7,7 +7,9 @@ describe AnalyticsBuildEntity do context 'build with an author' do let(:user) { create(:user) } - let(:build) { create(:ci_build, author: user, started_at: 2.hours.ago, finished_at: 1.hour.ago) } + let(:started_at) { 2.hours.ago } + let(:finished_at) { 1.hour.ago } + let(:build) { create(:ci_build, author: user, started_at: started_at, finished_at: finished_at) } subject { entity.as_json } @@ -31,5 +33,32 @@ describe AnalyticsBuildEntity do it 'contains the duration' do expect(subject[:total_time]).to eq(hours: 1 ) end + + context 'no started at or finished at date' do + let(:started_at) { nil } + let(:finished_at) { nil } + + it 'does not blow up' do + expect{ subject[:date] }.not_to raise_error + end + + it '' + end + + context 'no started at date' do + let(:started_at) { nil } + + it 'does not blow up' do + expect{ subject[:date] }.not_to raise_error + end + end + + context 'no finished at date' do + let(:finished_at) { nil } + + it 'does not blow up' do + expect{ subject[:date] }.not_to raise_error + end + end end end |