diff options
author | Katarzyna Kobierska <kkobierska@gmail.com> | 2016-09-05 13:42:35 +0200 |
---|---|---|
committer | Katarzyna Kobierska <kkobierska@gmail.com> | 2016-09-13 14:40:05 +0200 |
commit | 81da7f137807a9f8c35b6c96b6034975558ddf97 (patch) | |
tree | 6c2c67a840c2dded05dc31db025beac5549a83eb /spec | |
parent | 31c37c6c38258684fc92e0d91119c33872e39034 (diff) | |
download | gitlab-ce-81da7f137807a9f8c35b6c96b6034975558ddf97.tar.gz |
Add test checking method closed_without_source_project
Diffstat (limited to 'spec')
-rw-r--r-- | spec/models/merge_request_spec.rb | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb index 5bf3b8e609e..e223d51aa6a 100644 --- a/spec/models/merge_request_spec.rb +++ b/spec/models/merge_request_spec.rb @@ -1038,4 +1038,42 @@ describe MergeRequest, models: true do end end end + + describe "#closed_without_source_project?" do + let(:project) { create(:project) } + let(:fork_project) { create(:project, forked_from_project: project) } + let(:user) { create(:user) } + let(:destroy_project) { Projects::DestroyService.new(fork_project, user, {}) } + + context "when the merge request is closed" do + let(:closed_merge_request) do + create(:closed_merge_request, + source_project: fork_project, + target_project: project) + end + + it "returns false if the source project exist" do + expect(closed_merge_request.closed_without_source_project?).to be_falsey + end + + it "returns true if the source project does not exist" do + destroy_project.async_execute + closed_merge_request.reload + + expect(closed_merge_request.closed_without_source_project?).to be_truthy + end + end + + context "when the merge request is open" do + let(:open_merge_request) do + create(:merge_request, + source_project: fork_project, + target_project: project) + end + + it "returns false" do + expect(open_merge_request.closed_without_source_project?).to be_falsey + end + end + end end |