Exemplo n.º 1
0
        public void ShouldAcceptValidAuthorDataForCreate()
        {
            var authorData = new AuthorDTO
            {
                Name = "Test1",
            };

            var sut    = new CreateUpdateAuthorValidator();
            var result = sut.Validate(authorData);

            Assert.True(result.IsValid);
        }
Exemplo n.º 2
0
        public void ShouldNotAcceptInvalidAuthorDataForCreate()
        {
            var authorData = new AuthorDTO
            {
                Name = "",
            };

            var sut    = new CreateUpdateAuthorValidator();
            var result = sut.Validate(authorData);

            Assert.False(result.IsValid);
            Assert.NotEmpty(result.Errors);
        }
Exemplo n.º 3
0
        public void CreateAuthor(string userId, AuthorDTO authorData)
        {
            var validator        = new CreateUpdateAuthorValidator();
            var validationResult = validator.Validate(authorData);

            if (!validationResult.IsValid)
            {
                throw new ValidationException(validationResult.Errors);
            }
            var author = _mapper.Map <AuthorDTO, Author>(authorData);

            author.UserId = userId;
            _authorRepository.Insert(author);
        }
Exemplo n.º 4
0
        public void UpdateAuthor(string userId, string _id, AuthorDTO authorData)
        {
            var validator        = new CreateUpdateAuthorValidator();
            var validationResult = validator.Validate(authorData);

            if (!validationResult.IsValid)
            {
                throw new ValidationException(validationResult.Errors);
            }
            var author = _authorRepository.GetByUserIdAndId(userId, _id);

            if (author == null)
            {
                throw new NotFoundException("Autor não encontrado");
            }
            author        = _mapper.Map <AuthorDTO, Author>(authorData);
            author.Id     = ObjectId.Parse(_id);
            author.UserId = userId;
            _authorRepository.Update(_id, author);
        }