Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/models/merge_request_spec.rb')
-rw-r--r--spec/models/merge_request_spec.rb127
1 files changed, 0 insertions, 127 deletions
diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb
deleted file mode 100644
index d40503d791c..00000000000
--- a/spec/models/merge_request_spec.rb
+++ /dev/null
@@ -1,127 +0,0 @@
-# == Schema Information
-#
-# Table name: merge_requests
-#
-# id :integer not null, primary key
-# target_branch :string(255) not null
-# source_branch :string(255) not null
-# source_project_id :integer not null
-# author_id :integer
-# assignee_id :integer
-# title :string(255)
-# created_at :datetime
-# updated_at :datetime
-# milestone_id :integer
-# state :string(255)
-# merge_status :string(255)
-# target_project_id :integer not null
-# iid :integer
-# description :text
-# position :integer default(0)
-# locked_at :datetime
-#
-
-require 'spec_helper'
-
-describe MergeRequest do
- describe "Validation" do
- it { is_expected.to validate_presence_of(:target_branch) }
- it { is_expected.to validate_presence_of(:source_branch) }
- end
-
- describe "Mass assignment" do
- end
-
- describe "Respond to" do
- it { is_expected.to respond_to(:unchecked?) }
- it { is_expected.to respond_to(:can_be_merged?) }
- it { is_expected.to respond_to(:cannot_be_merged?) }
- end
-
- describe 'modules' do
- it { is_expected.to include_module(Issuable) }
- end
-
- describe "#mr_and_commit_notes" do
- let!(:merge_request) { create(:merge_request) }
-
- before do
- allow(merge_request).to receive(:commits) { [merge_request.source_project.repository.commit] }
- create(:note, commit_id: merge_request.commits.first.id, noteable_type: 'Commit', project: merge_request.project)
- create(:note, noteable: merge_request, project: merge_request.project)
- end
-
- it "should include notes for commits" do
- expect(merge_request.commits).not_to be_empty
- expect(merge_request.mr_and_commit_notes.count).to eq(2)
- end
- end
-
- subject { create(:merge_request) }
-
- describe '#is_being_reassigned?' do
- it 'returns true if the merge_request assignee has changed' do
- subject.assignee = create(:user)
- expect(subject.is_being_reassigned?).to be_truthy
- end
- it 'returns false if the merge request assignee has not changed' do
- expect(subject.is_being_reassigned?).to be_falsey
- end
- end
-
- describe '#for_fork?' do
- it 'returns true if the merge request is for a fork' do
- subject.source_project = create(:project, namespace: create(:group))
- subject.target_project = create(:project, namespace: create(:group))
-
- expect(subject.for_fork?).to be_truthy
- end
-
- it 'returns false if is not for a fork' do
- expect(subject.for_fork?).to be_falsey
- end
- end
-
- describe 'detection of issues to be closed' do
- let(:issue0) { create :issue, project: subject.project }
- let(:issue1) { create :issue, project: subject.project }
- let(:commit0) { double('commit0', closes_issues: [issue0]) }
- let(:commit1) { double('commit1', closes_issues: [issue0]) }
- let(:commit2) { double('commit2', closes_issues: [issue1]) }
-
- before do
- subject.stub(commits: [commit0, commit1, commit2])
- end
-
- it 'accesses the set of issues that will be closed on acceptance' do
- subject.project.stub(default_branch: subject.target_branch)
-
- expect(subject.closes_issues).to eq([issue0, issue1].sort_by(&:id))
- end
-
- it 'only lists issues as to be closed if it targets the default branch' do
- subject.project.stub(default_branch: 'master')
- subject.target_branch = 'something-else'
-
- expect(subject.closes_issues).to be_empty
- end
-
- it 'detects issues mentioned in the description' do
- issue2 = create(:issue, project: subject.project)
- subject.description = "Closes ##{issue2.iid}"
- subject.project.stub(default_branch: subject.target_branch)
-
- expect(subject.closes_issues).to include(issue2)
- end
- end
-
- it_behaves_like 'an editable mentionable' do
- let(:subject) { create :merge_request, source_project: mproject, target_project: mproject }
- let(:backref_text) { "merge request !#{subject.iid}" }
- let(:set_mentionable_text) { ->(txt){ subject.title = txt } }
- end
-
- it_behaves_like 'a Taskable' do
- let(:subject) { create :merge_request, :simple }
- end
-end