public void Add_WhenStudentIsInValid_ShouldAddTheStudent() { bool isItemAdded = false; var repository = Mock.Create<IRepository<Student>>(); var studentModel = new Student() { Age = 10, Grade = 4, FirstName = "Nikolay", LastName = "Kostadinov", }; var studentEntity = new Student() { StudentId = 1, Grade = 4, FirstName = "Nikolay", LastName = "Kostadinov", }; Mock.Arrange(() => repository.Add(Arg.IsAny<Student>())) .Throws<ArgumentException>("Grade"); var controller = new StudentController(repository); controller.SetupControllerForTest(HttpMethod.Post, BaseUrl, ControllerName); var expected = HttpStatusCode.BadRequest; //act var httpResponse = controller.Post(studentModel); var actual = httpResponse.StatusCode; ///assert Assert.AreEqual(expected, actual); }
public void Add_WhenStudentIsValid_ShouldAddTheStudent() { bool isItemAdded = false; var repository = Mock.Create<IRepository<Student>>(); var studentModel = new Student() { Age = 10, Grade = 4, FirstName = "Nikolay", LastName = "Kostadinov", }; var studentEntity = new Student() { StudentId = 1, Age = 10, Grade = 4, FirstName = "Nikolay", LastName = "Kostadinov", }; Mock.Arrange(() => repository.Add(Arg.IsAny<Student>())) .DoInstead(() => { isItemAdded = true; }) .Returns(studentEntity); var controller = new StudentController(repository); controller.SetupControllerForTest(HttpMethod.Post, BaseUrl, ControllerName); //act var httpResponse = controller.Post(studentModel); var header = httpResponse.Headers.Location.AbsoluteUri; var expected = BaseUrl + ControllerName + "/1"; Assert.IsTrue(isItemAdded); Assert.AreEqual(expected, header); }