示例#1
0
        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);
        }
示例#2
0
        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();
        }
示例#3
0
        protected override void Seed(BancoTabajaraContext context)
        {
            var _seed = new DatabaseBootstrapper(context);

            _seed.Configure();
            context.Contas.Add(ContaObjectMother.GetContaComMovimentacao());
            context.SaveChanges();
        }