Ejemplo n.º 1
0
 /**
  * Test sending a payment request and receiving a payment response error.
  */
 public function testSendWithLongErrorResponse()
 {
     //get sample response XML
     $path = SampleXmlValidationUtils::PAYMENT_RESPONSE_FULL_ERROR_XML_PATH;
     $prefix = __DIR__ . '/../../resources';
     $xml = file_get_contents($prefix . $path);
     $fromXMLResponse = new PaymentResponse();
     $fromXMLResponse = $fromXMLResponse->fromXml($xml);
     //mock HttpResponse
     /** @var HttpResponse $httpResponseMock */
     $httpResponseMock = Phockito::mock("com\\realexpayments\\remote\\sdk\\http\\HttpResponse");
     \Phockito::when($httpResponseMock->getBody())->return($fromXMLResponse->toXML());
     \Phockito::when($httpResponseMock->getResponseCode())->return(200);
     // create empty request
     $request = new PaymentRequest();
     $httpConfiguration = new HttpConfiguration();
     $httpConfiguration->setOnlyAllowHttps(false);
     // mock HttpClient instance
     $httpClientMock = Phockito::mock("com\\realexpayments\\remote\\sdk\\http\\HttpClient");
     \Phockito::when($httpClientMock->execute(\Hamcrest_Core_IsAnything::anything(), \Hamcrest_Core_IsAnything::anything()))->return($httpResponseMock);
     // execute and send on client
     $realexClient = new RealexClient(SampleXmlValidationUtils::SECRET, $httpConfiguration, $httpClientMock);
     $response = $realexClient->send($request);
     //validate error
     SampleXmlValidationUtils::checkFullResponseError($response, $this);
 }