Skip to content
Snippets Groups Projects
Unverified Commit b9b2897b authored by Douglas Barbosa Alexandre's avatar Douglas Barbosa Alexandre
Browse files

Always return the deployment in the execute method

parent 9edb5d47
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -27,6 +27,8 @@ def execute
 
deployment.tap(&:update_merge_request_metrics!)
end
deployment
end
 
private
Loading
Loading
Loading
Loading
@@ -2,6 +2,7 @@
 
describe UpdateDeploymentService do
let(:user) { create(:user) }
let(:project) { create(:project, :repository) }
let(:options) { { name: 'production' } }
 
let(:job) do
Loading
Loading
@@ -13,24 +14,22 @@
project: project)
end
 
let(:project) { create(:project, :repository) }
let(:environment) { deployment.environment }
let(:deployment) { job.deployment }
let(:service) { described_class.new(deployment) }
let(:environment) { deployment.environment }
subject(:service) { described_class.new(deployment) }
 
before do
job.success! # Create/Succeed deployment
end
 
describe '#execute' do
subject { service.execute }
let(:store) { Gitlab::EtagCaching::Store.new }
 
it 'invalidates the environment etag cache' do
old_value = store.get(environment.etag_cache_key)
 
subject
service.execute
 
expect(store.get(environment.etag_cache_key)).not_to eq(old_value)
end
Loading
Loading
@@ -40,14 +39,30 @@
.to receive(:create_ref)
.with(deployment.ref, deployment.send(:ref_path))
 
subject
service.execute
end
 
it 'updates merge request metrics' do
expect_any_instance_of(Deployment)
.to receive(:update_merge_request_metrics!)
 
subject
service.execute
end
it 'returns the deployment' do
expect(subject.execute).to eq(deployment)
end
it 'returns the deployment when could not save the environment' do
allow(environment).to receive(:save).and_return(false)
expect(subject.execute).to eq(deployment)
end
it 'returns the deployment when environment is stopped' do
allow(environment).to receive(:stopped?).and_return(true)
expect(subject.execute).to eq(deployment)
end
 
context 'when start action is defined' do
Loading
Loading
@@ -59,7 +74,7 @@
end
 
it 'makes environment available' do
subject
service.execute
 
expect(environment.reload).to be_available
end
Loading
Loading
@@ -78,11 +93,11 @@
end
 
it 'does not create a new environment' do
expect { subject }.not_to change { Environment.count }
expect { subject.execute }.not_to change { Environment.count }
end
 
it 'updates external url' do
subject
subject.execute
 
expect(subject.environment.name).to eq('review-apps/master')
expect(subject.environment.external_url).to eq('http://master.review-apps.gitlab.com')
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment