public void Create_Get_ReturnsViewResult() { // Arrange var controller = new LecturerController(null); //Act var result = controller.Create(); // Assert var viewResult = Assert.IsType <ViewResult>(result); }
public void Create_ReturnsBadRequest_WhenLecturerParameterIsNull() { //Arrange Lecturer lecturer = null; LecturerService lecturerService = Substitute.For <LecturerService>(); LecturerController controller = new LecturerController(lecturerService); //Act IActionResult actual = controller.Create(lecturer); //Assert actual.Should().BeAssignableTo <BadRequestResult>(); }
public void Create_RedirectsToLecturersAndCreatesLecturer_WhenRequestIsValid() { //Arrange Lecturer lecturer = new Lecturer { Name = "New Lecturer" }; LecturerService lecturerService = Substitute.For <LecturerService>(); LecturerController controller = new LecturerController(lecturerService); //Act var actionResult = controller.Create(lecturer); lecturerService.Received().CreateLecturer(lecturer); // Assert actionResult.Should().BeOfType <RedirectToActionResult>().Which.ActionName.Should().Be("Lecturers"); }
public void Create_ReturnsViewResult_WhenLecturerModelStateIsInvalid() { //Arrange Lecturer lecturer = new Lecturer { Name = "New Lecturer" }; LecturerService lecturerService = Substitute.For <LecturerService>(); LecturerController controller = new LecturerController(lecturerService); //Act controller.ModelState.AddModelError("test", "test"); //makes model invalid => if (!ModelState.IsValid) IActionResult actual = controller.Create(lecturer); //Assert Assert.IsAssignableFrom <ViewResult>(actual); actual.Should().BeAssignableTo <ViewResult>(); }
public void Create_Post_RedirectToLecturers() { // Arrange Lecturer lecturerForCreating = new Lecturer(); var lecturerServiceMock = Substitute.For <LecturerService>(); lecturerServiceMock.CreateLecturer(lecturerForCreating).Returns(true); var controller = new LecturerController(lecturerServiceMock); // Act var result = controller.Create(lecturerForCreating); // Assert var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result); Assert.Null(redirectToActionResult.ControllerName); Assert.Equal("Lecturers", redirectToActionResult.ActionName); }