public async Task DeveInserirAutor_ERetornarIdDiferenteZero() { var mapper = AutoMapperHelper.Mapper; var command = new Mock <IAutorRepository>(); var autorInserido = AutorBogus.GerarAutor(); var viewModel = new InserirAutorViewModel { Nome = autorInserido.Nome, Email = autorInserido.Email, Pais = autorInserido.Pais }; var esperado = new AutorViewModel { Id = autorInserido.Id, Nome = autorInserido.Nome, Email = autorInserido.Email, Pais = autorInserido.Pais }; command .Setup(x => x.InserirAutor(It.IsAny <Domain.Entities.Autor>())) .ReturnsAsync(autorInserido); var useCase = new InserirAutorUseCase(mapper, command.Object); var resultado = await useCase.Executar(viewModel); command.Verify(x => x.InserirAutor(It.IsAny <Domain.Entities.Autor>()), Times.Once); resultado.Should().BeEquivalentTo(esperado); }
public async Task <AutorViewModel> Executar(InserirAutorViewModel autorViewModel) { var autor = _mapper.Map <Autor>(autorViewModel); autor = await _autorRepository.InserirAutor(autor); return(_mapper.Map <AutorViewModel>(autor)); }
public void Mapeamento_DeveMapear_InserirAutorViewModel_ParaAutor() { var viewModel = new InserirAutorViewModel { Nome = "Autor", Email = "*****@*****.**", Pais = "Brasil" }; var esperado = new Autor(Guid.Empty, viewModel.Nome, viewModel.Email, viewModel.Pais); var resultado = _mapper.Map <Autor>(viewModel); resultado.Should().BeEquivalentTo(esperado); }
public async Task <IActionResult> Post(InserirAutorViewModel inserirAutorViewModel) { var autor = await _inserirAutorUseCase.Executar(inserirAutorViewModel); return(_responseFormatter.FormatarResposta(TipoRequisicao.Post, autor)); }