[TestCase(false)] // passing binding model public void Add_WhenCalled_ReturnsViewModelOfAddedOrder(bool bindingModelIsNull) { //Arrange _unitOfWork.Setup(x => x.RepositoryFor <Entities.Order>().Insert(It.IsAny <Entities.Order>())).Returns <Entities.Order>(x => x); //Act ViewModels.Order func() => _ordersManager.Add(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.IsNotNull(func()); } }
public IHttpActionResult Post([FromBody] BindingModels.Order orderBindingModel) { var result = _ordersManager.Add(orderBindingModel); return(Ok(result)); }