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

login.rb « page « slack « lib « qa - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: a11b0d27fd0de0123d2b0817b0fb12a5e969c5bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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