From f6bae8380df9ebf2c6b6bb820ea4140fd4c8aa69 Mon Sep 17 00:00:00 2001 From: Cy Okeke Date: Mon, 19 Jan 2026 15:41:22 +0100 Subject: [PATCH] Fix the unit test --- .../Services/Implementations/SubscriptionUpdatedHandler.cs | 1 + .../Billing/Services/Implementations/SubscriberService.cs | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/src/Billing/Services/Implementations/SubscriptionUpdatedHandler.cs b/src/Billing/Services/Implementations/SubscriptionUpdatedHandler.cs index 82efec859c..4af36ed9df 100644 --- a/src/Billing/Services/Implementations/SubscriptionUpdatedHandler.cs +++ b/src/Billing/Services/Implementations/SubscriptionUpdatedHandler.cs @@ -308,6 +308,7 @@ public class SubscriptionUpdatedHandler : ISubscriptionUpdatedHandler previousSubscriptionItem => planIdsOfPlansWithSecretManager.Contains(previousSubscriptionItem.Plan.Id)); var currentSubscriptionHasSecretsManager = + subscription.Items is not null && subscription.Items.Any( currentSubscriptionItem => planIdsOfPlansWithSecretManager.Contains(currentSubscriptionItem.Plan.Id)); diff --git a/src/Core/Billing/Services/Implementations/SubscriberService.cs b/src/Core/Billing/Services/Implementations/SubscriberService.cs index a231a5b22b..73c143cca4 100644 --- a/src/Core/Billing/Services/Implementations/SubscriberService.cs +++ b/src/Core/Billing/Services/Implementations/SubscriberService.cs @@ -990,6 +990,13 @@ public class SubscriberService( // These checks return false (no error) because they indicate "reversion not needed" // rather than "reversion failed" - the cancellation should proceed normally. + // Check if metadata exists + if (metadata == null) + { + logger.LogDebug("Subscription {SubscriptionId} has no metadata", subscription.Id); + return false; + } + // Check if subscription has the premium upgrade metadata if (!metadata.TryGetValue(MetadataKeys.PreviousPremiumPriceId, out var previousPremiumPriceId) || !metadata.TryGetValue(MetadataKeys.UpgradedOrganizationId, out var upgradedOrganizationIdStr) ||