Beispiel #1
0
        public void ById_ShouldSearchCurrentUserCourses_Once()
        {
            // Arrange
            Mapper.Initialize(cfg =>
            {
                cfg.CreateMap <Course, CourseViewModel>();
                cfg.CreateMap <CourseViewModel, Course>();
            });

            Guid searchedCourseId = Guid.NewGuid();
            Guid otherCoursesId   = Guid.NewGuid();

            var listOfCourses = new List <Course>()
            {
                new Course()
                {
                    Id = searchedCourseId
                },
                new Course()
                {
                    Id = otherCoursesId
                }
            };

            var courseServiceMock = new Mock <ICourseService>();

            courseServiceMock.Setup(cs => cs.GetAll()).Returns(listOfCourses.AsQueryable());

            var userServiceMock = new Mock <IUserService>();

            userServiceMock.Setup(us => us.GetCourses(It.IsAny <string>())).Returns(listOfCourses.AsQueryable());

            var controllerContextStub = new Mock <ControllerContext>();

            controllerContextStub.SetupGet(p => p.HttpContext.User.Identity.Name).Returns("Username");
            controllerContextStub.SetupGet(p => p.HttpContext.User.Identity.IsAuthenticated).Returns(true);
            controllerContextStub.SetupGet(p => p.HttpContext.Request.IsAuthenticated).Returns(true);

            CoursesController controller = new CoursesController(courseServiceMock.Object, userServiceMock.Object);

            controller.ControllerContext = controllerContextStub.Object;
            // Act
            ViewResult result = controller.ById(searchedCourseId) as ViewResult;

            // Assert
            userServiceMock.Verify(cs => cs.GetCourses(It.IsAny <string>()), Times.Once);
        }
Beispiel #2
0
        public void ById_ShouldGetCourseByTheGivenIdParameter()
        {
            // Arrange
            Mapper.Initialize(cfg =>
            {
                cfg.CreateMap <Course, CourseViewModel>();
                cfg.CreateMap <CourseViewModel, Course>();
            });

            Guid searchedCourseId = Guid.NewGuid();
            Guid otherCoursesId   = Guid.NewGuid();

            var listOfCourses = new List <Course>()
            {
                new Course()
                {
                    Id = searchedCourseId
                },
                new Course()
                {
                    Id = otherCoursesId
                }
            };

            var courseServiceStub = new Mock <ICourseService>();

            courseServiceStub.Setup(cs => cs.GetAll()).Returns(listOfCourses.AsQueryable());

            var userServiceStub = new Mock <IUserService>();

            userServiceStub.Setup(us => us.GetCourses(It.IsAny <string>())).Returns(listOfCourses.AsQueryable());

            var controllerContextStub = new Mock <ControllerContext>();

            controllerContextStub.SetupGet(p => p.HttpContext.User.Identity.Name).Returns("Username");
            controllerContextStub.SetupGet(p => p.HttpContext.Request.IsAuthenticated).Returns(true);

            CoursesController controller = new CoursesController(courseServiceStub.Object, userServiceStub.Object);

            controller.ControllerContext = controllerContextStub.Object;
            // Act
            ViewResult result = controller.ById(searchedCourseId) as ViewResult;

            // Assert
            Assert.AreEqual(searchedCourseId, ((CourseByIdViewModel)result.ViewData.Model).CourseId);
            Assert.AreNotEqual(otherCoursesId, ((CourseByIdViewModel)result.ViewData.Model).CourseId);
        }
Beispiel #3
0
        public void ById_ShouldPassEmptyViewModelToView_WhenPassedIdParameterIsEmptyGuuid()
        {
            // Arrange
            Guid emptyGuid         = Guid.Empty;
            var  courseServiceStub = new Mock <ICourseService>();
            var  userServiceStub   = new Mock <IUserService>();

            CoursesController controller = new CoursesController(courseServiceStub.Object, userServiceStub.Object);

            // Act
            ViewResult result = controller.ById(emptyGuid) as ViewResult;

            // Assert
            Assert.AreEqual(default(Guid), ((CourseByIdViewModel)result.Model).CourseId);
            Assert.AreEqual(null, ((CourseByIdViewModel)result.Model).Title);
            Assert.AreEqual(null, ((CourseByIdViewModel)result.Model).Description);
            Assert.AreEqual(default(DateTime), ((CourseByIdViewModel)result.Model).StartsOn);
            Assert.AreEqual(default(DateTime), ((CourseByIdViewModel)result.Model).EndsOn);
            Assert.AreEqual(default(int), ((CourseByIdViewModel)result.Model).EnrolledStudentsCount);
        }