Fix test failures
This commit is contained in:
parent
b2f997e405
commit
a29ba51eea
|
@ -23,10 +23,8 @@ class BuildDetailsEntity < BuildEntity
|
|||
end
|
||||
end
|
||||
|
||||
expose :build_failed_options do
|
||||
expose :new_issue_path, if: -> (*) { can?(request.current_user, :create_issue, project) } do |build|
|
||||
new_namespace_project_issue_path(project.namespace, project)
|
||||
end
|
||||
expose :new_issue_path, if: -> (*) { can?(request.current_user, :create_issue, project) && build.failed? } do |build|
|
||||
new_namespace_project_issue_path(project.namespace, project, issue: build_failed_issue_options)
|
||||
end
|
||||
|
||||
expose :raw_path do |build|
|
||||
|
@ -35,6 +33,13 @@ class BuildDetailsEntity < BuildEntity
|
|||
|
||||
private
|
||||
|
||||
def build_failed_issue_options
|
||||
{
|
||||
title: "Build Failed ##{build.id}",
|
||||
description: namespace_project_job_url(project.namespace, project, build)
|
||||
}
|
||||
end
|
||||
|
||||
def current_user
|
||||
request.current_user
|
||||
end
|
||||
|
|
|
@ -142,8 +142,8 @@ describe Projects::JobsController do
|
|||
expect(response).to have_http_status(:ok)
|
||||
expect(json_response['raw_path']).to match(/builds\/\d+\/raw\z/)
|
||||
expect(json_response.dig('merge_request', 'path')).to match(/merge_requests\/\d+\z/)
|
||||
expect(json_response['build_failed_options']['new_issue_path'])
|
||||
.to end_with('/issues/new')
|
||||
expect(json_response['new_issue_path'])
|
||||
.to include('/issues/new')
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ describe BuildDetailsEntity do
|
|||
expect(subject).to include(:coverage, :erased_at, :duration)
|
||||
expect(subject).to include(:artifacts, :runner, :pipeline)
|
||||
expect(subject).to include(:raw_path, :merge_request)
|
||||
expect(subject[:build_failed_options]).to include(:new_issue_path)
|
||||
expect(subject).to include(:new_issue_path)
|
||||
end
|
||||
|
||||
it 'exposes details of the merge request' do
|
||||
|
|
|
@ -17,8 +17,8 @@ describe BuildEntity do
|
|||
subject { entity.as_json }
|
||||
|
||||
it 'contains paths to build page and retry action' do
|
||||
expect(subject).to include(:build_path, :build_failed_options)
|
||||
expect(subject.dig(:build_failed_options, :retry_path)).not_to be_nil
|
||||
expect(subject).to include(:build_path, :retry_path)
|
||||
expect(subject[:retry_path]).not_to be_nil
|
||||
end
|
||||
|
||||
it 'does not contain sensitive information' do
|
||||
|
|
Loading…
Reference in New Issue