コード例 #1
0
        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));
        }
コード例 #2
0
        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));

        }
コード例 #3
0
        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);


        }
コード例 #4
0
        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>));         
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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);
        }