Jan Cernik 57eff8b760
DEV: Full system specs coverage for signup/login ()
- login with username/password
- login with username/password and 2FA
- login with username/password back up code
- login with magic link
- login with magic link and 2FA
- login with magic link and back up code
- login when 2FA is required
- reset password
---
- signup and activate account
- signup with invite code
- signup with invite link
- signup and approve account
- signup and auto approve account
- signup with blocked domain
---
- basic login with Facebook
- basic login with Google
- basic login with Github
- basic login with Twitter
- basic login with Discord
- basic login with Linkedin
2024-05-17 11:56:43 -03:00

102 lines
2.1 KiB
Ruby

# frozen_string_literal: true
module PageObjects
module Modals
class Signup < PageObjects::Modals::Base
def open?
super && has_css?(".modal.create-account")
end
def closed?
super && has_no_css?(".modal.create-account")
end
def open
visit("/signup")
end
def open_from_header
find(".sign-up-button").click
end
def open_login
find("#login-link").click
end
def click_create_account
find(".modal.create-account .btn-primary").click
end
def has_password_input?
has_css?("#new-account-password")
end
def has_no_password_input?
has_no_css?("#new-account-password")
end
def fill_email(email)
find("#new-account-email").fill_in(with: email)
end
def fill_username(username)
find("#new-account-username").fill_in(with: username)
end
def fill_name(name)
find("#new-account-name").fill_in(with: name)
end
def fill_password(password)
find("#new-account-password").fill_in(with: password)
end
def fill_code(code)
find("#inviteCode").fill_in(with: code)
end
def has_valid_email?
find(".create-account-email").has_css?("#account-email-validation.good")
end
def has_valid_username?
find(".create-account__username").has_css?("#username-validation.good")
end
def has_valid_password?
find(".create-account__password").has_css?("#password-validation.good")
end
def has_valid_fields?
has_valid_email?
has_valid_username?
has_valid_password?
end
def select_facebook
find(".btn-social.facebook").click
end
def select_google
find(".btn-social.google_oauth2").click
end
def select_github
find(".btn-social.github").click
end
def select_twitter
find(".btn-social.twitter").click
end
def select_discord
find(".btn-social.discord").click
end
def select_linkedin
find(".btn-social.linkedin_oidc").click
end
end
end
end