summaryrefslogtreecommitdiff
path: root/qa/lib/gitlab/page/main/sign_up.rb
blob: 85d7f48246184a1277ecd323cf0b41da0e46d3d9 (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
# frozen_string_literal: true

module Gitlab
  module Page
    module Main
      class SignUp < Chemlab::Page
        path '/users/sign_up'

        # TODO: Refactor data-qa-selectors to be more terse
        text_field :first_name, 'data-qa-selector': 'new_user_first_name_field'
        text_field :last_name, 'data-qa-selector': 'new_user_last_name_field'

        text_field :username, 'data-qa-selector': 'new_user_username_field'

        text_field :email, 'data-qa-selector': 'new_user_email_field'
        text_field :password, 'data-qa-selector': 'new_user_password_field'

        button :register, 'data-qa-selector': 'new_user_register_button'

        # Register a user
        # @param [Resource::User] user the user to register
        def register_user(user)
          raise ArgumentError, 'User must be of type Resource::User' unless user.is_a? ::QA::Resource::User

          self.first_name = user.first_name
          self.last_name = user.last_name
          self.username = user.username
          self.email = user.email
          self.password = user.password

          self.register
        end
      end
    end
  end
end