Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 10 additions & 4 deletions spec/support/system_spec_helpers.rb
Original file line number Diff line number Diff line change
Expand Up @@ -95,10 +95,16 @@ def open_modal(trigger, attempts: 5)
end

# Flash messages are fixed position, so an undismissed one intercepts clicks on
# whatever it overlays. Wait out the dismiss transition before moving on.
def dismiss_flash_messages(wait: 10)
all("#flash-messages [aria-label='Close']", minimum: 1).each(&:click)
expect(page).to have_no_css("#flash-messages [role='alert']", wait:)
# whatever it overlays. Like open_modal, ui--alert wires its close action in
# `connect`, so a click landing before that lazy loaded controller arrives does
# nothing -- click again until the region clears.
def dismiss_flash_messages(attempts: 10)
expect(page).to have_css("#flash-messages [role='alert']")
attempts.times do
retry_on_detach { all("#flash-messages [aria-label='Close']", wait: 0).each(&:click) }
return if page.has_no_css?("#flash-messages [role='alert']", wait: 1)
end
raise "#flash-messages never cleared after #{attempts} dismiss clicks"
end

private
Expand Down