public void Aplicacao_RegistrarAutor__SE__AoRealizarAjusteAutor__AjusteAutorForInvalido__ENTAO__RegistroDoRepositorioNaoPodeSerAlterado() { var registrarAutor = new Aplicacao.RegistrarAutor.RegistrarAutor(new RepositorioAutorList()); var novoAutor = new NovoAutor { Nome = "marco", Sobrenome = "aurelio" }; var retornoNovoAutor = registrarAutor.Realizar(novoAutor); var ajusteAutor = new AjusteAutor { AutorId = retornoNovoAutor.AutorId, Nome = "marco", Sobrenome = "" }; var retornoAjusteAutor = registrarAutor.Realizar(ajusteAutor); var retornoLocalizaAutor = registrarAutor.Realizar(new LocalizaAutor { AutorId = ajusteAutor.AutorId }); //todos os dados devem ser iguais aos dados originais Assert.AreEqual(novoAutor.Nome, retornoLocalizaAutor.Autor.Nome); Assert.AreEqual(novoAutor.Sobrenome, retornoLocalizaAutor.Autor.Sobrenome); Assert.AreEqual(novoAutor.Email, retornoLocalizaAutor.Autor.Email); }
public AoRealizarNovoAutor NovoAutor([FromBody] AutorDTO autor) { var novoAutor = new NovoAutor { Nome = autor.Nome, Sobrenome = autor.Sobrenome, Email = autor.Email }; return(registrarAutor.Realizar(novoAutor)); }
public void Aplicacao_RegistrarAutor__SE__AoRealizarNovoAutor__NovoAutorForTotalmenteInvalido__ENTAO__InserirRepositorioNuncaDeveSerChamado() { //1-Preparação var novoAutorTotalmenteInvalido = new NovoAutor(); repositorioAutor.Setup(x => x.Inserir(It.IsAny <Autor>())); //aqui não importa o retorno ao Inserir, pois nem pode chamar Inserir var registrarAutor = new Aplicacao.RegistrarAutor.RegistrarAutor(repositorioAutor.Object); //2-Ação var retorno = registrarAutor.Realizar(novoAutorTotalmenteInvalido); //3-Verificação repositorioAutor.Verify(m => m.Inserir(It.IsAny <Autor>()), Times.Never); }
public ActionResult Cadastro(AutorDTO autor, string origem) { ViewBag.Mensagem = ""; ViewBag.Problemas = null; ViewBag.Origem = origem; if (autor.AutorId > 0) { var ajusteAutor = new AjusteAutor { AutorId = autor.AutorId, Nome = autor.Nome, Sobrenome = autor.Sobrenome, Email = autor.Email }; var retornoAoRelizarAjusteAutor = registrarAutor.Realizar(ajusteAutor); if (retornoAoRelizarAjusteAutor.AlterouComSucesso || retornoAoRelizarAjusteAutor.Problemas.Count <= 0) { ViewBag.Mensagem = "Autor ajustado com sucesso."; } else { ViewBag.Mensagem = retornoAoRelizarAjusteAutor.Mensagem; ViewBag.Problemas = retornoAoRelizarAjusteAutor.Problemas; } } else { var novoAutor = new NovoAutor { Nome = autor.Nome, Sobrenome = autor.Sobrenome, Email = autor.Email }; var retornoAoRelizarNovoAutor = registrarAutor.Realizar(novoAutor); if (retornoAoRelizarNovoAutor.AutorId > 0) { autor.AutorId = retornoAoRelizarNovoAutor.AutorId; if (string.IsNullOrEmpty(origem)) { return(RedirectToAction(nameof(Index))); } } ViewBag.Mensagem = retornoAoRelizarNovoAutor.Mensagem; ViewBag.Problemas = retornoAoRelizarNovoAutor.Problemas; } return(View(autor)); }
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 }
private void btnSalvar_Click(object sender, EventArgs e) { DesabilitarTela(); var registrarAutor = ControleDependenciaNetFull.Resolve.InstanciaDe <Aplicacao.RegistrarAutor.RegistrarAutor>(); var novoAutor = new NovoAutor(); novoAutor.Nome = txtNome.Text; novoAutor.Sobrenome = txtSobrenome.Text; novoAutor.Email = txtEmail.Text; var retornoDeRealizarNovoAutor = registrarAutor.Realizar(novoAutor); BiblioPopAppUtil.ProcessarMensagensRetornoBase(retornoDeRealizarNovoAutor.Mensagem, retornoDeRealizarNovoAutor.Problemas, panelMensagem, lblMensagem, listBoxProblemas); if (retornoDeRealizarNovoAutor.AutorId > 0) { this.Close(); } HabilitarTela(); }
public ProtocoloDeRetorno.AoRealizarNovoAutor Realizar(NovoAutor novoAutor) { var retorno = new ProtocoloDeRetorno.AoRealizarNovoAutor(); var autor = new Autor(0, new TNomePessoa(novoAutor.Nome, novoAutor.Sobrenome), new TEmail(novoAutor.Email)); if (autor.EstaEmEstadoIntegro()) { var retornoAoInserirEmRepositorioAutor = repAutor.Inserir(autor); retorno.AutorId = retornoAoInserirEmRepositorioAutor.AutorId; if (retornoAoInserirEmRepositorioAutor.Problemas.Count > 0) { retorno.Mensagem = "Não foi possível registrar o novo autor."; retorno.Problemas.AddRange(retornoAoInserirEmRepositorioAutor.Problemas); } } else { retorno.Mensagem = "Os dados do novo autor não foram devidamente informados."; retorno.Problemas.AddRange(autor.Problemas); } return(retorno); }
public void Aplicacao_RegistrarAutor__SE__AoRealizarNovoAutor__NovoAutorForValido__ENTAO__RegistroDeveSerEncontradoNoRepositorio() { var registrarAutor = new Aplicacao.RegistrarAutor.RegistrarAutor(new RepositorioAutorList()); var novoAutor = new NovoAutor { Nome = "marco", Sobrenome = "aurelio", Email = "*****@*****.**" }; var retornoNovoAutor = registrarAutor.Realizar(novoAutor); novoAutor.AutorId = retornoNovoAutor.AutorId; var retornoLocalizaAutor = registrarAutor.Realizar(new LocalizaAutor { AutorId = novoAutor.AutorId }); //todos os dados devem ser iguais aos dados originais Assert.IsInstanceOfType(retornoLocalizaAutor.Autor, typeof(AutorDTO)); Assert.AreEqual(novoAutor.Nome, retornoLocalizaAutor.Autor.Nome); Assert.AreEqual(novoAutor.Sobrenome, retornoLocalizaAutor.Autor.Sobrenome); Assert.AreEqual(novoAutor.Email, retornoLocalizaAutor.Autor.Email); }