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);
        }
Ejemplo n.º 2
0
 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
             );
     }));
 }