Commit 690e4bbf authored by Bob Van Landuyt's avatar Bob Van Landuyt

Merge branch 'ag-2305-cdot' into 'master'

Introduce Add Seats Button on Billing Page

See merge request gitlab-org/gitlab!49242
parents b58105ee c38d11ff
---
name: saas_add_seats_button
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49242
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/291060
milestone: '13.7'
type: development
group: group::purchase
default_enabled: false
......@@ -7,6 +7,7 @@ class Groups::BillingsController < Groups::ApplicationController
before_action only: [:index] do
push_frontend_feature_flag(:api_billable_member_list)
push_frontend_feature_flag(:saas_manual_renew_button)
push_frontend_feature_flag(:saas_add_seats_button)
end
layout 'group_settings'
......
......@@ -15,6 +15,7 @@ module BillingPlansHelper
{
namespace_id: group.id,
namespace_name: group.name,
add_seats_href: add_seats_url(group),
plan_upgrade_href: plan_upgrade_url(group, plan),
plan_renew_href: plan_renew_url(group),
customer_portal_url: "#{EE::SUBSCRIPTIONS_URL}/subscriptions",
......@@ -96,6 +97,12 @@ module BillingPlansHelper
private
def add_seats_url(group)
return unless group
"#{EE::SUBSCRIPTIONS_URL}/gitlab/namespaces/#{group.id}/extra_seats"
end
def plan_purchase_url(group, plan)
if use_new_purchase_flow?(group)
new_subscriptions_path(plan_id: plan.id, namespace_id: group.id)
......
......@@ -13,15 +13,15 @@ RSpec.describe BillingPlansHelper do
context 'when group and plan with ID present' do
it 'returns data attributes' do
upgrade_href =
"#{EE::SUBSCRIPTIONS_URL}/gitlab/namespaces/#{group.id}/upgrade/#{plan.id}"
renew_href =
"#{EE::SUBSCRIPTIONS_URL}/gitlab/namespaces/#{group.id}/renew"
add_seats_href = "#{EE::SUBSCRIPTIONS_URL}/gitlab/namespaces/#{group.id}/extra_seats"
upgrade_href = "#{EE::SUBSCRIPTIONS_URL}/gitlab/namespaces/#{group.id}/upgrade/#{plan.id}"
renew_href = "#{EE::SUBSCRIPTIONS_URL}/gitlab/namespaces/#{group.id}/renew"
billable_seats_href = helper.group_seat_usage_path(group)
expect(helper.subscription_plan_data_attributes(group, plan))
.to eq(namespace_id: group.id,
namespace_name: group.name,
add_seats_href: add_seats_href,
plan_upgrade_href: upgrade_href,
plan_renew_href: renew_href,
customer_portal_url: customer_portal_url,
......@@ -41,6 +41,7 @@ RSpec.describe BillingPlansHelper do
let(:plan) { Hashie::Mash.new(id: nil) }
it 'returns data attributes without upgrade href' do
add_seats_href = "#{EE::SUBSCRIPTIONS_URL}/gitlab/namespaces/#{group.id}/extra_seats"
renew_href = "#{EE::SUBSCRIPTIONS_URL}/gitlab/namespaces/#{group.id}/renew"
billable_seats_href = helper.group_seat_usage_path(group)
......@@ -49,6 +50,7 @@ RSpec.describe BillingPlansHelper do
namespace_name: group.name,
customer_portal_url: customer_portal_url,
billable_seats_href: billable_seats_href,
add_seats_href: add_seats_href,
plan_renew_href: renew_href,
plan_upgrade_href: nil)
end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment