Commit 7d97a22e authored by Lin Jen-Shin's avatar Lin Jen-Shin

Just show the first merge request we found, feedback:

https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/6019#note_16963209
parent dc1d269f
......@@ -13,7 +13,7 @@ module Emails
def pipeline_mail(pipeline, to, status)
@project = pipeline.project
@pipeline = pipeline
@merge_request = pipeline.merge_requests_with_active_first.first
@merge_request = pipeline.merge_requests.first
add_headers
mail(to: to, subject: pipeline_subject(status), skip_premailer: true) do |format|
......
......@@ -302,12 +302,6 @@ module Ci
.select { |merge_request| merge_request.pipeline.try(:id) == self.id }
end
def merge_requests_with_active_first
merge_requests.sort_by do |merge_request|
[merge_request.state_priority, -merge_request.updated_at.to_i]
end
end
private
def pipeline_data
......
......@@ -169,10 +169,6 @@ class MergeRequest < ActiveRecord::Base
work_in_progress?(title) ? title : "WIP: #{title}"
end
def state_priority
%w[opened reopened closed merged locked].index(state)
end
def to_reference(from_project = nil)
reference = "#{self.class.reference_prefix}#{iid}"
......
......@@ -523,35 +523,4 @@ describe Ci::Pipeline, models: true do
expect(pipeline.merge_requests).to be_empty
end
end
describe '#merge_requests_with_active_first' do
let(:project) { create(:project) }
let(:pipeline) do
create(:ci_empty_pipeline,
status: 'created',
project: project,
ref: 'master',
sha: project.repository.commit('master').sha)
end
let!(:merge_requests) do
[create_merge_request(:merged, Time.at(0)),
create_merge_request(:merged, Time.at(9)),
create_merge_request(:opened, Time.at(0))]
end
it 'returns opened/recent merge requests first, then closed ones' do
expect(pipeline.merge_requests_with_active_first).
to eq(merge_requests.reverse)
end
def create_merge_request(state, updated_at)
create(:merge_request,
source_project: project,
source_branch: pipeline.ref,
state: state,
updated_at: updated_at)
end
end
end
......@@ -58,14 +58,6 @@ describe MergeRequest, models: true do
it { is_expected.to respond_to(:merge_when_build_succeeds) }
end
describe '#state_priority' do
it 'returns the priority of state' do
%w[opened reopened closed merged locked].each.with_index do |state, idx|
expect(MergeRequest.new(state: state).state_priority).to eq(idx)
end
end
end
describe '.in_projects' do
it 'returns the merge requests for a set of projects' do
expect(described_class.in_projects(Project.all)).to eq([subject])
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment