diff options
author | Dosuken shinya <gitlab.shinyamaeda@gmail.com> | 2017-05-03 15:23:20 +0000 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2017-05-03 15:23:20 +0000 |
commit | 2fbcaaafcd40a2d0752cd2d40ba6abd15f702bf9 (patch) | |
tree | 100e26e320985bc44abab7761b1ce9e7c45bde7e /spec/models/ci | |
parent | b4176bbaaf94c66f680dac8c21460a2f80b224b2 (diff) | |
download | gitlab-ce-2fbcaaafcd40a2d0752cd2d40ba6abd15f702bf9.tar.gz |
Fix lazy error handling of cron parser
Diffstat (limited to 'spec/models/ci')
-rw-r--r-- | spec/models/ci/trigger_schedule_spec.rb | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/spec/models/ci/trigger_schedule_spec.rb b/spec/models/ci/trigger_schedule_spec.rb index 75d21541cee..92447564d7c 100644 --- a/spec/models/ci/trigger_schedule_spec.rb +++ b/spec/models/ci/trigger_schedule_spec.rb @@ -73,4 +73,36 @@ describe Ci::TriggerSchedule, models: true do end end end + + describe '#real_next_run' do + subject do + Ci::TriggerSchedule.last.real_next_run(worker_cron: worker_cron, + worker_time_zone: worker_time_zone) + end + + context 'when GitLab time_zone is UTC' do + before do + allow(Time).to receive(:zone) + .and_return(ActiveSupport::TimeZone[worker_time_zone]) + end + + let(:worker_time_zone) { 'UTC' } + + context 'when cron_timezone is Eastern Time (US & Canada)' do + before do + create(:ci_trigger_schedule, :nightly, + cron_timezone: 'Eastern Time (US & Canada)') + end + + let(:worker_cron) { '0 1 2 3 *' } + + it 'returns the next time worker executes' do + expect(subject.min).to eq(0) + expect(subject.hour).to eq(1) + expect(subject.day).to eq(2) + expect(subject.month).to eq(3) + end + end + end + end end |