Пример #1
0
        public void Dominio_Emitente_Deve_Ser_Valido()
        {
            //Arrange-Action
            Action validarCampos = () => _Emitente.Validar();

            //Assert
            validarCampos.Should().NotThrow <Exception>();
        }
Пример #2
0
        public Emitente Adicionar(Emitente emitente)
        {
            emitente.Validar();

            emitente.Endereco = _enderecoRepositorio.Adicionar(emitente.Endereco);
            return(_repositorio.Adicionar(emitente));
        }
Пример #3
0
        public override void Validar()
        {
            if (Emitente == null)
            {
                throw new NotaFiscalEmitenteVazioException();
            }
            if (Destinatario == null)
            {
                throw new NotaFiscalDestinatarioVazioException();
            }
            if (Transportador == null)
            {
                GerarTransportador();
            }

            Emitente.Validar();
            Destinatario.Validar();
            Transportador.Validar();
            foreach (var produto in Produtos)
            {
                produto.Validar();
            }
            if ((Emitente.Cnpj.EhValido && Destinatario.Cnpj.EhValido && Emitente.Cnpj.Equals(Destinatario.Cnpj)) ||
                (Emitente.Cpf.EhValido && Destinatario.Cpf.EhValido && Emitente.Cpf.Equals(Destinatario.Cpf)))
            {
                throw new NotaFiscalEmitenteEqualsDestinatarioException();
            }
            if (Emitido)
            {
                if (DataEntrada > DataEmissao)
                {
                    throw new NotaFiscalDataEntradaOverflowException();
                }
            }
        }
Пример #4
0
        public void Emitente_Dominio_Validar_SemEndereco_Falha()
        {
            Emitente emitente = ObjectMother.PegarEmitenteSemEndereco(_cnpjMock.Object);

            Action resultado = () => emitente.Validar();

            resultado.Should().Throw <ExcecaoEmitenteSemEndereco>();
        }
Пример #5
0
        public void Emitente_Dominio_Validar_SemInscricaoMunicipal_Falha()
        {
            Emitente emitente = ObjectMother.PegarEmitenteSemInscricaoMunicipal(_enderecoMock.Object, _cnpjMock.Object);

            Action resultado = () => emitente.Validar();

            resultado.Should().Throw <ExcecaoEmitenteSemInscricaoMunicipal>();
        }
Пример #6
0
        public void Emitente_Dominio_Validar_InscricaoEstadualComLetras_Falha()
        {
            Emitente emitente = ObjectMother.PegarEmitenteComInscricaoEstadualComLetras(_enderecoMock.Object, _cnpjMock.Object);

            Action resultado = () => emitente.Validar();

            resultado.Should().Throw <ExcecaoInscricacaoEstadualEmitenteComLetras>();
        }
Пример #7
0
        public Emitente Inserir(Emitente emitente)
        {
            emitente.Validar();

            emitente.ID = Db.Insert(_sqlInserir, ObtemParametros(emitente));

            return(emitente);
        }
Пример #8
0
        public void Emitente_Dominio_Validar_RazaoSocial3Letras_Falha()
        {
            Emitente emitente = ObjectMother.PegarEmitenteComRazaoSocialDe3Letras(_enderecoMock.Object, _cnpjMock.Object);

            Action resultado = () => emitente.Validar();

            resultado.Should().Throw <ExcecaoRazaoSocialEmitentePequeno>();
        }
Пример #9
0
        public void Emitente_Dominio_Validar_InscricaoEstadualInvalida_Falha()
        {
            Emitente emitente = ObjectMother.PegarEmitenteComInscricaoEstadualInvalida(_enderecoMock.Object, _cnpjMock.Object);

            Action resultado = () => emitente.Validar();

            resultado.Should().Throw <ExcecaoEmitenteComInscricaoEstadualAcimaDoLimite>();
        }
Пример #10
0
        public Emitente Atualizar(Emitente emitente)
        {
            if (emitente.ID < 1)
            {
                throw new ExcecaoIdentificadorInvalido();
            }

            emitente.Validar();

            return(_emitenteRepositorio.Atualizar(emitente));
        }
Пример #11
0
        public Emitente Atualizar(Emitente emitente)
        {
            if (emitente.Id < 1)
            {
                throw new ExcecaoIdentificadorIndefinido();
            }

            emitente.Validar();

            emitente.Endereco = _enderecoRepositorio.Atualizar(emitente.Endereco);
            return(_repositorio.Atualizar(emitente));
        }
Пример #12
0
        public Emitente Atualizar(Emitente emitente)
        {
            if (emitente.ID == 0)
            {
                throw new ExcecaoIdentificadorInvalido();
            }

            emitente.Validar();

            Db.Update(_sqlAtualizar, ObtemParametros(emitente));

            return(emitente);
        }
Пример #13
0
        public void Emitente_Dominio_Validar_EnderecoInvalido_EsperadoFalha()
        {
            //cenário
            _emitente          = EmitenteObjetoMae.ObterValido();
            _emitente.Endereco = null;
            _emitente.CNPJ     = _mockCnpj.Object;

            //Ação
            Action action = () => _emitente.Validar();

            //Verificação
            action.Should().Throw <ExcecaoEnderecoEmBranco>();
            _mockCnpj.VerifyNoOtherCalls();
        }
Пример #14
0
        public void Emitente_Dominio_Validar_Sucesso()
        {
            Emitente emitente = ObjectMother.PegarEmitenteValido(_enderecoMock.Object, _cnpjMock.Object);

            _enderecoMock.Setup(em => em.Validar());
            _cnpjMock.Setup(cm => cm.Validar());

            Action resultado = () => emitente.Validar();

            resultado.Should().NotThrow <ExcecaoDeNegocio>();

            _enderecoMock.Verify(em => em.Validar());
            _cnpjMock.Verify(cm => cm.Validar());
        }
Пример #15
0
        public virtual void ValidarParaEmitir()
        {
            if (ValorTotalICMS <= 0)
            {
                throw new ExcecaoValorTotalICMSInvalido();
            }

            if (ValorTotalIPI <= 0)
            {
                throw new ExcecaoValorTotalIPIInvalido();
            }

            if (ValorTotalProdutos <= 0)
            {
                throw new ExcecaoValorTotalProdutoInvalido();
            }

            if (ValorTotalImpostos <= 0)
            {
                throw new ExcecaoValorTotalImpostosInvalido();
            }

            if (ValorTotalNota <= 0)
            {
                throw new ExcecaoValorTotalNotaInvalido();
            }

            if (Produtos == null || Produtos.Count == 0)
            {
                throw new ExcecaoListaDeProdutoVazia();
            }

            foreach (ProdutoNotaFiscal produtoNotaFiscal in Produtos)
            {
                if (produtoNotaFiscal.ValorTotal <= 0)
                {
                    throw new ExcecaoProdutoSemValor();
                }
            }

            if (Transportador == null)
            {
                TransportadorReceberValoresDeDestinatario();
            }

            Destinatario.Validar();
            Emitente.Validar();
            Transportador.Validar();
        }
Пример #16
0
        public void Emitente_Dominio_Validar_CNPJNulo_EsperadoFalha()
        {
            //cenário
            _mockEndereco.Setup(en => en.Validar());
            _emitente          = EmitenteObjetoMae.ObterValido();
            _emitente.CNPJ     = null;
            _emitente.Endereco = _mockEndereco.Object;

            //Ação
            Action action = () => _emitente.Validar();

            //Verificação
            action.Should().Throw <ExcecaoCNPJInvalido>();
            _mockEndereco.Verify(en => en.Validar());
        }
Пример #17
0
        public void Emitente_Dominio_Validar_EsperadoOK()
        {
            //cenário
            _mockCnpj.Setup(cn => cn.Validar());
            _mockEndereco.Setup(en => en.Validar());
            _emitente          = EmitenteObjetoMae.ObterValido();
            _emitente.CNPJ     = _mockCnpj.Object;
            _emitente.Endereco = _mockEndereco.Object;
            //Ação
            Action action = () => _emitente.Validar();

            //Verificação
            action.Should().NotThrow();
            _mockCnpj.Verify(cn => cn.Validar());
            _mockEndereco.Verify(en => en.Validar());
        }
Пример #18
0
        public void Emitente_Dominio_Validar_NomeFantasiaInvalido_EsperadoFalha()
        {
            //cenário
            _mockEndereco.Setup(en => en.Validar());
            _emitente = EmitenteObjetoMae.ObterValido();
            _emitente.NomeFantasia = String.Empty;
            _emitente.CNPJ         = _mockCnpj.Object;
            _emitente.Endereco     = _mockEndereco.Object;

            //Ação
            Action action = () => _emitente.Validar();

            //Verificação
            action.Should().Throw <ExcecaoNomeEmBranco>();
            _mockCnpj.VerifyNoOtherCalls();
            _mockEndereco.Verify(en => en.Validar());
        }
Пример #19
0
        public void Emitente_Dominio_Validar_InscricaoMunicipalInvalido_EsperadoFalha()
        {
            //cenário
            _mockEndereco.Setup(en => en.Validar());
            _mockCnpj.Setup(cn => cn.Validar());
            _emitente = EmitenteObjetoMae.ObterValido();
            _emitente.InscricaoMunicipal = String.Empty;
            _emitente.CNPJ     = _mockCnpj.Object;
            _emitente.Endereco = _mockEndereco.Object;

            //Ação
            Action action = () => _emitente.Validar();

            //Verificação
            action.Should().Throw <ExcecaoInscricaoMunicipalInvalido>();
            _mockCnpj.Verify(cn => cn.Validar());
            _mockEndereco.Verify(en => en.Validar());
        }
Пример #20
0
 public Emitente Inserir(Emitente emitente)
 {
     emitente.Validar();
     return(_emitenteRepositorio.Inserir(emitente));
 }