mirror of
https://github.com/bitwarden/server.git
synced 2024-11-23 12:25:16 +01:00
fix tests
This commit is contained in:
parent
5a27e8e06c
commit
8fedd646c3
@ -3,6 +3,7 @@ using Bit.Core.AdminConsole.Entities.Provider;
|
|||||||
using Bit.Core.Billing.Constants;
|
using Bit.Core.Billing.Constants;
|
||||||
using Bit.Core.Billing.Models;
|
using Bit.Core.Billing.Models;
|
||||||
using Bit.Core.Billing.Models.Business;
|
using Bit.Core.Billing.Models.Business;
|
||||||
|
using Bit.Core.Billing.Services;
|
||||||
using Bit.Core.Entities;
|
using Bit.Core.Entities;
|
||||||
using Bit.Core.Enums;
|
using Bit.Core.Enums;
|
||||||
using Bit.Core.Exceptions;
|
using Bit.Core.Exceptions;
|
||||||
@ -32,6 +33,7 @@ public class StripePaymentService : IPaymentService
|
|||||||
private readonly IStripeAdapter _stripeAdapter;
|
private readonly IStripeAdapter _stripeAdapter;
|
||||||
private readonly IGlobalSettings _globalSettings;
|
private readonly IGlobalSettings _globalSettings;
|
||||||
private readonly IFeatureService _featureService;
|
private readonly IFeatureService _featureService;
|
||||||
|
private readonly ITaxService _taxService;
|
||||||
|
|
||||||
public StripePaymentService(
|
public StripePaymentService(
|
||||||
ITransactionRepository transactionRepository,
|
ITransactionRepository transactionRepository,
|
||||||
@ -40,7 +42,8 @@ public class StripePaymentService : IPaymentService
|
|||||||
IStripeAdapter stripeAdapter,
|
IStripeAdapter stripeAdapter,
|
||||||
Braintree.IBraintreeGateway braintreeGateway,
|
Braintree.IBraintreeGateway braintreeGateway,
|
||||||
IGlobalSettings globalSettings,
|
IGlobalSettings globalSettings,
|
||||||
IFeatureService featureService)
|
IFeatureService featureService,
|
||||||
|
ITaxService taxService)
|
||||||
{
|
{
|
||||||
_transactionRepository = transactionRepository;
|
_transactionRepository = transactionRepository;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
@ -49,6 +52,7 @@ public class StripePaymentService : IPaymentService
|
|||||||
_btGateway = braintreeGateway;
|
_btGateway = braintreeGateway;
|
||||||
_globalSettings = globalSettings;
|
_globalSettings = globalSettings;
|
||||||
_featureService = featureService;
|
_featureService = featureService;
|
||||||
|
_taxService = taxService;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<string> PurchaseOrganizationAsync(Organization org, PaymentMethodType paymentMethodType,
|
public async Task<string> PurchaseOrganizationAsync(Organization org, PaymentMethodType paymentMethodType,
|
||||||
@ -112,6 +116,20 @@ public class StripePaymentService : IPaymentService
|
|||||||
Subscription subscription;
|
Subscription subscription;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
if (taxInfo.TaxIdNumber != null && taxInfo.TaxIdType == null)
|
||||||
|
{
|
||||||
|
taxInfo.TaxIdType = _taxService.GetStripeTaxCode(taxInfo.BillingAddressCountry,
|
||||||
|
taxInfo.TaxIdNumber);
|
||||||
|
|
||||||
|
if (taxInfo.TaxIdType == null)
|
||||||
|
{
|
||||||
|
_logger.LogWarning("Could not infer tax ID type in country '{Country}' with tax ID '{TaxID}'.",
|
||||||
|
taxInfo.BillingAddressCountry,
|
||||||
|
taxInfo.TaxIdNumber);
|
||||||
|
throw new BadRequestException("billingTaxIdTypeInferenceError");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var customerCreateOptions = new CustomerCreateOptions
|
var customerCreateOptions = new CustomerCreateOptions
|
||||||
{
|
{
|
||||||
Description = org.DisplayBusinessName(),
|
Description = org.DisplayBusinessName(),
|
||||||
@ -146,12 +164,9 @@ public class StripePaymentService : IPaymentService
|
|||||||
City = taxInfo?.BillingAddressCity,
|
City = taxInfo?.BillingAddressCity,
|
||||||
State = taxInfo?.BillingAddressState,
|
State = taxInfo?.BillingAddressState,
|
||||||
},
|
},
|
||||||
TaxIdData = taxInfo?.HasTaxId != true
|
TaxIdData = taxInfo.HasTaxId
|
||||||
? null
|
? [new CustomerTaxIdDataOptions { Type = taxInfo.TaxIdType, Value = taxInfo.TaxIdNumber }]
|
||||||
:
|
: null
|
||||||
[
|
|
||||||
new CustomerTaxIdDataOptions { Type = taxInfo.TaxIdType, Value = taxInfo.TaxIdNumber, }
|
|
||||||
],
|
|
||||||
};
|
};
|
||||||
|
|
||||||
customerCreateOptions.AddExpand("tax");
|
customerCreateOptions.AddExpand("tax");
|
||||||
|
@ -77,7 +77,8 @@ public class StripePaymentServiceTests
|
|||||||
c.Address.Line2 == taxInfo.BillingAddressLine2 &&
|
c.Address.Line2 == taxInfo.BillingAddressLine2 &&
|
||||||
c.Address.City == taxInfo.BillingAddressCity &&
|
c.Address.City == taxInfo.BillingAddressCity &&
|
||||||
c.Address.State == taxInfo.BillingAddressState &&
|
c.Address.State == taxInfo.BillingAddressState &&
|
||||||
c.TaxIdData == null
|
c.TaxIdData.First().Value == taxInfo.TaxIdNumber &&
|
||||||
|
c.TaxIdData.First().Type == taxInfo.TaxIdType
|
||||||
));
|
));
|
||||||
|
|
||||||
await stripeAdapter.Received().SubscriptionCreateAsync(Arg.Is<Stripe.SubscriptionCreateOptions>(s =>
|
await stripeAdapter.Received().SubscriptionCreateAsync(Arg.Is<Stripe.SubscriptionCreateOptions>(s =>
|
||||||
@ -134,7 +135,8 @@ public class StripePaymentServiceTests
|
|||||||
c.Address.Line2 == taxInfo.BillingAddressLine2 &&
|
c.Address.Line2 == taxInfo.BillingAddressLine2 &&
|
||||||
c.Address.City == taxInfo.BillingAddressCity &&
|
c.Address.City == taxInfo.BillingAddressCity &&
|
||||||
c.Address.State == taxInfo.BillingAddressState &&
|
c.Address.State == taxInfo.BillingAddressState &&
|
||||||
c.TaxIdData == null
|
c.TaxIdData.First().Value == taxInfo.TaxIdNumber &&
|
||||||
|
c.TaxIdData.First().Type == taxInfo.TaxIdType
|
||||||
));
|
));
|
||||||
|
|
||||||
await stripeAdapter.Received().SubscriptionCreateAsync(Arg.Is<Stripe.SubscriptionCreateOptions>(s =>
|
await stripeAdapter.Received().SubscriptionCreateAsync(Arg.Is<Stripe.SubscriptionCreateOptions>(s =>
|
||||||
@ -190,7 +192,8 @@ public class StripePaymentServiceTests
|
|||||||
c.Address.Line2 == taxInfo.BillingAddressLine2 &&
|
c.Address.Line2 == taxInfo.BillingAddressLine2 &&
|
||||||
c.Address.City == taxInfo.BillingAddressCity &&
|
c.Address.City == taxInfo.BillingAddressCity &&
|
||||||
c.Address.State == taxInfo.BillingAddressState &&
|
c.Address.State == taxInfo.BillingAddressState &&
|
||||||
c.TaxIdData == null
|
c.TaxIdData.First().Value == taxInfo.TaxIdNumber &&
|
||||||
|
c.TaxIdData.First().Type == taxInfo.TaxIdType
|
||||||
));
|
));
|
||||||
|
|
||||||
await stripeAdapter.Received().SubscriptionCreateAsync(Arg.Is<Stripe.SubscriptionCreateOptions>(s =>
|
await stripeAdapter.Received().SubscriptionCreateAsync(Arg.Is<Stripe.SubscriptionCreateOptions>(s =>
|
||||||
@ -247,7 +250,8 @@ public class StripePaymentServiceTests
|
|||||||
c.Address.Line2 == taxInfo.BillingAddressLine2 &&
|
c.Address.Line2 == taxInfo.BillingAddressLine2 &&
|
||||||
c.Address.City == taxInfo.BillingAddressCity &&
|
c.Address.City == taxInfo.BillingAddressCity &&
|
||||||
c.Address.State == taxInfo.BillingAddressState &&
|
c.Address.State == taxInfo.BillingAddressState &&
|
||||||
c.TaxIdData == null
|
c.TaxIdData.First().Value == taxInfo.TaxIdNumber &&
|
||||||
|
c.TaxIdData.First().Type == taxInfo.TaxIdType
|
||||||
));
|
));
|
||||||
|
|
||||||
await stripeAdapter.Received().SubscriptionCreateAsync(Arg.Is<Stripe.SubscriptionCreateOptions>(s =>
|
await stripeAdapter.Received().SubscriptionCreateAsync(Arg.Is<Stripe.SubscriptionCreateOptions>(s =>
|
||||||
@ -441,7 +445,8 @@ public class StripePaymentServiceTests
|
|||||||
c.Address.Line2 == taxInfo.BillingAddressLine2 &&
|
c.Address.Line2 == taxInfo.BillingAddressLine2 &&
|
||||||
c.Address.City == taxInfo.BillingAddressCity &&
|
c.Address.City == taxInfo.BillingAddressCity &&
|
||||||
c.Address.State == taxInfo.BillingAddressState &&
|
c.Address.State == taxInfo.BillingAddressState &&
|
||||||
c.TaxIdData == null
|
c.TaxIdData.First().Value == taxInfo.TaxIdNumber &&
|
||||||
|
c.TaxIdData.First().Type == taxInfo.TaxIdType
|
||||||
));
|
));
|
||||||
|
|
||||||
await stripeAdapter.Received().SubscriptionCreateAsync(Arg.Is<Stripe.SubscriptionCreateOptions>(s =>
|
await stripeAdapter.Received().SubscriptionCreateAsync(Arg.Is<Stripe.SubscriptionCreateOptions>(s =>
|
||||||
@ -510,7 +515,8 @@ public class StripePaymentServiceTests
|
|||||||
c.Address.Line2 == taxInfo.BillingAddressLine2 &&
|
c.Address.Line2 == taxInfo.BillingAddressLine2 &&
|
||||||
c.Address.City == taxInfo.BillingAddressCity &&
|
c.Address.City == taxInfo.BillingAddressCity &&
|
||||||
c.Address.State == taxInfo.BillingAddressState &&
|
c.Address.State == taxInfo.BillingAddressState &&
|
||||||
c.TaxIdData == null
|
c.TaxIdData.First().Value == taxInfo.TaxIdNumber &&
|
||||||
|
c.TaxIdData.First().Type == taxInfo.TaxIdType
|
||||||
));
|
));
|
||||||
|
|
||||||
await stripeAdapter.Received().SubscriptionCreateAsync(Arg.Is<Stripe.SubscriptionCreateOptions>(s =>
|
await stripeAdapter.Received().SubscriptionCreateAsync(Arg.Is<Stripe.SubscriptionCreateOptions>(s =>
|
||||||
|
Loading…
Reference in New Issue
Block a user