summaryrefslogtreecommitdiff
path: root/spec/workers
diff options
context:
space:
mode:
authorShinya Maeda <gitlab.shinyamaeda@gmail.com>2017-03-31 19:08:39 +0900
committerShinya Maeda <gitlab.shinyamaeda@gmail.com>2017-04-06 23:46:58 +0900
commitd65c816ed78910eabd7ecbc9282e85d6b6f21796 (patch)
tree2b9bd6642ec62484b783f5b6c38c1471c7a3b405 /spec/workers
parent9573bb44bc94261814dbdbb384b9ad7acf2907ff (diff)
downloadgitlab-ce-d65c816ed78910eabd7ecbc9282e85d6b6f21796.tar.gz
Brush up
Diffstat (limited to 'spec/workers')
-rw-r--r--spec/workers/trigger_schedule_worker_spec.rb24
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