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; }
public static IEnumerable <PremioPortabilidade> ToEventoPortabilidade(this IPortabilidadeApropriada contrato) { var evento = new EventoPortabilidadePremio(contrato.Identificador, contrato.IdentificadorCorrelacao, contrato.IdentificadorNegocio, contrato.DataExecucaoEvento); contrato.Portabilidades.SafeForEach(premio => evento.AdicionarPremio(premio.ToPremioPortabilidade())); return(evento.Premios); }
public static void ValidarPortabilidade(this IPortabilidadeApropriada evento) { evento.Validar(); Assertion.NotNull(evento.Portabilidades, "Nenhum prêmio informado.").Validate(); evento.Portabilidades.Select(p => p.ValidarPremioPortabilidade()).Aggregate(Assertion.Neutral(), (x, y) => x.and(y)).Validate(); }
public static void Validar(this IPortabilidadeApropriada premio) { premio.ValidarEvento(); foreach (var portabilidade in premio.Portabilidades) { portabilidade.Validar(); portabilidade.Pagamento.Validar(portabilidade.ParcelaId.IdentificadorExternoCobertura); } }
public async Task <EventoPremio> Com(IPortabilidadeApropriada message) { var evento = new EventoPortabilidadePremio(message.Identificador, message.IdentificadorCorrelacao, message.IdentificadorNegocio, message.DataExecucaoEvento); foreach (var parcela in message.Portabilidades) { var premio = (await _premios.CriarPremio(_mapear.ToPremio(parcela), evento)) .ComPagamento(_mapear.ToPagamentoPremio(parcela.Pagamento)) .ComNumero(evento.ParcelaPortabilidade) .ComCodigoSusep(parcela.CodigoSusep); evento.AdicionarPremio(premio); } return(evento); }
public void DadoUmaPortabilidadePremioDeveMapearOPremio() { _portabilidadePremio = PortabilidadeApropriadaBuilder.UmBuilder().Padrao().Build(); var premio = GetInstance <EventoPremioFactory>().Fabricar(_portabilidadePremio).Premios.First(); Assert.That(premio.Pagamento.DataPagamento, Is.EqualTo(IdentificadoresPadrao.DataPagamento)); Assert.That(premio.Pagamento.DataApropriacao, Is.EqualTo(IdentificadoresPadrao.DataApropriacao)); Assert.That(premio.Pagamento.ValorPago, Is.EqualTo(IdentificadoresPadrao.ValorPago)); Assert.That(premio.Pagamento.Desconto, Is.EqualTo(IdentificadoresPadrao.Desconto)); Assert.That(premio.Pagamento.Multa, Is.EqualTo(IdentificadoresPadrao.Multa)); Assert.That(premio.Pagamento.IOFARecolher, Is.EqualTo(IdentificadoresPadrao.IOFARecolher)); Assert.That(premio.Pagamento.IOFRetido, Is.EqualTo(IdentificadoresPadrao.IOFRetido)); Assert.That(premio.Pagamento.IdentificadorCredito, Is.EqualTo(IdentificadoresPadrao.IdentificadorCredito)); }
public new async Task FixtureSetUp() { _portabilidadeApropriado = ObterPortabilidadeApropriada(); _portabilidade = _portabilidadeApropriado.Portabilidades.First(); GetInstance <CoberturaContratadaHelper>().AtualizarCoberturaRegimeFinanceiro( long.Parse(_portabilidade.ParcelaId.IdentificadorExternoCobertura), TipoRegimeFinanceiroEnum.FundoAcumulacao).Wait(); GetInstance <PortabilidadePremioService>().Execute(_portabilidadeApropriado).Wait(); _premioPortabilidadeDto = await _premios.ObterPorItemCertificado <Premio>(long.Parse(_portabilidade.ParcelaId.IdentificadorExternoCobertura), (short)TipoMovimentoEnum.Portabilidade, 0); _pagamentoPremioDto = await _premios.ObterPorItemCertificado <PagamentoPremio>(long.Parse(_portabilidade.ParcelaId.IdentificadorExternoCobertura), (short)TipoMovimentoEnum.Portabilidade, 0); }
public PortabilidadePremioContext(IPortabilidadeApropriada request) : base(request) { }
public void DadoUmaPortabilidadeSemPremioDeveGerarErro() { _portabilidadePremio = PortabilidadeApropriadaBuilder.UmBuilder().ComIdentificador(IdentificadoresPadrao.Identificador).ComDataExecucaoEvento(DateTime.Now).Build(); Assert.That(() => _portabilidadePremio.Validar(), GeraErro("Nenhum prêmio informado.")); }
public void DadoUmaPortabilidadeComDataExcucaoInvalidaDeveGerarErro() { _portabilidadePremio = PortabilidadeApropriadaBuilder.UmBuilder().Build(); Assert.That(() => _portabilidadePremio.Validar(), GeraErro("A Data de Execução não pode ser nula.")); }
public void DadoUmPortabilidadeComIdentificadorInvalidaDeveGerarErro() { _portabilidadePremio = PortabilidadeApropriadaBuilder.UmBuilder().Build(); Assert.That(() => _portabilidadePremio.Validar(), GeraErro("O Identificador não pode ser nulo.")); }