diff options
Diffstat (limited to 'spec/models/environment_spec.rb')
-rw-r--r-- | spec/models/environment_spec.rb | 44 |
1 files changed, 30 insertions, 14 deletions
diff --git a/spec/models/environment_spec.rb b/spec/models/environment_spec.rb index ac814c85c3c..55ec1bc9e90 100644 --- a/spec/models/environment_spec.rb +++ b/spec/models/environment_spec.rb @@ -59,14 +59,22 @@ describe Environment do let(:environment) { create(:environment) } let(:sha) { RepoHelpers.sample_commit.id } - context 'when deployment has the specified sha' do - let!(:deployment) { create(:deployment, environment: environment, sha: sha) } + context 'when deployment starts environment' do + context 'when deployment has the specified sha' do + let!(:deployment) { create(:deployment, :start, environment: environment, sha: sha) } - it { is_expected.to eq([environment]) } + it { is_expected.to eq([environment]) } + end + + context 'when deployment does not have the specified sha' do + let!(:deployment) { create(:deployment, :start, environment: environment, sha: 'abc') } + + it { is_expected.to be_empty } + end end - context 'when deployment does not have the specified sha' do - let!(:deployment) { create(:deployment, environment: environment, sha: 'abc') } + context 'when deployment stops environment' do + let!(:deployment) { create(:deployment, :stop, environment: environment) } it { is_expected.to be_empty } end @@ -77,20 +85,28 @@ describe Environment do let(:environment) { create(:environment) } - context 'when the latest deployment is successful' do - let!(:deployment) { create(:deployment, :success, environment: environment) } + context 'when the latest deployment is for starting an environment' do + context 'when the latest deployment is successful' do + let!(:deployment) { create(:deployment, :start, :success, environment: environment) } - it { expect(subject).to be_within(1.second).of(deployment.finished_at) } - end + it { expect(subject).to be_within(1.second).of(deployment.finished_at) } + end - context 'when the latest deployment failed' do - let!(:deployment) { create(:deployment, :failed, environment: environment) } + context 'when the latest deployment failed' do + let!(:deployment) { create(:deployment, :start, :failed, environment: environment) } - it { is_expected.to be_nil } + it { is_expected.to be_nil } + end + + context 'when the latest deployment is running' do + let!(:deployment) { create(:deployment, :start, :running, environment: environment) } + + it { is_expected.to be_nil } + end end - context 'when the latest deployment is running' do - let!(:deployment) { create(:deployment, :running, environment: environment) } + context 'when the latest deployment is for stopping environment' do + let!(:deployment) { create(:deployment, :stop, :success, environment: environment) } it { is_expected.to be_nil } end |