Пример #1
0
 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));
 }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #5
0
        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);
        }
Пример #6
0
        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);
        }
Пример #7
0
        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);
        }