public void Id_Cant_Be_Empty(Guid id, bool result)
        {
            var command = new UpdatePublisherCommand {
                Id = id, Name = "Uncle Bob"
            };
            var validationResult = _updatePublisherCommandValidator.Validate(command);

            validationResult.IsValid.Should().Be(result);
        }
示例#2
0
        public async Task <ActionResult <PublisherDto> > Update(int id, [FromBody] UpdatePublisherCommand command)
        {
            command.Id = id;
            var res = await Mediator.Send(command);

            return(Ok(await Mediator.Send(new GetPublisherDetailQuery {
                Id = res
            })));
        }
示例#3
0
        public IActionResult Put(UpdatePublisherCommand command)
        {
            var result = _updatePublisherCommandHandler.Handle(command);

            if (result.Success)
            {
                return(Ok(command));
            }

            return(BadRequest(result.Errors));
        }
示例#4
0
        public void Should_Not_Update_When_Command_Is_Invalid()
        {
            //Arrange
            var publisher = new UpdatePublisherCommand {
                Name = "Pearson"
            };

            //Act
            _updatePublisherCommandHandler.Handle(publisher);

            //Assert
            _publisherRepository.Verify(r => r.Update(It.IsAny <Domain.Entities.Publisher>()), Times.Never);
        }
        public void Must_Not_Update_Invalid_Publisher()
        {
            //Arrange
            var publisher = new UpdatePublisherCommand {
                Id = Guid.Empty, Name = "O'Reilly"
            };

            //Act
            var httpResponseMessage = _httpClient.PutAsJsonAsync(url, publisher).Result;

            //Assert
            httpResponseMessage.StatusCode.Should().Be(HttpStatusCode.BadRequest);
        }
        public void Name_Cant_Be_Null_Or_Empty(string name, bool isValid)
        {
            //Arrange
            var publisher = new UpdatePublisherCommand {
                Id = Guid.NewGuid(), Name = name
            };

            //Act
            var validationResult = _updatePublisherCommandValidator.Validate(publisher);

            //Assert
            validationResult.IsValid.Should().Be(isValid);
        }
        public void Name_Cant_Be_Repeated(string name, bool exists)
        {
            //Arrange
            var updatePublisherCommand = new UpdatePublisherCommand {
                Id = Guid.NewGuid(), Name = name
            };

            _publisherRepositoryMock.Setup(a => a.ExistsAsync(name)).Returns(Task.FromResult(exists));

            //Act
            var validationResults = _updatePublisherCommandValidator.Validate(updatePublisherCommand);

            //Assert
            validationResults.IsValid.Should().Be(!exists);
        }
        public void Must_Update_Valid_Publisher()
        {
            //Arrange
            const string publisherName  = "O'Reilly";
            var          addedPublisher = new Publisher("Casa do Código");

            base.SeedData(addedPublisher);
            var publisher = new UpdatePublisherCommand {
                Id = addedPublisher.Id, Name = publisherName
            };

            //Act
            var httpResponseMessage = _httpClient.PutAsJsonAsync(url, publisher).Result;

            //Assert
            httpResponseMessage.StatusCode.Should().Be(HttpStatusCode.OK);
            var actual = (_publisherRepository.GetAllAsync().Result).Single(a => a.Id == publisher.Id);

            actual.Name.Should().Be(publisherName);
        }