diff options
author | Jacob Vosmaer <contact@jacobvosmaer.nl> | 2015-10-20 17:12:23 +0200 |
---|---|---|
committer | Jacob Vosmaer <contact@jacobvosmaer.nl> | 2015-10-20 17:12:23 +0200 |
commit | e4008bc415c112db6b2200fb9c79431ad4ffbecc (patch) | |
tree | ecedd7a4db93e1cdcebfed0c9afa194fbee30078 /spec/models/issue_spec.rb | |
parent | a321404fde85fba6b09cbf1a56914f3a2ae555e4 (diff) | |
parent | befff6827a2cf81f6565b99212652a70139aa2b6 (diff) | |
download | gitlab-ce-git-archive-improvements-2.tar.gz |
Merge branch 'master' of https://gitlab.com/gitlab-org/gitlab-ce into git-archive-improvements-2git-archive-improvements-2
Diffstat (limited to 'spec/models/issue_spec.rb')
-rw-r--r-- | spec/models/issue_spec.rb | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/spec/models/issue_spec.rb b/spec/models/issue_spec.rb index 623332cd2f9..c9aa1b063c6 100644 --- a/spec/models/issue_spec.rb +++ b/spec/models/issue_spec.rb @@ -68,6 +68,43 @@ describe Issue do end end + describe '#closed_by_merge_requests' do + let(:project) { create(:project) } + let(:issue) { create(:issue, project: project, state: "opened")} + let(:closed_issue) { build(:issue, project: project, state: "closed")} + + let(:mr) do + opts = { + title: 'Awesome merge_request', + description: "Fixes #{issue.to_reference}", + source_branch: 'feature', + target_branch: 'master' + } + MergeRequests::CreateService.new(project, project.owner, opts).execute + end + + let(:closed_mr) do + opts = { + title: 'Awesome merge_request 2', + description: "Fixes #{issue.to_reference}", + source_branch: 'feature', + target_branch: 'master', + state: 'closed' + } + MergeRequests::CreateService.new(project, project.owner, opts).execute + end + + it 'returns the merge request to close this issue' do + allow(mr).to receive(:closes_issue?).with(issue).and_return(true) + + expect(issue.closed_by_merge_requests).to eq([mr]) + end + + it "returns an empty array when the current issue is closed already" do + expect(closed_issue.closed_by_merge_requests).to eq([]) + end + end + it_behaves_like 'an editable mentionable' do subject { create(:issue) } |