Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'qa/lib/slack/page/login.rb')
-rw-r--r--qa/lib/slack/page/login.rb40
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