Exemplo n.º 1
0
        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);
        }
Exemplo n.º 3
0
        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");
        }
Exemplo n.º 4
0
        public void Index_Will_Redirect_To_Books()
        {
            var result = controller.Index();

            Assert.That(result, Is.InstanceOf <RedirectToRouteResult>());
        }