public void ValidarArgumentoTemplate_CondicaoFalsa_NaoDeveLancarArgumentException() { // Arrange var operacaoServico = new OperacaoServico(null); // Act and Assert operacaoServico.ValidarArgumentoTemplate(false, "Teste unitário."); }
public void ValidarValor_ValorMaiorQueZero_NaoDeveLancarExcecao() { // Arrange var operacaoServico = new OperacaoServico(null); // Act and Assert operacaoServico.ValidarValor(1); }
public void ValidarSaldo_SaldoIgualAoValor_NaoDeveLancarExcecao() { // Arrange var operacaoServico = new OperacaoServico(null); // Act operacaoServico.ValidarSaldo(new Conta { Saldo = 10 }, 10); }
public void AlterarStatusTemplate_OperacaoPendenteStatusEfetivada_DeveAlterarOStatus() { // Arrange var operacao = new CashIn(); var operacaoServico = new OperacaoServico(null); // Act operacaoServico.AlterarStatusTemplate(operacao, StatusOperacao.Efetivada); //Assert Assert.AreEqual(StatusOperacao.Efetivada, operacao.Status); }
public void PodeAlterarStatus_StatusPendente_DeveRetornarTrue() { // Arrange var operacao = new CashIn(); var operacaoServico = new OperacaoServico(null); // Act var resultado = operacaoServico.PodeAlterarStatus(operacao); //Assert Assert.IsTrue(resultado); }
public void ValidarDescricao_DescricaoIgualAoMaximo_DevePermitir() { // Arrange var configuracaoServico = Substitute.For <IConfiguracaoServico>(); configuracaoServico.ObterTamanhoMaximoDescricao().Returns((short)5); var operacaoServico = new OperacaoServico(configuracaoServico); // Act and Assert operacaoServico.ValidarDescricao("abcde"); }
public void MarcarEfetivada_OperacaoPendente_DeveAlterarOStatus() { // Arrange var operacao = new CashIn(); var operacaoServico = new OperacaoServico(null); // Act operacaoServico.MarcarEfetivada(operacao); //Assert Assert.AreEqual(StatusOperacao.Efetivada, operacao.Status); }
public void ValidarSaldo_SaldoInsuficiente_DeveLancarExcecao() { // Arrange var operacaoServico = new OperacaoServico(null); // Act Action acao = () => operacaoServico.ValidarSaldo(new Conta(), 10); //Assert var excecao = Assert.ThrowsException <CarteiraDigitalException>(acao); Assert.IsTrue(excecao.Message.Contains("O saldo da conta é insuficiente para realizar a operação!")); }
public void ValidarValor_ValorIgualAZero_DeveLancarExcecao() { // Arrange var operacaoServico = new OperacaoServico(null); // Act Action acao = () => operacaoServico.ValidarValor(0); //Assert var excecao = Assert.ThrowsException <CarteiraDigitalException>(acao); Assert.IsTrue(excecao.Message.Contains("O valor da operação deve ser superior a zero!")); }
public void AlterarStatusTemplate_OperacaoEfetivadaStatusComErro_DeveLancarExcecao() { // Arrange var operacao = new CashIn { Status = StatusOperacao.Efetivada }; var operacaoServico = new OperacaoServico(null); // Act operacaoServico.AlterarStatusTemplate(operacao, StatusOperacao.ComErro); //Assert Assert.AreEqual(StatusOperacao.ComErro, operacao.Status); }
public void PodeAlterarStatus_StatusComErro_DeveRetornarFalse() { // Arrange var operacao = new CashIn { Status = StatusOperacao.ComErro }; var operacaoServico = new OperacaoServico(null); // Act var resultado = operacaoServico.PodeAlterarStatus(operacao); //Assert Assert.IsFalse(resultado); }
public void MarcarComErro_OperacaoPendente_DeveAlterarOStatus() { // Arrange var erro = "teste"; var operacao = new CashIn(); var operacaoServico = new OperacaoServico(null); // Act operacaoServico.MarcarComErro(operacao, erro); //Assert Assert.AreEqual(StatusOperacao.ComErro, operacao.Status); Assert.AreEqual(erro, operacao.Erro); }
public void Debitar_SaldoSuficiente_DeveDebitarOValor() { // Arrange var conta = new Conta { Saldo = 100 }; var operacaoServico = new OperacaoServico(null); // Act operacaoServico.Debitar(conta, 10m); // Assert Assert.AreEqual(90, conta.Saldo); }
public void ValidarArgumentoTemplate_CondicaoVerdadeira_DeveLancarArgumentException() { // Arrange var mensagem = "Teste unitário."; var operacaoServico = new OperacaoServico(null); // Act Action acao = () => operacaoServico.ValidarArgumentoTemplate(true, mensagem); //Assert var excecao = Assert.ThrowsException <CarteiraDigitalException>(acao); Assert.IsTrue(excecao.Message.Contains(mensagem)); }
public void Creditar_ValorValido_DeveCreditarOValor() { // Arrange var conta = new Conta { Id = 1 }; var valor = 10; var operacaoServico = new OperacaoServico(null); // Act operacaoServico.Creditar(conta, valor); // Assert Assert.AreEqual(valor, conta.Saldo); }
public void AlterarStatusTemplate_OperacaoComErroStatusEfetivada_DeveLancarExcecao() { // Arrange var operacao = new CashIn { Status = StatusOperacao.ComErro }; var operacaoServico = new OperacaoServico(null); // Act Action acao = () => operacaoServico.AlterarStatusTemplate(operacao, StatusOperacao.Efetivada); //Assert var excecao = Assert.ThrowsException <CarteiraDigitalException>(acao); Assert.IsTrue(excecao.Message.Contains("Não é possível alterar o status de uma operação Com erro!")); Assert.AreEqual(StatusOperacao.ComErro, operacao.Status); }
public void ValidarDescricao_DescricaoMaiorQueMaximo_DeveLancarExcecao() { // Arrange var configuracaoServico = Substitute.For <IConfiguracaoServico>(); configuracaoServico.ObterTamanhoMaximoDescricao().Returns((short)5); var operacaoServico = new OperacaoServico(configuracaoServico); // Act Action acao = () => operacaoServico.ValidarDescricao("abcdef"); // Assert var excecao = Assert.ThrowsException <CarteiraDigitalException>(acao); Assert.IsTrue(excecao.Message.Contains("A descrição não pode ter mais que 5 caracteres!")); }
public void Creditar_ValorInvalido_DeveLancarExcecaoEPararOProcesso() { // Arrange var conta = new Conta(); var valor = -1; var operacaoServico = new OperacaoServico(null); // Act Action acao = () => operacaoServico.Creditar(conta, valor); // Assert var excecao = Assert.ThrowsException <CarteiraDigitalException>(acao); Assert.IsTrue(excecao.Message.Contains("O valor da operação deve ser superior a zero!")); Assert.AreEqual(0, conta.Saldo); }
public void Debitar_SaldoInsuficiente_DeveLancarExcecaoEPararOProcesso() { // Arrange var conta = new Conta { Saldo = 10 }; var operacaoServico = new OperacaoServico(null); // Act Action acao = () => operacaoServico.Debitar(conta, 100); // Assert var excecao = Assert.ThrowsException <CarteiraDigitalException>(acao); Assert.IsTrue(excecao.Message.Contains("O saldo da conta é insuficiente para realizar a operação!")); Assert.AreEqual(10, conta.Saldo); }
public async Task Gerar_CashOutValido_DeveRetornarOCashOutECalcularTaxa() { // Arrange var conta = new Conta { Id = 1 }; var valor = 10m; var descricao = "Teste unitário."; CashOut cashOutGerado = null; var cashOutRepositorio = Substitute.For <ICashOutRepositorio>(); cashOutRepositorio.When(x => x.Post(Arg.Any <CashOut>())) .Do(x => cashOutGerado = x.Arg <CashOut>()); var configuracaoServico = Substitute.For <IConfiguracaoServico>(); configuracaoServico.ObterPercentualTaxa().Returns(0.01m); configuracaoServico.ObterTamanhoMaximoDescricao().Returns((short)15); var contaRepositorio = Substitute.For <IContaRepositorio>(); contaRepositorio.Any(conta.Id).Returns(true); contaRepositorio.Get(conta.Id).Returns(conta); var contaServico = new ContaServico(contaRepositorio); var operacaoServico = new OperacaoServico(configuracaoServico); var produtorClient = Substitute.For <IProdutorOperacoesClient>(); var cashOutServico = new CashOutServico(cashOutRepositorio, operacaoServico, contaServico, configuracaoServico, null, produtorClient); // Act await cashOutServico.Gerar(new OperacaoUnariaDto(conta.Id, valor, descricao)); // Assert Assert.IsNotNull(cashOutGerado); Assert.AreEqual(valor, cashOutGerado.Valor); Assert.AreEqual(0.1m, cashOutGerado.ValorTaxa); Assert.AreEqual(descricao, cashOutGerado.Descricao); Assert.AreEqual(StatusOperacao.Pendente, cashOutGerado.Status); Assert.AreNotEqual(default, cashOutGerado.Data);
public void AlterarValoresTemplate_Valido_DeveExecutarAcaoPrincipal() { // Arrange var conta = new Conta { Saldo = 1 }; var valor = 999m; Action <Conta> acaoPrincipal = (conta) => { conta.Saldo = valor; }; var operacaoServico = new OperacaoServico(null); // Act operacaoServico.AlterarValoresTemplate(conta, valor, acaoPrincipal); // Assert Assert.AreEqual(valor, conta.Saldo); }
public void GerarPeloTipo_InformacoesValidasDeSaida_DeveGerarTransferencia() { // Arrange var valor = 10m; var conta = new Conta { Id = 1, Saldo = valor }; var tipoTransferencia = TipoMovimentacao.Saida; Transferencia transferenciaGerada = null; var transferenciaRepositorio = Substitute.For <ITransferenciaRepositorio>(); transferenciaRepositorio.When(x => x.Post(Arg.Any <Transferencia>())) .Do(x => transferenciaGerada = x.Arg <Transferencia>()); var operacaoServico = new OperacaoServico(null); var contaRepositorio = Substitute.For <IContaRepositorio>(); contaRepositorio.Any(Arg.Any <int>()).Returns(true); contaRepositorio.Get(conta.Id).Returns(conta); var contaServico = new ContaServico(contaRepositorio); var transferenciaServico = new TransferenciaServico(transferenciaRepositorio, operacaoServico, contaServico, null, null); // Act transferenciaServico.GerarPeloTipo(conta.Id, valor, "Teste unitário.", tipoTransferencia); // Assert Assert.IsNotNull(transferenciaGerada); Assert.AreEqual(tipoTransferencia, transferenciaGerada.TipoMovimentacao); Assert.AreEqual(StatusOperacao.Pendente, transferenciaGerada.Status); Assert.AreEqual(valor, transferenciaGerada.SaldoAnterior); Assert.AreEqual(valor, transferenciaGerada.Valor); Assert.AreNotEqual(default, transferenciaGerada.Data);
public void AlterarValoresTemplate_ValorInvalido_DeveLancarExcecaoEPararOProcesso() { // Arrange var conta = new Conta { Saldo = 1 }; Action <Conta> acaoPrincipal = (conta) => { conta.Saldo = 999; }; var operacaoServico = new OperacaoServico(null); // Act Action acao = () => operacaoServico.AlterarValoresTemplate(conta, -1, acaoPrincipal); // Assert var excecao = Assert.ThrowsException <CarteiraDigitalException>(acao); Assert.IsTrue(excecao.Message.Contains("O valor da operação deve ser superior a zero!")); Assert.AreEqual(1, conta.Saldo); }
protected AbstractCrudController() { logSgaServico = new LogSgaServico(); operacaoServico = new OperacaoServico(); }
protected AbstractCrudController(ICrudServico <Tipo> s) { servico = s; logSgaServico = new LogSgaServico(); operacaoServico = new OperacaoServico(); }