[TestCase(false)] // passing binding model public void Update_WhenCalled_ReturnsBoolean(bool bindingModelIsNull) { //Arrange _unitOfWork.Setup(x => x.RepositoryFor <Entities.Order>().Update(It.IsAny <Entities.Order>())).Returns(!bindingModelIsNull); //Act bool func() => _ordersManager.Update(bindingModelIsNull ? null : new BindingModels.Order() { Id = Guid.NewGuid(), EmployeeId = 1, OrderDate = DateTime.Now, RequiredDate = DateTime.Now, ShippedDate = DateTime.Now, ShipVia = 4, Freight = 3.5M, ShipName = "Great Lakes Food Market", ShipAddress = "2732 Baker Blvd.", ShipCity = "Eugene", ShipRegion = "OR", ShipPostalCode = "97403", ShipCountry = "USA" }); //Assert if (bindingModelIsNull) { Assert.That(() => func(), Throws.TypeOf <ArgumentNullException>()); } else { Assert.IsTrue(func()); } }
public IHttpActionResult Put([FromUri] Guid id, [FromBody] BindingModels.Order orderBindingModel) { if (id != orderBindingModel.Id) { return(BadRequest("Order ID is not same.")); } bool result = _ordersManager.Update(orderBindingModel); if (result) { return(Ok()); } return(NotFound()); }