diff options
author | floppydiskette <floppydisk@hyprcat.net> | 2024-09-13 12:58:12 +0100 |
---|---|---|
committer | floppydiskette <floppydisk@hyprcat.net> | 2024-09-13 12:59:16 +0100 |
commit | 2c3400fb4f5a22951d42f286975201bf817d7883 (patch) | |
tree | a08b06f5f6d5df4f6774da7645d85418609a4cf2 /spec/support/flows/authentication_flow.cr | |
parent | d8915dcca4d9752f6f254e86afa39ef7f83617d1 (diff) |
wronglucky
Diffstat (limited to 'spec/support/flows/authentication_flow.cr')
-rw-r--r-- | spec/support/flows/authentication_flow.cr | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/spec/support/flows/authentication_flow.cr b/spec/support/flows/authentication_flow.cr new file mode 100644 index 0000000..183697f --- /dev/null +++ b/spec/support/flows/authentication_flow.cr @@ -0,0 +1,45 @@ +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 |