wah.moe/spec/support/flows/authentication_flow.cr
2024-09-13 12:59:16 +01:00

46 lines
866 B
Crystal

class AuthenticationFlow < BaseFlow
private getter email
def initialize(@email : String)
end
def sign_up(password)
visit SignUps::New
fill_form SignUpUser,
email: email,
password: password,
password_confirmation: password
click "@sign-up-button"
end
def sign_out
visit Me::Show
sign_out_button.click
end
def sign_in(password)
visit SignIns::New
fill_form SignInUser,
email: email,
password: password
click "@sign-in-button"
end
def should_be_signed_in
current_page.should have_element("@sign-out-button")
end
def should_have_password_error
current_page.should have_element("body", text: "Password is wrong")
end
private def sign_out_button
el("@sign-out-button")
end
# NOTE: this is a shim for readability
private def current_page
self
end
end