/**
  * @param DataStorageItem $storageItem
  *
  * @dataProvider dataProvider
  */
 public function testXMLGeneration($storageItem)
 {
     $prophet = new Prophet();
     $orderService = $prophet->prophesize('Checkdomain\\TeleCash\\IPG\\API\\Service\\OrderService');
     $store = new StoreHostedData($orderService->reveal(), $storageItem);
     $document = $store->getDocument();
     $document->appendChild($store->getElement());
     $elementStore = $document->getElementsByTagName('ns2:StoreHostedData');
     $this->assertEquals(1, $elementStore->length, 'Expected element StoreHostedData not found');
     $children = [];
     /** @var \DOMNode $child */
     foreach ($elementStore->item(0)->childNodes as $child) {
         $children[$child->nodeName] = $child->nodeValue;
     }
     $this->assertArrayHasKey('ns2:DataStorageItem', $children, 'Expected element DataStorageItem not found');
     //no need to further test DataStorageItem, as this is already covered in DataStorageItemTest
 }
Esempio n. 2
0
 /**
  * Store credit card information externally
  *
  * @param string $ccNumber
  * @param string $ccValid
  * @param string $hostedDataId
  *
  * @return Response\Action\Confirm|Response\Error
  * @throws \Exception
  */
 public function storeHostedData($ccNumber, $ccValid, $hostedDataId)
 {
     $service = $this->getService();
     $validMonth = substr($ccValid, 0, 2);
     $validYear = substr($ccValid, 3, 4);
     $ccData = new Model\CreditCardData($ccNumber, $validMonth, $validYear);
     $ccItem = new Model\CreditCardItem($ccData, $hostedDataId);
     $storeAction = new Request\Action\StoreHostedData($service, $ccItem);
     return $storeAction->store();
 }