Rename ambiguous association names in Ci::Pipeline
fix it ok Fix head pipeline
This commit is contained in:
parent
7b4130d0f7
commit
18889696bd
5 changed files with 8 additions and 8 deletions
|
@ -15,7 +15,7 @@ module Emails
|
|||
def pipeline_mail(pipeline, recipients, status)
|
||||
@project = pipeline.project
|
||||
@pipeline = pipeline
|
||||
@merge_request = pipeline.merge_requests.first
|
||||
@merge_request = pipeline.merge_requests_as_head_pipeline.first
|
||||
add_headers
|
||||
|
||||
# We use bcc here because we don't want to generate this emails for a
|
||||
|
|
|
@ -39,7 +39,7 @@ module Ci
|
|||
|
||||
# Merge requests for which the current pipeline is running against
|
||||
# the merge request's latest commit.
|
||||
has_many :merge_requests, foreign_key: "head_pipeline_id"
|
||||
has_many :merge_requests_as_head_pipeline, foreign_key: "head_pipeline_id", class_name: 'MergeRequest'
|
||||
|
||||
has_many :pending_builds, -> { pending }, foreign_key: :commit_id, class_name: 'Ci::Build'
|
||||
has_many :retryable_builds, -> { latest.failed_or_canceled.includes(:project) }, foreign_key: :commit_id, class_name: 'Ci::Build'
|
||||
|
|
|
@ -30,6 +30,6 @@ class PipelineMetricsWorker
|
|||
# rubocop: enable CodeReuse/ActiveRecord
|
||||
|
||||
def merge_requests(pipeline)
|
||||
pipeline.merge_requests.map(&:id)
|
||||
pipeline.merge_requests_as_head_pipeline.map(&:id)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -127,7 +127,7 @@ ci_pipelines:
|
|||
- scheduled_actions
|
||||
- artifacts
|
||||
- pipeline_schedule
|
||||
- merge_requests
|
||||
- merge_requests_as_head_pipeline
|
||||
- merge_request
|
||||
- deployments
|
||||
- environments
|
||||
|
|
|
@ -2252,7 +2252,7 @@ describe Ci::Pipeline, :mailer do
|
|||
end
|
||||
end
|
||||
|
||||
describe "#merge_requests" do
|
||||
describe "#merge_requests_as_head_pipeline" do
|
||||
let(:project) { create(:project) }
|
||||
let(:pipeline) { create(:ci_empty_pipeline, status: 'created', project: project, ref: 'master', sha: 'a288a022a53a5a944fae87bcec6efc87b7061808') }
|
||||
|
||||
|
@ -2260,20 +2260,20 @@ describe Ci::Pipeline, :mailer do
|
|||
allow_any_instance_of(MergeRequest).to receive(:diff_head_sha) { 'a288a022a53a5a944fae87bcec6efc87b7061808' }
|
||||
merge_request = create(:merge_request, source_project: project, head_pipeline: pipeline, source_branch: pipeline.ref)
|
||||
|
||||
expect(pipeline.merge_requests).to eq([merge_request])
|
||||
expect(pipeline.merge_requests_as_head_pipeline).to eq([merge_request])
|
||||
end
|
||||
|
||||
it "doesn't return merge requests whose source branch doesn't match the pipeline's ref" do
|
||||
create(:merge_request, source_project: project, source_branch: 'feature', target_branch: 'master')
|
||||
|
||||
expect(pipeline.merge_requests).to be_empty
|
||||
expect(pipeline.merge_requests_as_head_pipeline).to be_empty
|
||||
end
|
||||
|
||||
it "doesn't return merge requests whose `diff_head_sha` doesn't match the pipeline's SHA" do
|
||||
create(:merge_request, source_project: project, source_branch: pipeline.ref)
|
||||
allow_any_instance_of(MergeRequest).to receive(:diff_head_sha) { '97de212e80737a608d939f648d959671fb0a0142b' }
|
||||
|
||||
expect(pipeline.merge_requests).to be_empty
|
||||
expect(pipeline.merge_requests_as_head_pipeline).to be_empty
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in a new issue