diff options
author | Rémy Coutable <remy@rymai.me> | 2016-09-16 10:16:21 +0200 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2016-09-16 10:16:21 +0200 |
commit | 73269b587cb3542a99a356984b3803d232d4b161 (patch) | |
tree | 1b8fa0e91007a71322e36983659778655336ebd0 /spec/models/merge_request_spec.rb | |
parent | 1038ef54d0405ae08eb3f413f936197f0775987b (diff) | |
download | gitlab-ce-73269b587cb3542a99a356984b3803d232d4b161.tar.gz |
MergeRequest#environments now returns an empty array when diff_head_commit is nil22246-actionview-template-error-undefined-method-each-for-nil-nilclass
Signed-off-by: Rémy Coutable <remy@rymai.me>
Diffstat (limited to 'spec/models/merge_request_spec.rb')
-rw-r--r-- | spec/models/merge_request_spec.rb | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb index 3b815ded2d3..06feeb1bbba 100644 --- a/spec/models/merge_request_spec.rb +++ b/spec/models/merge_request_spec.rb @@ -703,16 +703,24 @@ describe MergeRequest, models: true do describe "#environments" do let(:project) { create(:project) } - let!(:environment) { create(:environment, project: project) } - let!(:environment1) { create(:environment, project: project) } - let!(:environment2) { create(:environment, project: project) } let(:merge_request) { create(:merge_request, source_project: project) } it 'selects deployed environments' do - create(:deployment, environment: environment, sha: project.commit('master').id) - create(:deployment, environment: environment1, sha: project.commit('feature').id) + environments = create_list(:environment, 3, project: project) + create(:deployment, environment: environments.first, sha: project.commit('master').id) + create(:deployment, environment: environments.second, sha: project.commit('feature').id) - expect(merge_request.environments).to eq [environment] + expect(merge_request.environments).to eq [environments.first] + end + + context 'without a diff_head_commit' do + before do + expect(merge_request).to receive(:diff_head_commit).and_return(nil) + end + + it 'returns an empty array' do + expect(merge_request.environments).to be_empty + end end end |