コード例 #1
0
        public void FixtureSetUp()
        {
            _parcelaAjustada = ParcelaAjustadaBuilder.UmBuilder().Padrao().Build();

            var premioAnterior = PremioBuilder.Um().Padrao().ComTipoMovimento((short)TipoMovimentoEnum.Emissao).Build();

            var retornoCobertura = CoberturaContratadaBuilder.Uma().Padrao();
            var movimento        = MovimentoProvisaoBuilder.UmBuilder().Padrao();

            _retornoMovimento = new List <MovimentoProvisao>()
            {
                movimento.Build()
            };

            var retornoPremio = PremioBuilder.Um().Padrao()
                                .Com(movimento)
                                .Com(retornoCobertura)
                                .Build();

            MockingKernel.GetMock <IPremioService>()
            .Setup(x => x.CriarPremio(It.IsAny <Premio>(), It.IsAny <EventoPremio>())).Returns(Task.FromResult(retornoPremio));

            MockingKernel.GetMock <ICoberturas>()
            .Setup(x => x.ObterPorItemCertificado(It.IsAny <long>())).Returns(Task.FromResult(retornoCobertura.Build()));

            MockingKernel.GetMock <ICalculadorProvisaoPremio>()
            .Setup(x => x.CriarProvisao(It.IsAny <Premio>())).Returns(_retornoMovimento.AsEnumerable());

            MockingKernel.GetMock <IPremios>()
            .Setup(x => x.ObterPremioAnterior(It.IsAny <long>(), It.IsAny <int>())).Returns(Task.FromResult(premioAnterior));

            _evento = MockingKernel.Get <FabricarEventoPremio>().Com(_parcelaAjustada).Result;
        }
コード例 #2
0
        public void SetUpFixture()
        {
            var movimentoProvisao = MovimentoProvisaoBuilder.UmBuilder().Padrao().Build();

            var cobertutaAtiva = CoberturaContratadaBuilder.Uma().ComStatus(StatusCoberturaEnum.Activa).ComRegimeFinanceiro((short)TipoRegimeFinanceiroEnum.ReparticaoSimples).Build();

            _premio = ParcelaEmitidaBuilder.UmBuilder().Padrao().Build();

            _contexto = new EmissaoPremioContext(_premio)
            {
                Premios = _premio.ToEventoPremio()
            };

            MockingKernel.GetMock <IPremios>()
            .Setup(x => x.VerificarUltimoPremio(long.MinValue, short.MinValue, int.MinValue)).Returns(Task.FromResult(false));

            MockingKernel.GetMock <ICoberturas>()
            .Setup(x => x.ObterPorItemCertificado(It.IsAny <long>())).Returns(Task.FromResult(cobertutaAtiva));

            MockingKernel.GetMock <ICalculadorProvisaoPremio>()
            .Setup(c => c.CriarProvisao(It.IsAny <Premio>(), TipoEventoEnum.EmissaoPremio)).Returns(new List <MovimentoProvisao>()
            {
                movimentoProvisao
            }.AsEnumerable());

            var pipeline = GreenPipes.Pipe.New <EmissaoPremioContext>(cfg =>
            {
                cfg.AddFilter(() => MockingKernel.Get <EmissaoPremioFilter>());
            });

            pipeline.Send(_contexto).Wait();
        }
コード例 #3
0
        public void DadoUmContextoDeveAdicionarDadosDeCobertura()
        {
            var coberturaDto = CoberturaContratadaBuilder.Uma().Build();

            var _ajustePremio = ParcelaAjustadaBuilder.UmBuilder().Padrao().Build();

            var lista = new List <Premio>
            {
                PremioEmitidoBuilder.Um().Padrao().Build()
            };

            var _contexto = new AjustePremioContext(_ajustePremio)
            {
                Premios = lista.AsEnumerable()
            };

            MockingKernel.GetMock <IPremios>()
            .Setup(x => x.VerificarUltimoPremio(It.IsAny <long>(), _contexto.Evento.MovimentosPermitidos, It.IsAny <int>())).Returns(Task.FromResult(true));

            MockingKernel.GetMock <ICoberturas>()
            .Setup(x => x.ObterPorItemCertificado(It.IsAny <long>())).Returns(Task.FromResult(coberturaDto));

            var pipeline = Pipe.New <AjustePremioContext>(cfg =>
            {
                cfg.AddFilter(() => MockingKernel.Get <AjustePremioFilter>());
                cfg.AddFilter(() => MockingKernel.Get <SalvarEventoFilterFake <AjustePremioContext, EventoAjustePremio> >());
            });

            pipeline.Send(_contexto);

            var dto = _contexto.Evento.Premios.First().Cobertura;

            Assert.That(dto.ItemCertificadoApoliceId, Is.EqualTo(coberturaDto.ItemCertificadoApoliceId));
        }
コード例 #4
0
        public void FixtureSetUp()
        {
            _portabilidade = PortabilidadeApropriadaBuilder.UmBuilder().Padrao().Build();
            var premioAnterior = PremioBuilder.Um().Padrao().ComTipoMovimento((short)TipoMovimentoEnum.Inexistente).Build();

            var retornoCobertura = CoberturaContratadaBuilder.Uma().Padrao().ComRegimeFinanceiro((short)TipoRegimeFinanceiroEnum.FundoAcumulacao);
            var movimento        = MovimentoProvisaoBuilder.UmBuilder().Padrao();

            _retornoMovimento = new List <MovimentoProvisao>()
            {
                movimento.Build()
            };

            var retornoPremio = PremioBuilder.Um().Padrao()
                                .Com(movimento)
                                .Com(retornoCobertura)
                                .Build();

            MockingKernel.GetMock <IPremioService>()
            .Setup(x => x.CriarPremio(It.IsAny <Premio>(), It.IsAny <EventoPremio>())).Returns(Task.FromResult(retornoPremio));

            MockingKernel.GetMock <ICoberturas>()
            .Setup(x => x.ObterPorItemCertificado(It.IsAny <long>())).Returns(Task.FromResult(retornoCobertura.Build()));

            MockingKernel.GetMock <ICalculadorProvisaoPremio>()
            .Setup(x => x.CriarProvisao(It.IsAny <Premio>())).Returns(_retornoMovimento.AsEnumerable());

            MockingKernel.GetMock <IPremios>()
            .Setup(x => x.ObterPremioAnterior(It.IsAny <long>(), It.IsAny <int>())).Returns(Task.FromResult(premioAnterior));

            _evento = MockingKernel.Get <EventoPremioFactory>().Fabricar(_portabilidade).Result;
        }
コード例 #5
0
        protected new void FixtureSetUp()
        {
            _eventoImplantacao = EventoImplantacaoBuilder.UmEvento(_identificador)
                                 .Com(CoberturaContratadaBuilder.Uma()
                                      .Com(DadosProdutoBuilder.Um().Padrao()).Build())
                                 .Build();

            _eventos = GetInstance <IEventosBase <EventoImplantacao> >();
        }
コード例 #6
0
        public void ObterBeneficiarioMaisNovo_quando_item_produto_contem_um_unico_beneficiario()
        {
            var _proposta = PropostaBuilder.UmaProposta()
                            .Com(ProdutoBuilder.UmProduto()
                                 .Com(BeneficiarioBuilder.UmBeneficiario())
                                 .ComCodigo(10))
                            .Build();

            var coberturaContratada = CoberturaContratadaBuilder.Uma().Build();
        }
コード例 #7
0
 private void CriaEventoEmissaoPremio(TipoRegimeFinanceiroEnum regimeFinanceiro, params TipoProvisaoEnum[] tiposProvisao)
 {
     _evento = EventoEmissaoPremioBuilder.UmEvento()
               .Padrao()
               .Com(PremioBuilder.Um()
                    .Com(CoberturaContratadaBuilder.Uma()
                         .ComRegimeFinanceiro((short)regimeFinanceiro)
                         .ComTiposProvisao(tiposProvisao)))
               .Build();
 }
コード例 #8
0
        public new void FixtureSetUp()
        {
            _eventoImplantacao = EventoImplantacaoBuilder.UmEvento(Guid.NewGuid())
                                 .Com(CoberturaContratadaBuilder.Uma()
                                      .Com(HistoricoCoberturaContratadaBuilder.UmHistorico().ComDadosPadroes())
                                      .Com(DadosProdutoBuilder.Um()).Build())
                                 .Build();

            _eventos    = GetInstance <IEventosBase <EventoImplantacao> >();
            _coberturas = GetInstance <ICoberturas>();
        }
        public void AoCalcularUmaProvisaoDeUmProdutoPGBLDeveRetornarUmaListaVazia()
        {
            _premio = PremioBuilder.Um().Padrao()
                      .Com(CoberturaContratadaBuilder.Uma().ComTipoItemProdutoId((int)TipoItemProdutoEnum.PGBL)
                           .Com(HistoricoCoberturaContratadaBuilder.UmHistorico()))
                      .Build();

            _premio.InformaEvento(EventoEmissaoPremioBuilder.UmEvento().Padrao().Build());

            _listaProvisao = _calculadorPmbac.CalculaProvisao(_premio, default(decimal));

            Assert.That(_listaProvisao.Count, Is.EqualTo(0));
        }
        public void AoCalcularUmaProvisaoDeUmProdutoVidaIndividualDeveRetornarUmaListaDeProvisoes()
        {
            _premio = PremioBuilder.Um().Padrao()
                      .Com(CoberturaContratadaBuilder.Uma().ComTipoItemProdutoId((int)TipoItemProdutoEnum.VidaIndividual)
                           .Com(HistoricoCoberturaContratadaBuilder.UmHistorico()))
                      .Build();

            _premio.InformaEvento(EventoEmissaoPremioBuilder.UmEvento().Padrao().Build());

            var result = _calculadorPmbac.CalculaProvisao(_premio, default(decimal)).First();

            Assert.That(result.Valor, Is.Not.EqualTo(default(decimal)));
        }
コード例 #11
0
 private EventoAportePremio ObterEventoAporte(TipoRegimeFinanceiroEnum regimeFinanceiro, int parcela)
 {
     return(EventoAportePremioBuilder.UmEvento().ComIdentificador(_identificador).Padrao()
            .Com(PremioBuilder.Um().Padrao().ComNumeroParcela(parcela)
                 .Com(CoberturaContratadaBuilder.Uma()
                      .ComRegimeFinanceiro((short)regimeFinanceiro)
                      .ComTiposProvisao(TipoProvisaoEnum.PMBAC, TipoProvisaoEnum.PEF)
                      .ComId(_coberturaCadastrada.Id)
                      .Com(HistoricoCoberturaContratadaBuilder.UmHistorico().ComDadosPadroes().ComId(_historicoId))
                      )
                 .Com(MovimentoProvisaoBuilder.UmBuilder().Padrao()
                      .Com(ProvisaoCoberturaBuilder.UmBuilder())
                      )
                 .Com(PagamentoPremioBuilder.Um().Padrao())
                 ).Build());
 }
        public void SetUpFixture()
        {
            _premio = PremioBuilder.Um().Padrao()
                      .Com(CoberturaContratadaBuilder.Uma().ComItemProdutoId((int)TipoItemProdutoEnum.VidaIndividual)
                           .Com(HistoricoCoberturaContratadaBuilder.UmHistorico().ComDadosPadroes()))
                      .Build();

            _premio.InformaEvento(EventoEmissaoPremioBuilder.UmEvento().Padrao().Build());

            _resultado = PmbacBuilder.UmBuilder().Padrao().Build();

            _facade = new Mock <ICalculoFacade>();
            _facade.Setup(x => x.CalcularPMBAC(It.IsAny <CoberturaContratada>(), It.IsAny <DateTime>(), It.IsAny <decimal>())).Returns(_resultado);

            _calculadorPmbac = new CalculadorProvisaoMatematicaBeneficioAConceder(_facade.Object);
        }
コード例 #13
0
        public void AoCalcularUmaProvisaoComMesDevigenciaIgualAoMesFimVigenciaDeveRetornarUmaProvisao()
        {
            _premio = PremioBuilder.Um().Padrao()
                      .Com(CoberturaContratadaBuilder.Uma().Com(HistoricoCoberturaContratadaBuilder.UmHistorico()))
                      .ComDataCompetencia(new DateTime(2017, 01, 01))
                      .ComFimVigencia(new DateTime(2017, 01, 31))
                      .Build();

            _premio.InformaEvento(EventoEmissaoPremioBuilder.UmEvento().Padrao().Build());

            var listaProvisao = _calculadorPPNG.CalcularProvisao(_premio);

            var qtdCompetencias = 1;

            Assert.That(qtdCompetencias, Is.EqualTo(listaProvisao.ToList().Count));
        }
コード例 #14
0
        public void FixtureSetUp()
        {
            _eventoImplantacao = EventoImplantacaoBuilder.UmEvento(_identificador)
                                 .Com(CoberturaContratadaBuilder.Uma()
                                      .Com(HistoricoCoberturaContratadaBuilder.UmHistorico()))
                                 .Build();

            _validador = new Mock <IValidaEventoImplantacao>();
            _validador.Setup(x => x.Validar(It.IsAny <CoberturaContratada>())).Returns(ReturnTask);

            _dadosProduto = new Mock <IndexedCachedContainer <ChaveProduto, DadosProduto> >();
            _dadosProduto.Setup(p => p.GetValue(It.IsAny <ChaveProduto>()));

            _eventos = new Mock <IEventos <EventoImplantacao> >();
            _eventos.Setup(x => x.Adicionar(It.IsAny <EventoImplantacao>())).Returns(ReturnTask);
            _eventos.Setup(x => x.Contem(Guid.NewGuid())).Returns(Task.FromResult(false));
        }
コード例 #15
0
        private CoberturaContratada CarregarCoberturaValidaParaCalculoPMBAC()
        {
            var cobertura = CoberturaContratadaBuilder.Uma().Padrao()
                            .Com(HistoricoCoberturaContratadaBuilder.UmHistorico()).Build();

            cobertura.DataInicioVigencia          = new DateTime(2017, 06, 01);
            cobertura.DataNascimento              = new DateTime(1959, 12, 04);
            cobertura.Historico.ValorContribuicao = (decimal)895.58;
            cobertura.ClasseRiscoId            = 1479;
            cobertura.ItemProdutoId            = 202806;
            cobertura.Sexo                     = "M";
            cobertura.TipoFormaContratacaoId   = 1;
            cobertura.TipoRendaId              = 0;
            cobertura.Historico.ValorCapital   = 0;
            cobertura.Historico.ValorBeneficio = 0;

            return(cobertura);
        }
コード例 #16
0
        public new void FixtureSetUp()
        {
            _eventos = GetInstance <IEventosBase <EventoEmissaoPremio> >();

            _eventoEmissao = EventoParcelaEmitidaBuilder
                             .UmEventoComDataExecucao(_identificador, IdentificadoresPadrao.Competencia)
                             .Padrao()
                             .Com(PremioBuilder.Um().Padrao()
                                  .Com(CoberturaContratadaBuilder.Uma()
                                       .ComRegimeFinanceiro((short)TipoRegimeFinanceiroEnum.Capitalizacao)
                                       .ComTiposProvisao(TipoProvisaoEnum.PMBAC, TipoProvisaoEnum.PEF)
                                       .ComId(_coberturaCadastrada.Id)
                                       .Com(HistoricoCoberturaContratadaBuilder.UmHistorico().ComId(_historicoId).ComDadosPadroes()))
                                  .Com(MovimentoProvisaoBuilder.UmBuilder().Padrao()
                                       .Com(ProvisaoCoberturaBuilder.UmBuilder())))
                             .Build();

            _eventos.Salvar(_eventoEmissao).Wait();
        }
コード例 #17
0
        public void FixtureSetUp()
        {
            _eventoImplantacao = EventoImplantacaoBuilder.UmEvento(_identificador)
                                 .Com(CoberturaContratadaBuilder.Uma().ComPrazo(5, 1, 1)
                                      .Com(DadosProdutoBuilder.Um().Padrao()).Build())
                                 .Build();

            _eventos = GetInstance <IEventosBase <EventoImplantacao> >();

            _coberturas = GetInstance <ICoberturas>();

            _eventos.Salvar(_eventoImplantacao).Wait();

            _cobertura = _eventoImplantacao.Coberturas.First();

            _historicoId = _cobertura.Historico.Id;

            _coberturaCadastrada = _coberturas.ObterPorItemCertificado(_cobertura.ItemCertificadoApoliceId).Result;
        }
コード例 #18
0
        public void Dado_uma_lista_de_Coberturas_deve_ser_preenchido_os_dados_do_Produto()
        {
            var cobertura    = CoberturaContratadaBuilder.Uma().Build();
            var dadosProduto = DadosProdutoBuilder.Um().Padrao().Build();

            cobertura.ComDadosProduto(dadosProduto);

            Assert.That(cobertura.IndiceBeneficioId, Is.EqualTo(dadosProduto.IndiceBeneficioId));
            Assert.That(cobertura.IndiceContribuicaoId, Is.EqualTo(dadosProduto.IndiceContribuicaoId));
            Assert.That(cobertura.ModalidadeCoberturaId, Is.EqualTo(dadosProduto.ModalidadeCoberturaId));
            Assert.That(cobertura.NomeProduto, Is.EqualTo(dadosProduto.NomeProduto));
            Assert.That(cobertura.NumeroBeneficioSusep, Is.EqualTo(dadosProduto.NumeroBeneficioSusep));
            Assert.That(cobertura.NumeroProcessoSusep, Is.EqualTo(dadosProduto.NumeroProcessoSusep));
            Assert.That(cobertura.PermiteResgateParcial, Is.EqualTo(dadosProduto.PermiteResgateParcial));
            Assert.That(cobertura.PlanoFipSusep, Is.EqualTo(dadosProduto.PlanoFipSusep));
            Assert.That(cobertura.ProdutoId, Is.EqualTo(dadosProduto.ProdutoId));
            Assert.That(cobertura.TipoProvisoes, Is.EqualTo(dadosProduto.ProvisoesPossiveis));
            Assert.That(cobertura.TipoItemProdutoId, Is.EqualTo(dadosProduto.TipoItemProdutoId));
            Assert.That(cobertura.RegimeFinanceiroId, Is.EqualTo(dadosProduto.RegimeFinanceiroId));
        }