public function testParser() { $Sofortueberweisung = new Sofortueberweisung(self::$configkey); $Sofortueberweisung->setConfigKey(self::$configkey); $XmlDataHandler = new XmlDataHandler(self::$configkey); //mock http $http = $this->getMock('SofortLibHttp', array('post'), array(self::$testapi_url)); //$http = new SofortLibHttp('https://mattzick.user.pag/payment/api/xml'); $http->expects($this->any())->method('post')->will($this->returnArgument(0)); $XmlDataHandler->setConnection($http); $Sofortueberweisung->setAmount(10.21); $Sofortueberweisung->setCurrencyCode('EUR'); $Sofortueberweisung->setSenderAccount('88888888', '12345678', 'Max Mustermann'); $Sofortueberweisung->setReason('Testueberweisung', 'Verwendungszweck'); $Sofortueberweisung->setSuccessUrl('http://www.google.de', true); $Sofortueberweisung->setAbortUrl('http://www.google.de'); $Sofortueberweisung->setNotificationUrl('http://www.google.de'); $data = $Sofortueberweisung->getData(); /* hand over data */ $Sofortueberweisung->setDataHandler($XmlDataHandler)->getDataHandler()->handle($data); // assert we have a good looking result $result = $Sofortueberweisung->getDataHandler()->getRequest(); $expected = '<?xml version="1.0" encoding="UTF-8" ?> <multipay version="1.0"><su /><amount>10.21</amount><currency_code>EUR</currency_code><sender><bank_code>88888888</bank_code><account_number>12345678</account_number><holder>Max Mustermann</holder></sender><reasons><reason>Testueberweisung</reason><reason>Verwendungszweck</reason></reasons><success_url>http://www.google.de</success_url><success_link_redirect>1</success_link_redirect><abort_url>http://www.google.de</abort_url><notification_urls><notification_url>http://www.google.de</notification_url></notification_urls><project_id>' . self::$project_id . '</project_id></multipay>'; $this->assertEquals($expected, $result); }