public TaxRateServiceTest( StripeMockFixture stripeMockFixture, MockHttpClientFixture mockHttpClientFixture) : base(stripeMockFixture, mockHttpClientFixture) { this.service = new TaxRateService(this.StripeClient); this.createOptions = new TaxRateCreateOptions { DisplayName = "Name", Inclusive = true, Percentage = 12.5m, }; this.updateOptions = new TaxRateUpdateOptions { Metadata = new Dictionary <string, string> { { "key", "value" }, }, }; this.listOptions = new TaxRateListOptions { Limit = 1, }; }
protected StripeTaxRate GetOrCreateStripeTaxRate(PaymentProviderContext <TSettings> ctx, string taxName, decimal percentage, bool inclusive) { var taxRateService = new TaxRateService(); var stripeTaxRates = new List <StripeTaxRate>(); if (ctx.AdditionalData.ContainsKey("Vendr_StripeTaxRates")) { stripeTaxRates = (List <StripeTaxRate>)ctx.AdditionalData["Vendr_StripeTaxRates"]; } if (stripeTaxRates.Count > 0) { var taxRate = GetStripeTaxRate(stripeTaxRates, taxName, percentage, inclusive); if (taxRate != null) { return(taxRate); } } stripeTaxRates = taxRateService.List(new TaxRateListOptions { Active = true }).ToList(); if (ctx.AdditionalData.ContainsKey("Vendr_StripeTaxRates")) { ctx.AdditionalData["Vendr_StripeTaxRates"] = stripeTaxRates; } else { ctx.AdditionalData.Add("Vendr_StripeTaxRates", stripeTaxRates); } if (stripeTaxRates.Count > 0) { var taxRate = GetStripeTaxRate(stripeTaxRates, taxName, percentage, inclusive); if (taxRate != null) { return(taxRate); } } var newTaxRate = taxRateService.Create(new TaxRateCreateOptions { DisplayName = taxName, Percentage = percentage, Inclusive = inclusive, }); stripeTaxRates.Add(newTaxRate); ctx.AdditionalData["Vendr_StripeTaxRates"] = stripeTaxRates; return(newTaxRate); }
public async Task Donor_Calculates_Deductible_With_Negative_Donation_Amount() { //Arrange var calculateService = new CalculateService(); var taxRateService = new TaxRateService(); var controller = new CalculatorController(calculateService, taxRateService); //Act ViewResult result = await controller.Index(-500, 20, null) as ViewResult; //Assert Assert.IsNotNull(result); Assert.IsNotNull(result.Model); Assert.IsInstanceOfType(result.Model, typeof(CalculatedVM)); Assert.AreEqual(0, ((CalculatedVM)result.Model).DonatedAmount); Assert.AreEqual(20, ((CalculatedVM)result.Model).TaxRate); Assert.AreEqual("0", ((CalculatedVM)result.Model).Supplement); Assert.AreEqual(0, ((CalculatedVM)result.Model).DeductibleAmount); Assert.AreEqual("Enter a positive dontation amount!", ((CalculatedVM)result.Model).ErrorMessage); }
public async Task EventPromotor_Calculates_Deductible_With_Supplement() { //Arrange var calculateService = new CalculateService(); var taxRateService = new TaxRateService(); var controller = new CalculatorController(calculateService, taxRateService); //Act ViewResult result = await controller.Index(25000, 20, "1,05") as ViewResult; //Assert Assert.IsNotNull(result); Assert.IsNotNull(result.Model); Assert.IsInstanceOfType(result.Model, typeof(CalculatedVM)); Assert.AreEqual(25000, ((CalculatedVM)result.Model).DonatedAmount); Assert.AreEqual(20, ((CalculatedVM)result.Model).TaxRate); Assert.AreEqual("1,05", ((CalculatedVM)result.Model).Supplement); Assert.AreEqual(6562.49951171875, ((CalculatedVM)result.Model).DeductibleAmount); Assert.AreEqual(null, ((CalculatedVM)result.Model).ErrorMessage); }
public async Task Administrator_Changes_Tax_Rate() { //Arrange var calculateService = new CalculateService(); var taxRateService = new TaxRateService(); var controller = new CalculatorController(calculateService, taxRateService); //Act ViewResult result = await controller.Index(25000, 25, null) as ViewResult; //Assert Assert.IsNotNull(result); Assert.IsNotNull(result.Model); Assert.IsInstanceOfType(result.Model, typeof(CalculatedVM)); Assert.AreEqual(25000, ((CalculatedVM)result.Model).DonatedAmount); Assert.AreEqual(25, ((CalculatedVM)result.Model).TaxRate); Assert.AreEqual("0", ((CalculatedVM)result.Model).Supplement); Assert.AreEqual(8333.333984375, ((CalculatedVM)result.Model).DeductibleAmount); Assert.AreEqual(null, ((CalculatedVM)result.Model).ErrorMessage); Assert.AreEqual(25, taxRateService.GetTaxRate()); }