public AoInserirEmRepositorioAutor Inserir(Autor autor) { var retorno = new AoInserirEmRepositorioAutor(); try { var tabAutor = TabAutor.Fabricar(autor); db.Autores.Add(tabAutor); db.SaveChanges(); retorno.AutorId = tabAutor.AutorId; } catch (Exception ex) { retorno.Mensagem = $"Não foi possível inserir o autor '{autor.Nome} {autor.Sobrenome}'."; retorno.Problemas.Add($"Falha ao {nameof(Inserir)} em {nameof(RepositorioAutor)}: {ex.Message}"); } return(retorno); }
public void Aplicacao_RegistrarAutor__SE__AoRealizarNovoAutor__NovoAutorForValido__E__RetornoDeRepositorioForNull__ENTAO__NaoPodeGerarExcecao() { //1-Preparação var novoAutorValido = new NovoAutor() { Nome = "marco", Sobrenome = "munhoz" }; AoInserirEmRepositorioAutor retornoAoInserir = null; //aqui eu estou forçando o retorno Null para verificar se o desenvolvedor tratou retorno Null repositorioAutor.Setup(x => x.Inserir(It.IsAny <Autor>())).Returns(retornoAoInserir); var registrarAutor = new Aplicacao.RegistrarAutor.RegistrarAutor(repositorioAutor.Object); //2-Ação var retorno = registrarAutor.Realizar(novoAutorValido); //3-Verificação //não precisa fazer nada, pois não pode gerar exceção }
public AoInserirEmRepositorioAutor Inserir(Autor autor) { var retorno = new AoInserirEmRepositorioAutor(); try { var tabAutor = new TabAutor(); tabAutor.AutorId = autor.AutorId; tabAutor.Nome = autor.Nome.Nome; tabAutor.Sobrenome = autor.Nome.Sobrenome; tabAutor.Email = autor.Email.Endereco; db.Autores.Add(tabAutor); db.SaveChanges(); retorno.AutorId = autor.AutorId; } catch (Exception ex) { retorno.Mensagem = $"Não foi possível inserir o autor {autor.AutorId}."; retorno.Problemas.Add($"Falha ao {nameof(Inserir)} em {nameof(RepositorioAutor)}: {ex.Message}"); } return(retorno); }