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();
        }
Esempio n. 3
0
        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();
        }
Esempio n. 5
0
        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>();
        }
Esempio n. 6
0
        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);
        }