public async Task <ActionResult> Approve(int id)
        {
            var command = new ApprovePostCommand {
                PostId = id
            };
            await _mediator.Send(command);

            return(Ok());
        }
        public async Task <IActionResult> ApprovePost(int id)
        {
            var command = new ApprovePostCommand {
                PostId = id
            };
            await _mediator.Send(command);

            return(RedirectToAction(nameof(Index)));
        }
示例#3
0
        public async Task Handle_ShouldThrowNotFoundException_WhenPostDoesNotExists()
        {
            // Arrange
            var command = new ApprovePostCommand {
                PostId = 1
            };

            _postsRepositoryMock.Setup(mock => mock.GetAsync(command.PostId)).ReturnsAsync(() => null);
            _postsRepositoryMock.Setup(mock => mock.UpdateAsync(command.PostId, It.IsAny <Post>()));

            // Act
            await Assert.ThrowsAsync <NotFoundException>(() => _sut.Handle(command, new CancellationToken(false)));

            // Assert
            _postsRepositoryMock.Verify(mock => mock.UpdateAsync(command.PostId, It.IsAny <Post>()), Times.Never());
        }
示例#4
0
        public async Task Handle_ShouldUpdateThePostStatusAsApproved_WhenPostExists()
        {
            // Arrange
            var command = new ApprovePostCommand {
                PostId = 1
            };
            Post post = new Post
            {
                Id = command.PostId
            };

            _postsRepositoryMock.Setup(mock => mock.GetAsync(command.PostId)).ReturnsAsync(post);
            _postsRepositoryMock.Setup(mock => mock.UpdateAsync(command.PostId, It.IsAny <Post>()));

            // Act

            await _sut.Handle(command, new CancellationToken(false));

            // Assert
            _postsRepositoryMock.Verify(mock => mock.UpdateAsync(command.PostId, It.IsAny <Post>()), Times.Once());
        }