Exemplo n.º 1
0
        public void Edit_ReturnNotFound_WhenLecturerDoesNotExist()
        {
            //Arrange
            LecturerService    lecturerService = Substitute.For <LecturerService>();
            LecturerController controller      = new LecturerController(lecturerService);

            //Act
            IActionResult actual = controller.Edit(0);

            //Assert
            var expected = new NotFoundResult();

            actual.Should().BeEquivalentTo(expected);
        }
Exemplo n.º 2
0
        public void Edit_Get_ReturnsNotFound_WhenNonExistingLecturerId()
        {
            // Arrange
            int nonExistingLecturerId = 0;

            var lecturerServiceMock = Substitute.For <LecturerService>();

            lecturerServiceMock.GetLecturer(nonExistingLecturerId).Returns(default(Lecturer));
            var controller = new LecturerController(lecturerServiceMock);

            // Act
            var result = controller.Edit(nonExistingLecturerId);

            // Assert
            var viewResult = Assert.IsType <NotFoundResult>(result);
        }
Exemplo n.º 3
0
        public void Edit_Get_ReturnsViewResult_WithLecturer()
        {
            // Arrange
            int existingLecturerId = 1;

            var lecturerServiceMock = Substitute.For <LecturerService>();

            lecturerServiceMock.GetLecturer(existingLecturerId).Returns(new Lecturer());
            var controller = new LecturerController(lecturerServiceMock);

            // Act
            var result = controller.Edit(existingLecturerId);

            // Assert
            var viewResult = Assert.IsType <ViewResult>(result);
            var model      = Assert.IsType <Lecturer>(viewResult.Model);
        }
Exemplo n.º 4
0
        public void Edit_ReturnsViewResult_WhenModelStateIsInvalid()
        {
            //Arrange
            Lecturer lecturer = new Lecturer {
                Name = "Test 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.Edit(lecturer);

            //Assert
            Assert.IsAssignableFrom <ViewResult>(actual);
            actual.Should().BeAssignableTo <ViewResult>();
        }
Exemplo n.º 5
0
        public void Edit_Post_RedirectToLecturers()
        {
            // Arrange
            Lecturer lecturerForEditing = new Lecturer();

            var lecturerSericeMock = Substitute.For <LecturerService>();

            lecturerSericeMock.UpdateLecturer(lecturerForEditing).Returns(true);
            var controller = new LecturerController(lecturerSericeMock);

            // Act
            var result = controller.Edit(lecturerForEditing);

            // Assert
            var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result);

            Assert.Null(redirectToActionResult.ControllerName);
            Assert.Equal("Lecturers", redirectToActionResult.ActionName);
        }
Exemplo n.º 6
0
        public void Edit_RedirectsToLecturers_WhenModelStateIsValid()
        {
            //Arrange
            Lecturer lecturer = new Lecturer {
                Name = "Test Lecturer"
            };
            LecturerService lecturerService = Substitute.For <LecturerService>();

            lecturerService.GetLecturerById(5).Returns(lecturer);
            LecturerController controller = new LecturerController(lecturerService);

            //Act
            var actionResult = controller.Edit(lecturer);

            lecturerService.Received().UpdateLecturer(lecturer);

            // Assert
            actionResult.Should().BeOfType <RedirectToActionResult>().Which.ActionName.Should().Be("Lecturers");
        }
Exemplo n.º 7
0
        public void Edit_ReturnViewResultWithModel_WhenLecturerExists()
        {
            //Arrange
            Lecturer lecturer = new Lecturer {
                Name = "Test Lecturer"
            };
            LecturerService lecturerService = Substitute.For <LecturerService>();

            lecturerService.GetLecturerById(5).Returns(lecturer);
            LecturerController controller = new LecturerController(lecturerService);

            //Act
            IActionResult actual = controller.Edit(5);

            //Assert
            actual.Should().BeAssignableTo <ViewResult>();
            ViewResult viewResult = (ViewResult)actual;

            viewResult.Model.Should().BeEquivalentTo(lecturer);
        }