DEV: Change have_section_link match to use exact text match. (#22148)

Today I learnt that `has_link?("text of link")` by default does an
includes instead of looking for a link with the exact text. This is not
the behaviour I want so I'm changing
`PageObjects::Components::Sidebar.has_section_link?` to use the
`exact_text` option instead.
This commit is contained in:
Alan Guo Xiang Tan 2023-06-16 16:36:34 +08:00 committed by GitHub
parent 3802d0de9d
commit d60c90aef1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 3 deletions

View File

@ -99,7 +99,7 @@ describe "Custom sidebar sections", type: :system do
section_modal.save
expect(sidebar).to have_section("Edited section")
expect(sidebar).to have_section_link("Edited Tag")
expect(sidebar).to have_section_link("Edited Tags")
expect(sidebar).to have_no_section_link("Sidebar Categories")
end

View File

@ -88,11 +88,11 @@ module PageObjects
private
def section_link_present?(name, href: nil, active: false, present:)
attributes = {}
attributes = { exact_text: name }
attributes[:href] = href if href
attributes[:class] = SIDEBAR_SECTION_LINK_SELECTOR
attributes[:class] += "--active" if active
page.public_send(present ? :has_link? : :has_no_link?, name, **attributes)
page.public_send(present ? :has_link? : :has_no_link?, **attributes)
end
def add_section_button_text