debian-mirror-gitlab/qa/lib/gitlab/page/group/settings/billing.rb
2023-07-09 08:55:56 +05:30

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