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