Skip to content
Snippets Groups Projects
Commit 6327dd0e authored by Marin Jankovski's avatar Marin Jankovski
Browse files

Fix links to issues if instance is using relative urls.

parent bcc8dbd0
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -27,14 +27,20 @@ class GitlabIssueTrackerService < IssueTrackerService
end
 
def project_url
project_issues_path(project)
"#{gitlab_url}#{project_issues_path(project)}"
end
 
def new_issue_url
new_project_issue_path project_id: project
"#{gitlab_url}#{new_project_issue_path(project_id: project)}"
end
 
def issue_url(iid)
"#{Gitlab.config.gitlab.url}#{project_issue_path(project_id: project, id: iid)}"
"#{gitlab_url}#{project_issue_path(project_id: project, id: iid)}"
end
private
def gitlab_url
Gitlab.config.gitlab.relative_url_root.chomp("/") if Gitlab.config.gitlab.relative_url_root
end
end
Loading
Loading
@@ -474,7 +474,7 @@ describe GitlabMarkdownHelper do
 
# First issue link
expect(groups[1]).
to match(/href="#{project_issue_url(project, issues[0])}"/)
to match(/href="#{project_issue_path(project, issues[0])}"/)
expect(groups[1]).to match(/##{issues[0].iid}$/)
 
# Internal commit link
Loading
Loading
@@ -483,7 +483,7 @@ describe GitlabMarkdownHelper do
 
# Second issue link
expect(groups[3]).
to match(/href="#{project_issue_url(project, issues[1])}"/)
to match(/href="#{project_issue_path(project, issues[1])}"/)
expect(groups[3]).to match(/##{issues[1].iid}$/)
 
# Trailing commit link
Loading
Loading
@@ -611,7 +611,7 @@ describe GitlabMarkdownHelper do
end
 
it "should generate absolute urls for refs" do
expect(markdown("##{issue.iid}")).to include(project_issue_url(project, issue))
expect(markdown("##{issue.iid}")).to include(project_issue_path(project, issue))
end
 
it "should generate absolute urls for emoji" do
Loading
Loading
# == Schema Information
#
# Table name: services
#
# id :integer not null, primary key
# type :string(255)
# title :string(255)
# project_id :integer
# created_at :datetime
# updated_at :datetime
# active :boolean default(FALSE), not null
# properties :text
# template :boolean default(FALSE)
#
require 'spec_helper'
describe GitlabIssueTrackerService do
describe "Associations" do
it { is_expected.to belong_to :project }
it { is_expected.to have_one :service_hook }
end
describe 'project and issue urls' do
let(:project) { create(:project) }
context 'with absolute urls' do
before do
@service = project.create_gitlab_issue_tracker_service(active: true)
end
after do
@service.destroy!
end
it 'should give the correct path' do
expect(@service.project_url).to eq("/#{project.path_with_namespace}/issues")
expect(@service.new_issue_url).to eq("/#{project.path_with_namespace}/issues/new")
expect(@service.issue_url(432)).to eq("/#{project.path_with_namespace}/issues/432")
end
end
context 'with enabled relative urls' do
before do
Settings.gitlab.stub(:relative_url_root).and_return("/gitlab/root")
@service = project.create_gitlab_issue_tracker_service(active: true)
end
after do
@service.destroy!
end
it 'should give the correct path' do
expect(@service.project_url).to eq("/gitlab/root/#{project.path_with_namespace}/issues")
expect(@service.new_issue_url).to eq("/gitlab/root/#{project.path_with_namespace}/issues/new")
expect(@service.issue_url(432)).to eq("/gitlab/root/#{project.path_with_namespace}/issues/432")
end
end
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment