diff options
Diffstat (limited to 'spec/models')
-rw-r--r-- | spec/models/deployment_spec.rb | 32 | ||||
-rw-r--r-- | spec/models/environment_spec.rb | 30 |
2 files changed, 62 insertions, 0 deletions
diff --git a/spec/models/deployment_spec.rb b/spec/models/deployment_spec.rb index ba8aa13d5ad..a9226340d96 100644 --- a/spec/models/deployment_spec.rb +++ b/spec/models/deployment_spec.rb @@ -29,6 +29,38 @@ describe Deployment do end end + describe '#last?' do + let(:environment) { create(:environment) } + let!(:first_deployment) { create(:deployment, environment: environment) } + let!(:middle_deployment) { create(:deployment, environment: environment) } + let!(:last_deployment) { create(:deployment, environment: environment) } + + it 'is true for last deployment ' do + expect(last_deployment.last?).to be(true) + end + + it 'is false for previous deployments' do + expect(middle_deployment.last?).to be(false) + expect(first_deployment.last?).to be(false) + end + end + + describe '#first?' do + let(:environment) { create(:environment) } + let!(:first_deployment) { create(:deployment, environment: environment) } + let!(:second_deployment) { create(:deployment, environment: environment) } + let!(:last_deployment) { create(:deployment, environment: environment) } + + it 'is true for first deployment' do + expect(first_deployment.first?).to be(true) + end + + it 'is false for subsequent deployments' do + expect(second_deployment.first?).to be(false) + expect(last_deployment.first?).to be(false) + end + end + describe '#includes_commit?' do let(:project) { create(:project, :repository) } let(:environment) { create(:environment, project: project) } diff --git a/spec/models/environment_spec.rb b/spec/models/environment_spec.rb index 6f24a039998..191753fa56a 100644 --- a/spec/models/environment_spec.rb +++ b/spec/models/environment_spec.rb @@ -154,6 +154,36 @@ describe Environment do end end + describe '#first_deployment' do + let(:project) { create(:project, :repository) } + let!(:deployment) { create(:deployment, environment: environment) } + let!(:deployment1) { create(:deployment, environment: environment) } + let(:empty_environment) { create(:environment) } + + it 'returns deployment id for the environment' do + expect(environment.first_deployment).to eq(deployment) + end + + it 'return nil when no deployment is found' do + expect(empty_environment.first_deployment).to eq(nil) + end + end + + describe '#last_deployment' do + let(:project) { create(:project, :repository) } + let!(:deployment) { create(:deployment, environment: environment) } + let!(:deployment1) { create(:deployment, environment: environment) } + let(:empty_environment) { create(:environment) } + + it 'returns deployment id for the environment' do + expect(environment.last_deployment).to eq(deployment1) + end + + it 'return nil when no deployment is found' do + expect(empty_environment.last_deployment).to eq(nil) + end + end + describe '#environment_type' do subject { environment.environment_type } |