public void Deve_gerar_excecao_ao_efetuar_debito_em_uma_conta_corrente_nao_existente() { var transacaoRepositoryMock = MockTransacaoRepository(); var contaRepositoryMock = MockContaRepository(null); var sut = new EfetuarDebitoUseCase ( transacaoRepositoryMock.Object, contaRepositoryMock.Object ); Action aceitarAction = () => sut.Execute(_requestMock); aceitarAction.Should().Throw <Exception>().WithMessage("Conta não encontrada."); }
public void Deve_efetuar_debito_na_conta_corrente() { var transacaoRepositoryMock = MockTransacaoRepository(); var contaRepositoryMock = MockContaRepository(_contaMock); var sut = new EfetuarDebitoUseCase ( transacaoRepositoryMock.Object, contaRepositoryMock.Object ); sut.Execute(_requestMock); contaRepositoryMock.Verify(x => x.ObterPorId(1), Times.Once); contaRepositoryMock.Verify(x => x.Update(It.IsAny <Conta>()), Times.Once); transacaoRepositoryMock.Verify(x => x.Add(It.IsAny <Transacao>()), Times.Once()); }
public void Deve_gerar_excecao_ao_efetuar_debito_em_uma_conta_corrente_com_saldo_insuficiente() { var resquest = new TransacaoDto { IdConta = 1, Valor = 150, Descricao = "Retirada", Tipo = TipoTransacao.Retirada }; var transacaoRepositoryMock = MockTransacaoRepository(); var contaRepositoryMock = MockContaRepository(_contaMock); var sut = new EfetuarDebitoUseCase ( transacaoRepositoryMock.Object, contaRepositoryMock.Object ); Action aceitarAction = () => sut.Execute(resquest); aceitarAction.Should().Throw <Exception>().WithMessage("Saldo da conta insuficiente."); }