Exemplo n.º 1
0
        public void ShouldReturnJson_WhenCalledWithValidDataSourceRequest()
        {
            // Arrange
            var postsServiceMock = new Mock <IPostService>();

            postsServiceMock
            .Setup(m => m.GetById(It.IsAny <Guid>()))
            .Returns(new Post());
            postsServiceMock
            .Setup(m => m.HardDelete(It.IsAny <Post>()));
            var context = new Mock <HttpContextBase>();

            context.Setup(c => c.Cache)
            .Returns(new Cache());
            PostAdminController postAdminController = new PostAdminController(postsServiceMock.Object);

            postAdminController.ControllerContext = new ControllerContext(context.Object, new RouteData(), postAdminController);
            var postDetailsViewModel = new PostGridViewModel()
            {
                Id = "00000000-0000-0000-0000-000000000000"
            };

            // Act & Assert
            postAdminController
            .WithCallTo(c => c.HardDeletePost(postDetailsViewModel))
            .ShouldReturnJson();
        }
Exemplo n.º 2
0
        public void CallGetByIdUpdateAndDeleteOnce_WhenCalledWithIsDeletedTrue()
        {
            // Arrange
            var postsServiceMock = new Mock <IPostService>();

            postsServiceMock
            .Setup(m => m.GetById(It.IsAny <Guid>()))
            .Returns(new Post());
            postsServiceMock
            .Setup(m => m.Update(It.IsAny <Post>()));
            postsServiceMock
            .Setup(m => m.Delete(It.IsAny <Post>()));
            PostAdminController postAdminController = new PostAdminController(postsServiceMock.Object);
            var postDetailsViewModel = new PostGridViewModel()
            {
                Id          = "00000000-0000-0000-0000-000000000000",
                Title       = string.Empty,
                Description = string.Empty,
                Content     = string.Empty,
                IsDeleted   = true
            };

            // Act
            postAdminController.UpdatePost(postDetailsViewModel);

            // Assert
            postsServiceMock.Verify(m => m.GetById(It.IsAny <Guid>()), Times.Once);
            postsServiceMock.Verify(m => m.Update(It.IsAny <Post>()), Times.Once);
            postsServiceMock.Verify(m => m.Delete(It.IsAny <Post>()), Times.Once);
        }
Exemplo n.º 3
0
        public void NeverCallGetByIdAndHardDelete_WhenCalledWithInvalidPostGridViewModel()
        {
            // Arrange
            var postsServiceMock = new Mock <IPostService>();

            postsServiceMock
            .Setup(m => m.GetById(It.IsAny <Guid>()))
            .Returns(new Post());
            postsServiceMock
            .Setup(m => m.HardDelete(It.IsAny <Post>()));
            var context = new Mock <HttpContextBase>();

            context.Setup(c => c.Cache)
            .Returns(new Cache());
            PostAdminController postAdminController = new PostAdminController(postsServiceMock.Object);

            postAdminController.ControllerContext = new ControllerContext(context.Object, new RouteData(), postAdminController);

            // Act
            postAdminController.HardDeletePost(null);

            // Assert
            postsServiceMock.Verify(m => m.GetById(It.IsAny <Guid>()), Times.Never);
            postsServiceMock.Verify(m => m.HardDelete(It.IsAny <Post>()), Times.Never);
        }
Exemplo n.º 4
0
        public void NeverCallPostServiceAddNewPost_WhenCalledWithInvalidDataSourceRequest()
        {
            // Arrange
            var postsServiceMock = new Mock <IPostService>();

            postsServiceMock
            .Setup(m => m.AddNewPost(
                       It.IsAny <string>(),
                       It.IsAny <string>(),
                       It.IsAny <string>(),
                       It.IsAny <string>()))
            .Returns(new Post());
            PostAdminController postAdminController = new PostAdminController(postsServiceMock.Object);

            // Act
            postAdminController.CreatePost(null);

            // Assert
            postsServiceMock.Verify(
                m => m.AddNewPost(
                    It.IsAny <string>(),
                    It.IsAny <string>(),
                    It.IsAny <string>(),
                    It.IsAny <string>()),
                Times.Never);
        }
Exemplo n.º 5
0
        public void RenderDefaultView_WhenCalled()
        {
            // Arrange
            var postsServiceMock = new Mock <IPostService>();
            PostAdminController postAdminController = new PostAdminController(postsServiceMock.Object);

            // Act & Assert
            postAdminController
            .WithCallTo(c => c.Index())
            .ShouldRenderDefaultView();
        }
Exemplo n.º 6
0
        public void ShouldThrowNullArgumentExcepthin_WhenCalledWithNulldDataSourceRequest()
        {
            // Arrange
            var postEnumerable = new List <Post>()
            {
                new Post()
            }.AsEnumerable <Post>();
            var postsServiceMock = new Mock <IPostService>();

            postsServiceMock.Setup(m => m.AllIncludingDeleted())
            .Returns(postEnumerable);
            PostAdminController postAdminController = new PostAdminController(postsServiceMock.Object);

            // Act & Assert
            Assert.Throws <ArgumentNullException>(() => postAdminController.ReadPosts(null));
        }
Exemplo n.º 7
0
        public void CallPostServiceAddNewPostOnce_WhenCalledWithValidDataSourceRequest()
        {
            // Arrange
            var postsServiceMock = new Mock <IPostService>();

            postsServiceMock
            .Setup(m => m.AddNewPost(
                       It.IsAny <string>(),
                       It.IsAny <string>(),
                       It.IsAny <string>(),
                       It.IsAny <string>()))
            .Returns(new Post());
            PostAdminController postAdminController = new PostAdminController(postsServiceMock.Object);
            var contextMock = new Mock <ControllerContext>();

            contextMock
            .SetupGet(p => p.HttpContext.User.Identity.Name)
            .Returns("username");
            postAdminController.ControllerContext = contextMock.Object;
            var postDetailsViewModel = new PostGridViewModel()
            {
                Title       = string.Empty,
                Description = string.Empty,
                Content     = string.Empty
            };
            var mapperServiceMock = new Mock <IMappingService>();

            mapperServiceMock
            .Setup(x => x.Map <PostGridViewModel>(It.IsAny <Post>()))
            .Returns(postDetailsViewModel);
            MappingService.Provider = mapperServiceMock.Object;

            // Act
            postAdminController.CreatePost(postDetailsViewModel);

            // Assert
            postsServiceMock.Verify(
                m => m.AddNewPost(
                    It.IsAny <string>(),
                    It.IsAny <string>(),
                    It.IsAny <string>(),
                    It.IsAny <string>()),
                Times.Once);
        }
Exemplo n.º 8
0
        public void NeverCallGetByIdUpdateAndDeleteOnce_WhenCalledWithNullPostGridViewModel()
        {
            // Arrange
            var postsServiceMock = new Mock <IPostService>();

            postsServiceMock
            .Setup(m => m.GetById(It.IsAny <Guid>()))
            .Returns(new Post());
            postsServiceMock
            .Setup(m => m.Update(It.IsAny <Post>()));
            postsServiceMock
            .Setup(m => m.Delete(It.IsAny <Post>()));
            PostAdminController postAdminController = new PostAdminController(postsServiceMock.Object);

            // Act
            postAdminController.UpdatePost(null);

            // Assert
            postsServiceMock.Verify(m => m.GetById(It.IsAny <Guid>()), Times.Never);
            postsServiceMock.Verify(m => m.Update(It.IsAny <Post>()), Times.Never);
            postsServiceMock.Verify(m => m.Delete(It.IsAny <Post>()), Times.Never);
        }
Exemplo n.º 9
0
        public void ShouldReturnJson_WhenCalledWithValidDataSourceRequest()
        {
            // Arrange
            var postDetailsViewModel = new PostGridViewModel();
            var mapperServiceMock    = new Mock <IMappingService>();

            mapperServiceMock.Setup(x => x.Map <PostGridViewModel>(It.IsAny <Post>())).Returns(postDetailsViewModel);
            MappingService.Provider = mapperServiceMock.Object;
            var postEnumerable = new List <Post>()
            {
                new Post()
            }.AsEnumerable <Post>();
            var postsServiceMock = new Mock <IPostService>();

            postsServiceMock.Setup(m => m.AllIncludingDeleted())
            .Returns(postEnumerable);
            PostAdminController postAdminController = new PostAdminController(postsServiceMock.Object);

            // Act & Assert
            postAdminController
            .WithCallTo(c => c.ReadPosts(new DataSourceRequest()))
            .ShouldReturnJson();
        }
Exemplo n.º 10
0
        public void ShouldReturnJson_WhenCalledWithValidViewModelData()
        {
            // Arrange
            var postsServiceMock = new Mock <IPostService>();

            postsServiceMock
            .Setup(m => m.GetById(It.IsAny <Guid>()))
            .Returns(new Post());
            postsServiceMock
            .Setup(m => m.Update(It.IsAny <Post>()));
            PostAdminController postAdminController = new PostAdminController(postsServiceMock.Object);
            var postDetailsViewModel = new PostGridViewModel()
            {
                Id          = "00000000-0000-0000-0000-000000000000",
                Title       = string.Empty,
                Description = string.Empty,
                Content     = string.Empty
            };

            // Act & Assert
            postAdminController
            .WithCallTo(c => c.UpdatePost(postDetailsViewModel))
            .ShouldReturnJson();
        }