/**
  * @dataProvider mockProvider
  * @param PaymentInstruction $obj
  */
 public function testGet($obj, $mockApiContext)
 {
     $mockPPRestCall = $this->getMockBuilder('\\PayPal\\Transport\\PayPalRestCall')->disableOriginalConstructor()->getMock();
     $mockPPRestCall->expects($this->any())->method('execute')->will($this->returnValue(PaymentInstructionTest::getJson()));
     $result = $obj->get("paymentId", $mockApiContext, $mockPPRestCall);
     $this->assertNotNull($result);
 }
 /**
  * Retrieve a payment instruction by passing the payment_id in the request URI. Use this request if you are implementing a solution that includes delayed payment like Pay Upon Invoice (PUI).
  *
  * @param string $paymentId
  * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials.
  * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls
  * @return PaymentInstruction
  */
 public static function get($paymentId, $apiContext = null, $restCall = null)
 {
     ArgumentValidator::validate($paymentId, 'paymentId');
     $payLoad = "";
     $json = self::executeCall("/v1/payments/payment/{$paymentId}/payment-instruction", "GET", $payLoad, null, $apiContext, $restCall);
     $ret = new PaymentInstruction();
     $ret->fromJson($json);
     return $ret;
 }