2024-07-15 14:31:54 +02:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
2024-09-05 22:54:38 +02:00
|
|
|
require "test_helper"
|
2024-07-15 02:19:27 +02:00
|
|
|
|
|
|
|
|
class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
|
2024-07-23 01:06:45 +02:00
|
|
|
driven_by(:selenium, using: :headless_chrome,
|
2024-09-05 22:54:38 +02:00
|
|
|
options: { browser: :remote,
|
|
|
|
|
url: ENV.fetch("SELENIUM_REMOTE_URL", nil) })
|
2024-07-23 01:06:45 +02:00
|
|
|
|
2024-09-22 22:49:53 +02:00
|
|
|
setup do
|
2024-09-05 22:54:38 +02:00
|
|
|
Capybara.server_host = "0.0.0.0" # bind to all interfaces
|
|
|
|
|
Capybara.app_host = "http://#{IPSocket.getaddress(Socket.gethostname)}" if ENV["SELENIUM_REMOTE_URL"].present?
|
2024-09-22 22:49:53 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def app_host
|
|
|
|
|
"http://#{IPSocket.getaddress(Socket.gethostname)}"
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def login(email, password)
|
|
|
|
|
visit "/login"
|
|
|
|
|
fill_in "Login", with: email
|
|
|
|
|
fill_in "Password", with: password
|
|
|
|
|
click_button "Login"
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def logout
|
|
|
|
|
visit "/logout"
|
|
|
|
|
click_on "Log out"
|
|
|
|
|
end
|
2024-07-23 01:06:45 +02:00
|
|
|
|
2024-09-22 22:49:53 +02:00
|
|
|
def login_test
|
|
|
|
|
Account.create(email: "test@example.com", password: "password")
|
|
|
|
|
login("test@example.com", "password")
|
2024-07-23 01:06:45 +02:00
|
|
|
end
|
2024-07-15 02:19:27 +02:00
|
|
|
end
|