Example #1
0
        public void FromUriAndFromBodyBinder_BindBothProductIdParameterAndPayloadObject_ReturnBindedObject()
        {
            //Arrange
            int productId = 5;

            _variantAddUrl = string.Format(_variantAddUrl, productId);
            AddProductVariantRequest addProductVariantRequest = new AddProductVariantRequest()
            {
                Name                  = "Black",
                Price                 = 550,
                SpecialPrice          = 400,
                SpecialPriceDuration  = 5,
                SpecialPriceStartDate = DateTime.Today.AddDays(5),
                CreatedOn             = DateTime.Today,
                DefaultCategory       = new Category()
                {
                    CreatedOn = DateTime.Today, Id = 5, Name = "Watches"
                }
            };
            AddProductVariantResponse addProductVariantResponse;

            //Act
            using (var server = TestServer.Create <Startup>())
            {
                HttpResponseMessage response = server.CreateRequest(_variantAddUrl)
                                               .And(request => request.Content = new ObjectContent(typeof(AddProductVariantRequest), addProductVariantRequest, new JsonMediaTypeFormatter()))
                                               .PostAsync().Result;

                addProductVariantResponse = response.Content.ReadAsAsync <AddProductVariantResponse>().Result;
            }

            //Assert
            Assert.AreEqual(productId, addProductVariantResponse.ProductId);
            Assert.AreEqual(addProductVariantRequest.Name, addProductVariantResponse.Name);
            Assert.AreEqual(addProductVariantRequest.Price, addProductVariantResponse.Price);
            Assert.AreEqual(addProductVariantRequest.SpecialPrice, addProductVariantResponse.SpecialPrice);
            Assert.AreEqual(addProductVariantRequest.SpecialPriceDuration, addProductVariantResponse.SpecialPriceDuration);
            Assert.AreEqual(addProductVariantRequest.SpecialPriceStartDate, addProductVariantResponse.SpecialPriceStartDate);
            Assert.AreEqual(addProductVariantRequest.CreatedOn, addProductVariantResponse.CreatedOn);
            Assert.IsNotNull(addProductVariantResponse.DefaultCategory);
        }
Example #2
0
 public AddProductVariantResponse AddProductsVariants([ModelBinder] AddProductVariantRequest addProductVariantRequest)
 {
     return(addProductVariantRequest);
 }