Example #1
0
 /**
  * Generate the request XML writer
  *
  * @return XMLWriter
  */
 public function writeXml()
 {
     $xml = new XMLWriter();
     $xml->openMemory();
     $xml->setIndent(false);
     $xml->startDocument(self::XML_VERSION, $this->encoding);
     $xml->startElement('request');
     $this->controlBlock->writeXml($xml);
     //create control block
     $this->operationBlock->writeXml($xml);
     //create operation block
     $xml->endElement();
     //request
     return $xml;
 }
    /**
     * @covers Intacct\Xml\Request\ControlBlock::__construct
     * @covers Intacct\Xml\Request\ControlBlock::setControlId
     * @covers Intacct\Xml\Request\ControlBlock::setUniqueId
     * @covers Intacct\Xml\Request\ControlBlock::getUniqueId
     * @covers Intacct\Xml\Request\ControlBlock::setDtdVersion
     * @covers Intacct\Xml\Request\ControlBlock::setIncludeWhitespace
     * @covers Intacct\Xml\Request\ControlBlock::getIncludeWhitespace
     * @covers Intacct\Xml\Request\ControlBlock::setDebug
     * @covers Intacct\Xml\Request\ControlBlock::getDebug
     * @covers Intacct\Xml\Request\ControlBlock::writeXml
     */
    public function testWriteXmlDefaultsOverride21()
    {
        $config = ['sender_id' => 'testsenderid', 'sender_password' => 'pass123!', 'control_id' => 'testcontrol', 'unique_id' => true, 'dtd_version' => '2.1', 'policy_id' => 'testpolicy', 'include_whitespace' => true, 'debug' => true];
        $expected = <<<EOF
<?xml version="1.0" encoding="UTF-8"?>
<control>
    <senderid>testsenderid</senderid>
    <password>pass123!</password>
    <controlid>testcontrol</controlid>
    <uniqueid>true</uniqueid>
    <dtdversion>2.1</dtdversion>
    <policyid>testpolicy</policyid>
    <includewhitespace>true</includewhitespace>
    <debug>true</debug>
</control>
EOF;
        $xml = new XMLWriter();
        $xml->openMemory();
        $xml->setIndent(true);
        $xml->setIndentString('    ');
        $xml->startDocument();
        $controlBlock = new ControlBlock($config);
        $controlBlock->writeXml($xml);
        $this->assertXmlStringEqualsXmlString($expected, $xml->flush());
    }