"""Auth helpers.""" from selenium.webdriver.common.by import By from selenium.webdriver.remote.webdriver import WebDriver from tests.integration.types import AdminServer from .wait_helpers import wait_until_url_contains def login(ui_admin_server: AdminServer, driver: WebDriver) -> WebDriver: """Log in.""" admin_url, credentials = ui_admin_server username, password = credentials driver.get(admin_url + "/login") username_input = driver.find_element(By.NAME, "username") password_input = driver.find_element(By.NAME, "password") submit_button = driver.find_element(By.XPATH, "//button[@type='submit']") assert username_input is not None assert password_input is not None assert submit_button.text.lower() == "sign in" username_input.clear() username_input.send_keys(username) password_input.send_keys(password) submit_button.click() wait_until_url_contains(driver, "/dashboard") return driver