1
0
mirror of https://github.com/bitwarden/server.git synced 2025-06-30 07:36:14 -05:00

[AC-2744] Add provider portal pricing for consolidated billing (#4210)

* Expanded Teams and Enterprise plan with provider seat data

* Updated provider setup process with new plan information

* Updated provider subscription retrieval and update with new plan information

* Updated client invoice report with new plan information

* Fixed tests

* Fix broken test
This commit is contained in:
Alex Morask
2024-06-24 11:16:57 -04:00
committed by GitHub
parent fa62b36d44
commit 95f54b616e
11 changed files with 28 additions and 14 deletions

View File

@ -422,7 +422,7 @@ public class ProviderBillingControllerTests
Assert.Equal(50, providerTeamsPlan.SeatMinimum);
Assert.Equal(10, providerTeamsPlan.PurchasedSeats);
Assert.Equal(30, providerTeamsPlan.AssignedSeats);
Assert.Equal(60 * teamsPlan.PasswordManager.SeatPrice, providerTeamsPlan.Cost);
Assert.Equal(60 * teamsPlan.PasswordManager.ProviderPortalSeatPrice, providerTeamsPlan.Cost);
Assert.Equal("Monthly", providerTeamsPlan.Cadence);
var enterprisePlan = StaticStore.GetPlan(PlanType.EnterpriseMonthly);
@ -431,7 +431,7 @@ public class ProviderBillingControllerTests
Assert.Equal(100, providerEnterprisePlan.SeatMinimum);
Assert.Equal(0, providerEnterprisePlan.PurchasedSeats);
Assert.Equal(90, providerEnterprisePlan.AssignedSeats);
Assert.Equal(100 * enterprisePlan.PasswordManager.SeatPrice, providerEnterprisePlan.Cost);
Assert.Equal(100 * enterprisePlan.PasswordManager.ProviderPortalSeatPrice, providerEnterprisePlan.Cost);
Assert.Equal("Monthly", providerEnterprisePlan.Cadence);
}
#endregion

View File

@ -231,7 +231,7 @@ public class ProviderEventServiceTests
options.PlanName == "Teams (Monthly)" &&
options.AssignedSeats == 50 &&
options.UsedSeats == 30 &&
options.Total == options.AssignedSeats * teamsPlan.PasswordManager.SeatPrice * 0.65M));
options.Total == options.AssignedSeats * teamsPlan.PasswordManager.ProviderPortalSeatPrice * 0.65M));
await _providerInvoiceItemRepository.Received(1).CreateAsync(Arg.Is<ProviderInvoiceItem>(
options =>
@ -242,7 +242,7 @@ public class ProviderEventServiceTests
options.PlanName == "Enterprise (Monthly)" &&
options.AssignedSeats == 50 &&
options.UsedSeats == 30 &&
options.Total == options.AssignedSeats * enterprisePlan.PasswordManager.SeatPrice * 0.65M));
options.Total == options.AssignedSeats * enterprisePlan.PasswordManager.ProviderPortalSeatPrice * 0.65M));
await _providerInvoiceItemRepository.Received(1).CreateAsync(Arg.Is<ProviderInvoiceItem>(
options =>
@ -253,7 +253,7 @@ public class ProviderEventServiceTests
options.PlanName == "Teams (Monthly)" &&
options.AssignedSeats == 50 &&
options.UsedSeats == 0 &&
options.Total == options.AssignedSeats * teamsPlan.PasswordManager.SeatPrice * 0.65M));
options.Total == options.AssignedSeats * teamsPlan.PasswordManager.ProviderPortalSeatPrice * 0.65M));
await _providerInvoiceItemRepository.Received(1).CreateAsync(Arg.Is<ProviderInvoiceItem>(
options =>
@ -264,7 +264,7 @@ public class ProviderEventServiceTests
options.PlanName == "Enterprise (Monthly)" &&
options.AssignedSeats == 50 &&
options.UsedSeats == 0 &&
options.Total == options.AssignedSeats * enterprisePlan.PasswordManager.SeatPrice * 0.65M));
options.Total == options.AssignedSeats * enterprisePlan.PasswordManager.ProviderPortalSeatPrice * 0.65M));
}
[Fact]