/**
  * @coversNothing
  */
 public function testRefund()
 {
     $this->setMockHttpResponse('PurchaseRefundSuccess.http');
     $request = new RefundRequest($this->getHttpClient(), $this->getHttpRequest());
     $request->initialize(array('type' => 'sale', 'transactionReference' => '92M94738P51857122', 'currency' => 'USD', 'amount' => '1.50'));
     $response = $request->send();
     $this->assertInstanceOf('Omnipay\\PaypalRest\\Message\\RefundResponse', $response);
     $this->assertTrue($response->isSuccessful());
 }
 /**
  * @dataProvider dataGetData
  * @covers ::getData
  */
 public function testGetData($parameters, $expected, $expectedException)
 {
     $request = new RefundRequest($this->getHttpClient(), $this->getHttpRequest());
     $request->initialize($parameters);
     if ($expectedException) {
         $this->setExpectedException('Omnipay\\Common\\Exception\\InvalidRequestException', $expectedException);
     }
     $this->assertEquals($expected, $request->getData());
 }
 /**
  * @coversNothing
  */
 public function testRefund()
 {
     $this->setMockHttpResponse('AuthoriseRefundSuccess.http');
     $request = new RefundRequest($this->getHttpClient(), $this->getHttpRequest());
     $request->initialize(array('transactionReference' => '1D2800957K044141A', 'amount' => '3.00', 'currency' => 'USD', 'type' => 'capture'));
     $response = $request->send();
     $this->assertInstanceOf('Omnipay\\PaypalRest\\Message\\RefundResponse', $response);
     $this->assertTrue($response->isSuccessful());
     $this->assertEquals('3KC74088CH688810Y', $response->getTransactionReference());
 }