예제 #1
0
            public ComSucesso()
            {
                comandoOriginal = new ComandoDeLancamentoFinanceiro
                {
                    TipoDeLancamento = TipoDeLancamento.Pagamento,
                    ContaDestino     = "conta falsa", // deve existir uma conta falsa, até mesmo em produção, para fins de teste
                    Descricao        = "teste_protocoloamento_rabbit_mq",
                    Valor            = 123.45m,
                };

                var protocolo = new Protocolo(Guid.NewGuid().ToString());

                comandoOriginal.AnexaProtocolo(protocolo);
            }
예제 #2
0
        public async Task <IActionResult> Post([FromBody] ComandoDeLancamentoFinanceiro comando)
        {
            var protocolo = await geracaoDeProtocolos.GeraProtocolo();

            logger.LogDebug($"Protocolo: {protocolo}");

            comando.AnexaProtocolo(protocolo);

            //

            await mediator.Send(comando);

            //

            return(Ok(protocolo));
        }
예제 #3
0
        public async Task QuandoLancoUmPagamento(string descricao, decimal valorDoPagamento, string numeroDoProtocolo)
        {
            var hoje = (DateTime)world["hoje"];

            var comando = new ComandoDeLancamentoFinanceiro
            {
                TipoDeLancamento   = TipoDeLancamento.Pagamento,
                Descricao          = descricao,
                ContaDestino       = world["numeroDaConta"].ToString(),
                BancoDestino       = world["numeroDoBanco"].ToString(),
                TipoDeConta        = (TipoDeConta)world["tipoDaConta"],
                CpfCnpjDestino     = world["documentoDaConta"].ToString(),
                Valor              = valorDoPagamento,
                Encargos           = 0,
                data_de_lancamento = hoje,
            };

            comando.AnexaProtocolo(new Protocolo(numeroDoProtocolo));

            world.Add(nameof(numeroDoProtocolo), numeroDoProtocolo);

            await sut.Handle(comando, CancellationToken.None);
        }