Fix URL builder to use GitlabRoutingHelper
This commit is contained in:
parent
abc69c8905
commit
2088cee935
2 changed files with 8 additions and 12 deletions
|
@ -1,6 +1,7 @@
|
|||
module Gitlab
|
||||
class UrlBuilder
|
||||
include Rails.application.routes.url_helpers
|
||||
include GitlabRoutingHelper
|
||||
|
||||
def initialize(type)
|
||||
@type = type
|
||||
|
@ -9,27 +10,22 @@ module Gitlab
|
|||
def build(id)
|
||||
case @type
|
||||
when :issue
|
||||
issue_url(id)
|
||||
build_issue_url(id)
|
||||
when :merge_request
|
||||
merge_request_url(id)
|
||||
build_merge_request_url(id)
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def issue_url(id)
|
||||
def build_issue_url(id)
|
||||
issue = Issue.find(id)
|
||||
namespace_project_issue_url(namespace_id: issue.project.namespace,
|
||||
id: issue.iid,
|
||||
project_id: issue.project,
|
||||
host: Gitlab.config.gitlab['url'])
|
||||
issue_url(issue, host: Gitlab.config.gitlab['url'])
|
||||
end
|
||||
|
||||
def merge_request_url(id)
|
||||
def build_merge_request_url(id)
|
||||
merge_request = MergeRequest.find(id)
|
||||
project_merge_request_url(id: merge_request.id,
|
||||
project_id: merge_request.project,
|
||||
host: Gitlab.config.gitlab['url'])
|
||||
merge_request_url(merge_request, host: Gitlab.config.gitlab['url'])
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -13,7 +13,7 @@ describe Gitlab::UrlBuilder do
|
|||
it 'returns the merge request url' do
|
||||
merge_request = create(:merge_request)
|
||||
url = Gitlab::UrlBuilder.new(:merge_request).build(merge_request.id)
|
||||
expect(url).to eq "#{Settings.gitlab['url']}/#{merge_request.project.to_param}/merge_requests/#{merge_request.id}"
|
||||
expect(url).to eq "#{Settings.gitlab['url']}/#{merge_request.project.path_with_namespace}/merge_requests/#{merge_request.iid}"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue