public void DeleteCustomerDeletesCustomer() { //Arrange: // Instantiate CustomersController so its methods can be called // Create a new customer to be deleted, and get its customer ID var customerController = new CustomersController(); var customer = new CustomerModel { FirstName = "Jim", LastName = "McDonald", Address1 = "Farm", Address2 = "Yard", City = "Denver", State = "CO", Zip = "56432" }; IHttpActionResult result = customerController.PostCustomer(customer); CreatedAtRouteNegotiatedContentResult<CustomerModel> contentResult = (CreatedAtRouteNegotiatedContentResult<CustomerModel>)result; int customerIdToDelete = contentResult.Content.CustomerId; //Act: Call DeleteCustomer result = customerController.DeleteCustomer(customerIdToDelete); //Assert: // Verify that HTTP result is OK // Verify that reading deleted customer returns result not found Assert.IsInstanceOfType(result, typeof(OkNegotiatedContentResult<Customer>)); result = customerController.GetCustomer(customerIdToDelete); Assert.IsInstanceOfType(result, typeof(NotFoundResult)); }
public void PutCustomerUpdatesCustomer() { //Arrange var cusomersContoller = new CustomersController(); var newCustomer = new CustomerModel { FirstName = "Testy", LastName = "McTesterson", Address1 = "123 Main Street", Address2 = "Suite 2", City = "San Diego", States = "CA", Zip = "92101" }; //The result of the Post Request IHttpActionResult result = cusomersContoller.PostCustomer(newCustomer); //Cast result as Content Result so that I can gather information from ContentResult CreatedAtRouteNegotiatedContentResult<CustomerModel> contentResult = (CreatedAtRouteNegotiatedContentResult<CustomerModel>)result; //Result contains the customer I had JUST createad result = cusomersContoller.GetCustomer(contentResult.Content.CustomerId); //Get CustomerModel from 'result' OkNegotiatedContentResult<CustomerModel> customerResult = (OkNegotiatedContentResult<CustomerModel>)result; //Act //The result of the Put Request result = cusomersContoller.PutCustomer(customerResult.Content.CustomerId, newCustomer); //Assert Assert.IsInstanceOfType(result, typeof(StatusCodeResult)); }
public void GetCustomerReturnCustomer() { //Arrange var customerController = new CustomersController(); //Act IHttpActionResult result = customerController.GetCustomer(1); //Assert //If action returns: NotFound() Assert.IsNotInstanceOfType(result, typeof(NotFoundResult)); //If action returns: Ok() Assert.IsInstanceOfType(result, typeof(OkNegotiatedContentResult<CustomerModel>)); //if action was returing data in the body like: Ok<string>("data: 12") // OkNegotiatedContentResult<string> conNegResult = Assert.IsType<OkNegotiatedContentResult<string>>(actionResult); // Assert.Equal("data: 12", conNegResult.Content); }
public void DeleteCustomerRecord() { //Arrange //Create Controller var customersController = new CustomersController(); //Create a customer to be deleted var dbCustomer = new CustomerModel { FirstName = "Testy", LastName = "McTesterson", Address1 = "123 Main Street", Address2 = "Suite 2", City = "San Diego", States = "CA", Zip = "92101", }; //Add 'new customer' to the DB using a POST //Save returned value as RESULT IHttpActionResult result = customersController.PostCustomer(dbCustomer); //Cast result as Content Result so that I can gather information from ContentResult CreatedAtRouteNegotiatedContentResult<CustomerModel> contentResult = (CreatedAtRouteNegotiatedContentResult<CustomerModel>)result; //Result contains the customer I had JUST createad result = customersController.GetCustomer(contentResult.Content.CustomerId); //Get CustomerModel from 'result' OkNegotiatedContentResult<CustomerModel> customerResult = (OkNegotiatedContentResult<CustomerModel>)result; //Act //The result of the Delete Request result = customersController.DeleteCustomer(customerResult.Content.CustomerId); //Assert //If action returns: NotFound() Assert.IsNotInstanceOfType(result, typeof(NotFoundResult)); Assert.IsInstanceOfType(result, typeof(OkNegotiatedContentResult<CustomerModel>)); }
public void GetCustomerReturnsCustomer() { int customerIdForTest = 1; //Arrange: Instantiate CustomersController so its methods can be called var customerController = new CustomersController(); //Act: Call the GetCustomer method IHttpActionResult result = customerController.GetCustomer(customerIdForTest); //Assert: // Verify that HTTP status code is OK // Verify that returned customer ID is correct Assert.IsInstanceOfType(result, typeof(OkNegotiatedContentResult<CustomerModel>)); OkNegotiatedContentResult<CustomerModel> contentResult = (OkNegotiatedContentResult<CustomerModel>)result; Assert.IsTrue(contentResult.Content.CustomerId == customerIdForTest); }
public void PutCustomerUpdatesCustomer() { int customerIdForTest = 1; //Arrange: Instantiate CustomersController so its methods can be called var customerController = new CustomersController(); //Act: // Get an existing customer, change it, and // pass it to PutCustomer IHttpActionResult result = customerController.GetCustomer(customerIdForTest); OkNegotiatedContentResult<CustomerModel> contentResult = (OkNegotiatedContentResult<CustomerModel>)result; CustomerModel updatedCustomer = (CustomerModel)contentResult.Content; string address1BeforeUpdate = updatedCustomer.Address1; string cityBeforeUpdate = updatedCustomer.City; string stateBeforeUpdate = updatedCustomer.State; string zipBeforeUpdate = updatedCustomer.Zip; updatedCustomer.Address1 = "567 State Street"; updatedCustomer.City = "Philadelphia"; updatedCustomer.State = "PA"; updatedCustomer.Zip = "14378"; result = customerController.PutCustomer (updatedCustomer.CustomerId, updatedCustomer); //Assert: // Verify that HTTP status code is OK // Get the customer and verify that it was updated var statusCode = (StatusCodeResult)result; Assert.IsTrue(statusCode.StatusCode == System.Net.HttpStatusCode.NoContent); result = customerController.GetCustomer(customerIdForTest); Assert.IsInstanceOfType(result, typeof(OkNegotiatedContentResult<CustomerModel>)); OkNegotiatedContentResult<CustomerModel> readContentResult = (OkNegotiatedContentResult<CustomerModel>)result; updatedCustomer = (CustomerModel)readContentResult.Content; Assert.IsTrue(updatedCustomer.Address1 == "567 State Street"); Assert.IsTrue(updatedCustomer.City == "Philadelphia"); Assert.IsTrue(updatedCustomer.State == "PA"); Assert.IsTrue(updatedCustomer.Zip == "14378"); updatedCustomer.Address1 = address1BeforeUpdate; updatedCustomer.City = cityBeforeUpdate; updatedCustomer.State = stateBeforeUpdate; updatedCustomer.Zip = zipBeforeUpdate; /* updatedCustomer.Address1 = "123 Fake Street"; updatedCustomer.City = "San Diego"; updatedCustomer.State = "CA"; updatedCustomer.Zip = "92101"; */ result = customerController.PutCustomer (updatedCustomer.CustomerId, updatedCustomer); }