public void Index_ShouldReturnView() { var service = new Mock <IStoryService>(); service.Setup(s => s.GetAllStoriesAsViewModels()) .Returns(() => new List <StoryViewModel>()); StoriesController controller = new StoriesController( service.Object, userManager.Object, logger); var result = controller.Index(); var viewResult = Assert.IsAssignableFrom <ViewResult>(result); viewResult.Model.ShouldBeOfType <List <StoryViewModel> >(); viewResult.Model.ShouldNotBeNull(); }
public void CallGetPagesCount_WhenParamsAreValid() { // Arrange var storyServiceMock = new Mock <IStoryService>(); var mappingServiceMock = new Mock <IMappingService>(); var userServiceMock = new Mock <IUserService>(); var utilsMock = new Mock <IUtilitiesService>(); var controller = new StoriesController(storyServiceMock.Object, mappingServiceMock.Object, userServiceMock.Object, utilsMock.Object); storyServiceMock.Setup(x => x.GetPagesCount(It.IsAny <string>())).Returns(1); utilsMock.Setup(x => x.GetPage(It.IsAny <int?>(), It.IsAny <int>())).Returns(1); var stories = new List <Story>(); storyServiceMock.Setup(x => x.GetStoriesByPage(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <int>())).Returns(stories); var mappedStories = new List <StoryItemViewModel>(); mappingServiceMock.Setup(x => x.Map <IEnumerable <StoryItemViewModel> >(stories)).Returns(mappedStories); var model = new StoriesListViewModel(); mappingServiceMock.Setup(x => x.Map <StoriesListViewModel>(mappedStories)).Returns(model); var controllerContext = new Mock <ControllerContext>(); var user = new Mock <IPrincipal>(); user.Setup(p => p.IsInRole("admin")).Returns(true); user.SetupGet(x => x.Identity.Name).Returns("username"); controllerContext.SetupGet(x => x.HttpContext.User).Returns(user.Object); controller.ControllerContext = controllerContext.Object; var userModel = new User(); userServiceMock.Setup(x => x.GetById(It.IsAny <string>())).Returns(userModel); utilsMock.Setup(x => x.AssignViewParams(model, It.IsAny <string>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>())).Returns(model); // Act controller.Index(null, null); // Assert storyServiceMock.Verify(x => x.GetPagesCount(It.IsAny <string>()), Times.Once); }
public void Index_ShouldReturnRedirect_OnException() { var service = new Mock <IStoryService>(); service.Setup(s => s.GetAllStoriesAsViewModels()) .Throws(new Exception()); StoriesController controller = new StoriesController( service.Object, userManager.Object, logger) { TempData = new TempDataDictionary(httpContext.Object, tempDataProvider.Object) }; var result = controller.Index(); var viewResult = Assert.IsAssignableFrom <RedirectResult>(result); viewResult.Url.ShouldBe("/"); controller.TempData.ContainsKey("notification").ShouldBeTrue(); controller.TempData["notification"].ShouldNotBeNull(); controller.TempData["notification"].ShouldBeOfType <string[]>(); string[] arr = controller.TempData["notification"] as string[]; arr[0].ShouldBe("danger"); }
public void Index_Will_Redirect_To_Books() { var result = controller.Index(); Assert.That(result, Is.InstanceOf <RedirectToRouteResult>()); }