diff --git a/api/organisations/chargebee/chargebee.py b/api/organisations/chargebee/chargebee.py index 492fed2bd09b..bae610e51188 100644 --- a/api/organisations/chargebee/chargebee.py +++ b/api/organisations/chargebee/chargebee.py @@ -115,7 +115,7 @@ def extract_subscription_metadata( subscription_metadata.chargebee_email = customer_email for addon in chargebee_addons: - quantity = getattr(addon, "quantity", None) or 1 + quantity = addon.get("quantity") or 1 addon_metadata: ChargebeeObjMetadata = ( chargebee_cache.addons[addon["id"]] * quantity ) diff --git a/api/tests/unit/organisations/chargebee/test_unit_chargebee_chargebee.py b/api/tests/unit/organisations/chargebee/test_unit_chargebee_chargebee.py index 6ea625760ff7..efa3770adf3b 100644 --- a/api/tests/unit/organisations/chargebee/test_unit_chargebee_chargebee.py +++ b/api/tests/unit/organisations/chargebee/test_unit_chargebee_chargebee.py @@ -294,9 +294,11 @@ def test_extract_subscription_metadata( ) # Then - assert subscription_metadata.seats == chargebee_object_metadata.seats * 2 - assert subscription_metadata.api_calls == chargebee_object_metadata.api_calls * 2 - assert subscription_metadata.projects == chargebee_object_metadata.projects * 2 + # Note that we multiply by 3 since the plan and the addons carry the same limits, + # so we have 1 plan + 2 addons. + assert subscription_metadata.seats == chargebee_object_metadata.seats * 3 + assert subscription_metadata.api_calls == chargebee_object_metadata.api_calls * 3 + assert subscription_metadata.projects == chargebee_object_metadata.projects * 3 assert subscription_metadata.chargebee_email == customer_email