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); }
private static Faker <Livro> GerarLivroInternal(Guid?id = null, bool criarEditora = true, bool criarAutor = true) { return(new Faker <Livro>() .CustomInstantiator(faker => { var autor = criarAutor ? AutorBogus.GerarAutor() : null; var editora = criarEditora ? EditoraBogus.GerarEditora() : null; return new Livro( id ?? faker.Random.Guid(), faker.Lorem.Slug(), faker.Random.Int(1, 10), autor, editora ); })); }