public HttpResponseMessage PostPerson(Person person)
 {
     var personId = _personModel.SavePerson(person);
     person.UserId = personId;
     var response = Request.CreateResponse<Person>(HttpStatusCode.Created, person);
     return response;
 }
        public void SetupForTests()
        {
            _personModel = Mock.Create<IPersonModel>(Behavior.Strict);
            _personController = new PersonController(_personModel);

            _personOne = new Person { FirstName = _firstNameOne, LastName = _lastNameOne, UserId = _userIdOne };
            _personTwo = new Person { FirstName = "FirstName", LastName = "LastName", UserId = 2 };
            _personList = new List<Person> { _personOne, _personTwo };

            var request = new HttpRequestMessage();
            var config = new HttpConfiguration();
            _personController.Request = request;
            _personController.Request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
        }
        public void ShouldBeAbleToAddANewPerson()
        {
            var person = new Person { FirstName = "New", LastName = "Person" };
            var expectedPersonId = 3;
            //var request = new HttpRequestMessage();
            //var config = new HttpConfiguration();
            //_personController.Request = request;
            //_personController.Request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;

            Mock.Arrange(() => _personModel.SavePerson(Arg.IsAny<Person>())).Returns(expectedPersonId).OccursOnce();

            var result = _personController.PostPerson(person);

            Assert.IsNotNull(result);
            Assert.AreEqual(HttpStatusCode.Created, result.StatusCode);
            Assert.IsNotNull(result.Content);
            Mock.Assert(_personModel);
        }
 public HttpResponseMessage PutExistingPerson(int userId, Person person)
 {
     _personModel.SavePerson(userId, person);
     var response = Request.CreateResponse(HttpStatusCode.NoContent);
     return response;
 }