public void InstanciarContribuinteSemRendaBrutaMensalaErro()
        {
            Cpf          cpf          = Cpf.Create(_cpfValido);
            Contribuinte contribuinte = Contribuinte.Novo("Diego Parente", cpf, 0M, 2);

            Assert.IsFalse(contribuinte.IsValid());
        }
        public void InstanciarContribuinteComCpfInvalidoErro()
        {
            Cpf          cpf          = Cpf.Create("09854146146");
            Contribuinte contribuinte = Contribuinte.Novo("Diego Parente", cpf, 1500M, 2);

            Assert.IsFalse(contribuinte.IsValid());
        }
        public void InstanciarContribuinteSucesso()
        {
            Cpf          cpf          = Cpf.Create(_cpfValido);
            Contribuinte contribuinte = Contribuinte.Novo("Diego Parente", cpf, 1500M, 2);

            Assert.IsTrue(contribuinte.IsValid());
        }
Пример #4
0
        public void CalcularImpostoDeRendaQuinzePorcentoComSucesso()
        {
            Cpf            cpf            = Cpf.Create("09854146006");
            Contribuinte   contribuinte   = Contribuinte.Novo("Diego Parente", cpf, 4925M, 1);
            ImpostoDeRenda impostaDeRenda = ImpostoDeRenda.Novo(contribuinte, _salarioMinimo);

            Assert.AreEqual(impostaDeRenda.Aliquota.Percentual, 0.15M);
        }
Пример #5
0
        public void CalcularImpostoDeRendaIsentoComSucesso()
        {
            Cpf            cpf            = Cpf.Create("09854146006");
            Contribuinte   contribuinte   = Contribuinte.Novo("Diego Parente", cpf, 1500M, 2);
            ImpostoDeRenda impostaDeRenda = ImpostoDeRenda.Novo(contribuinte, 985m);

            Assert.AreEqual(impostaDeRenda.Aliquota.Percentual, 0M);
        }
Пример #6
0
        public void CalcularImpostoDeRendaVinteESeteEMeioPorcentoValido()
        {
            Cpf            cpf            = Cpf.Create("09854146006");
            Contribuinte   contribuinte   = Contribuinte.Novo("Diego Parente", cpf, 10000M, 1);
            ImpostoDeRenda impostaDeRenda = ImpostoDeRenda.Novo(contribuinte, _salarioMinimo);

            Assert.IsTrue(impostaDeRenda.IsValid());
        }
Пример #7
0
        public void CalcularImpostoDeRendaIsentoValido()
        {
            Cpf            cpf            = Cpf.Create("09854146006");
            Contribuinte   contribuinte   = Contribuinte.Novo("Diego Parente", cpf, 1500M, 2);
            ImpostoDeRenda impostaDeRenda = ImpostoDeRenda.Novo(contribuinte, 985m);

            Assert.IsTrue(impostaDeRenda.IsValid());
        }
Пример #8
0
        public void CalcularImpostoDeRendaComContribuinteInvalidoErro()
        {
            Cpf            cpf            = Cpf.Create("09857146006");
            Contribuinte   contribuinte   = Contribuinte.Novo("Diego Parente", cpf, 0M, 2);
            ImpostoDeRenda impostaDeRenda = ImpostoDeRenda.Novo(contribuinte, 985m);

            Assert.IsFalse(impostaDeRenda.IsValid());
        }
        public CadastrarContribuinteResult Handle(CadastrarContribuinteInput input)
        {
            CadastrarContribuinteResult result = new CadastrarContribuinteResult();

            try
            {
                // Cria a instância de Contribuinte
                Contribuinte contribuinte = Contribuinte.Novo(input.Nome, Cpf.Create(input.Cpf), input.RendaBrutaMensal, input.NumeroDeDependentes);

                // Adiciona as notificações do contribuinte ao serviço
                base.AddNotifications(contribuinte.Notifications);

                // Valida se existe alguma notificação
                if (base.IsValid())
                {
                    // Consulta se já existe um usuário cadastrado com o respectivo CPF
                    var consultaBanco = _contribuinteRepository.ObterPorCpf(contribuinte.Cpf);

                    // Se não existir, realiza o cadastro na base de dados
                    // Se existir, adiciona a notificação ao serviço.
                    if (consultaBanco == null)
                    {
                        _contribuinteRepository.Criar(contribuinte);

                        result.Id = contribuinte.Id;
                    }
                    else
                    {
                        base.AddNotification(nameof(Contribuinte), "Contribuinte já cadastrado na base de dados");
                    }
                }
            }
            catch (Exception ex)
            {
                base.AddNotification("Error", $"Houve uma falha inesperada! Mensagem: {ex.Message}");
            }

            return(result);
        }
Пример #10
0
        public ContribuinteRepositoryTeste()
        {
            Cpf cpf = Cpf.Create("09854146006");

            _contribuinte = Contribuinte.Novo("Diego Parente", cpf, 1500M, 2);
        }