public void CanNotEditPost()
        {
            var  edit = _postController.Edit(5);
            Post post = edit.ViewData.Model as Post;

            Assert.IsNull(post);
        }
Esempio n. 2
0
        public void CanUpdatePost()
        {
            //Arrange
            _repository.Setup(p => p.GetAllPostByBlogId(1)).Returns(testPosts);
            PostController controller = new PostController(_repository.Object, _manager);

            //Act
            Post firstPost  = (Post)controller.Edit(1).ViewData.Model;
            Post secondPost = (Post)controller.Edit(2).ViewData.Model;

            //Assert
            Assert.AreEqual(1, firstPost.PostId);
            Assert.AreEqual(2, secondPost.PostId);
        }
Esempio n. 3
0
        public void CanUpdatePost()
        {
            //Arrange
            _repository.Setup(p => p.GetAllPostByBlogId(1)).Returns(testPosts);
            PostController controller = new PostController(_repository.Object, _manager);

            //Act
            Post firstPost = (Post)controller.Edit(1).ViewData.Model;
            Post secondPost = (Post)controller.Edit(2).ViewData.Model;

            //Assert
            Assert.AreEqual(1, firstPost.PostId);
            Assert.AreEqual(2, secondPost.PostId);
        }
Esempio n. 4
0
        public void Edit_GetRequestSendsPostToVIew()
        {
            //A "mock" id we need to test
            var id = "test-post";
            //Repository is an interface, since we can't make an instance we mock it
            // w/ help of Telerik JustMockLite
            var repo       = Mock.Create <IPostRepository>();
            var controller = new PostController(repo);

            /*Mock a method
             * Whenever we call our repo's Get method & we pass an Id
             * we want it to return a new Post that has Id = id;
             */
            Mock.Arrange(() => repo.Get(id)).
            Returns(new Post {
                Id = id
            });



            //Casting to viewresult which is an implementation of Abstract class ActionResult
            //we use AR in Cs because we're not sure we'll return a view (we could also perform say a redirect.
            var result = (ViewResult)controller.Edit(id);

            var model = (Post)result.Model;


            Assert.AreEqual(id, model.Id);
        }
Esempio n. 5
0
        public void Edit_PostRequestSendsPostToVIew()
        {
            var id = "test-post";

            var repo       = Mock.Create <IPostRepository>();
            var controller = new PostController(repo);


            Mock.Arrange(() => repo.Get(id)).
            Returns(new Post {
                Id = id
            });
            //We mock an error
            controller.ViewData.ModelState.AddModelError("key", "error message");

            var result = (ViewResult)controller.Edit(id, new Post()
            {
                Id = "test-post-2"
            });

            var model = (Post)result.Model;


            Assert.AreEqual("test-post-2", model.Id);
        }
Esempio n. 6
0
        public void PostControllerEditReturnsView_ExpectedSuccess()
        {
            // Arrange
            Post post = new Post
            {
                PostStatusId = 1,
                DriverId     = 1,
                VehicleId    = 1,
                Destination  = "Kitchener",
                Location     = "Cambridge",
                Date         = DateTime.Today,
                Time         = new TimeSpan(11, 00, 00)
            };

            Mock <IPostLogic> mockPostLogic = new Mock <IPostLogic>();

            mockPostLogic.Setup(x => x.GetSinglePost(It.IsAny <Int32>())).ReturnsAsync(GetPost());
            var controllerUnderTest = new PostController(_context, mockPostLogic.Object);

            // Act
            var result = controllerUnderTest.Edit(1, post);

            // Assert
            var viewResult = Assert.IsType <Task <IActionResult> >(result);
        }
Esempio n. 7
0
        public void GivenAValidPost_WhenITryAndEditAPost_ThenIGetTheCorrectView()
        {
            MockHttpContext.SetupProperty(h => h.User);
            var controller = new PostController(_postServiceMock.Object, _dashboardServiceMock, _blogService.Object, null);

            ActionResult result = controller.Edit(_userName, 1);

            Assert.That(result, Is.TypeOf<ViewResult>());
        }
        public async Task Edit_Post_ModelIsValid_RedirectToIndex()
        {
            Mock <PostService> mock       = new Mock <PostService>();
            PostController     controller = GetNewPostController(mock.Object, null, null);

            RedirectToRouteResult result = (await controller.Edit(new PostViewModel())) as RedirectToRouteResult;

            Assert.AreEqual("Index", result.RouteValues["action"]);
        }
Esempio n. 9
0
        public void Edid_PostRequestNotFound()
        {
            var id         = "test-post";
            var repo       = Mock.Create <IPostRepository>();
            var controller = new PostController(repo);

            Mock.Arrange(() => repo.Get(id)).Returns((Post)null);

            var result = controller.Edit(id, new Post());

            Assert.IsTrue(result is HttpNotFoundResult);
        }
        public void Edit_GetRequestNotFoundResult()
        {
            var id = "test-post";
            var repo = Mock.Create<IPostRepository>();
            var controller = new PostController(repo);

            Mock.Arrange(() => repo.Get(id)).Returns((Post)null);

            var result = controller.Edit(id);

            Assert.IsTrue(result is HttpNotFoundResult);
        }
Esempio n. 11
0
        public void CanNotUpdatePost()
        {
            //Arrange
            _repository.Setup(p => p.GetAllPostByBlogId(1)).Returns(testPosts);
            PostController controller = new PostController(_repository.Object, _manager);

            //Act
            Post result = (Post)controller.Edit(4).ViewData.Model;

            //Assert
            Assert.IsNull(result);
        }
Esempio n. 12
0
        public void CanNotUpdatePost()
        {
            //Arrange
            _repository.Setup(p => p.GetAllPostByBlogId(1)).Returns(testPosts);
            PostController controller = new PostController(_repository.Object, _manager);

            //Act
            Post result = (Post)controller.Edit(4).ViewData.Model;

            //Assert
            Assert.IsNull(result);
        }
        public void Edit_PostRequestCallsEditAndRedirects()
        {
            var repo = Mock.Create<IPostRepository>();
            var controller = new PostController(repo);

            Mock.Arrange(() => repo.Edit(Arg.IsAny<string>(), Arg.IsAny<Post>())).MustBeCalled();

            var result = controller.Edit("Foo", new Post() { Id = "test-post-2" });

            Mock.Assert(repo);
            Assert.IsTrue(result is RedirectToRouteResult);
        }
Esempio n. 14
0
        public async Task Edit_Get_ModelIsValid_AsksForEditView()
        {
            Mock <PostService>       mock  = new Mock <PostService>();
            Mock <DepartmentService> dmock = new Mock <DepartmentService>();

            dmock.Setup(m => m.GetAllAsync()).ReturnsAsync(new DepartmentDTO[] { new DepartmentDTO {
                                                                                 } });
            PostController controller = GetNewPostController(mock.Object, null, dmock.Object);

            ViewResult result = (await controller.Edit(1)) as ViewResult;

            Assert.AreEqual("Edit", result.ViewName);
        }
Esempio n. 15
0
        public void CreateAddsPost()
        {
            //Arrange
            Post post = new Post { PostId = 1, Blog = new Blog { BlogId = 1, BlogTitel = "First test-blog", Closed = false }, PostTitle = "Post #1", Text = "First test-post", Date = new DateTime() };
            var controller = new PostController(_repository.Object, _manager);

            //Act
            ActionResult result = controller.Edit(post);

            //Assert
            _repository.Verify(b => b.AddPost(post, 1));
            Assert.IsNotInstanceOfType(result, typeof(ViewResult));
        }
Esempio n. 16
0
        public void CreateDoesNotAddPost()
        {
            //Arrange
            Post post = new Post { PostId = 1, Blog = new Blog { BlogId = 1, BlogTitel = "First test-blog", Closed = false }, PostTitle = "Post #1", Text = "First test-post", Date = new DateTime() };
            var controller = new PostController(_repository.Object, _manager);
            controller.ModelState.AddModelError("error", "error");

            //Act
            ActionResult result = controller.Edit(post);

            //Assert
            Assert.IsInstanceOfType(result, typeof(ViewResult));
        }
        public void Edit_GetRequestSendsPostToView()
        {
            var id = "test-post";
            var repo = Mock.Create<IPostRepository>();
            var controller = new PostController(repo);

            Mock.Arrange(() => repo.Get(id)).Returns(new Post {Id = id});

            var result = (ViewResult) controller.Edit(id);
            var model = (Post) result.Model;

            Assert.AreEqual(id, model.Id);
        }
Esempio n. 18
0
        public async Task Edit_PostRequestCallsEditAndRedirects()
        {
            var repo       = Mock.Create <IPostRepository>();
            var userRepo   = Mock.Create <IUserRepository>();
            var controller = new PostController(repo, userRepo);

            Mock.Arrange(() => repo.Edit(Arg.IsAny <string>(), Arg.IsAny <Post>()))
            .MustBeCalled();

            var result = await controller.Edit("foo", new Post { Id = "test-post-2" });

            Mock.Assert(repo);
            Assert.IsTrue(result is RedirectToRouteResult);
        }
Esempio n. 19
0
        public async Task Edit_GetRequestNotFoundResult()
        {
            var id         = "test-post";
            var repo       = Mock.Create <IPostRepository>();
            var userRepo   = Mock.Create <IUserRepository>();
            var controller = new PostController(repo, userRepo);

            Mock.Arrange(() => repo.GetAsync(id).Result)
            .Returns((Post)null);

            var result = await controller.Edit(id);

            Assert.IsTrue(result is HttpNotFoundResult);
        }
Esempio n. 20
0
        public void Edid_PostRequestCallsEdidAndRedirects()
        {
            var repo       = Mock.Create <IPostRepository>();
            var controller = new PostController(repo);

            Mock.Arrange(() => repo.Edit(Arg.IsAny <string>(), Arg.IsAny <Post>())).MustBeCalled();

            var result = controller.Edit("test-post-1", new Post {
                Id = "test-post-2"
            });

            Mock.Assert(repo);

            Assert.IsTrue(result is RedirectToRouteResult);
        }
Esempio n. 21
0
        public async Task Edit_Post_ModelIsInvalid_AsksForEditView()
        {
            Mock <PostService> mock = new Mock <PostService>();

            mock.Setup(m => m.EditAsync(It.IsAny <PostDTO>())).Throws(new ValidationException("", ""));
            Mock <DepartmentService> dmock = new Mock <DepartmentService>();

            dmock.Setup(m => m.GetAllAsync()).ReturnsAsync(new DepartmentDTO[] { new DepartmentDTO {
                                                                                 } });
            PostController controller = GetNewPostController(mock.Object, null, dmock.Object);

            ViewResult result = (await controller.Edit(new PostViewModel())) as ViewResult;

            Assert.AreEqual("Edit", result.ViewName);
        }
        public void Edit_PostRequestModelStateInvalidReturnsModelToView()
        {
            var id = "test-post";
            var repo = Mock.Create<IPostRepository>();
            var controller = new PostController(repo);

            Mock.Arrange(() => repo.Get(id)).Returns(new Post { Id = id });

            controller.ViewData.ModelState.AddModelError("key", "error message");

            var result = (ViewResult)controller.Edit(id, new Post() {Id = "test-post-2"});
            var model = (Post)result.Model;

            Assert.AreEqual("test-post-2", model.Id);
        }
Esempio n. 23
0
        public async Task Edit_GetRequest()
        {
            var id   = "test-post";
            var repo = Mock.Create <IPostRepository>();

            Mock.Arrange(() => repo.Get(id)).Returns(new Post {
                Id = "test-post"
            });
            var controller = new PostController(repo, null);

            var result = (ViewResult)(await controller.Edit(id));

            var model = (Post)result.Model;

            Assert.AreEqual(id, model.Id);
        }
        public void Edit_PostRequestNotFoundResult()
        {
            var id = "test-post";

            var repo       = Mock.Create <IPostRepository>();
            var controller = new PostController(repo);

            Mock.Arrange(() => repo.Get(id))
            .Returns((Post)null);
            Mock.Arrange(() => repo.Edit(Arg.IsAny <string>(), Arg.IsAny <Post>()))
            .Throws(new KeyNotFoundException());

            var result = controller.Edit(id, new Post());

            Assert.IsTrue(result is HttpNotFoundResult);
        }
Esempio n. 25
0
        public void Edit_GetRequestSendsPostToView()
        {
            var id         = "test-post";
            var repo       = Mock.Create <IPostRepository>();
            var controller = new PostController(repo);

            Mock.Arrange(() => repo.Get(id))
            .Returns(new Post {
                Id = id
            });

            var result = (ViewResult)controller.Edit(id);
            var model  = (Post)result.Model;

            Assert.AreEqual(id, model.Id);
        }
Esempio n. 26
0
        public async Task Edit_Get_ModelIsInvalid_RetrievesExceptionMessageFromModel()
        {
            Mock <PostService> mock = new Mock <PostService>();

            mock.Setup(m => m.FindByIdAsync(It.IsAny <int?>())).Throws(new ValidationException("FindByIdAsync method throws Exception", ""));
            Mock <DepartmentService> dmock = new Mock <DepartmentService>();

            dmock.Setup(m => m.GetAllAsync()).ReturnsAsync(new DepartmentDTO[] { new DepartmentDTO {
                                                                                 } });
            PostController controller = GetNewPostController(mock.Object, null, dmock.Object);

            ViewResult result = (await controller.Edit(1)) as ViewResult;

            string[] model = result.ViewData.Model as string[];
            Assert.AreEqual("FindByIdAsync method throws Exception", model[0]);
        }
Esempio n. 27
0
        public void Edit_PostRequestNotFoundResult()
        {
            var id         = "test-post";
            var repo       = Mock.Create <IPostRepository>();
            var controller = new PostController(repo);


            //Whenever we call repo.Get(id) we want to have null
            Mock.Arrange(() => repo.Get(id)).
            Returns((Post)null);

            //We just need an AR not VR
            var result = controller.Edit(id, new Post());

            Assert.IsTrue(result is HttpNotFoundResult);
        }
Esempio n. 28
0
        public async Task Edit_PostRequestNotFoundResult()
        {
            var id         = "test-post";
            var repo       = Mock.Create <IPostRepository>();
            var userRepo   = Mock.Create <IUserRepository>();
            var controller = new PostController(repo, userRepo);
            var post       = new Post {
                Id = "Mock Post"
            };

            Mock.Arrange(() => repo.Edit(id, post))
            .Throws(new KeyNotFoundException());

            var result = await controller.Edit(id, post);

            Assert.IsTrue(result is HttpNotFoundResult);
        }
Esempio n. 29
0
        public void CreateAddsPost()
        {
            //Arrange
            Post post = new Post {
                PostId = 1, Blog = new Blog {
                    BlogId = 1, BlogTitel = "First test-blog", Closed = false
                }, PostTitle = "Post #1", Text = "First test-post", Date = new DateTime()
            };
            var controller = new PostController(_repository.Object, _manager);

            //Act
            ActionResult result = controller.Edit(post);

            //Assert
            _repository.Verify(b => b.AddPost(post, 1));
            Assert.IsNotInstanceOfType(result, typeof(ViewResult));
        }
Esempio n. 30
0
        public void Edit_PostRequestCallsEditAndRedirects()
        {
            //ar id = "test-post";
            var repo = Mock.Create <IPostRepository>();

            Mock.Arrange(() => repo.Edit(Arg.IsAny <string>(), Arg.IsAny <Post>())).MustBeCalled();

            var controller = new PostController(repo, null);
            //controller.ViewData.ModelState.AddModelError("", "some error");
            var result = controller.Edit("foo", new Post()
            {
                Id = "test-post2"
            });

            Mock.Assert(repo);

            Assert.IsTrue(result is RedirectToRouteResult);
        }
Esempio n. 31
0
        public void CreateDoesNotAddPost()
        {
            //Arrange
            Post post = new Post {
                PostId = 1, Blog = new Blog {
                    BlogId = 1, BlogTitel = "First test-blog", Closed = false
                }, PostTitle = "Post #1", Text = "First test-post", Date = new DateTime()
            };
            var controller = new PostController(_repository.Object, _manager);

            controller.ModelState.AddModelError("error", "error");

            //Act
            ActionResult result = controller.Edit(post);

            //Assert
            Assert.IsInstanceOfType(result, typeof(ViewResult));
        }
Esempio n. 32
0
        public void Edit_PostRequestCallsEditAndRedirects()
        {
            var repo       = Mock.Create <IPostRepository>();
            var controller = new PostController(repo);

            //We must call edit method w/ any arguments
            Mock.Arrange(() => repo.Edit(Arg.IsAny <string>(), Arg.IsAny <Post>())).MustBeCalled();

            var result = controller.Edit("foo", new Post()
            {
                Id = "test-post-2"
            });

            //Assert that repo's edit method was called
            Mock.Assert(repo);

            Assert.IsTrue(result is RedirectToRouteResult);
        }
Esempio n. 33
0
        public void Given_valid_post_When_Edit_Returns_SinglePostView()
        {
            //Given
            int id = 1;

            var model = new EditPostViewModel();

            _postBuilder.Setup(x => x.BuildEditPostViewModel(It.IsAny <int>())).Returns(model);

            //When
            var result = _postController.Edit(id) as ViewResult;

            //Then
            Assert.NotNull(result);
            Assert.IsInstanceOf <EditPostViewModel>(result.Model);
            Assert.AreEqual(String.Empty, result.ViewName);
        }
Esempio n. 34
0
        public async Task Edit_PostRequestSendsPostToView()
        {
            var id   = "test-post";
            var repo = Mock.Create <IPostRepository>();

            Mock.Arrange(() => repo.Get(id)).Returns(new Post {
                Id = "test-post"
            });
            var controller = new PostController(repo, null);

            controller.ViewData.ModelState.AddModelError("", "some error");
            var result = (ViewResult)(await controller.Edit(id, new Post()
            {
                Id = "test-post2"
            }));

            var model = (Post)result.Model;

            Assert.AreEqual("test-post2", model.Id);
        }
Esempio n. 35
0
        public async Task Edit_Post_ModelIsInvalid_RetrievesPostFromModel()
        {
            Mock <PostService> mock = new Mock <PostService>();

            mock.Setup(m => m.EditAsync(It.IsAny <PostDTO>())).Throws(new ValidationException("", ""));
            Mock <DepartmentService> dmock = new Mock <DepartmentService>();

            dmock.Setup(m => m.GetAllAsync()).ReturnsAsync(new DepartmentDTO[] { new DepartmentDTO {
                                                                                 } });
            PostController controller = GetNewPostController(mock.Object, null, dmock.Object);

            ViewResult result = (await controller.Edit(new PostViewModel {
                Id = 2,
                Title = "Programmer"
            })) as ViewResult;

            PostViewModel model = result.ViewData.Model as PostViewModel;

            Assert.AreEqual(2, model.Id);
            Assert.AreEqual("Programmer", model.Title);
        }
Esempio n. 36
0
        public static void Setup(TestContext testContext)
        {
            // generate a mock repository
            _repository = MockRepository.GenerateStub <IPostRepository>();
            // the subject under test
            Sut = new PostController(_repository);

            // a random id to test
            postId = new Random().Next();

            // set a dumy post
            ExpectedModel = new Post(postId, "", "", "", DateTime.Now, DateTime.MinValue);


            // stub the repo to return a post when it is called GetById with a id is PostId
            _repository.Stub(repo => repo.GetById(postId)).Return(ExpectedModel);


            // the result returned by calling Edit to the controller
            Actual = Sut.Edit(postId).Model;
        }
Esempio n. 37
0
        public async Task Edit_Get_ModelIsValid_RetrievesPostFromModel()
        {
            Mock <PostService> mock = new Mock <PostService>();

            mock.Setup(m => m.FindByIdAsync(It.IsAny <int?>())).ReturnsAsync((int?_id) => new PostDTO {
                Id    = _id.Value,
                Title = "Programmer"
            });
            Mock <DepartmentService> dmock = new Mock <DepartmentService>();

            dmock.Setup(m => m.GetAllAsync()).ReturnsAsync(new DepartmentDTO[] { new DepartmentDTO {
                                                                                 } });
            PostController controller = GetNewPostController(mock.Object, null, dmock.Object);

            ViewResult result = (await controller.Edit(2)) as ViewResult;

            PostViewModel model = result.ViewData.Model as PostViewModel;

            Assert.AreEqual(2, model.Id);
            Assert.AreEqual("Programmer", model.Title);
        }
Esempio n. 38
0
        public void Edit_Returns_A_View()
        {
            var result = underTest.Edit(1);

            Assert.IsType <ViewResult>(result);
        }