GitLab steht Mittwoch, den 23. September, zwischen 10:00 und 12:00 Uhr aufgrund von Wartungsarbeiten nicht zur Verfügung.

Commit 830f739b authored by James Lopez's avatar James Lopez

use an empty total time when the build has not started yet so the UI knows

parent aa895a64
......@@ -13,7 +13,7 @@ class AnalyticsBuildEntity < Grape::Entity
end
expose :duration, as: :total_time do |build|
distance_of_time_as_hash(build.duration.to_f)
build_started?(build) ? distance_of_time_as_hash(build.duration.to_f) : {}
end
expose :branch do
......@@ -37,4 +37,8 @@ class AnalyticsBuildEntity < Grape::Entity
def url_to(route, build, id = nil)
public_send("#{route}_url", build.project.namespace, build.project, id || build)
end
def build_started?(build)
build.duration && build[:started_at]
end
end
......@@ -2,7 +2,7 @@ module EntityDateHelper
include ActionView::Helpers::DateHelper
def interval_in_words(diff)
return 'not started' unless diff
return 'Not started' unless diff
"#{distance_of_time_in_words(Time.now, diff)} ago"
end
......
......@@ -42,7 +42,13 @@ describe AnalyticsBuildEntity do
expect{ subject[:date] }.not_to raise_error
end
it ''
it 'shows the right message' do
expect(subject[:date]).to eq('Not started')
end
it 'shows the right total time' do
expect(subject[:total_time]).to eq({})
end
end
context 'no started at date' do
......@@ -51,6 +57,14 @@ describe AnalyticsBuildEntity do
it 'does not blow up' do
expect{ subject[:date] }.not_to raise_error
end
it 'shows the right message' do
expect(subject[:date]).to eq('Not started')
end
it 'shows the right total time' do
expect(subject[:total_time]).to eq({})
end
end
context 'no finished at date' do
......@@ -59,6 +73,14 @@ describe AnalyticsBuildEntity do
it 'does not blow up' do
expect{ subject[:date] }.not_to raise_error
end
it 'shows the right message' do
expect(subject[:date]).to eq('about 2 hours ago')
end
it 'shows the right total time' do
expect(subject[:total_time]).to eq({hours: 2})
end
end
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment