예제 #1
0
 public void FixtureSetUp()
 {
     _parcela = ParcelaBuilder.UmBuilder()
                .Com(ParcelaIdBuilder.UmBuilder().ComNumeroParcela(-1)
                     .ComIdentificadorExternoCobertura(IdentificadoresPadrao.ItemCertificadoApoliceId.ToString()))
                .Com(VigenciaBuilder.UmBuilder())
                .Com(ValorBuilder.UmBuilder())
                .Build();
 }
 private IParcelaEmitida ObterContratoEmissaoPremio()
 {
     return(ParcelaEmitidaBuilder.UmBuilder()
            .ComIdentificador(Guid.NewGuid())
            .ComIdentificadorNegocio(_proposta.IdentificadorNegocio)
            .ComDataExecucaoEvento(_proposta.DataExecucaoEvento)
            .Com(ParcelaBuilder.UmBuilder()
                 .Com(ParcelaIdBuilder.UmBuilder()
                      .ComIdentificadorExternoCobertura(cobertura.IdentificadorExterno)
                      .ComNumeroParcela(IdentificadoresPadrao.NumeroParcela))
                 .Com(ValorBuilder.UmBuilder().Padrao())
                 .Com(VigenciaBuilder.UmBuilder().Padrao()))
            .Build());
 }
예제 #3
0
        public void DadoUmPremioComNumeroParcelaInvalidoDeveSerGeradoUmErro()
        {
            _emissaoPremio = ParcelaEmitidaBuilder.UmBuilder()
                             .ComIdentificador(IdentificadoresPadrao.Identificador)
                             .ComDataExecucaoEvento(IdentificadoresPadrao.DataExecucaoEvento)
                             .Com(ParcelaBuilder.UmBuilder()
                                  .Com(VigenciaBuilder.UmBuilder().Padrao())
                                  .Com(ValorBuilder.UmBuilder().Padrao())
                                  .Com(ParcelaIdBuilder.UmBuilder()
                                       .ComNumeroParcela(int.MinValue)))
                             .Build();

            Assert.That(() => GetInstance <EventoPremioFactory>().Fabricar(_emissaoPremio), GeraErro("O número da Parcela não foi informado."));
        }
        private IParcelaAjustada ObterContratoAjustepremio()
        {
            var cobertura = _proposta.Produtos.First().Coberturas.First();

            return(ParcelaAjustadaBuilder.UmBuilder()
                   .ComIdentificador(Guid.NewGuid())
                   .ComDataExecucao(_proposta.DataExecucaoEvento)
                   .Com(ParcelaBuilder.UmBuilder()
                        .Com(ParcelaIdBuilder.UmBuilder()
                             .ComIdentificadorExternoCobertura(cobertura.IdentificadorExterno)
                             .ComNumeroParcela(IdentificadoresPadrao.NumeroParcela))
                        .Com(ValorBuilder.UmBuilder().Padrao())
                        .Com(VigenciaBuilder.UmBuilder().Padrao()))
                   .Build());
        }
        private IParcelaApropriada ObterContratoParcelaApropriada()
        {
            var apropriacao = ApropriacaoBuilder.UmBuilder()
                              .Com(PagamentoBuilder.UmBuilder().Padrao())
                              .ComValorBuilder(ValorBuilder.UmBuilder().Padrao())
                              .ComVigenciaBuilder(VigenciaBuilder.UmBuilder().Padrao())
                              .ComParcelaBuilder(ParcelaIdBuilder.UmBuilder()
                                                 .ComNumeroParcela(12).ComIdentificadorExternoCobertura(cobertura.IdentificadorExterno));

            return(ParcelaApropriadaBuilder.UmBuilder()
                   .ComIdentificador(Guid.NewGuid())
                   .ComIdentificadorNegocio(_proposta.IdentificadorNegocio)
                   .ComDataExecucaoEvento(DateTime.Now)
                   .Com((ApropriacaoBuilder)apropriacao)
                   .Build());
        }
예제 #6
0
        public IParcelaFaturaReemitida ObterContratoEmissaoPremio()
        {
            var parcela = ParcelaFaturaReemitidaBuilder.UmBuilder()
                          .ComIdentificador(Guid.NewGuid())
                          .ComIdentificadorNegocio(IdentificadoresPadrao.IdentificadorNegocio)
                          .ComDataExecucaoEvento(IdentificadoresPadrao.Competencia)
                          .Com(ParcelaBuilder.UmBuilder()
                               .Com(ParcelaIdBuilder.UmBuilder()
                                    .ComIdentificadorExternoCobertura(IdentificadoresPadrao.ItemCertificadoApoliceId.ToString())
                                    .ComNumeroParcela(IdentificadoresPadrao.NumeroParcela))
                               .Com(ValorBuilder.UmBuilder().Padrao())
                               .Com(VigenciaBuilder.UmBuilder().Padrao()))
                          .Build();

            return(parcela);
        }
예제 #7
0
        public void DadoUmPremioComDataCompetenciaMenorQueADataDeInicioDaVigenciaDeveSerGeradoUmErro()
        {
            _emissaoPremio = ParcelaEmitidaBuilder.UmBuilder()
                             .ComIdentificador(IdentificadoresPadrao.Identificador)
                             .ComDataExecucaoEvento(IdentificadoresPadrao.DataExecucaoEvento)
                             .Com(ParcelaBuilder.UmBuilder()
                                  .Com(ParcelaIdBuilder.UmBuilder())
                                  .Com(ValorBuilder.UmBuilder().Padrao())
                                  .Com(VigenciaBuilder.UmBuilder()
                                       .ComCompetencia(new DateTime(2017, 03, 01))
                                       .ComDataInicio(new DateTime(2017, 06, 01))
                                       .ComDataFim(new DateTime(2017, 12, 01))))
                             .Build();

            Assert.That(() => GetInstance <EventoPremioFactory>().Fabricar(_emissaoPremio), GeraErro("A data de competência inválida, a data não pode estar fora do período de Vigência."));
        }
예제 #8
0
        private IAporteApropriado ObterAportePremio()
        {
            var cobertura = _proposta.Produtos.First().Coberturas.First();

            var aporte = AporteBuilder.UmBuilder()
                         .Com(PagamentoBuilder.UmBuilder().Padrao())
                         .ComValorBuilder(ValorBuilder.UmBuilder().Padrao())
                         .ComVigenciaBuilder(VigenciaBuilder.UmBuilder().Padrao())
                         .ComParcelaBuilder(ParcelaIdBuilder.UmBuilder()
                                            .ComNumeroParcela(0).ComIdentificadorExternoCobertura(cobertura.IdentificadorExterno));

            return(AporteApropriadoBuilder.UmBuilder()
                   .ComIdentificador(Guid.NewGuid())
                   .ComIdentificadorNegocio(_proposta.IdentificadorNegocio)
                   .ComDataExecucaoEvento(DateTime.Now)
                   .Com((AporteBuilder)aporte)
                   .Build());
        }
예제 #9
0
        private IPortabilidadeApropriada ObterPortabilidadeApropriada()
        {
            var cobertura = _proposta.Produtos.First().Coberturas.First();

            var aporte = PortabilidadeBuilder.UmBuilder()
                         .ComCodigoSusep(IdentificadoresPadrao.CodigoSusep)
                         .Com(PagamentoBuilder.UmBuilder().Padrao())
                         .ComValorBuilder(ValorBuilder.UmBuilder().Padrao())
                         .ComVigenciaBuilder(VigenciaBuilder.UmBuilder().Padrao())
                         .ComParcelaBuilder(ParcelaIdBuilder.UmBuilder()
                                            .ComNumeroParcela(0).ComIdentificadorExternoCobertura(cobertura.IdentificadorExterno));

            return(PortabilidadeApropriadaBuilder.UmBuilder()
                   .ComIdentificador(Guid.NewGuid())
                   .ComIdentificadorNegocio(_proposta.IdentificadorNegocio)
                   .ComDataExecucaoEvento(DateTime.Now)
                   .Com((PortabilidadeBuilder)aporte)
                   .Build());
        }
예제 #10
0
        public void ValidarIdentificadorExterno()
        {
            var parcela = ParcelaBuilder.UmBuilder().Com(ParcelaIdBuilder.UmBuilder()).Com(VigenciaBuilder.UmBuilder()).Com(ValorBuilder.UmBuilder()).Build();

            Assert.That(() => parcela.Validar(), GeraErro($"A ParcelaId: { parcela.ParcelaId.ParcelaId}, com vigência com Identificador Externo inválido."));
        }