diff options
Diffstat (limited to 'spec/models/merge_request_spec.rb')
-rw-r--r-- | spec/models/merge_request_spec.rb | 127 |
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 |