1
0
mirror of https://github.com/bitwarden/server.git synced 2024-11-30 13:33:24 +01:00
bitwarden-server/test/Core.Test
Alex Morask 68b421fa2b
[PM-11728] Upgrade free organizations without Stripe Sources API (#4757)
* Refactor: Update metadata in OrganizationSignup and OrganizationUpgrade

This commit moves the IsFromSecretsManagerTrial flag from the OrganizationUpgrade to the OrganizationSignup because it will only be passed in on organization creation. Additionally, it removes the nullable boolean 'provider' flag passed to OrganizationService.SignUpAsync and instead adds that boolean flag to the OrganizationSignup which seems more appropriate.

* Introduce OrganizationSale

While I'm trying to ingrain a singular model that can be used to purchase or upgrade organizations, I disliked my previously implemented OrganizationSubscriptionPurchase for being a little too wordy and specific. This sale class aligns more closely with the work we need to complete against Stripe and also uses a private constructor so that it can only be created and utilized via an Organiztion and either OrganizationSignup or OrganizationUpgrade object.

* Use OrganizationSale in OrganizationBillingService

This commit renames the OrganizationBillingService.PurchaseSubscription to Finalize and passes it the OrganizationSale object. It also updates the method so that, if the organization already has a customer, it retrieves that customer instead of automatically trying to create one which we'll need for upgraded free organizations.

* Add functionality for free organization upgrade

This commit adds an UpdatePaymentMethod to the OrganizationBillingService that will check if a customer exists for the organization and if not, creates one with the updated payment source and tax information. Then, in the UpgradeOrganizationPlanCommand, we can use the OrganizationUpgrade to get an OrganizationSale and finalize it, which will create a subscription using the customer created as part of the payment method update that takes place right before it on the client-side. Additionally, it adds some tax ID backfill logic to SubscriberService.UpdateTaxInformation

* (No Logic) Re-order OrganizationBillingService methods alphabetically

* (No Logic) Run dotnet format
2024-09-11 09:04:15 -04:00
..
AdminConsole [PM-11728] Upgrade free organizations without Stripe Sources API (#4757) 2024-09-11 09:04:15 -04:00
Auth [AC-1698] Check if a user has 2FA enabled more efficiently (#4524) 2024-08-08 15:43:45 +01:00
AutoFixture [AC-2646] Remove FC MVP dead code from Core (#4281) 2024-07-12 12:25:04 -05:00
Billing [AC-2568] Added invoices and transaction history endpoints. Added cursor paging for each (#4692) 2024-09-09 09:38:58 -04:00
Entities [AC-1283] AC Team code ownership moves: Organization (pt 2) (#3486) 2023-11-29 15:31:15 -06:00
Helpers Run formatting (#2230) 2022-08-29 16:06:55 -04:00
Models [PM-11667] Remove all code related to the outdated custom permissions 'Edit/Delete Assigned Collections' (#4736) 2024-09-10 15:06:13 +01:00
OrganizationFeatures F4E validation (#4690) 2024-08-22 15:10:03 +00:00
Resources Run formatting (#2230) 2022-08-29 16:06:55 -04:00
SecretsManager [SM-654] Individual secret permissions (#4160) 2024-06-20 12:45:28 -05:00
Services [PM-10311] Account Management: Create helper methods for checking against verified domains (#4636) 2024-09-11 11:29:57 +01:00
Tokens Run formatting (#2230) 2022-08-29 16:06:55 -04:00
Tools Replace async void with async Task (#3835) 2024-02-22 11:59:08 -05:00
Utilities Fix Most Test Warnings (#4612) 2024-08-15 17:14:22 -04:00
Vault [AC-2881] Remove Organization.FlexibleCollections from code (#4552) 2024-07-26 15:07:33 +10:00
ConstantsTests.cs [PM-3565] Enforce higher minimum KDF (#3304) 2023-12-05 17:21:46 +01:00
Core.Test.csproj Remove moq (#3166) 2023-08-10 17:03:42 +02:00
TempDirectory.cs Run formatting (#2230) 2022-08-29 16:06:55 -04:00