summaryrefslogtreecommitdiff
path: root/qa/lib/gitlab/page/subscriptions/new.rb
diff options
context:
space:
mode:
Diffstat (limited to 'qa/lib/gitlab/page/subscriptions/new.rb')
-rw-r--r--qa/lib/gitlab/page/subscriptions/new.rb41
1 files changed, 41 insertions, 0 deletions
diff --git a/qa/lib/gitlab/page/subscriptions/new.rb b/qa/lib/gitlab/page/subscriptions/new.rb
new file mode 100644
index 00000000000..4c0e5446444
--- /dev/null
+++ b/qa/lib/gitlab/page/subscriptions/new.rb
@@ -0,0 +1,41 @@
+# frozen_string_literal: true
+
+module Gitlab
+ module Page
+ module Subscriptions
+ class New < Chemlab::Page
+ path '/subscriptions/new'
+
+ # Subscription Details
+ select :plan_name
+ select :group_name
+ text_field :number_of_users
+ button :continue_to_billing, text: /Continue to billing/
+
+ # Billing address
+ select :country
+ text_field :street_address_1
+ text_field :street_address_2
+ text_field :city
+ select :state
+ text_field :zip_code
+ button :continue_to_payment, text: /Continue to payment/
+
+ # Payment method
+ # TODO: Revisit when https://gitlab.com/gitlab-org/quality/chemlab/-/issues/6 is closed
+ iframe :payment_form, id: 'z_hppm_iframe'
+
+ text_field(:name_on_card) { payment_form_element.text_field(id: 'input-creditCardHolderName') }
+ text_field(:card_number) { payment_form_element.text_field(id: 'input-creditCardNumber') }
+ select(:expiration_month) { payment_form_element.select(id: 'input-creditCardExpirationMonth') }
+ select(:expiration_year) { payment_form_element.select(id: 'input-creditCardExpirationYear') }
+ text_field(:cvv) { payment_form_element.text_field(id: 'input-cardSecurityCode') }
+ link(:review_your_order) { payment_form_element.link(text: /Review your order/) }
+ # ENDTODO
+
+ # Confirmation
+ button :confirm_purchase, text: /Confirm purchase/
+ end
+ end
+ end
+end