public void Domain_Conta_CalcularSaldoTotal_Deveria_Retornar_Saldo_mais_Limite() { //Action _conta = ContaObjectMother.GetContaComMock(_cliente.Object); //Verify _conta.SaldoTotal.Should().Be(_conta.Saldo + _conta.Limite); }
public void Service_Conta_EfetuarTransferencia_DevePassar() { //Arrange _conta = ContaObjectMother.GetContaValida(); Conta contaDestino = ContaObjectMother.GetContaComMovimentacao(); contaDestino.Id = 2; int idContaOrigem = 1; int idContaDestino = 2; _repositoryFake.Setup(x => x.GetById(idContaOrigem)).Returns(_conta); _repositoryFake.Setup(x => x.GetById(idContaDestino)).Returns(contaDestino); _repositoryFake.Setup(x => x.Update(_conta)).Returns(true); _repositoryFake.Setup(x => x.Update(contaDestino)).Returns(true); //Action _service.EfetuarTrasferencia(_conta.Id, contaDestino.Id, 1000); //Verify _repositoryFake.Verify(x => x.GetById(_conta.Id)); _repositoryFake.Verify(x => x.Update(_conta)); _repositoryFake.Verify(x => x.Update(contaDestino)); _conta.SaldoTotal.Should().Be(ContaObjectMother.GetContaValida().SaldoTotal - 1000); contaDestino.SaldoTotal.Should().Be(ContaObjectMother.GetContaComMovimentacao().SaldoTotal + 1000); }
public void Service_Conta_EfetuarTransferenciaSemLimite_NãoDevePermitir() { //Arrange _conta = ContaObjectMother.GetContaValida(); Conta contaDestino = ContaObjectMother.GetContaComMovimentacao(); contaDestino.Id = 2; int idContaOrigem = 1; int idContaDestino = 2; _repositoryFake.Setup(x => x.GetById(idContaOrigem)).Returns(_conta); _repositoryFake.Setup(x => x.GetById(idContaDestino)).Returns(contaDestino); _repositoryFake.Setup(x => x.Update(_conta)).Returns(false); _repositoryFake.Setup(x => x.Update(contaDestino)).Returns(false); //Action Action action = () => _service.EfetuarTrasferencia(_conta.Id, contaDestino.Id, 5000); //Verify action.Should().Throw <ContaSaldoInsuficienteException>(); _repositoryFake.Verify(x => x.GetById(_conta.Id)); _repositoryFake.Verify(x => x.GetById(contaDestino.Id)); _conta.SaldoTotal.Should().Be(ContaObjectMother.GetContaValida().SaldoTotal); contaDestino.SaldoTotal.Should().Be(ContaObjectMother.GetContaComMovimentacao().SaldoTotal); _repositoryFake.VerifyNoOtherCalls(); }
public void Domain_Conta_AlterarEstado_Deveria_Mudar_Conta_para_Ativa() { //Action _conta = ContaObjectMother.GetContaInativaComMock(_cliente.Object); _conta.AlterarEstado(); //Verify _conta.Ativada.Should().BeTrue(); }
protected override void Seed(BancoTabajaraContext context) { var _seed = new DatabaseBootstrapper(context); _seed.Configure(); context.Contas.Add(ContaObjectMother.GetContaComMovimentacao()); context.SaveChanges(); }
public void Domain_Conta_VerificaNumeroConta_Nao_Deveria_Permitir_Alterar_Numero_Conta() { //Action _conta = ContaObjectMother.GetContaComMock(_cliente.Object); Action action = () => _conta.VerificaNumeroConta(777); //Verify action.Should().Throw <ContaNumeroAlteradoException>(); }
public void Domain_Conta_Validar_ContaSemClienteDeveLancarExcessao() { //Arrange _conta = ContaObjectMother.GetContaSemCliente(); //Action Action act = () => _conta.Validar(); //Verify act.Should().Throw <ContaClienteInvalidoException>(); }
public void Domain_Conta_Validar_DevePassar() { //Arrange _conta = ContaObjectMother.GetContaComMock(_cliente.Object); //Action Action act = () => _conta.Validar(); //Verify act.Should().NotThrow <Exception>(); }
public void Domain_Conta_Validar_NumeroDaContaInvalida_DeveLancarExcessao() { //Arrange _conta = ContaObjectMother.GetContaNumeroContaNegativaComMock(_cliente.Object); //Action Action act = () => _conta.Validar(); //Verify act.Should().Throw <ContaNumeroContaInvalidaException>(); }
public void Domain_Conta_Validar_LimiteNegativoDeveLancarExcessao() { //Arrange _conta = ContaObjectMother.GetContaLimiteNegativoComMock(_cliente.Object); _conta.RealizarDeposito(100); //Action Action act = () => _conta.Validar(); //Verify act.Should().Throw <ContaLimiteInvalidoException>(); }
public void Domain_Conta_Validar_SaldoNegativo_DeveLancarExcessao() { //Arrange _conta = ContaObjectMother.GetContSaldoNegativoComMock(_cliente.Object); _conta.Limite = -100; //Action Action act = () => _conta.Validar(); //Verify act.Should().Throw <ContaSaldoMenorQueZeroException>(); }
public void Domain_Conta_RealizarSaque_Deveria_Remover_Valor_Do_Saldo_E_Criar_Movimentacao() { //Action _conta = ContaObjectMother.GetContaComMock(_cliente.Object); _conta.RealizarSaque(100); //Verify _conta.Saldo.Should().Be(ContaObjectMother.GetContaComMock(_cliente.Object).Saldo - 100); _conta.Movimentacoes.Count().Should().BeGreaterThan(0); _conta.Movimentacoes.First().TipoOperacao.Should().Be(TipoOperacaoEnum.Debito); _conta.Movimentacoes.First().Valor.Should().Be(100); }
public void Domain_Conta_RealizarSaque_ComSaldoInsuficiente_Nao_Deveria_Permitir_Nao_Deveria_Criar_Movimentacao() { //Action _conta = ContaObjectMother.GetContaComMock(_cliente.Object); Action action = () => _conta.RealizarSaque(5000); //Verify action.Should().Throw <ContaSaldoInsuficienteException>(); _conta.Saldo.Should().Be(ContaObjectMother.GetContaComMock(_cliente.Object).Saldo); _conta.Movimentacoes.Count().Should().Be(0); }
public void Service_Conta_AdicionarContaSemCliente_DeveLancarExcecao() { //Arrange _conta = ContaObjectMother.GetContaSemCliente(); //Action Action act = () => _conta.Validar(); //Verify act.Should().Throw <ContaClienteInvalidoException>(); _repositoryFake.VerifyNoOtherCalls(); }
public void Domain_Conta_RealizarDeposito_Deveria_Adicionar_Valor_No_Saldo_E_Criar_Movimentacao() { //Action _conta = ContaObjectMother.GetContaComMock(_cliente.Object); _conta.RealizarDeposito(100); //Verify _conta.Saldo.Should().Be(ContaObjectMother.GetContaComMock(_cliente.Object).Saldo + 100); _conta.Movimentacoes.Count().Should().BeGreaterThan(0); _conta.Movimentacoes.First().TipoOperacao.Should().Be(TipoOperacaoEnum.Credito); _conta.Movimentacoes.First().Valor.Should().Be(100); }
public void Service_Conta_AdicionarContaLimiteNegativo_DeveLancarExcecao() { //Arrange _conta = ContaObjectMother.GetContaLimiteNegativo(); _conta.RealizarDeposito(100); //Action Action act = () => _conta.Validar(); //Verify act.Should().Throw <ContaLimiteInvalidoException>(); _repositoryFake.VerifyNoOtherCalls(); }
public void Service_Conta_EfetuarDeposito_DevePassar() { //Arrange _conta = ContaObjectMother.GetContaValida(); _repositoryFake.Setup(x => x.Update(It.IsAny <Conta>())); _repositoryFake.Setup(x => x.GetById(It.IsAny <int>())).Returns(_conta); //Action _service.EfetuarDeposito(_conta.Id, 1000); //Verify _repositoryFake.Verify(x => x.Update(_conta)); _conta.SaldoTotal.Should().Be(ContaObjectMother.GetContaValida().SaldoTotal + 1000); }
public void Service_Conta_AlterarEstado_DevePassar() { //Arrange _conta = ContaObjectMother.GetContaValida(); _repositoryFake.Setup(x => x.GetById(_conta.Id)).Returns(_conta); _repositoryFake.Setup(x => x.Update(_conta)).Returns(true); //Action _service.AlterarEstado(_conta.Id); //Verify _repositoryFake.Verify(x => x.Update(_conta)); _conta.Ativada.Should().Be(!ContaObjectMother.GetContaValida().Ativada); }
public void Domain_Conta_GerarExtrato_DeveFuncionar() { //Arrange _conta = ContaObjectMother.GetContaNumeroContaNegativaComMock(_cliente.Object); _conta.Cliente = ClienteObjectMother.GetCliente(); var extrato = _conta.GerarExtrato(); //Verify extrato.Limite.Should().Be(_conta.Limite); extrato.NomeCliente.Should().Be(_conta.Cliente.Nome); extrato.NumeroConta.Should().Be(_conta.NumeroConta); extrato.Saldo.Should().Be(_conta.Saldo); }
public void Service_Conta_Delete_DeveJogarExcessao_NotFoundException() { //Arrange var contaCmd = ContaObjectMother.GetContaValidaParaDeletar(); _repositoryFake.Setup(x => x.Delete(contaCmd.Id)).Throws <NotFoundException>(); //Action Action act = () => _service.Delete(contaCmd); //Assert act.Should().Throw <NotFoundException>(); _repositoryFake.Verify(pr => pr.Delete(contaCmd.Id), Times.Once); }
public void Service_Conta_PegarContaPorId_DevePassar() { //Arrange _conta = ContaObjectMother.GetConta(); _conta.Id = 1; _repositoryFake.Setup(x => x.GetById(It.IsAny <int>())).Returns(_conta); //Action var recebido = _service.GetById(_conta.Id); //Verify recebido.Should().NotBeNull(); _repositoryFake.Verify(x => x.GetById(_conta.Id)); }
public void Service_Conta_PegarContaPorId_DeveJogarExcessao_NotFoundException() { //Arrange var conta = ContaObjectMother.GetContaValida(); _repositoryFake.Setup(pr => pr.GetById(conta.Id)).Throws <NotFoundException>(); //Action Action act = () => _service.GetById(conta.Id); //Assert act.Should().Throw <NotFoundException>(); _repositoryFake.Verify(pr => pr.GetById(conta.Id), Times.Once); }
public void Service_Conta_Delete_DevePassar() { //Arrange var contaCmd = ContaObjectMother.GetContaValidaParaDeletar(); var removido = true; _repositoryFake.Setup(pr => pr.Delete(contaCmd.Id)).Returns(removido); //Action var contaRemovido = _service.Delete(contaCmd); //Assert _repositoryFake.Verify(pr => pr.Delete(contaCmd.Id), Times.Once); contaRemovido.Should().BeTrue(); }
public void Service_Conta_AtualizarConta_DeveJogarExcessao_NotFoundException() { //Arrange var contaCmd = ContaObjectMother.GetContaValidaParaAtualizar(); _repositoryFake.Setup(x => x.GetById(contaCmd.Id)).Returns((Conta)null); //Action Action act = () => _service.Update(contaCmd); //Assert act.Should().Throw <NotFoundException>(); _repositoryFake.Verify(pr => pr.GetById(contaCmd.Id), Times.Once); _repositoryFake.Verify(pr => pr.Update(It.IsAny <Conta>()), Times.Never); }
public void Service_Conta_EfetuarTransferenciaErroAoGravarSaque_NãoDevePermitir() { //Arrange _conta = ContaObjectMother.GetContaValida(); Conta contaDestino = ContaObjectMother.GetContaValida(); _repositoryFake.Setup(x => x.GetById(It.IsAny <int>())).Returns(_conta); contaDestino.Id = 2; _repositoryFake.Setup(x => x.Update(It.IsAny <Conta>())).Returns(false); //Action _service.EfetuarTrasferencia(_conta.Id, contaDestino.Id, 1000); //Verify _repositoryFake.Verify(x => x.Update(_conta)); }
public void Controller_Contas_GetById_DevePassar() { // Arrange var conta = ContaObjectMother.GetContaValida(); _contaServiceMock.Setup(c => c.GetById(conta.Id)).Returns(conta); // Action IHttpActionResult callback = _contasController.GetById(conta.Id); // Assert var httpResponse = callback.Should().BeOfType <OkNegotiatedContentResult <ContaViewModel> >().Subject; httpResponse.Content.Should().NotBeNull(); httpResponse.Content.Id.Should().Be(conta.Id); _contaServiceMock.Verify(s => s.GetById(conta.Id), Times.Once); }
public void Setup() { var connection = DbConnectionFactory.CreatePersistent(Guid.NewGuid().ToString()); _context = new FakeDbContext(connection); _repository = new ContaRepository(_context); _conta = ContaObjectMother.GetContaValida(); //Seed _contaSeed = ContaObjectMother.GetContaValida(); _context.Contas.Add(_contaSeed); _context.Clientes.Add(_contaSeed.Cliente); _context.Clientes.Add(_conta.Cliente); _context.SaveChanges(); }
public void Service_Conta_EfetuarSaqueSemLimite_NãoDevePermitir() { //Arrange _conta = ContaObjectMother.GetContaValida(); _repositoryFake.Setup(x => x.Update(It.IsAny <Conta>())); _repositoryFake.Setup(x => x.GetById(It.IsAny <int>())).Returns(_conta); //Action Action action = () => _service.EfetuarSaque(_conta.Id, 5000); //Verify action.Should().Throw <ContaSaldoInsuficienteException>(); _conta.SaldoTotal.Should().Be(ContaObjectMother.GetContaValida().SaldoTotal); _repositoryFake.Verify(pr => pr.GetById(_conta.Id), Times.Once); _repositoryFake.Verify(pr => pr.Update(It.IsAny <Conta>()), Times.Never); _repositoryFake.VerifyNoOtherCalls(); }
public void Controller_Contas_GerarExtrato_DevePassar() { // Arrange var conta = ContaObjectMother.GetContaValida(); var extrato = conta.GerarExtrato(); _contaServiceMock.Setup(s => s.GetExtrato(conta.Id)).Returns(extrato); // Action var callback = _contasController.GetExtrato(conta.Id); //Assert _contaServiceMock.Verify(s => s.GetExtrato(conta.Id), Times.Once); var httpResponse = callback.Should().BeOfType <OkNegotiatedContentResult <Extrato> >().Subject; httpResponse.Content.Should().NotBeNull(); }
public void Service_Conta_AdicionarConta_DevePassar() { //Arrange var conta = ContaObjectMother.GetContaValida(); var contaCmd = ContaObjectMother.GetContaValidaParaRegistrar(); _repositoryFake.Setup(x => x.Add(It.IsAny <Conta>())) .Returns(conta); _repositoryClienteFake.Setup(cl => cl.GetById(contaCmd.ClienteId)).Returns(conta.Cliente); //Action var novoContaId = _service.Add(contaCmd); //Verify _repositoryFake.Verify(x => x.Add(It.IsAny <Conta>()), Times.Once); novoContaId.Should().Be(conta.Id); }