41 lines
751 B
Crystal
41 lines
751 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
|
|
sign_out_button.should be_on_page
|
|
end
|
|
|
|
def should_have_password_error
|
|
el("body", text: "Password is wrong").should be_on_page
|
|
end
|
|
|
|
private def sign_out_button
|
|
el("@sign-out-button")
|
|
end
|
|
end
|