public void CalculateTax_SantaMonicaZipTest() { TaxJar taxJar = new TaxJar(); TaxResponse taxResponse = new TaxResponse(); Tax tax = new Tax(); tax.FromCountry = "US"; tax.FromZip = "07001"; tax.FromState = "NJ"; tax.ToCountry = "US"; tax.ToZip = "07446"; tax.ToState = "NJ"; tax.Amount = 16.5m; tax.Shipping = 1.5m; TaxLineItem lineItem = new TaxLineItem(); lineItem.Quantity = 1; lineItem.UnitPrice = 15.0m; lineItem.ProductTaxCode = "31000"; tax.LineItems.Add(lineItem); var taxService = new TaxService.TaxService(); Task.Run(async() => { taxResponse.Tax = await taxService.CalculateTax(taxJar, tax); }); Assert.IsTrue(taxResponse.OrderTotalAmount == 16.5m); Assert.IsTrue(taxResponse.Shipping == 1.5m); }
public async void GetTaxRateByLocation_InvalidAPIToken_ShouldFail() { var taxJarCalculator = new TaxJar(Initializer.API_URL, "test"); var location = Initializer.GetValidLocation(); await Assert.ThrowsAnyAsync <TaxServiceCalculatorException>(() => taxJarCalculator.GetTaxRateByLocation(location)); }
public async void CalculateOrderTaxes_NullOrder_ShouldFail() { var taxJarCalculator = new TaxJar(Initializer.API_URL, Initializer.API_TOKEN); Func <Task> result = () => taxJarCalculator.CalculateOrderTaxes(null); var exception = await Assert.ThrowsAsync <ArgumentNullException>(result); Assert.Equal("Order", exception.ParamName); }
public async void GetTaxRateByLocation_NullLocation_ShouldFail() { var taxJarCalculator = new TaxJar(Initializer.API_URL, Initializer.API_TOKEN); Func <Task> result = () => taxJarCalculator.GetTaxRateByLocation(null); var exception = await Assert.ThrowsAsync <ArgumentNullException>(result); Assert.Equal("Location", exception.ParamName); }
public async void GetTaxRateByLocation_InvalidLocation_ShouldFail() { var taxJarCalculator = new TaxJar(Initializer.API_URL, Initializer.API_TOKEN); var location = new Location { ZIP = "0", Street = "", City = "", State = "", Country = "" }; await Assert.ThrowsAnyAsync <TaxServiceCalculatorException>(() => taxJarCalculator.GetTaxRateByLocation(location)); }
public async void CalculateOrderTaxes_EmptyToCountry_ShouldFail() { var taxJarCalculator = new TaxJar(Initializer.API_URL, Initializer.API_TOKEN); var order = new Order(); Func <Task> result = () => taxJarCalculator.CalculateOrderTaxes(order); var exception = await Assert.ThrowsAsync <ArgumentException>(result); Assert.Equal("The ToCountry is required.", exception.Message); }
public async void CalculateOrderTaxes_OrderWithNoItems_ShouldFail() { var taxJarCalculator = new TaxJar(Initializer.API_URL, Initializer.API_TOKEN); var order = Initializer.GetOrder(); Func <Task> result = () => taxJarCalculator.CalculateOrderTaxes(order); var exception = await Assert.ThrowsAsync <ArgumentException>(result); Assert.Equal("Either amount or Line Items parameters are required to perform tax calculations.", exception.Message); }
public void TaxJar_GetTaxRate_Success() { var configuration = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json") .Build(); TaxJar tj = new TaxJar(configuration); string zipcode = "07747"; double rate = tj.GetTaxRate(zipcode); Assert.Equal(taxrateNJ, rate); }
public void TaxJar_GetTotalTax_Success() { var configuration = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json") .Build(); TaxJar tj = new TaxJar(configuration); string zipcode = "07747"; double orderTotal = 10.00; double totaltax = tj.GetTotalTax(zipcode, orderTotal); Assert.Equal(orderTotal * taxrateNJ, totaltax); }
public async void CalculateOrderTaxes_InvalidToZipWhenToCountryUS_ShouldFail() { var taxJarCalculator = new TaxJar(Initializer.API_URL, Initializer.API_TOKEN); var order = Initializer.GetNYOrderWithItems(); order.ToZip = string.Empty; Func <Task> result = () => taxJarCalculator.CalculateOrderTaxes(order); var exception = await Assert.ThrowsAsync <ArgumentException>(result); Assert.Equal("The ToZip parameter is required when ToCountry is 'US'.", exception.Message); }
public async void CalculateOrderTaxes_InvalidShipping_ShouldFail() { var taxJarCalculator = new TaxJar(Initializer.API_URL, Initializer.API_TOKEN); var order = new Order { ToCountry = Constants.COUNTRY_US }; Func <Task> result = () => taxJarCalculator.CalculateOrderTaxes(order); var exception = await Assert.ThrowsAsync <ArgumentException>(result); Assert.Equal("Invalid Shipping value.", exception.Message); }
public async void TaxJarGetRate(string ziptest, string statetest, string citytest, string countrytest, string streettest) { ReqRates reqRates = new ReqRates() { zip = ziptest, state = statetest, city = citytest, country = countrytest, street = streettest }; TaxJar taxJar = new TaxJar(); Assert.Equal(0.09, await taxJar.GetRate(reqRates)); }
public void GetRate_EmptyZipTest() { TaxJar taxJar = new TaxJar(); RateResponse rateResponse = new RateResponse(); string zip = ""; var taxService = new TaxService.TaxService(); Task.Run(async() => { rateResponse.Rate = await taxService.GetRate(taxJar, zip); }); Assert.IsNull(rateResponse.Rate); }
public void GetRate_SantaMonicaZipTest() { TaxJar taxJar = new TaxJar(); RateResponse rateResponse = new RateResponse(); //zip of city of Santa Monica string zip = "90404"; var taxService = new TaxService.TaxService(); Task.Run(async() => { rateResponse.Rate = await taxService.GetRate(taxJar, zip); }); Assert.IsTrue(rateResponse.Rate.City.Equals("SANTA MONICA")); }
public void CalculateTax_EmptyToCountryTaxInfoTest() { TaxJar taxJar = new TaxJar(); TaxResponse taxResponse = new TaxResponse(); Tax tax = new Tax(); tax.ToCountry = ""; var taxService = new TaxService.TaxService(); Task.Run(async() => { taxResponse.Tax = await taxService.CalculateTax(taxJar, tax); }); Assert.IsNull(taxResponse.Tax); }
public async void TaxJarGetTaxableAmount(string tocountry, string tozip, string tostate, double shipping, string fromzip, string fromcountry, string fromcity, string fromstate, string fromstreet, double amount) { ReqTaxes reqTaxes = new ReqTaxes() { ToCountry = tocountry, ToZip = tozip, ToState = tostate, Shipping = shipping, FromZip = fromzip, FromCountry = fromcountry, FromCity = fromcity, FromState = fromstate, FromStreet = fromstreet }; TaxJar taxJar = new TaxJar(); // Not getting right result from post request? Seems it's picking up the get request rate. Weird. Assert.Equal(41.03, await taxJar.GetTaxableAmount(reqTaxes)); }