public void CalculateTaxesCreatesNamedClient() { var calculator = new TaxJarTaxCalculator(clientFactory.Object); calculator.CalculateTaxesForOrder(validOrder); clientFactory.Verify(f => f.CreateClient("TaxJar"), Times.Once); }
public void CalculateTaxesReturnsNullOnExceptionThrown() { SetupNamedClientToThrow(); var calculator = new TaxJarTaxCalculator(clientFactory.Object); var taxInfo = calculator.CalculateTaxesForOrder(validOrder); Assert.IsNull(taxInfo); }
public void CalculateTaxesReturnsNullOnBadRequest() { SetupNamedClientWithFailingAnswer(); var calculator = new TaxJarTaxCalculator(clientFactory.Object); var taxInfo = calculator.CalculateTaxesForOrder(validOrder); Assert.IsNull(taxInfo); }
public void CalculateTaxesReturnsTaxesObject() { SetupNamedClientWithFakeAnswerForCalculateTaxes(); var calculator = new TaxJarTaxCalculator(clientFactory.Object); var taxInfo = calculator.CalculateTaxesForOrder(validOrder); Assert.IsTrue(CompareAllProperties(fakeOrderTax.ToOrderTaxInfo(), taxInfo)); }
public void CalculateTaxesChecksValidationMessages() { validOrder.To.State = null; clientFactory.Setup(f => f.CreateClient(It.IsAny <string>())).Returns(new HttpClient()); var calculator = new TaxJarTaxCalculator(clientFactory.Object); Assert.Throws <ArgumentException>(() => calculator.CalculateTaxesForOrder(validOrder)); clientFactory.Verify(f => f.CreateClient(It.IsAny <string>()), Times.Never); }