public void Nao_Deve_Alterar_Conta_Com_Parametros_Invalidos() { var idConta = 0; var idUsuario = 0; var alterarEntrada = new AlterarContaEntrada(idConta, string.Empty, TipoConta.ContaCorrente, idUsuario); _contaServico = Substitute.For <ContaServico>(_contaRepositorio, _uow); var saida = _contaServico.AlterarConta(alterarEntrada).Result; Assert.IsTrue(!saida.Sucesso && saida.Mensagens.Any(x => x == Mensagem.Id_Usuario_Invalido), string.Join(", ", saida.Mensagens)); }
public async Task <ISaida> AlterarConta([FromBody, SwaggerParameter("Informações para alteração da conta.", Required = true)] AlterarContaViewModel model) { var alterarEntrada = new AlterarContaEntrada( model.IdConta, model.Nome, model.Tipo.Value, base.ObterIdUsuarioClaim(), model.ValorSaldoInicial, model.NomeInstituicao, model.NumeroAgencia, model.Numero); return(await _contaServico.AlterarConta(alterarEntrada)); }
public void Alterar(AlterarContaEntrada alterarEntrada) { if (alterarEntrada.Invalido || alterarEntrada.IdConta != this.Id) { return; } this.Nome = alterarEntrada.Nome; this.Tipo = alterarEntrada.Tipo; this.ValorSaldoInicial = alterarEntrada.ValorSaldoInicial; this.NomeInstituicao = alterarEntrada.NomeInstituicao; this.NumeroAgencia = alterarEntrada.NumeroAgencia; this.Numero = alterarEntrada.Numero; }
public void Nao_Deve_Alterar_Conta_Com_Id_Inexistente() { var idUsuario = 1; var idConta = 1; _contaRepositorio.ObterPorId(idConta, true) .Returns((Conta)null); var alterarEntrada = new AlterarContaEntrada(idConta, "Conta 1", TipoConta.ContaCorrente, idUsuario); _contaServico = Substitute.For <ContaServico>(_contaRepositorio, _uow); var saida = _contaServico.AlterarConta(alterarEntrada).Result; Assert.IsTrue(!saida.Sucesso && saida.Mensagens.Any(x => x == ContaMensagem.Id_Conta_Nao_Existe), string.Join(", ", saida.Mensagens)); }
public async Task <ISaida> AlterarConta(AlterarContaEntrada alterarEntrada) { // Verifica se as informações para alteração foram informadas corretamente if (alterarEntrada.Invalido) { return(new Saida(false, alterarEntrada.Mensagens, null)); } var conta = await _contaRepositorio.ObterPorId(alterarEntrada.IdConta, true); // Verifica se a conta existe this.NotificarSeNulo(conta, string.Format(ContaMensagem.Id_Conta_Nao_Existe, alterarEntrada.IdConta)); if (this.Invalido) { return(new Saida(false, this.Mensagens, null)); } // Verifica se a conta pertece ao usuário informado. this.NotificarSeDiferentes(conta.IdUsuario, alterarEntrada.IdUsuario, ContaMensagem.Conta_Alterar_Nao_Pertence_Usuario); if (this.Invalido) { return(new Saida(false, this.Mensagens, null)); } // Verifica se o usuário já possui alguma conta com o nome informado this.NotificarSeVerdadeiro(await _contaRepositorio.VerificarExistenciaPorNome(alterarEntrada.IdUsuario, alterarEntrada.Nome, alterarEntrada.IdConta), ContaMensagem.Conta_Com_Mesmo_Nome); if (this.Invalido) { return(new Saida(false, this.Mensagens, null)); } conta.Alterar(alterarEntrada); _contaRepositorio.Atualizar(conta); await _uow.Commit(); return(_uow.Invalido ? new Saida(false, _uow.Mensagens, null) : new Saida(true, new[] { ContaMensagem.Conta_Alterada_Com_Sucesso }, new ContaSaida(conta))); }
public void Deve_Alterar_Conta() { var idUsuario = 1; var idConta = 1; var conta = new Conta(new CadastrarContaEntrada(idUsuario, "Conta 1", TipoConta.ContaCorrente)); typeof(Conta).GetProperty("Id").SetValue(conta, idConta); _contaRepositorio.ObterPorId(idConta, true) .Returns(conta); var alterarEntrada = new AlterarContaEntrada(idConta, "Conta 1 alterada", TipoConta.ContaCorrente, idUsuario); _contaServico = Substitute.For <ContaServico>(_contaRepositorio, _uow); var saida = _contaServico.AlterarConta(alterarEntrada).Result; Assert.IsTrue(saida.Sucesso && saida.Mensagens.Any(x => x == ContaMensagem.Conta_Alterada_Com_Sucesso), string.Join(", ", saida.Mensagens)); }