gitlab-org--gitlab-foss/spec/services/ci/stop_environment_service_sp...

36 lines
1.0 KiB
Ruby
Raw Normal View History

2016-11-08 13:20:58 +00:00
require 'spec_helper'
describe Ci::StopEnvironmentService, services: true do
let(:project) { create(:project) }
let(:user) { create(:user) }
let(:service) { described_class.new(project, user) }
describe '#execute' do
context 'when environment exists' do
let(:environment) { create(:environment, project: project) }
let(:deployable) { create(:ci_build) }
let(:stop_build) do
create(:ci_build, :manual, name: 'environment/teardown',
pipeline: deployable.pipeline)
end
before do
create(:deployment, environment: environment,
deployable: deployable,
on_stop: stop_build.name,
user: user,
project: project,
sha: project.commit.id)
end
it 'stops environment' do
expect_any_instance_of(Environment).to receive(:stop!)
service.execute('master')
end
end
end
end