public async Task RemoveComment_BookChildCommentExistsAndNot_ReturnsNumberOfRemovedComments(int updateValue, string commentId, int expectedResult) { ChildDeleteDto deleteDto = new ChildDeleteDto() { Ids = new List <string>() { "5e9c9ee859231a63bc853bf0", "5e9c9ee859231a63bc853bf1" }, }; _rootRepository.Setup(m => m.GetById(It.IsAny <string>())) .ReturnsAsync(new RootDto() { Comments = new List <ChildDto>() }); _childRepository .Setup(s => s.PullAsync( "5e9c9ee859231a63bc853bf0", "5e9c9ee859231a63bc853bf1", new List <(string, string)>(), "Comments")) .ReturnsAsync(new UpdateResult.Acknowledged(updateValue, updateValue, commentId)); var result = await _bookChildCommentService.Remove(deleteDto.Ids); result.Should().Be(expectedResult); }
public void ChildCommentDeleteValidator_ModelInvalid_ThrowsException() { var invalidDto = new ChildDeleteDto(); var result = _validator.TestValidate(invalidDto); result.ShouldHaveAnyValidationError(); }
public async Task <ActionResult <int> > Delete([FromBody] ChildDeleteDto deleteDto) { if (deleteDto.OwnerId != _userResolverService.GetUserId() && !_userResolverService.IsUserAdmin()) { return(Forbid()); } int number = await _childBookCommentService.Remove(deleteDto.Ids); if (number == 0) { return(NotFound(number)); } return(Ok(number)); }
public void ChildCommentDeleteValidator_ModelValid_DontThrowsException() { var validDto = new ChildDeleteDto() { Ids = new List <string>() { "5e9c9ee859231a63bc853bf0", "5e9c9ee859231a63bc853bf1" }, OwnerId = 1 }; var result = _validator.TestValidate(validDto); result.ShouldNotHaveAnyValidationErrors(); }
public async Task DeleteCommentByUser_CommentExistsButNotTheirComment_ReturnsForbidResult() { ChildDeleteDto deleteDto = new ChildDeleteDto() { Ids = new List <string>() { "5e9c9ee859231a63bc853bf0", "5e9c9ee859231a63bc853bf1" }, OwnerId = 1 }; _mockChildBookCommentService.Setup(s => s.Remove(deleteDto.Ids)).ReturnsAsync(1); _mockUserResolverService.Setup(s => s.GetUserId()).Returns(2); _mockUserResolverService.Setup(s => s.IsUserAdmin()).Returns(false); var deleteResult = await _bookChildCommentsController.Delete(deleteDto); var forbidResult = deleteResult.Result as ForbidResult; forbidResult.Should().BeOfType <ForbidResult>(); }
public async Task DeleteCommentByUser_CommentNotExists_ReturnsNotFoundObjectResult() { ChildDeleteDto deleteDto = new ChildDeleteDto() { Ids = new List <string>() { "5e9c9ee859231a63bc853bf0", "5e9c9ee859231a63bc853bf1" }, OwnerId = 1 }; _mockChildBookCommentService.Setup(s => s.Remove(deleteDto.Ids)).ReturnsAsync(0); _mockUserResolverService.Setup(s => s.GetUserId()).Returns(1); _mockUserResolverService.Setup(s => s.IsUserAdmin()).Returns(false); var deleteResult = await _bookChildCommentsController.Delete(deleteDto); var notFoundObjectResult = deleteResult.Result as NotFoundObjectResult; notFoundObjectResult.Should().BeOfType <NotFoundObjectResult>(); int deletedNumber = Convert.ToInt32(notFoundObjectResult.Value); deletedNumber.Should().Be(0); }