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; }
public static IEnumerable <Domain.Premio> ToEventoAjustePremio(this IParcelaAjustada premioAjustado) { var evento = new EventoAjustePremio(premioAjustado); premioAjustado.Parcelas.SafeForEach(premio => evento.AdicionarPremio(premio.ToPremio <Domain.Premio>())); return(evento.Premios); }
public static void ValidarAjustePremio(this IParcelaAjustada contrato) { contrato.Validar(); Assertion.NotNull(contrato.Parcelas, "Nenhum prêmio para ajustar.").Validate(); contrato.Parcelas.Select(p => p.ValidarPremio()).Aggregate(Assertion.Neutral(), (x, y) => x.and(y)).Validate(); }
public new async Task FixtureSetUp() { _ajustePremio = ObterContratoAjustepremio(); GetInstance <AjustePremioService>().Execute(_ajustePremio).Wait(); _premios = GetInstance <IPremios>(); _premioDto = await _premios.ObterPorItemCertificado <Premio>(long.Parse(_emissaoPremio.Parcelas.First().ParcelaId.IdentificadorExternoCobertura), (short)TipoMovimentoEnum.Ajuste, 12); }
public async Task <EventoPremio> Com(IParcelaAjustada message) { var evento = new EventoAjustePremio(message.Identificador, message.IdentificadorCorrelacao, message.IdentificadorNegocio, message.DataExecucaoEvento); foreach (var parcela in message.Parcelas) { evento.AdicionarPremio(await _premios.CriarPremio(_mapear.ToPremio(parcela), evento)); } return(evento); }
public AjustePremioContext(IParcelaAjustada request) : base(request) { }
public static void Validar(this IParcelaAjustada premio) { premio.ValidarEvento(); premio.Parcelas.ForEach(p => p.Validar()); }
public void DadoUmContratoDeAjusteComIdentificadorInvalidoDeveGerarErro() { _parcelaAjustada = ParcelaAjustadaBuilder.UmBuilder().ComIdentificador(default(Guid)).Build(); Assert.That(() => GetInstance <EventoPremioFactory>().Fabricar(_parcelaAjustada), GeraErro("O Identificador não pode ser nulo.")); }
public void FixtureSetUp() { _ajustePremio = ParcelaAjustadaBuilder.UmBuilder().Padrao().Build(); }