248fc5d3e7
* test: update sign_in_as system test helper to be more generic and support fixture users with more than one board * test: backfill a test for the card "back link" when coming from a board filter page * Fix back navigation to filter views from cards When navigating from a filter view to a card, the back link now shows the filter's label and navigates back to the filter URL instead of the card's board. The turbo-navigation Stimulus controller stores the page title alongside the referrer URL in sessionStorage. On the card show page, a referrerBackLink target rewrites the back link's href and label from the stored values. This is scoped only to the card show page to avoid navigation loops in multi-level deep pages. * Add referrer allowlist to prevent stale referrer rewrites The back link is only rewritten when the stored referrer's path matches an allowlist of paths passed via prefer_referrer. This prevents stale referrers from unrelated pages (e.g., settings) from overriding the card's back link. * Move back link navigation tests to dedicated system test file Extract back link tests from smoke_test.rb into their own file since they test specific JavaScript behavior that needs regression coverage. Move sign_in_as helper to ApplicationSystemTestCase for reuse. * Move markdown paste tests to dedicated system test file
13 lines
572 B
Ruby
13 lines
572 B
Ruby
module BoardsHelper
|
|
def link_back_to_board(board, prefer_referrer: [])
|
|
back_link_to board.name, board, "keydown.left@document->hotkey#click keydown.esc@document->hotkey#click click->turbo-navigation#backIfSamePath", prefer_referrer:
|
|
end
|
|
|
|
def link_to_edit_board(board)
|
|
link_to edit_board_path(board), class: "btn btn--circle-mobile",
|
|
data: { controller: "tooltip", bridge__overflow_menu_target: "item", bridge_title: "Board settings" } do
|
|
icon_tag("settings") + tag.span("Settings for #{board.name}", class: "for-screen-reader")
|
|
end
|
|
end
|
|
end
|