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);
        }
Exemple #5
0
        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);
        }
Exemple #6
0
 public AjustePremioContext(IParcelaAjustada request) : base(request)
 {
 }
        public static void Validar(this IParcelaAjustada premio)
        {
            premio.ValidarEvento();

            premio.Parcelas.ForEach(p => p.Validar());
        }
Exemple #8
0
        public void DadoUmContratoDeAjusteComIdentificadorInvalidoDeveGerarErro()
        {
            _parcelaAjustada = ParcelaAjustadaBuilder.UmBuilder().ComIdentificador(default(Guid)).Build();

            Assert.That(() => GetInstance <EventoPremioFactory>().Fabricar(_parcelaAjustada), GeraErro("O Identificador não pode ser nulo."));
        }
Exemple #9
0
 public void FixtureSetUp()
 {
     _ajustePremio = ParcelaAjustadaBuilder.UmBuilder().Padrao().Build();
 }