summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzegorz@gitlab.com>2018-03-07 08:17:35 +0000
committerGrzegorz Bizon <grzegorz@gitlab.com>2018-03-07 08:17:35 +0000
commit95016507d49c3099afde0ef3909377bf70061dc3 (patch)
treec4a07f08e40711db24d54b55f357d6128f051578
parent0649a1f8359930b84d7295272b1f8e32c32c0d2c (diff)
parent44177cea3811b450ae65a9dbeb51dac9d0ef5253 (diff)
downloadgitlab-ce-95016507d49c3099afde0ef3909377bf70061dc3.tar.gz
Merge branch 'master' into 'master'
CI charts now include the current day Closes #42921 See merge request gitlab-org/gitlab-ce!17032
-rw-r--r--changelogs/unreleased/42921-ci-charts-include-current-day.yml5
-rw-r--r--lib/gitlab/ci/charts.rb15
-rw-r--r--spec/lib/gitlab/ci/charts_spec.rb45
3 files changed, 59 insertions, 6 deletions
diff --git a/changelogs/unreleased/42921-ci-charts-include-current-day.yml b/changelogs/unreleased/42921-ci-charts-include-current-day.yml
new file mode 100644
index 00000000000..d0de6665735
--- /dev/null
+++ b/changelogs/unreleased/42921-ci-charts-include-current-day.yml
@@ -0,0 +1,5 @@
+---
+title: CI charts now include the current day
+merge_request: 17032
+author: Dakkaron
+type: changed
diff --git a/lib/gitlab/ci/charts.rb b/lib/gitlab/ci/charts.rb
index 525563a97f5..46ed330dbbf 100644
--- a/lib/gitlab/ci/charts.rb
+++ b/lib/gitlab/ci/charts.rb
@@ -68,10 +68,11 @@ module Gitlab
class YearChart < Chart
include MonthlyInterval
+ attr_reader :to, :from
def initialize(*)
- @to = Date.today.end_of_month
- @from = @to.years_ago(1).beginning_of_month
+ @to = Date.today.end_of_month.end_of_day
+ @from = @to.years_ago(1).beginning_of_month.beginning_of_day
@format = '%d %B %Y'
super
@@ -80,10 +81,11 @@ module Gitlab
class MonthChart < Chart
include DailyInterval
+ attr_reader :to, :from
def initialize(*)
- @to = Date.today
- @from = @to - 30.days
+ @to = Date.today.end_of_day
+ @from = 1.month.ago.beginning_of_day
@format = '%d %B'
super
@@ -92,10 +94,11 @@ module Gitlab
class WeekChart < Chart
include DailyInterval
+ attr_reader :to, :from
def initialize(*)
- @to = Date.today
- @from = @to - 7.days
+ @to = Date.today.end_of_day
+ @from = 1.week.ago.beginning_of_day
@format = '%d %B'
super
diff --git a/spec/lib/gitlab/ci/charts_spec.rb b/spec/lib/gitlab/ci/charts_spec.rb
index f8188675013..1668d3bbaac 100644
--- a/spec/lib/gitlab/ci/charts_spec.rb
+++ b/spec/lib/gitlab/ci/charts_spec.rb
@@ -1,6 +1,51 @@
require 'spec_helper'
describe Gitlab::Ci::Charts do
+ context "yearchart" do
+ let(:project) { create(:project) }
+ let(:chart) { Gitlab::Ci::Charts::YearChart.new(project) }
+
+ subject { chart.to }
+
+ it 'goes until the end of the current month (including the whole last day of the month)' do
+ is_expected.to eq(Date.today.end_of_month.end_of_day)
+ end
+
+ it 'starts at the beginning of the current year' do
+ expect(chart.from).to eq(chart.to.years_ago(1).beginning_of_month.beginning_of_day)
+ end
+ end
+
+ context "monthchart" do
+ let(:project) { create(:project) }
+ let(:chart) { Gitlab::Ci::Charts::MonthChart.new(project) }
+
+ subject { chart.to }
+
+ it 'includes the whole current day' do
+ is_expected.to eq(Date.today.end_of_day)
+ end
+
+ it 'starts one month ago' do
+ expect(chart.from).to eq(1.month.ago.beginning_of_day)
+ end
+ end
+
+ context "weekchart" do
+ let(:project) { create(:project) }
+ let(:chart) { Gitlab::Ci::Charts::WeekChart.new(project) }
+
+ subject { chart.to }
+
+ it 'includes the whole current day' do
+ is_expected.to eq(Date.today.end_of_day)
+ end
+
+ it 'starts one week ago' do
+ expect(chart.from).to eq(1.week.ago.beginning_of_day)
+ end
+ end
+
context "pipeline_times" do
let(:project) { create(:project) }
let(:chart) { Gitlab::Ci::Charts::PipelineTime.new(project) }