Files
once-campfire/test/test_helpers/system_test_helper.rb
Kevin McConnell df76a227dc Hello world
First open source release of Campfire 🎉
2025-08-21 09:31:59 +01:00

57 lines
1.4 KiB
Ruby

module SystemTestHelper
def sign_in(email_address, password = "secret123456")
visit root_url
fill_in "email_address", with: email_address
fill_in "password", with: password
click_on "log_in"
assert_selector "a.btn", text: "Designers"
end
def wait_for_cable_connection
assert_selector "turbo-cable-stream-source[connected]", count: 3, visible: false
end
def join_room(room)
visit room_url(room)
wait_for_cable_connection
dismiss_pwa_install_prompt
end
def send_message(message)
fill_in_rich_text_area "message_body", with: message
click_on "send"
end
def within_message(message, &block)
within "#" + dom_id(message), &block
end
def assert_message_text(text, **options)
assert_selector ".message__body", text: text, **options
end
def assert_room_read(room)
assert_selector ".rooms a", class: "!unread", text: "#{room.name}", wait: 5
end
def assert_room_unread(room)
assert_selector ".rooms a", class: "unread", text: "#{room.name}", wait: 5
end
def reveal_message_actions
find(".message__options-btn").click
rescue Capybara::ElementNotFound
find(".message__options-btn", visible: false).hover.click
ensure
assert_selector ".message__boost-btn", visible: true
end
def dismiss_pwa_install_prompt
if page.has_css?("[data-pwa-install-target~='dialog']", visible: :visible, wait: 5)
click_on("Close")
end
end
end