Exemplo n.º 1
0
        public async Task GetTaxes_Valid_Data_US()
        {
            // arrage
            var taxesRequest = new TaxesRequest()
            {
                FromCountry = "US",
                FromZip     = "07001",
                FromState   = "NJ",
                ToCountry   = "US",
                ToZip       = "07446",
                ToState     = "NJ",
                Amount      = 16.50,
                Shipping    = 1.5,
                LineItems   = new List <GetTaxesRequestLineItem>()
                {
                    new GetTaxesRequestLineItem
                    {
                        Quantity       = 1,
                        UnitPrice      = 15.0,
                        ProductTaxCode = "31000"
                    }
                }
            };

            var expectedAmountToCollect = 1.09;
            var expectedTaxableAmount   = 16.5;

            // act
            var taxesResponse = await taxCalculator.GetTaxesForOrder(taxesRequest);

            // assert
            Assert.AreEqual(expectedAmountToCollect, taxesResponse.AmountToCollect);
            Assert.AreEqual(expectedTaxableAmount, taxesResponse.TaxableAmount);
        }