Ejemplo n.º 1
0
        public void ChildDeleteValidator_ModelInvalid_ThrowsException()
        {
            var invalidDto = new RootDeleteDto();
            var result     = _validator.TestValidate(invalidDto);

            result.ShouldHaveAnyValidationError();
        }
Ejemplo n.º 2
0
        public void ChildDeleteValidator_ModelValid_DontThrowsException()
        {
            var validDto = new RootDeleteDto()
            {
                Id      = "5e9c9ee859231a63bc853bf0",
                OwnerId = 1,
            };
            var result = _validator.TestValidate(validDto);

            result.ShouldNotHaveAnyValidationErrors();
        }
        public async Task <ActionResult <int> > Delete([FromBody] RootDeleteDto deleteDto)
        {
            if (deleteDto.OwnerId != _userResolverService.GetUserId() && !_userResolverService.IsUserAdmin())
            {
                return(Forbid());
            }
            int number = await _rootBookCommentService.Remove(deleteDto.Id);

            if (number == 0)
            {
                return(NotFound(number));
            }
            return(Ok(number));
        }
        public async Task DeleteCommentByUser_NotTheirComment_ReturnsForbidResult()
        {
            RootDeleteDto deleteDto = new RootDeleteDto()
            {
                Id = "5e9c9ee859231a63bc853bf0", OwnerId = 1
            };

            _mockRootBookCommentService.Setup(s => s.Remove(deleteDto.Id)).ReturnsAsync(1);
            _mockUserResolverService.Setup(s => s.GetUserId()).Returns(2);
            _mockUserResolverService.Setup(s => s.IsUserAdmin()).Returns(false);

            var deleteResult = await _bookRootCommentsController.Delete(deleteDto);

            var forbidResult = deleteResult.Result as ForbidResult;

            forbidResult.Should().BeOfType <ForbidResult>();
        }
        public async Task DeleteCommentByAdmin_CommentNotExist_ReturnsNotFoundObjectResult()
        {
            RootDeleteDto deleteDto = new RootDeleteDto()
            {
                Id = "5e9c9ee859231a63bc853bf0", OwnerId = 1
            };

            _mockRootBookCommentService.Setup(s => s.Remove(deleteDto.Id)).ReturnsAsync(0);
            _mockUserResolverService.Setup(s => s.GetUserId()).Returns(2);
            _mockUserResolverService.Setup(s => s.IsUserAdmin()).Returns(true);

            var deleteResult = await _bookRootCommentsController.Delete(deleteDto);

            var notFoundObjectResult = deleteResult.Result as NotFoundObjectResult;

            notFoundObjectResult.Should().BeOfType <NotFoundObjectResult>();
            int deletedNumber = Convert.ToInt32(notFoundObjectResult.Value);

            deletedNumber.Should().Be(0);
        }
Ejemplo n.º 6
0
        public async Task RemoveComment_BookRootCommentExistsAndNot_ReturnsNumberOfCommentsRemoved(int updateValue, string commentId, int expectedResult)
        {
            RootDeleteDto deleteDto = new RootDeleteDto()
            {
                Id = commentId
            };

            _mockRootRepository
            .Setup(s => s.DeleteByIdAsync(deleteDto.Id))
            .ReturnsAsync(new DeleteResult.Acknowledged(updateValue));
            _mockRootRepository.Setup(x => x.FindByIdAsync(It.IsAny <string>())).ReturnsAsync(new BookRootComment());
            _bookRepositoryMock.Setup(x => x.FindByIdAsync(It.IsAny <int>())).ReturnsAsync(new Domain.RDBMS.Entities.Book()
            {
                Id = 1232
            });

            var result = await _bookRootCommentService.Remove(deleteDto.Id);

            result.Should().Be(expectedResult);
        }