public void ShouldDisplayIndex() { ICustomerAdapter adapter = Substitute.For <ICustomerAdapter>(); using (KnockoutController controller = new KnockoutController(adapter)) { ActionResult result = controller.Index(); ActionResultHelper.AssertView(result, controller.Views.Index); } }
public void ShouldUpdateCustomer() { ICustomerAdapter adapter = Substitute.For <ICustomerAdapter>(); using (KnockoutController controller = new KnockoutController(adapter)) { CustomerData data = new CustomerData(); ActionResult result = controller.Edit(data); ActionResultHelper.AssertHttpStatusCode(result, HttpStatusCode.OK); adapter.Received().UpdateCustomer(data); } }
public void ShouldDeleteCustomer() { ICustomerAdapter adapter = Substitute.For <ICustomerAdapter>(); using (KnockoutController controller = new KnockoutController(adapter)) { string customerId = Guid.NewGuid().ToString("N"); ActionResult result = controller.Delete(customerId); ActionResultHelper.AssertHttpStatusCode(result, HttpStatusCode.OK); adapter.Received().RemoveCustomer(customerId); } }
public void ShouldCreateAndReturnCustomer() { ICustomerAdapter adapter = Substitute.For <ICustomerAdapter>(); CustomerData added = new CustomerData(); adapter.AddCustomer(Arg.Any <CustomerData>()).Returns(added); using (KnockoutController controller = new KnockoutController(adapter)) { CustomerData data = new CustomerData(); ActionResult result = controller.Create(data); CustomerData model = ActionResultHelper.AssertJsonWithHttpStatusCode <CustomerData>(result, HttpStatusCode.Created); Assert.AreSame(added, model, "The added customer was not returned."); adapter.Received().AddCustomer(data); } }
public void ShouldLoadCustomers() { ICustomerAdapter adapter = Substitute.For <ICustomerAdapter>(); IEnumerable <CustomerData> data = new List <CustomerData>() { new CustomerData() }; adapter.GetCustomers().Returns(data); using (KnockoutController controller = new KnockoutController(adapter)) { ActionResult result = controller.Load(); CustomerData[] model = ActionResultHelper.AssertJson <CustomerData[]>(result); Assert.AreEqual(1, model.Length, "There should have been one customer."); Assert.AreSame(data.First(), model[0], "The wrong customer was returned."); adapter.Received().GetCustomers(); } }