public void Nao_Deve_Obter_Cartao_Credito_Por_Id_Com_Parametros_Invalidos() { var idCartaoCredito = 0; var idUsuario = 0; _cartaoCreditoServico = Substitute.For <CartaoCreditoServico>(_cartaoCreditoRepositorio, _uow); var saida = _cartaoCreditoServico.ObterCartaoCreditoPorId(idCartaoCredito, idUsuario).Result; Assert.IsTrue(!saida.Sucesso && saida.Mensagens.Any(x => x == string.Format(CartaoCreditoMensagem.Id_Cartao_Invalido, idCartaoCredito)), string.Join(", ", saida.Mensagens)); }
public void Deve_Obter_Cartao_Credito_Por_Id() { var idCartaoCredito = 1; var idUsuario = 1; _cartaoCreditoRepositorio.ObterPorId(idCartaoCredito) .Returns(new CartaoCredito(new CadastrarCartaoCreditoEntrada(idUsuario, "Cartão 1", 5000, 5))); _cartaoCreditoServico = Substitute.For <CartaoCreditoServico>(_cartaoCreditoRepositorio, _uow); var saida = _cartaoCreditoServico.ObterCartaoCreditoPorId(1, 1).Result; Assert.IsTrue(saida.Sucesso, string.Join(", ", saida.Mensagens)); }
public void Nao_Deve_Obter_Cartao_Credito_Por_Id_Inexistente() { var idCartaoCredito = 1; var idUsuario = 1; _cartaoCreditoRepositorio.ObterPorId(idUsuario) .Returns((CartaoCredito)null); _cartaoCreditoServico = Substitute.For <CartaoCreditoServico>(_cartaoCreditoRepositorio, _uow); var saida = _cartaoCreditoServico.ObterCartaoCreditoPorId(idCartaoCredito, idUsuario).Result; Assert.IsTrue(!saida.Sucesso && saida.Mensagens.Any(x => x == string.Format(CartaoCreditoMensagem.Id_Cartao_Nao_Existe, idCartaoCredito)), string.Join(", ", saida.Mensagens)); }
public void Nao_Deve_Obter_Cartao_Credito_Por_Id_De_Outro_Usuario() { var idCartaoCredito = 1; var idUsuario = 1; _cartaoCreditoRepositorio.ObterPorId(idCartaoCredito) .Returns(new CartaoCredito(new CadastrarCartaoCreditoEntrada(idUsuario, "Cartão 1", 5000, 5))); _cartaoCreditoServico = Substitute.For <CartaoCreditoServico>(_cartaoCreditoRepositorio, _uow); var saida = _cartaoCreditoServico.ObterCartaoCreditoPorId(idCartaoCredito, 2).Result; Assert.IsTrue(!saida.Sucesso && saida.Mensagens.Any(x => x == CartaoCreditoMensagem.Cartao_Nao_Pertence_Usuario), string.Join(", ", saida.Mensagens)); }
public async Task <ISaida> CadastrarAgendamento(AgendamentoEntrada entrada) { // Verifica se as informações para cadastro foram informadas corretamente if (entrada.Invalido) { return(new Saida(false, entrada.Mensagens, null)); } // Verifica se a categoria existe a partir do ID informado. this.NotificarSeFalso(await _categoriaRepositorio.VerificarExistenciaPorId(entrada.IdUsuario, entrada.IdCategoria), CategoriaMensagem.Id_Categoria_Nao_Existe); // Verifica se a conta ou cartão de crédito existem a partir do ID informado. if (entrada.IdConta.HasValue) { var conta = await _contaRepositorio.ObterPorId(entrada.IdConta.Value); this .NotificarSeNulo(conta, ContaMensagem.Id_Conta_Nao_Existe) .NotificarSeVerdadeiro(conta?.Tipo == TipoConta.Acoes, AgendamentoMensagem.Tipo_Conta_Invalida); } else { var cartao = (CartaoCreditoSaida)(await _cartaoCreditoServico.ObterCartaoCreditoPorId(entrada.IdCartaoCredito.Value, entrada.IdUsuario)).Retorno; this .NotificarSeNulo(cartao, CartaoCreditoMensagem.Id_Cartao_Nao_Existe) .NotificarSeVerdadeiro(cartao != null && (cartao.ValorLimiteDisponivel ?? 0) < entrada.QuantidadeParcelas * entrada.ValorParcela, $"O valor total do agendamento ({(entrada.QuantidadeParcelas * entrada.ValorParcela).ToString("C2")}) é superior ao valor do limite disponível para o cartão ({cartao.ValorLimiteDisponivel?.ToString("C2")})."); } // Verifica se a pessoa existe a partir do ID informado. if (entrada.IdPessoa.HasValue) { this.NotificarSeFalso(await _pessoaRepositorio.VerificarExistenciaPorId(entrada.IdUsuario, entrada.IdPessoa.Value), PessoaMensagem.Id_Pessoa_Nao_Existe); } if (this.Invalido) { return(new Saida(false, this.Mensagens, null)); } var agendamento = new Agendamento(entrada); await _agendamentoRepositorio.Inserir(agendamento); await _uow.Commit(); return(new Saida(true, new[] { AgendamentoMensagem.Agendamento_Cadastrado_Com_Sucesso }, new AgendamentoSaida(await _agendamentoRepositorio.ObterPorId(agendamento.Id)))); }
public async Task <ISaida> ObterCartaoCreditoPorId([SwaggerParameter("ID do cartão de crédito.", Required = true)] int idCartaoCredito) { return(await _cartaoCreditoServico.ObterCartaoCreditoPorId( idCartaoCredito, base.ObterIdUsuarioClaim())); }
public async Task <IActionResult> ObterCartaoCreditoPorId([FromQuery, SwaggerParameter("ID do cartão de crédito.", Required = true)] int idCartaoCredito) { return(new ApiResult(await _cartaoCreditoServico.ObterCartaoCreditoPorId(idCartaoCredito, base.ObterIdUsuarioClaim()))); }