45 lines
1.2 KiB
Ruby
45 lines
1.2 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
module Gitlab
|
|
module Page
|
|
module Group
|
|
module Settings
|
|
class Billing < Chemlab::Page
|
|
h4 :billing_plan_header
|
|
link :start_your_free_trial
|
|
link :upgrade_to_premium
|
|
link :upgrade_to_ultimate
|
|
|
|
# Subscription details
|
|
strong :subscription_header
|
|
button :refresh_seats
|
|
|
|
# Usage
|
|
p :seats_in_subscription
|
|
p :seats_currently_in_use
|
|
link :see_seats_usage
|
|
p :max_seats_used
|
|
p :seats_owed
|
|
|
|
# Billing
|
|
p :subscription_start_date
|
|
p :subscription_end_date
|
|
|
|
def refresh_subscription_seats
|
|
refresh_seats
|
|
::QA::Support::WaitForRequests.wait_for_requests
|
|
end
|
|
|
|
# Waits for subscription to be synced and UI to be updated
|
|
#
|
|
# @param subscription_plan [String]
|
|
def wait_for_subscription(subscription_plan, page:)
|
|
::QA::Support::Waiter.wait_until(max_duration: 30, sleep_interval: 3, reload_page: page) do
|
|
billing_plan_header.match?(/currently using the #{subscription_plan} saas plan/i)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|