diff options
author | Shinya Maeda <shinya@gitlab.com> | 2018-12-03 15:46:45 +0900 |
---|---|---|
committer | Shinya Maeda <shinya@gitlab.com> | 2018-12-03 15:47:09 +0900 |
commit | 4bd00e5378736231225394f80b87b7f89077cb76 (patch) | |
tree | 72929630dceb9651c2c51afdffb5d60f2e6ff3dc /spec/models/environment_status_spec.rb | |
parent | a445aa0a9267f191fab1c46d438b42fbec549da5 (diff) | |
download | gitlab-ce-4bd00e5378736231225394f80b87b7f89077cb76.tar.gz |
Squashed commit of the following:
commit 04b06a2293fa12660a9c213a9db27fe90b83248b
Merge: d580841d4ed a445aa0a926
Author: Shinya Maeda <shinya@gitlab.com>
Date: Mon Dec 3 10:51:55 2018 +0900
Merge branch 'master-ce' into fix-mr-widget-unrelated-deployment-status
commit d580841d4ed944f01e6417fa77842826843b6a04
Author: Shinya Maeda <shinya@gitlab.com>
Date: Fri Nov 30 18:11:04 2018 +0900
Add environment to all_models.yml
commit 689fbe2699a3adf10804312e680fa336e4560eaf
Author: Shinya Maeda <shinya@gitlab.com>
Date: Fri Nov 30 17:00:35 2018 +0900
Proper way to get uniq relationship
commit c0733c6ecd535a6a1b6243080a2226836890f479
Author: Shinya Maeda <shinya@gitlab.com>
Date: Fri Nov 30 16:20:40 2018 +0900
Revert build change
commit 19dc55a8fe6e0fa575858d51144516b7fb0120de
Author: Shinya Maeda <shinya@gitlab.com>
Date: Fri Nov 30 16:19:18 2018 +0900
Add uniq option
commit 0a6995f311c09b453fd0aecff2f6052de38efc27
Author: Shinya Maeda <shinya@gitlab.com>
Date: Fri Nov 30 16:14:30 2018 +0900
Drop persisted_environment
commit 3f68fc783b0ee0d66e03de6d979616c4c4892118
Author: Shinya Maeda <shinya@gitlab.com>
Date: Wed Nov 28 13:59:04 2018 +0900
Return empty array if pipeline is nil
commit 73801c5c3d06339e38dce7461a71285bcdbb8f45
Author: Shinya Maeda <shinya@gitlab.com>
Date: Tue Nov 27 16:34:47 2018 +0900
Add changelog
commit d461699abf2835cc51949a5138e829628209dd6d
Author: Shinya Maeda <shinya@gitlab.com>
Date: Tue Nov 27 16:32:20 2018 +0900
Squashed commit of the following:
commit 77ab5259605e217a39b04d2cea6204277e42d2b5
Merge: 7ac1ed50612 2ee8c40fc16
Author: Shinya Maeda <shinya@gitlab.com>
Date: Tue Nov 27 16:31:07 2018 +0900
Merge branch 'master-ce' into fix-mr-widget-unrelated-deployment-status
commit 7ac1ed50612620df6408220b0a7cfcb626a04c48
Merge: 49ba5c5aeff b55aeca25e7
Author: Shinya Maeda <shinya@gitlab.com>
Date: Mon Nov 26 20:01:43 2018 +0900
Merge branch 'master-ce' into fix-mr-widget-unrelated-deployment-status
commit 49ba5c5aeff3efee7b7498d443372021c3f4f8b5
Merge: aa3fd0ff9e8 fbbe5ccd1be
Author: Shinya Maeda <shinya@gitlab.com>
Date: Mon Nov 26 15:27:36 2018 +0900
Merge branch 'master-ce' into fix-mr-widget-unrelated-deployment-status
commit aa3fd0ff9e8a418a233ebaa60b38c081cab50099
Author: Shinya Maeda <shinya@gitlab.com>
Date: Tue Nov 20 18:28:53 2018 +0900
Fix static analysis
commit 7afe5f37003869a73dbb297229f8533f78b82684
Merge: e65b9580ff4 8a581d531ba
Author: Shinya Maeda <shinya@gitlab.com>
Date: Tue Nov 20 18:27:33 2018 +0900
Merge branch 'master-ce' into fix-mr-widget-unrelated-deployment-status
commit e65b9580ff422359113e1a4e37c212f7b13aba4d
Author: Shinya Maeda <shinya@gitlab.com>
Date: Mon Nov 19 17:59:48 2018 +0900
Ignore deployments from project import/export
commit 9eb4ddab8415c1ef61a3c646bdc4602bcf4ebe24
Author: Shinya Maeda <shinya@gitlab.com>
Date: Mon Nov 19 16:26:00 2018 +0900
Add memoization
commit 57f0bea3aaaa07b75d18e52068c532277350cda0
Author: Shinya Maeda <shinya@gitlab.com>
Date: Mon Nov 19 16:21:39 2018 +0900
Fix unrelated deployment status in MR widget
Diffstat (limited to 'spec/models/environment_status_spec.rb')
-rw-r--r-- | spec/models/environment_status_spec.rb | 39 |
1 files changed, 34 insertions, 5 deletions
diff --git a/spec/models/environment_status_spec.rb b/spec/models/environment_status_spec.rb index 90f7e4a4590..9da16dea929 100644 --- a/spec/models/environment_status_spec.rb +++ b/spec/models/environment_status_spec.rb @@ -92,16 +92,12 @@ describe EnvironmentStatus do end describe '.build_environments_status' do - subject { described_class.send(:build_environments_status, merge_request, user, sha) } + subject { described_class.send(:build_environments_status, merge_request, user, pipeline) } let!(:build) { create(:ci_build, :deploy_to_production, pipeline: pipeline) } let(:environment) { build.deployment.environment } let(:user) { project.owner } - before do - build.deployment&.update!(sha: sha) - end - context 'when environment is created on a forked project' do let(:project) { create(:project, :repository) } let(:forked) { fork_project(project, user, repository: true) } @@ -160,6 +156,39 @@ describe EnvironmentStatus do expect(subject.count).to eq(0) end end + + context 'when multiple deployments with the same SHA in different environments' do + let(:pipeline2) { create(:ci_pipeline, sha: sha, project: project) } + let!(:build2) { create(:ci_build, :start_review_app, pipeline: pipeline2) } + + it 'returns deployments related to the head pipeline' do + expect(subject.count).to eq(1) + expect(subject[0].environment).to eq(environment) + expect(subject[0].merge_request).to eq(merge_request) + expect(subject[0].sha).to eq(sha) + end + end + + context 'when multiple deployments in the same pipeline for the same environments' do + let!(:build2) { create(:ci_build, :deploy_to_production, pipeline: pipeline) } + + it 'returns unique entries' do + expect(subject.count).to eq(1) + expect(subject[0].environment).to eq(environment) + expect(subject[0].merge_request).to eq(merge_request) + expect(subject[0].sha).to eq(sha) + end + end + + context 'when environment is stopped' do + before do + environment.stop! + end + + it 'does not return environment status' do + expect(subject.count).to eq(0) + end + end end end end |