diff options
Diffstat (limited to 'spec')
-rw-r--r-- | spec/models/concerns/deployable_spec.rb | 8 | ||||
-rw-r--r-- | spec/workers/build_success_worker_spec.rb | 13 |
2 files changed, 21 insertions, 0 deletions
diff --git a/spec/models/concerns/deployable_spec.rb b/spec/models/concerns/deployable_spec.rb index e30e9689717..ac79c75a55e 100644 --- a/spec/models/concerns/deployable_spec.rb +++ b/spec/models/concerns/deployable_spec.rb @@ -24,6 +24,14 @@ describe Deployable do end end + context 'when the deployable object will stop an environment' do + let!(:job) { create(:ci_build, :stop_review_app) } + + it 'does not create a deployment record' do + expect(deployment).to be_nil + end + end + context 'when the deployable object has already had a deployment' do let!(:job) { create(:ci_build, :start_review_app, deployment: race_deployment) } let!(:race_deployment) { create(:deployment, :success) } diff --git a/spec/workers/build_success_worker_spec.rb b/spec/workers/build_success_worker_spec.rb index 8e9b178728e..5eb9709ded9 100644 --- a/spec/workers/build_success_worker_spec.rb +++ b/spec/workers/build_success_worker_spec.rb @@ -47,6 +47,19 @@ describe BuildSuccessWorker do expect(build.reload).not_to be_has_deployment end end + + context 'when the build will stop an environment' do + let!(:build) { create(:ci_build, :stop_review_app, environment: environment.name, project: environment.project) } + let(:environment) { create(:environment, state: :available) } + + it 'stops the environment' do + expect(environment).to be_available + + subject + + expect(environment.reload).to be_stopped + end + end end context 'when build does not exist' do |