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