diff options
author | Shinya Maeda <gitlab.shinyamaeda@gmail.com> | 2017-03-31 19:08:39 +0900 |
---|---|---|
committer | Shinya Maeda <gitlab.shinyamaeda@gmail.com> | 2017-04-06 23:46:58 +0900 |
commit | d65c816ed78910eabd7ecbc9282e85d6b6f21796 (patch) | |
tree | 2b9bd6642ec62484b783f5b6c38c1471c7a3b405 /spec/workers | |
parent | 9573bb44bc94261814dbdbb384b9ad7acf2907ff (diff) | |
download | gitlab-ce-d65c816ed78910eabd7ecbc9282e85d6b6f21796.tar.gz |
Brush up
Diffstat (limited to 'spec/workers')
-rw-r--r-- | spec/workers/trigger_schedule_worker_spec.rb | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/spec/workers/trigger_schedule_worker_spec.rb b/spec/workers/trigger_schedule_worker_spec.rb index 2cf51a31c71..f0c7eeaedae 100644 --- a/spec/workers/trigger_schedule_worker_spec.rb +++ b/spec/workers/trigger_schedule_worker_spec.rb @@ -8,38 +8,36 @@ describe TriggerScheduleWorker do end context 'when there is a scheduled trigger within next_run_at' do - let(:user) { create(:user) } - let(:project) { create(:project) } - let(:trigger) { create(:ci_trigger, owner: user, project: project, ref: 'master') } - let!(:trigger_schedule) { create(:ci_trigger_schedule, :cron_nightly_build, :force_triggable, trigger: trigger, project: project) } + let!(:trigger_schedule) { create(:ci_trigger_schedule, :cron_nightly_build, :force_triggable) } before do worker.perform end it 'creates a new trigger request' do - expect(Ci::TriggerRequest.first.trigger_id).to eq(trigger.id) + expect(trigger_schedule.trigger.id).to eq(Ci::TriggerRequest.first.trigger_id) end it 'creates a new pipeline' do expect(Ci::Pipeline.last.status).to eq('pending') end - it 'schedules next_run_at' do - next_time = Ci::CronParser.new('0 1 * * *', 'Europe/Istanbul').next_time_from_now + 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 - context 'when there are no scheduled triggers within next_run_at' do - let!(:trigger_schedule) { create(:ci_trigger_schedule, :cron_nightly_build) } + context 'when there is a scheduled trigger within next_run_at and a runnign pipeline' do + let!(:trigger_schedule) { create(:ci_trigger_schedule, :cron_nightly_build, :force_triggable) } before do + create(:ci_pipeline, project: trigger_schedule.project, ref: trigger_schedule.ref, status: 'running') worker.perform end it 'do not create a new pipeline' do - expect(Ci::Pipeline.all).to be_empty + expect(Ci::Pipeline.count).to eq(1) end it 'do not reschedule next_run_at' do @@ -47,15 +45,15 @@ describe TriggerScheduleWorker do end end - context 'when next_run_at is nil' do - let!(:trigger_schedule) { create(:ci_trigger_schedule, :cron_nightly_build, next_run_at: nil) } + context 'when there are no scheduled triggers within next_run_at' do + let!(:trigger_schedule) { create(:ci_trigger_schedule, :cron_nightly_build) } before do worker.perform end it 'do not create a new pipeline' do - expect(Ci::Pipeline.all).to be_empty + expect(Ci::Pipeline.count).to eq(0) end it 'do not reschedule next_run_at' do |