diff options
Diffstat (limited to 'qa/lib/slack/page/login.rb')
-rw-r--r-- | qa/lib/slack/page/login.rb | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/qa/lib/slack/page/login.rb b/qa/lib/slack/page/login.rb new file mode 100644 index 00000000000..a11b0d27fd0 --- /dev/null +++ b/qa/lib/slack/page/login.rb @@ -0,0 +1,40 @@ +# frozen_string_literal: true + +module Slack + module Page + class Login < Chemlab::Page + path '/workspace-signin' + + text_field :workspace_field, data_qa: 'signin_domain_input' + button :continue_button, data_qa: 'submit_team_domain_button' + + link :sign_in_with_password_link, data_qa: 'sign_in_password_link' + + text_field :email_address_field, data_qa: 'login_email' + text_field :password_field, data_qa: 'login_password', type: 'password' + button :sign_in_button, data_qa: 'signin_button' + + def sign_in + navigate_to_workspace + + # sign into with password if needed + sign_in_with_password_link_element.click if sign_in_with_password_link_element.exists? + + finish_sign_in + end + + def navigate_to_workspace + self.workspace_field = ::QA::Runtime::Env.slack_workspace + continue_button + end + + def finish_sign_in + return unless email_address_field_element.exists? + + self.email_address_field = ::QA::Runtime::Env.slack_email + self.password_field = ::QA::Runtime::Env.slack_password + sign_in_button + end + end + end +end |