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(); }
public IHttpActionResult Transferencia(int idOrigem, int idDestino, [FromBody] decimal quantia) { return(HandleCallback(() => _contaServico.Transferencia(idOrigem, idDestino, quantia))); }