public async Task UpgradePlan_OrganizationIsNull_Throws(Guid organizationId, OrganizationUpgrade upgrade, SutProvider <OrganizationService> sutProvider) { sutProvider.GetDependency <IOrganizationRepository>().GetByIdAsync(organizationId).Returns(Task.FromResult <Organization>(null)); var exception = await Assert.ThrowsAsync <NotFoundException>( () => sutProvider.Sut.UpgradePlanAsync(organizationId, upgrade)); }
public async Task UpgradePlan_Passes(Organization organization, OrganizationUpgrade upgrade, SutProvider <OrganizationService> sutProvider) { sutProvider.GetDependency <IOrganizationRepository>().GetByIdAsync(organization.Id).Returns(organization); await sutProvider.Sut.UpgradePlanAsync(organization.Id, upgrade); await sutProvider.GetDependency <IOrganizationRepository>().Received(1).ReplaceAsync(organization); }
public OrganizationUpgrade ToOrganizationUpgrade(OrganizationUpgrade existingUpgrade) { if (string.IsNullOrWhiteSpace(existingUpgrade.PublicKey)) { existingUpgrade.PublicKey = PublicKey; } if (string.IsNullOrWhiteSpace(existingUpgrade.PrivateKey)) { existingUpgrade.PrivateKey = EncryptedPrivateKey; } return(existingUpgrade); }
public OrganizationUpgrade ToOrganizationUpgrade() { var orgUpgrade = new OrganizationUpgrade { AdditionalSeats = AdditionalSeats, AdditionalStorageGb = AdditionalStorageGb.GetValueOrDefault(), BusinessName = BusinessName, Plan = PlanType, PremiumAccessAddon = PremiumAccessAddon, TaxInfo = new TaxInfo() { BillingAddressCountry = BillingAddressCountry, BillingAddressPostalCode = BillingAddressPostalCode } }; Keys.ToOrganizationUpgrade(orgUpgrade); return(orgUpgrade); }
public async Task UpgradePlan_UpgradeFromPaidPlan_Throws(Organization organization, OrganizationUpgrade upgrade, SutProvider <OrganizationService> sutProvider) { sutProvider.GetDependency <IOrganizationRepository>().GetByIdAsync(organization.Id).Returns(organization); var exception = await Assert.ThrowsAsync <BadRequestException>( () => sutProvider.Sut.UpgradePlanAsync(organization.Id, upgrade)); Assert.Contains("can only upgrade", exception.Message); }
public async Task UpgradePlan_AlreadyInPlan_Throws(Organization organization, OrganizationUpgrade upgrade, SutProvider <OrganizationService> sutProvider) { upgrade.Plan = organization.PlanType; sutProvider.GetDependency <IOrganizationRepository>().GetByIdAsync(organization.Id).Returns(organization); var exception = await Assert.ThrowsAsync <BadRequestException>( () => sutProvider.Sut.UpgradePlanAsync(organization.Id, upgrade)); Assert.Contains("already on this plan", exception.Message); }
public async Task UpgradePlan_GatewayCustomIdIsNull_Throws(Organization organization, OrganizationUpgrade upgrade, SutProvider <OrganizationService> sutProvider) { organization.GatewayCustomerId = string.Empty; sutProvider.GetDependency <IOrganizationRepository>().GetByIdAsync(organization.Id).Returns(organization); var exception = await Assert.ThrowsAsync <BadRequestException>( () => sutProvider.Sut.UpgradePlanAsync(organization.Id, upgrade)); Assert.Contains("no payment method", exception.Message); }