diff options
author | James Lopez <james@gitlab.com> | 2016-11-22 17:33:07 +0000 |
---|---|---|
committer | James Lopez <james@gitlab.com> | 2016-11-22 17:33:07 +0000 |
commit | 4ba02169a64c98a1f5b56f5292945ae9f83d2644 (patch) | |
tree | f42032ef96fa7cb5c261b21c9ba38c9e18b8ad6c | |
parent | c4376b2f88ac3089719382aaf7385fc6907b369e (diff) | |
parent | ed85fa7b10ed2214c849b7d0d0b3164414afaa16 (diff) | |
download | gitlab-ce-4ba02169a64c98a1f5b56f5292945ae9f83d2644.tar.gz |
Merge branch 'fix/cycle-analytics-duration' into 'master'
fixed bug to do with calculating durations
Fixes a couple of small bugs while calculating durations in cycle analytics - probably due to some bad refactoring
- [ ] [Changelog entry](https://docs.gitlab.com/ce/development/changelog.html) added
- Tests
- [x] Added for this feature/bug
- [ ] All builds are passing
- [x] Conform by the [merge request performance guides](http://docs.gitlab.com/ce/development/merge_request_performance_guidelines.html)
- [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides)
- [x] Branch has no merge conflicts with `master` (if it does - rebase it please)
- [ ] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits)
## What are the relevant issue numbers?
Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/24796
See merge request !7663
-rw-r--r-- | app/serializers/analytics_build_entity.rb | 2 | ||||
-rw-r--r-- | app/serializers/entity_date_helper.rb | 2 | ||||
-rw-r--r-- | spec/serializers/analytics_build_entity_spec.rb | 10 |
3 files changed, 11 insertions, 3 deletions
diff --git a/app/serializers/analytics_build_entity.rb b/app/serializers/analytics_build_entity.rb index 5fdf2bbf7c3..abefcd5cc02 100644 --- a/app/serializers/analytics_build_entity.rb +++ b/app/serializers/analytics_build_entity.rb @@ -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) + distance_of_time_as_hash(build.duration.to_f) end expose :branch do diff --git a/app/serializers/entity_date_helper.rb b/app/serializers/entity_date_helper.rb index b333b3344c3..918abba8d99 100644 --- a/app/serializers/entity_date_helper.rb +++ b/app/serializers/entity_date_helper.rb @@ -2,7 +2,7 @@ module EntityDateHelper include ActionView::Helpers::DateHelper def interval_in_words(diff) - "#{distance_of_time_in_words(diff.to_f)} ago" + "#{distance_of_time_in_words(Time.now, diff)} ago" end # Converts seconds into a hash such as: diff --git a/spec/serializers/analytics_build_entity_spec.rb b/spec/serializers/analytics_build_entity_spec.rb index 9ac6f20fd3c..c0b7e86b17c 100644 --- a/spec/serializers/analytics_build_entity_spec.rb +++ b/spec/serializers/analytics_build_entity_spec.rb @@ -7,7 +7,7 @@ describe AnalyticsBuildEntity do context 'build with an author' do let(:user) { create(:user) } - let(:build) { create(:ci_build, author: user) } + let(:build) { create(:ci_build, author: user, started_at: 2.hours.ago, finished_at: 1.hour.ago) } subject { entity.as_json } @@ -23,5 +23,13 @@ describe AnalyticsBuildEntity do expect(subject).not_to include(/token/) expect(subject).not_to include(/variables/) end + + it 'contains the right started at' do + expect(subject[:date]).to eq('about 2 hours ago') + end + + it 'contains the duration' do + expect(subject[:total_time]).to eq(hours: 1 ) + end end end |