public void PutCustomerContact_ShouldFail_WhenDifferentID()
        {
            var controller = new CustomerContactsController(new CustomersWebApiContext());

            var badresult = controller.PutCustomerContacts(999, GetTestContacts());

            Assert.IsInstanceOfType(badresult, typeof(BadRequestResult));
        }
        public void GetCustomerContact_ShouldReturnItemWithSameID()
        {
            var context = new CustomersWebApiContext();

            context.CustomerContacts.Add(GetTestContacts());

            var controller = new CustomerContactsController(context);
            var result     = controller.GetCustomerContacts(3) as OkNegotiatedContentResult <CustomerContacts>;

            Assert.IsNotNull(result);
            Assert.AreEqual(3, result.Content.Id);
        }
        public void PutCustomerContact_ShouldReturnStatusCode()
        {
            var controller = new CustomerContactsController(new CustomersWebApiContext());

            var item = GetTestContacts();

            var result = controller.PutCustomerContacts(item.Id, item) as StatusCodeResult;

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(StatusCodeResult));
            Assert.AreEqual(HttpStatusCode.NoContent, result.StatusCode);
        }
        public void DeleteCustomerContact_ShouldReturnOK()
        {
            var context = new CustomersWebApiContext();
            var con     = GetTestContacts();

            context.CustomerContacts.Add(con);

            var controller = new CustomerContactsController(context);
            var result     = controller.DeleteCustomerContacts(3) as OkNegotiatedContentResult <CustomerContacts>;

            Assert.IsNotNull(result);
            Assert.AreEqual(con.Id, result.Content.Id);
        }
        public void PostCustomerContact_ShouldReturnSameContact()
        {
            var controller = new CustomerContactsController(new CustomersWebApiContext());

            var item = GetTestContacts();

            var result = controller.PostCustomerContacts(item) as CreatedAtRouteNegotiatedContentResult <CustomerContacts>;

            Assert.IsNotNull(result);
            Assert.AreEqual(result.RouteName, "DefaultApi");
            Assert.AreEqual(result.RouteValues["id"], result.Content.Id);
            Assert.AreEqual(result.Content.FirstName, item.FirstName);
        }