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); }
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); }
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); }