public function testCreditCardDataConstruction() { $card = new CreditCardData(); $card->creditCardNumber = '4231231'; $card->setExpirationDate('2014-10'); $card->cardHolderName = 'John Doe'; $card->secureCode = '123'; $this->assertSame('4231231', $card->creditCardNumber); $this->assertSame('2014', $card->expirationYear); $this->assertSame('10', $card->expirationMonth); $this->assertSame('John Doe', $card->cardHolderName); $this->assertSame('123', $card->secureCode); }
/** * @param \DOMDocument $document * * @return \DOMElement */ public function getXML(\DOMDocument $document) { $xml = $document->createElement('ns2:DataStorageItem'); $ccData = $this->creditCardData->getXML($document); $dataId = $document->createElement('ns2:HostedDataID'); $dataId->textContent = $this->hostedDataId; if ($this->function != null) { $function = $document->createElement('ns2:Function'); $function->textContent = $this->function; $xml->appendChild($function); } if ($this->declineHostedDataDuplicates != null) { $declineDuplicates = $document->createElement('ns2:DeclineHostedDataDuplicates'); $declineDuplicates->textContent = $this->declineHostedDataDuplicates; $xml->appendChild($declineDuplicates); } $xml->appendChild($ccData); $xml->appendChild($dataId); return $xml; }
/** * @param string $ccNumber * @param string $validMonth * @param string $validYear * * @dataProvider dataProvider */ public function testXMLGeneration($ccNumber, $validMonth, $validYear) { $ccData = new CreditCardData($ccNumber, $validMonth, $validYear); $document = new \DOMDocument('1.0', 'UTF-8'); $xml = $ccData->getXML($document); $document->appendChild($xml); $elementCCData = $document->getElementsByTagName('ns2:CreditCardData'); $this->assertEquals(1, $elementCCData->length, 'Expected element CreditCardData not found'); $children = []; /** @var \DOMNode $child */ foreach ($elementCCData->item(0)->childNodes as $child) { $children[$child->nodeName] = $child->nodeValue; } if ($ccNumber !== null) { $this->assertArrayHasKey('ns1:CardNumber', $children, 'Expected element CardNumber not found'); $this->assertEquals($ccNumber, $children['ns1:CardNumber'], 'Card number did not match'); } else { $this->assertArrayNotHasKey('ns1:CardNumber', $children, 'Unexpected element CardNumber was found'); } $this->assertArrayHasKey('ns1:ExpMonth', $children, 'Expected element ExpMonth not found'); $this->assertEquals($validMonth, $children['ns1:ExpMonth'], 'Valid month did not match'); $this->assertArrayHasKey('ns1:ExpYear', $children, 'Expected element ExpYear not found'); $this->assertEquals($validYear, $children['ns1:ExpYear'], 'Valid year did not match'); }