2024-02-02 09:05:04 -06:00
|
|
|
require "test_helper"
|
|
|
|
|
|
|
|
class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
|
2024-05-30 20:55:18 -04:00
|
|
|
setup do
|
|
|
|
Capybara.default_max_wait_time = 5
|
|
|
|
end
|
|
|
|
|
2024-05-17 09:09:32 -04:00
|
|
|
driven_by :selenium, using: ENV["CI"].present? ? :headless_chrome : :chrome, screen_size: [ 1400, 1400 ]
|
2024-02-06 08:19:31 +11:00
|
|
|
|
|
|
|
private
|
|
|
|
|
2024-05-17 09:09:32 -04:00
|
|
|
def sign_in(user)
|
|
|
|
visit new_session_path
|
|
|
|
within "form" do
|
|
|
|
fill_in "Email", with: user.email
|
|
|
|
fill_in "Password", with: "password"
|
|
|
|
click_on "Log in"
|
|
|
|
end
|
|
|
|
|
|
|
|
# Trigger Capybara's wait mechanism to avoid timing issues with logins
|
|
|
|
find("h1", text: "Dashboard")
|
2024-02-06 08:19:31 +11:00
|
|
|
end
|
2024-04-18 07:56:51 -04:00
|
|
|
|
2024-05-17 09:09:32 -04:00
|
|
|
def sign_out
|
|
|
|
find("#user-menu").click
|
|
|
|
click_button "Logout"
|
|
|
|
|
|
|
|
# Trigger Capybara's wait mechanism to avoid timing issues with logout
|
|
|
|
find("h2", text: "Sign in to your account")
|
|
|
|
end
|
2024-02-02 09:05:04 -06:00
|
|
|
end
|