Exemple #1
0
        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);
        }
Exemple #2
0
        public AoRealizarNovoAutor NovoAutor([FromBody] AutorDTO autor)
        {
            var novoAutor = new NovoAutor
            {
                Nome      = autor.Nome,
                Sobrenome = autor.Sobrenome,
                Email     = autor.Email
            };

            return(registrarAutor.Realizar(novoAutor));
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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));
        }
Exemple #5
0
        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
        }
Exemple #6
0
        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);
        }
Exemple #8
0
        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);
        }