public void FixtureSetUp() { _Aporte = AporteApropriadoBuilder.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(_Aporte).Result; }
public void DadoUmAporteSemPremioDeveGerarErro() { _aporteApropriado = AporteApropriadoBuilder.UmBuilder() .ComIdentificador(IdentificadoresPadrao.Identificador) .ComDataExecucaoEvento(DateTime.Now).Build(); Assert.That(() => _aporteApropriado.Validar(), GeraErro("Nenhum aporte informado.")); }
public static IEnumerable <PremioAporte> ToEventoAporte(this IAporteApropriado contrato) { var evento = new EventoAportePremio(contrato.Identificador, contrato.IdentificadorCorrelacao, contrato.IdentificadorNegocio, contrato.DataExecucaoEvento); contrato.Aportes.SafeForEach(premio => evento.AdicionarPremio(premio.ToPremioAporte())); return(evento.Premios); }
public static void ValidarAporte(this IAporteApropriado evento) { evento.Validar(); Assertion.NotNull(evento.Aportes, "Nenhum aporte informado.").Validate(); evento.Aportes.Select(a => a.ValidarPremioAporte()).Aggregate(Assertion.Neutral(), (x, y) => x.and(y)).Validate(); }
public static void Validar(this IAporteApropriado premio) { premio.ValidarEvento(); foreach (var aporte in premio.Aportes) { aporte.Validar(); aporte.Pagamento.Validar(aporte.ParcelaId.IdentificadorExternoCobertura); } }
public async Task <EventoPremio> Com(IAporteApropriado message) { var evento = new EventoAportePremio(message.Identificador, message.IdentificadorCorrelacao, message.IdentificadorNegocio, message.DataExecucaoEvento); foreach (var parcela in message.Aportes) { var premio = (await _premios.CriarPremio(_mapear.ToPremio(parcela), evento)) .ComPagamento(_mapear.ToPagamentoPremio(parcela.Pagamento)) .ComNumero(evento.ParcelaAporte); evento.AdicionarPremio(premio); } return(evento); }
public new async Task FixtureSetUp() { _aporteApropriado = ObterAportePremio(); _aporte = _aporteApropriado.Aportes.First(); GetInstance <CoberturaContratadaHelper>().AtualizarCoberturaRegimeFinanceiro( long.Parse(_aporte.ParcelaId.IdentificadorExternoCobertura), TipoRegimeFinanceiroEnum.FundoAcumulacao).Wait(); GetInstance <AportePremioService>().Execute(_aporteApropriado).Wait(); _premioAporteDto = await _premios.ObterPorItemCertificado <Premio>(long.Parse(_aporte.ParcelaId.IdentificadorExternoCobertura), (short)TipoMovimentoEnum.Aporte, 0); _pagamentoPremioDto = await _premios.ObterPorItemCertificado <PagamentoPremio>(long.Parse(_aporte.ParcelaId.IdentificadorExternoCobertura), (short)TipoMovimentoEnum.Aporte, 0); }
public void DadoUmaPortabilidadePremioDeveMapearOPremio() { _aporteApropriado = AporteApropriadoBuilder.UmBuilder().Padrao().Build(); var premios = GetInstance <EventoPremioFactory>().Fabricar(_aporteApropriado); var premio = premios.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 AportePremioContext(IAporteApropriado request) : base(request) { }
public void DadoUmAporteComDataExcucaoInvalidaDeveGerarErro() { _aporteApropriado = AporteApropriadoBuilder.UmBuilder().Build(); Assert.That(() => _aporteApropriado.Validar(), GeraErro("A Data de Execução não pode ser nula.")); }
public void DadoUmAporteComIdentificadorInvalidaDeveGerarErro() { _aporteApropriado = AporteApropriadoBuilder.UmBuilder().Build(); Assert.That(() => _aporteApropriado.Validar(), GeraErro("O Identificador não pode ser nulo.")); }