示例#1
0
        public async void Task_Update_ValidData_Return_OkResult()
        {
            //Arrange
            var controller = new PostController(_repository);
            var postId     = 2;

            //Act
            var existingPost = await controller.GetPost(postId);

            var okResult = existingPost.Should().BeOfType <OkObjectResult>().Subject;
            var result   = okResult.Value.Should().BeAssignableTo <PostViewModel>().Subject;

            var post = new Post
            {
                Title       = "Test Title 2 Updated",
                Description = result.Description,
                CategoryId  = result.CategoryId,
                CreatedDate = result.CreatedDate
            };

            var updatedData = await controller.UpdatePost(post);

            //Assert
            Assert.IsType <OkResult>(updatedData);
        }
示例#2
0
        public async void Task_Update_InvalidData_Return_NotFound()
        {
            //Arrange
            var controller = new PostController(repository);
            var postId     = 2;

            //Act
            var existingPost = await controller.GetPost(postId);

            var okResult = existingPost.Should().BeOfType <OkObjectResult>().Subject;
            var result   = okResult.Value.Should().BeAssignableTo <PostViewModel>().Subject;

            var post = new Post();

            post.PostId      = 5;
            post.Title       = "Test Title More Than 20 Characteres";
            post.Description = result.Description;
            post.CategoryId  = result.CategoryId;
            post.CreatedDate = result.CreatedDate;

            var data = await controller.UpdatePost(post);

            //Assert
            Assert.IsType <NotFoundResult>(data);
        }
示例#3
0
        public void Success_To_Fetch_A_Post_Test()
        {
            var mockService = GetService();

            mockService
            .Setup(service => service.Get(It.IsAny <Guid>()))
            .Returns(async(Guid id) =>
            {
                var postDto    = new PostDto();
                var authorDto  = new AuthorDto();
                postDto.Id     = id;
                postDto.Author = authorDto;
                return(await Task.FromResult(postDto));
            });
            var controller   = new PostController(mockService.Object);
            var postId       = Guid.NewGuid();
            var actionResult = controller.GetPost(postId).Result as OkObjectResult;

            Assert.NotNull(actionResult);

            var post = actionResult.Value as PostDto;

            Assert.NotNull(post);
            Assert.Equal(postId, post.Id);
        }
        public async void Task_GetPostById_Return_OkResult()
        {
            var postId = 2;

            //Act
            var data = await _controller.GetPost(postId);

            //Assert
            Assert.IsType <OkObjectResult>(data);
        }
示例#5
0
        public async void Task_GetPostById_Return_BadRequestResult()
        {
            //Arrange
            var controller = new PostController(repository);
            int?postId     = null;

            //Act
            var data = await controller.GetPost(postId);

            //Assert
            Assert.IsType <BadRequestResult>(data);
        }
示例#6
0
        public async void Task_GetPostById_Return_NotFoundResult()
        {
            //Arrange
            var controller = new PostController(repository);
            var postId     = 3;

            //Act
            var data = await controller.GetPost(postId);

            //Assert
            Assert.IsType <NotFoundResult>(data);
        }
示例#7
0
        public async void Task_GetPostById_Return_NoFoundResult()
        {
            //Arrange
            var controller = new PostController(logger, postRepository);
            var postId     = 2;

            //Act
            var data = await controller.GetPost(postId);

            //Assert
            Assert.IsType <OkObjectResult>(data);
        }
示例#8
0
     public void Test()
     {
         
         Mock<IPostRepository> postRepositoryMock = new Mock<IPostRepository>();
 
         PostController controller = new PostController(postRepositoryMock.Object);
 
         postRepositoryMock.Setup(it => it.Get(It.IsAny<int?>()).Returns(new Post() { //here what you need to build your post object });
 
         var result = controller.GetPost(1);
         Assert.True(result != null,"Unexpected null result");
         var retrievedPost = result as OkNegotiatedContentResult<Post>;
         Assert.True(result != null, "Unexpected null retrievedPost");
         Assert.True(retrievedPost.Id == 1, "retrievedPost.Id is unexpected")
     }
 }
示例#9
0
        public void Failed_To_Fetch_An_Invalid_Post_Test()
        {
            var mockService = GetService();

            mockService
            .Setup(service => service.Get(It.IsAny <Guid>()))
            .Returns(async(Guid id) =>
            {
                PostDto response = null;
                return(await Task.FromResult(response));
            });
            var controller   = new PostController(mockService.Object);
            var postId       = Guid.NewGuid();
            var actionResult = controller.GetPost(postId).Result as NotFoundResult;

            Assert.NotNull(actionResult);
        }
示例#10
0
        public async void Task_GetPostById_Return_OkResult()
        {
            postRepositoryMock.Setup(i => i.GetPost(It.IsAny <int>())).Returns(Task.FromResult <PostViewModel>(new PostViewModel()
            {
                CategoryId = 1
            }));

            //Arrange
            var controller = new PostController(logger, postRepositoryMock.Object);
            var postId     = 2;

            //Act
            var data = await controller.GetPost(postId);

            //Assert
            Assert.IsType <OkObjectResult>(data);
        }
示例#11
0
        public async void Task_GetPostById_MatchResult()
        {
            //Arrange
            var controller = new PostController(repository);
            int?postId     = 1;

            //Act
            var data = await controller.GetPost(postId);

            //Assert
            Assert.IsType <OkObjectResult>(data);

            var okResult = data.Should().BeOfType <OkObjectResult>().Subject;
            var post     = okResult.Value.Should().BeAssignableTo <PostViewModel>().Subject;

            Assert.Equal("Test Title 1", post.Title);
            Assert.Equal("Test Description 1", post.Description);
        }
示例#12
0
        public void GetPost()
        {
            UserPost newPost = new UserPost
            {
                Verified       = false,
                RecordStatusId = (int)RecordStatus.Active,
                IdUser         = 2,
                Text           = "Test",
                PostId         = 1
            };

            _postsRepoMock.Setup(m => m.GetPost(newPost.PostId)).Returns(newPost);
            PostController controller = new PostController(_postsRepoMock.Object, _loginUser);

            JsonResult result = controller.GetPost(newPost.PostId);

            Assert.IsNotNull(result);
            Assert.IsNotNull(result.Data);
            Assert.IsTrue(result.Data is UserPost);
        }
示例#13
0
        public async void GetArticle_GivenCalled_WhenRequestsPublishedPost_ThenMapsResultToModel()
        {
            // Arrange
            var postDto = new PostDto {
                Id = 99
            };
            var response = ApiResponse <PostDto> .Ok(postDto);

            const string slug = "slug";

            mockMediator.Setup(x => x.Send(It.Is <GetPost.Query>(y => y.Slug == slug), CancellationToken.None))
            .ReturnsAsync(response);

            // Act
            var result = (OkObjectResult)(await sut.GetPost(slug)).Result;
            var value  = result.Value as PostDto;

            // Assert
            Assert.NotNull(value);
            Assert.Equal(postDto.Id, value.Id);
        }