Exemplo n.º 1
0
        public void Cant_Update_Uncorrect_Post_1()
        {
            // Arrange
            IPostRepository repository = MockPostRepository.GetRepository(MockPostRepository.STDN);
            PostController  target     = new PostController(repository);
            Post            post       = repository.Posts.First(x => x.PostId == MockPostRepository.STDN);

            post.Header    = "edited";
            post.FullText  = "edited";
            post.ShortText = "edited";
            switch (new Random().Next(3)) // Проверяем что модель не валидна, при отсутствии любого из полей
            {
            case 0: post.Header = null; break;

            case 1: post.ShortText = null; break;

            case 2: post.FullText = null; break;
            }

            // Act
            if (!Helpers.IsValidModel <Post>(post))
            {
                target.ModelState.AddModelError("", "");
            }
            ActionResult result = target.Update(post, "#r");

            // Assert
            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(ViewResult));
            MockPostRepository.Mock.Verify(x => x.UpdatePost(It.Is <Post>(p => p == post)), Times.Never());
        }
Exemplo n.º 2
0
 public void Initialize()
 {
     _mockPostRepo     = new MockPostRepository();
     _postLogic        = new PostLogic(_mockPostRepo);
     _mockAuraRepo     = new MockAuraRepository();
     _auraLogic        = new AuraLogic(_mockAuraRepo);
     _mockUserRepo     = new MockUserRepository();
     _userLogic        = new UserLogic(_mockUserRepo);
     _mockCategoryRepo = new MockCategoryRepository();
     _categoryLogic    = new CategoryLogic(_mockCategoryRepo);
 }
Exemplo n.º 3
0
        public void Cant_Delete_Post_With_Uncorrect_Id()
        {
            // Arrange
            IPostRepository repository = MockPostRepository.GetRepository(MockPostRepository.STDN);
            PostController  target     = new PostController(repository);

            // Act
            ActionResult result = target.DeletePost(MockPostRepository.STDN + 1, "#r");

            // Assert
            Assert.IsNull(result);
        }
Exemplo n.º 4
0
        public void Update_Doesnt_Found_Post()
        {
            // Arrange
            IPostRepository repository = MockPostRepository.GetRepository(MockPostRepository.STDN);
            PostController  target     = new PostController(repository);

            // Act
            ActionResult result = target.Update(MockPostRepository.STDN + 1, "#r");

            // Assert
            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(RedirectResult));
        }
Exemplo n.º 5
0
        public void Delete_Post_With_Correct_Id()
        {
            // Arrange
            IPostRepository repository = MockPostRepository.GetRepository(MockPostRepository.STDN);
            PostController  target     = new PostController(repository);

            // Act
            ActionResult result = target.DeletePost(MockPostRepository.STDN, "#r");

            // Assert
            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(RedirectResult));
        }
Exemplo n.º 6
0
        public void Delete_Found_Exists_Post()
        {
            // Arrange
            IPostRepository repository = MockPostRepository.GetRepository(MockPostRepository.STDN);
            PostController  target     = new PostController(repository);

            // Act
            ActionResult result = target.Delete(MockPostRepository.STDN, "#r");

            // Assert
            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(ViewResult));
        }
Exemplo n.º 7
0
        public void Cannot_Return_Post_At_Not_Exists_Id()
        {
            // Arrange
            IPostRepository repository   = MockPostRepository.GetRepository(MockPostRepository.STDN);
            IPostService    service      = new PostService(repository);
            HomeController  target       = new HomeController(service);
            Post            expectedPost = repository.Posts.First(x => x.PostId == 1);

            // Act
            ActionResult result = target.Post(MockPostRepository.STDN + 1);

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(RedirectResult));
        }
Exemplo n.º 8
0
        public void Can_Send_PostPagination_View_Model_3()
        {
            // Arrange
            IPostRepository repository = MockPostRepository.GetRepository(MockPostRepository.STDN);
            IPostService    service    = new PostService(repository);
            HomeController  target     = new HomeController(service);

            // Act
            PostPagingInfo pagingInfo = ((HomePostViewModel)((ViewResult)target.Post(MockPostRepository.STDN)).Model).PagingInfo;

            // Assert

            Assert.IsTrue(pagingInfo.Previous.PostId == MockPostRepository.STDN - 1);
            Assert.IsNull(pagingInfo.Next);
        }
Exemplo n.º 9
0
        public void Cant_Insert_Uncorrect_Post()
        {
            // Arrange
            IPostRepository repository = MockPostRepository.GetRepository(MockPostRepository.STDN);
            PostController  target     = new PostController(repository);
            Post            post       = new Post();

            // Act
            if (!Helpers.IsValidModel <Post>(post))
            {
                target.ModelState.AddModelError("", "");
            }
            ActionResult result = target.Create(post, "#r");

            // Assert
            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(ViewResult));
            MockPostRepository.Mock.Verify(x => x.InsertPost(It.Is <Post>(p => p == post)), Times.Never());
        }
Exemplo n.º 10
0
        public void Can_Send_Pagination_View_Model()
        {
            // Arrange
            IPostRepository repository = MockPostRepository.GetRepository(MockPostRepository.STDN);
            IPostService    service    = new PostService(repository);
            HomeController  target     = new HomeController(service);

            target.PageSize = 4;

            // Act
            PagingInfo result = ((HomeIndexViewModel)target.Index(3).Model).PagingInfo;

            // Assert

            Assert.IsTrue(result.CurrentPage == 3);
            Assert.IsTrue(result.ItemsPerPage == target.PageSize);
            Assert.IsTrue(result.TotalItems == repository.Posts.Count());
            Assert.IsTrue(result.TotalPages == (int)Math.Ceiling((double)MockPostRepository.STDN / target.PageSize));
        }
Exemplo n.º 11
0
        public void Can_Return_Post_At_Id()
        {
            // Arrange
            IPostRepository repository   = MockPostRepository.GetRepository(MockPostRepository.STDN);
            IPostService    service      = new PostService(repository);
            HomeController  target       = new HomeController(service);
            Post            expectedPost = repository.Posts.First(x => x.PostId == 1);

            // Act
            Post result1 = ((HomePostViewModel)((ViewResult)target.Post(1)).Model).Post;
            Post result2 = ((HomePostViewModel)((ViewResult)target.Post(2)).Model).Post;
            Post result3 = ((HomePostViewModel)((ViewResult)target.Post(MockPostRepository.STDN)).Model).Post;

            // Assert
            Assert.IsTrue(((ViewResult)target.Post(1)).TempData.ContainsKey("fullpost"));
            Assert.IsTrue(result1.PostId == 1);
            Assert.AreSame(expectedPost, result1);
            Assert.IsTrue(result2.PostId == 2);
            Assert.IsTrue(result3.PostId == MockPostRepository.STDN);
        }
Exemplo n.º 12
0
        public void Can_Return_Posts_At_Page()
        {
            // Arrange
            IPostRepository repository = MockPostRepository.GetRepository(MockPostRepository.STDN);
            IPostService    service    = new PostService(repository);
            HomeController  target     = new HomeController(service);

            target.PageSize = 4;

            // Act
            IEnumerable <Post> result0 = ((HomeIndexViewModel)target.Index(-1).Model).Posts.ToArray();
            IEnumerable <Post> result1 = ((HomeIndexViewModel)target.Index().Model).Posts.ToArray();
            IEnumerable <Post> result2 = ((HomeIndexViewModel)target.Index(2).Model).Posts.ToArray();
            IEnumerable <Post> result3 = ((HomeIndexViewModel)target.Index(3).Model).Posts.ToArray();
            IEnumerable <Post> result4 = ((HomeIndexViewModel)target.Index(4).Model).Posts.ToArray();

            // Assert
            Assert.IsTrue(result0.Count() == 4);
            Assert.IsTrue(result1.Count() == 4);
            Assert.IsTrue(result2.Count() == 4);
            Assert.IsTrue(result3.Count() == 2);
            Assert.IsTrue(result4.Count() == 0);
        }
Exemplo n.º 13
0
        public void Can_Insert_Correct_Post()
        {
            // Arrange
            IPostRepository repository = MockPostRepository.GetRepository(MockPostRepository.STDN);
            PostController  target     = new PostController(repository);
            Post            post       = new Post()
            {
                Header    = "h",
                ShortText = "s",
                FullText  = "f"
            };

            // Act
            if (!Helpers.IsValidModel <Post>(post))
            {
                target.ModelState.AddModelError("", "");
            }
            ActionResult result = target.Create(post, "#r");

            // Assert
            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(RedirectResult));
            MockPostRepository.Mock.Verify(x => x.InsertPost(It.Is <Post>(p => p == post)), Times.Once());
        }
Exemplo n.º 14
0
        public void Can_Update_Correct_Post()
        {
            // Arrange
            IPostRepository repository = MockPostRepository.GetRepository(MockPostRepository.STDN);
            PostController  target     = new PostController(repository);
            Post            post       = repository.Posts.First(x => x.PostId == MockPostRepository.STDN);

            post.Header       = "edited";
            post.FullText     = "edited";
            post.ShortText    = "edited";
            post.RouteSegment = "edited";

            // Act
            if (!Helpers.IsValidModel <Post>(post))
            {
                target.ModelState.AddModelError("", "");
            }
            ActionResult result = target.Update(post, "#r");

            // Assert
            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(RedirectResult));
            MockPostRepository.Mock.Verify(x => x.UpdatePost(It.Is <Post>(p => p == post)), Times.Once());
        }