Beispiel #1
0
        public UsuarioAdicionarResponse Adicionar(OperacaoRequest request)
        {
            // Criei o UnitOfWork para mostrar um controle de transação com o dapper quando for preciso
            using (_unitOfWork)
            {
                // Inicia a transação
                _unitOfWork.BeginTransaction();

                // Faz o mapeamento para a model e chama a service
                Lancamento lancamento = new Lancamento()
                {
                    ContaDestino = request.ContaDestino, ContaOrigem = request.ContaOrigem, Valor = request.Valor
                };
                ContaCorrente responseModel = _UsuarioService.Adicionar(lancamento);

                // Commit ou RollBack
                if (responseModel.Erros != null && responseModel.Erros.Any())
                {
                    _unitOfWork.RollBack();
                }
                else
                {
                    _unitOfWork.CommitTransaction();
                }

                // Mapemento do response e retorna para a api
                UsuarioAdicionarResponse response = _mapper.Map <UsuarioAdicionarResponse>(responseModel);
                return(response);
            }
        }
        public void Deve_Adicionar_Quando_Todos_Os_Campos_Estao_Preenchidos()
        {
            _UsuarioAppService = _services.GetService <IOperacaoAppService>();
            OperacaoRequest request = new OperacaoRequest
            {
            };

            _UsuarioRepositoryMock.Setup(r => r.Adicionar(It.IsAny <Lancamento>())).Returns(_faker.Random.Number(1, 100));
            UsuarioAdicionarResponse response = _UsuarioAppService.Adicionar(request);

            Assert.True(response.Id > 0);
            Assert.True(!response.Erros.Any());
        }
        public void DeveEfetuarUmLancamento()
        {
            _UsuarioAppService = _services.GetService <IOperacaoAppService>();
            OperacaoRequest request = new OperacaoRequest
            {
                ContaOrigem  = _faker.Finance.Account(),
                ContaDestino = _faker.Finance.Account(),
                Valor        = _faker.Finance.Amount()
            };

            UsuarioAdicionarResponse response = _UsuarioAppService.Adicionar(request);

            Assert.Contains(response.Erros, x => x.Descricao == "Conta é obrigatório" && x.Codigo == 400);
        }
        public IActionResult Adicionar(OperacaoRequest request)
        {
            UsuarioAdicionarResponse response = _UsuarioAppService.Adicionar(request);

            return(Ok(response));
        }