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 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 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); }