public async Task TransacaoComMesmaConta() { var transacaoRepository = new TransacaoRepositoryMock(); var contaRepository = new ContaRepositoryMock(); var controller = new TransacaoController(transacaoRepository, contaRepository); var transacao = new TransacaoDTO(); var ContaOrigem = new ContaDTO(); ContaOrigem.Ativa = true; ContaOrigem.Numero = "0002"; transacao.ContaDestino = ContaOrigem; transacao.ContaOrigem = ContaOrigem; transacao.Valor = 40.00m; var createResult = await controller.CriarTransacaoAsync(transacao); Assert.IsType <BadRequestObjectResult>(createResult); var badRequestResult = createResult as BadRequestObjectResult; Assert.Equal(400, badRequestResult.StatusCode); Assert.IsType <string>(badRequestResult.Value); Assert.Equal("Conta destino deve ser diferente da origem", badRequestResult.Value); }
public async Task TransacaoEfetuadaComSUcesso() { var transacaoRepository = new TransacaoRepositoryMock(); var contaRepository = new ContaRepositoryMock(); var controller = new TransacaoController(transacaoRepository, contaRepository); var transacao = new TransacaoDTO(); var ContaOrigem = new ContaDTO(); ContaOrigem.Ativa = true; ContaOrigem.Numero = "0001"; transacao.ContaOrigem = ContaOrigem; var ContaDestino = new ContaDTO(); ContaDestino.Ativa = true; ContaDestino.Numero = "0002"; transacao.ContaDestino = ContaDestino; transacao.Valor = 10.0m; var createResult = await controller.CriarTransacaoAsync(transacao); Assert.IsType <OkObjectResult>(createResult); var okResult = createResult as OkObjectResult; Assert.Equal(200, okResult.StatusCode); }
public async Task TransacaoContaOrigemNula() { var transacaoRepository = new TransacaoRepositoryMock(); var contaRepository = new ContaRepositoryMock(); var controller = new TransacaoController(transacaoRepository, contaRepository); var transacao = new TransacaoDTO(); transacao.ContaOrigem = null; var contaDestino = new ContaDTO(); contaDestino.Ativa = true; contaDestino.Numero = "0002"; transacao.ContaDestino = contaDestino; transacao.Valor = 40.00m; var createResult = await controller.CriarTransacaoAsync(transacao); Assert.IsType <BadRequestObjectResult>(createResult); var badRequestResult = createResult as BadRequestObjectResult; Assert.Equal(400, badRequestResult.StatusCode); Assert.IsType <string>(badRequestResult.Value); Assert.Equal("Conta origem nula", badRequestResult.Value); }
public async Task TransacaoValorExcedido() { var transacaoRepository = new TransacaoRepositoryMock(); var contaRepository = new ContaRepositoryMock(); var controller = new TransacaoController(transacaoRepository, contaRepository); var transacao = new TransacaoDTO(); var ContaOrigem = new ContaDTO(); ContaOrigem.Ativa = true; ContaOrigem.Numero = "0001"; transacao.ContaOrigem = ContaOrigem; var ContaDestino = new ContaDTO(); ContaDestino.Ativa = true; ContaDestino.Numero = "0002"; transacao.ContaDestino = ContaDestino; transacao.Valor = 200.00m; var createResult = await controller.CriarTransacaoAsync(transacao); Assert.IsType <BadRequestObjectResult>(createResult); var badRequestResult = createResult as BadRequestObjectResult; Assert.Equal(400, badRequestResult.StatusCode); Assert.IsType <string>(badRequestResult.Value); Assert.Equal("Valor excede o total da conta", badRequestResult.Value); }
public async Task TransacaoContaInexistente() { var transacaoRepository = new TransacaoRepositoryMock(); var contaRepository = new ContaRepositoryMock(); var controller = new TransacaoController(transacaoRepository, contaRepository); var transacao = new TransacaoDTO(); var ContaOrigem = new ContaDTO(); ContaOrigem.Ativa = true; ContaOrigem.Numero = "0003";// só existe 0001 e 0002 transacao.ContaOrigem = ContaOrigem; var ContaDestino = new ContaDTO(); ContaDestino.Ativa = true; ContaDestino.Numero = "0004";// só existe 0001 e 0002 transacao.ContaDestino = ContaDestino; transacao.Valor = 40.00m; var createResult = await controller.CriarTransacaoAsync(transacao); Assert.IsType <BadRequestObjectResult>(createResult); var badRequestResult = createResult as BadRequestObjectResult; Assert.Equal(400, badRequestResult.StatusCode); Assert.IsType <string>(badRequestResult.Value); Assert.Equal("Conta inválida", badRequestResult.Value); }
public void CarregaTransacaoFalha() { var _transacaoController = new TransacaoController(_transacaoBusiness); Guid tokenLoja = Guid.Parse("3B462321-72C7-4F72-B10A-4DCB00AA177A"); _transacaoController.Get(tokenLoja); Assert.AreEqual(30, 10); }
public void Deve_invocar_use_case_para_efetuar_debito_em_conta_corrente_quando_pagamento() { var efetuarCreditoUseCaseMock = MockEfetuarCreditoUseCase(); var efetuarDebitoUseCaseMock = MockEfetuarDebitoUseCase(); var sut = new TransacaoController ( efetuarCreditoUseCaseMock.Object, efetuarDebitoUseCaseMock.Object ); sut.PostEfetuarPagamentoConta(_request); efetuarDebitoUseCaseMock.Verify(x => x.Execute(It.IsAny <TransacaoDto>()), Times.Once); }
public async Task CriarTransacaoNula() { var transacaoRepository = new TransacaoRepositoryMock(); var contaRepository = new ContaRepositoryMock(); var controller = new TransacaoController(transacaoRepository, contaRepository); var createResult = await controller.CriarTransacaoAsync(null); Assert.IsType <BadRequestObjectResult>(createResult); var badRequestResult = createResult as BadRequestObjectResult; Assert.Equal(400, badRequestResult.StatusCode); Assert.IsType <string>(badRequestResult.Value); Assert.Equal("Transação nula", badRequestResult.Value); }
public TransacaoControllerTest() { transacaoServiceMock = new Mock <ITransacaoService>(); ControllerUnderTest = new TransacaoController(transacaoServiceMock.Object); }