public void BasketsController_AddBasketItem() { var productRepo = new PhotoProductMemoryRepository(); productRepo.Add(new PhotoProduct { Name = "Alpha", Id = "42" }); var productService = new PhotoProductService(productRepo); var repo = new BasketMemoryRepository(); repo.Add(new Basket { Id = "Aruba", Created = DateTime.Now, Modified = DateTime.Now }); var service = new BasketService(repo, productService); var controller = new BasketsController(service, productService); var result = controller.AddBasketItem("Aruba", "42", 1337); Assert.IsNotNull(result, "There should be a result."); Assert.IsInstanceOfType(result, typeof(OkObjectResult)); var okResult = result as OkObjectResult; Assert.IsNotNull(okResult.Value, "Value should not be null."); Assert.IsInstanceOfType(okResult.Value, typeof(BasketItemModel)); var item = okResult.Value as BasketItemModel; Assert.IsNotNull(item, "New basket item should be present"); Assert.IsNotNull(item.Content, "New basket item content should be present."); Assert.AreEqual("42", item.Content.Id, "Content identifier should be 42."); Assert.AreEqual(1337u, item.Amount, "The amount should be 1337."); }
public void BasketsController_AddBasketItem_InvalidProduct_BadRequest() { var productRepo = new PhotoProductMemoryRepository(); var productService = new PhotoProductService(productRepo); var repo = new BasketMemoryRepository(); repo.Add(new Basket { Id = "Aruba", Created = DateTime.Now, Modified = DateTime.Now }); var service = new BasketService(repo, productService); var controller = new BasketsController(service, productService); var result = controller.AddBasketItem("Aruba", "XXX", 1); Assert.IsNotNull(result, "There should be a result."); Assert.IsInstanceOfType(result, typeof(BadRequestObjectResult)); }