public void Post_WhenGradeIsNegative_ShouldReturnError() { var repository = Mock.Create<IRepository<Student>>(); var controller = new StudentsController(repository); SetupController(controller); var response = controller.PostStudent(new StudentModel() { LastName = "John", Age = 3, Grade = -5 }); Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode); }
public void Post_WhenValid_ShouldReturnAppropriateElement() { var repository = Mock.Create<IRepository<Student>>(); var firstStudentToAdd = new Student() { // Deliberate setting so that the appropriate id can be returned in the // controller. Id = 32, LastName = "First test student" }; Mock.Arrange(() => repository.Post(Arg.IsAny<Student>())).Returns(() => firstStudentToAdd); var controller = new StudentsController(repository); SetupController(controller); var response = controller.PostStudent(new StudentModel() { LastName = "John", Age = 11, Grade = 5 }); Student student = new Student(); bool gotValue = response.TryGetContentValue(out student); Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); Assert.IsTrue(gotValue); Assert.AreEqual(32, student.Id); }