Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShinya Maeda <gitlab.shinyamaeda@gmail.com>2017-03-31 13:08:39 +0300
committerShinya Maeda <gitlab.shinyamaeda@gmail.com>2017-04-06 17:46:58 +0300
commitd65c816ed78910eabd7ecbc9282e85d6b6f21796 (patch)
tree2b9bd6642ec62484b783f5b6c38c1471c7a3b405 /spec/models/ci
parent9573bb44bc94261814dbdbb384b9ad7acf2907ff (diff)
Brush up
Diffstat (limited to 'spec/models/ci')
-rw-r--r--spec/models/ci/trigger_schedule_spec.rb31
1 files changed, 19 insertions, 12 deletions
diff --git a/spec/models/ci/trigger_schedule_spec.rb b/spec/models/ci/trigger_schedule_spec.rb
index 11e8083fc86..d47ab529bc0 100644
--- a/spec/models/ci/trigger_schedule_spec.rb
+++ b/spec/models/ci/trigger_schedule_spec.rb
@@ -1,9 +1,6 @@
require 'spec_helper'
describe Ci::TriggerSchedule, models: true do
- let(:user) { create(:user) }
- let(:project) { create(:project) }
- let(:trigger) { create(:ci_trigger, owner: user, project: project, ref: 'master') }
it { is_expected.to belong_to(:project) }
it { is_expected.to belong_to(:trigger) }
@@ -11,17 +8,27 @@ describe Ci::TriggerSchedule, models: true do
# it { is_expected.to validate_presence_of :cron_time_zone }
it { is_expected.to respond_to :ref }
- # describe '#schedule_next_run!' do
- # let(:trigger_schedule) { create(:ci_trigger_schedule, :cron_nightly_build, next_run_at: nil, trigger: trigger) }
+ it 'should validate less_than_1_hour_from_now' do
+ trigger_schedule = create(:ci_trigger_schedule, :cron_nightly_build)
+ trigger_schedule.cron = '* * * * *'
+ trigger_schedule.valid?
+ expect(trigger_schedule.errors[:cron].first).to include('can not be less than 1 hour')
+ end
+
+ describe '#schedule_next_run!' do
+ context 'when more_than_1_hour_from_now' do
+ let(:trigger_schedule) { create(:ci_trigger_schedule, :cron_nightly_build) }
- # before do
- # trigger_schedule.schedule_next_run!
- # end
+ before do
+ trigger_schedule.schedule_next_run!
+ end
- # it 'updates next_run_at' do
- # expect(Ci::TriggerSchedule.last.next_run_at).not_to be_nil
- # end
- # end
+ it 'updates next_run_at' do
+ next_time = Ci::CronParser.new(trigger_schedule.cron, trigger_schedule.cron_time_zone).next_time_from(Time.now)
+ expect(Ci::TriggerSchedule.last.next_run_at).to eq(next_time)
+ end
+ end
+ end
describe '#real_next_run' do
subject { trigger_schedule.real_next_run(worker_cron: worker_cron, worker_time_zone: worker_time_zone) }