Esempio n. 1
0
        public void case_input_two_shouldbe__success()
        {
            var items = "{ 'Items':[{ 'ProductId':4, 'Quantity': 1}," +
                        "{ 'ProductId':5, 'Quantity': 1}" +
                        "]}";
            var request = new DefaultHttpRequest(new DefaultHttpContext())
            {
                Body = new MemoryStream(Encoding.UTF8.GetBytes(items))
            };
            var logger = NullLoggerFactory.Instance.CreateLogger("Null Logger");

            var response = SalesTaxesFunction.Run(request, logger);

            response.Wait();

            // Check that the response is an "OK" response
            Assert.IsAssignableFrom <OkObjectResult>(response.Result);

            // Check that the contents of the response are the expected contents
            var result        = (OkObjectResult)response.Result;
            var receipt       = ((SalesTaxesResponse)result.Value).Receipt;
            var productSample = receipt.TotalItems.Find(ti => ti.ProductName == "Imported box of chocolates");

            Assert.Equal(2, receipt.TotalItems.Count);
            Assert.Equal(7.65, receipt.SalesTaxes);
            Assert.Equal(65.15, receipt.Total);

            Assert.NotNull(productSample);
            Assert.Equal(10.50, productSample.UnitPrice);
            Assert.Equal(1, productSample.Quantity);
            Assert.Equal(0.5, productSample.SaleTax);
            Assert.Equal(10.50, productSample.Total);
        }
Esempio n. 2
0
        public void bad_request_should_be__failure()
        {
            var request = new DefaultHttpRequest(new DefaultHttpContext());
            var logger  = NullLoggerFactory.Instance.CreateLogger("Null Logger");

            var response = SalesTaxesFunction.Run(request, logger);

            response.Wait();

            // Check that the response is an "Bad" response
            Assert.IsAssignableFrom <BadRequestObjectResult>(response.Result);

            // Check that the contents of the response are the expected contents
            var result = (BadRequestObjectResult)response.Result;

            Assert.Equal("An exception occurred trying to get the sales taxes", result.Value);
        }
Esempio n. 3
0
        public void empty_items_request_should_be__failure()
        {
            var items   = "{ 'Items':[]}";
            var request = new DefaultHttpRequest(new DefaultHttpContext())
            {
                Body = new MemoryStream(Encoding.UTF8.GetBytes(items))
            };

            var logger = NullLoggerFactory.Instance.CreateLogger("Null Logger");

            var response = SalesTaxesFunction.Run(request, logger);

            response.Wait();

            // Check that the response is an "Bad" response
            Assert.IsAssignableFrom <BadRequestObjectResult>(response.Result);

            // Check that the contents of the response are the expected contents
            var result = (BadRequestObjectResult)response.Result;

            Assert.Equal("Please provide a valid request", result.Value);
        }
Esempio n. 4
0
        public void valid_request_should_be__success()
        {
            var items   = "{ 'Items':[{ 'ProductId':1, 'Quantity': 1}]}";
            var request = new DefaultHttpRequest(new DefaultHttpContext())
            {
                Body = new MemoryStream(Encoding.UTF8.GetBytes(items))
            };

            var logger = NullLoggerFactory.Instance.CreateLogger("Null Logger");

            var response = SalesTaxesFunction.Run(request, logger);

            response.Wait();

            // Check that the response is an "OK" response
            Assert.IsAssignableFrom <OkObjectResult>(response.Result);

            // Check that the contents of the response are the expected contents
            var result  = (OkObjectResult)response.Result;
            var receipt = ((SalesTaxesResponse)result.Value).Receipt;

            Assert.Single(receipt.TotalItems);
        }