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