示例#1
0
        public void Create_Get_ReturnsViewResult()
        {
            // Arrange
            var controller = new LecturerController(null);

            //Act
            var result = controller.Create();

            // Assert
            var viewResult = Assert.IsType <ViewResult>(result);
        }
示例#2
0
        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>();
        }
示例#3
0
        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");
        }
示例#4
0
        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>();
        }
示例#5
0
        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);
        }