public void Conta_servico_transferencia_deve_funcionar()
        {
            var     id           = 1;
            var     idDestino    = 2;
            decimal quantia      = 200;
            var     conta        = ObjectMother.ObtemContaValida();
            var     contaDestino = ObjectMother.ObtemContaValidaParaTransferencia();

            _repositorio.Setup(pr => pr.PegarPorId(id)).Returns(conta);
            _repositorio.Setup(p => p.PegarPorId(idDestino)).Returns(contaDestino);

            _repositorio.Setup(pr => pr.Atualizar(conta)).Returns(true);
            _repositorio.Setup(pr => pr.Atualizar(contaDestino)).Returns(true);

            var transferenciaFuncional = _servico.Transferencia(conta.Id, contaDestino.Id, quantia);

            _repositorio.Verify(pr => pr.PegarPorId(conta.Id), Times.Once);
            _repositorio.Verify(p => p.PegarPorId(contaDestino.Id), Times.Once);

            _repositorio.Verify(pr => pr.Atualizar(conta), Times.Once);
            transferenciaFuncional.Should().BeTrue();
        }
Beispiel #2
0
 public IHttpActionResult Transferencia(int idOrigem, int idDestino, [FromBody] decimal quantia)
 {
     return(HandleCallback(() => _contaServico.Transferencia(idOrigem, idDestino, quantia)));
 }