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)); }