FIX: TOC anchors in a subfolder setup (#21985)

Clicking on TOC heading anchors in a subfolder setup was breaking the current URL for users.

Other than the fix this change introduces the ability to test the subfolder setup in system specs.
This commit is contained in:
Jarek Radosz
2023-06-12 13:59:54 +02:00
committed by GitHub
parent 0f4f8c45f9
commit b7568ea4a5
4 changed files with 57 additions and 5 deletions

View File

@@ -0,0 +1,38 @@
# frozen_string_literal: true
describe "Topic page", type: :system do
fab!(:topic) { Fabricate(:topic) }
before { Fabricate(:post, topic: topic, cooked: <<~HTML) }
<h2 dir="ltr" id="toc-h2-testing" data-d-toc="toc-h2-testing" class="d-toc-post-heading">
<a name="toc-h2-testing" class="anchor" href="#toc-h2-testing">x</a>
Testing
</h2>
HTML
it "allows TOC anchor navigation" do
visit("/t/#{topic.slug}/#{topic.id}")
find("#toc-h2-testing").hover
find("a.anchor").click
try_until_success(timeout: 5) do
expect(current_url).to match("/t/#{topic.slug}/#{topic.id}#toc-h2-testing")
end
end
context "with a subfolder setup" do
before { set_subfolder "/forum" }
it "allows TOC anchor navigation" do
visit("/forum/t/#{topic.slug}/#{topic.id}")
find("#toc-h2-testing").hover
find("a.anchor").click
try_until_success(timeout: 5) do
expect(current_url).to match("/forum/t/#{topic.slug}/#{topic.id}#toc-h2-testing")
end
end
end
end