Exemplo n.º 1
0
        public void RediectToIndexAction_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);

            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;

            storyServiceMock.Setup(x => x.CreateStory(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()));

            var model = new CreateEditStoryViewModel();

            // Act & Assert
            controller.WithCallTo(x => x.CreateStory(model))
            .ShouldRedirectTo(x => x.Index(null, null));
        }
        public void ReturnPartialViewWithRespectiveModel_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);

            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;

            storyServiceMock.Setup(x => x.ToggleLike(It.IsAny <Guid>(), It.IsAny <string>()));
            var story = new Story();

            storyServiceMock.Setup(x => x.GetById(It.IsAny <Guid>())).Returns(story);
            var model = new StoryDetailsViewModel();

            mappingServiceMock.Setup(x => x.Map <StoryDetailsViewModel>(story)).Returns(model);

            // Act & Assert
            controller.WithCallTo(x => x.LikeStory(Guid.NewGuid()))
            .ShouldRenderPartialView("_UnlikeButtonStoryPartial")
            .WithModel <StoryDetailsViewModel>(x => x == model);
        }
Exemplo n.º 3
0
        public void ReturnDefaultView()
        {
            // 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);

            // Act & Assert
            controller.WithCallTo(x => x.CreateStory())
            .ShouldRenderDefaultView();
        }
        public void ReturnHttpNotFound_WhenNoSucStoryIsFound()
        {
            // 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);

            // Act & Assert
            controller.WithCallTo(x => x.EditStory(Guid.NewGuid()))
            .ShouldGiveHttpStatus(404);
        }
        public void RedirectToIndexAction_WhenPassedIdIsNull()
        {
            // 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);

            // Act & Assert
            controller.WithCallTo(x => x.EditStory((Guid?)null))
            .ShouldRedirectTo(x => x.Index(null, null));
        }
Exemplo n.º 6
0
        public void ReturnDefaultViewWithRespectiveViewModel_WhenModelStateIsInvalid()
        {
            // 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);

            controller.ViewData.ModelState.AddModelError("asdasd", "asdas");

            var model = new CreateEditStoryViewModel();

            // Act & Assert
            controller.WithCallTo(x => x.EditStory(model))
            .ShouldRenderDefaultView()
            .WithModel <CreateEditStoryViewModel>(x => x == model);
        }
        public void ReturnDefaultViewWithCorrectModel_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 & Assert
            controller.WithCallTo(x => x.Search(null, null))
            .ShouldRenderPartialView("_StoriesListPartial")
            .WithModel <StoriesListViewModel>(x => x == model);
        }
Exemplo n.º 8
0
        public void RenderDetailsView_OnSuccessfulEdit()
        {
            // 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);

            var story = new Story();

            storyServiceMock.Setup(x => x.GetById(It.IsAny <Guid>())).Returns(story);

            var viewModel = new StoryDetailsViewModel();

            mappingServiceMock.Setup(x => x.Map <StoryDetailsViewModel>(story)).Returns(viewModel);

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

            storyServiceMock.Setup(x => x.IsStoryLiked(It.IsAny <Guid>(), It.IsAny <string>())).Returns(true);

            var model = new CreateEditStoryViewModel();

            // Act & Assert
            controller.WithCallTo(x => x.EditStory(model))
            .ShouldRenderView("Details")
            .WithModel <StoryDetailsViewModel>(x => x == viewModel);
        }
        public void RenderDefaultView_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);

            var story = new Story();

            storyServiceMock.Setup(x => x.GetById(It.IsAny <Guid>())).Returns(story);

            var model = new CreateEditStoryViewModel();

            mappingServiceMock.Setup(x => x.Map <CreateEditStoryViewModel>(story)).Returns(model);

            // Act & Assert
            controller.WithCallTo(x => x.EditStory(Guid.NewGuid()))
            .ShouldRenderDefaultView()
            .WithModel <CreateEditStoryViewModel>(x => x == model);
        }