/** * @covers Intacct\Functions\CashManagement\ChargeCardTransactionLineUpdate::writeXml */ public function testParamOverrides() { $expected = <<<EOF <?xml version="1.0" encoding="UTF-8"?> <updateccpayitem line_num="3"> <accountlabel>TestBill Account1</accountlabel> <description>Just another memo</description> <paymentamount>76343.43</paymentamount> <departmentid>Department1</departmentid> <locationid>Location1</locationid> <customerid>Customer1</customerid> <vendorid>Vendor1</vendorid> <employeeid>Employee1</employeeid> <projectid>Project1</projectid> <itemid>Item1</itemid> <classid>Class1</classid> <contractid>Contract1</contractid> <warehouseid>Warehouse1</warehouseid> <customfields> <customfield> <customfieldname>customfield1</customfieldname> <customfieldvalue>customvalue1</customfieldvalue> </customfield> </customfields> </updateccpayitem> EOF; $xml = new XMLWriter(); $xml->openMemory(); $xml->setIndent(true); $xml->setIndentString(' '); $xml->startDocument(); $line = new ChargeCardTransactionLineUpdate(); $line->setLineNo(3); $line->setAccountLabel('TestBill Account1'); $line->setTransactionAmount(76343.42999999999); $line->setMemo('Just another memo'); $line->setLocationId('Location1'); $line->setDepartmentId('Department1'); $line->setProjectId('Project1'); $line->setCustomerId('Customer1'); $line->setVendorId('Vendor1'); $line->setEmployeeId('Employee1'); $line->setItemId('Item1'); $line->setClassId('Class1'); $line->setContractId('Contract1'); $line->setWarehouseId('Warehouse1'); $line->setCustomFields(['customfield1' => 'customvalue1']); $line->writeXml($xml); $this->assertXmlStringEqualsXmlString($expected, $xml->flush()); }
/** * @covers Intacct\Functions\CashManagement\ChargeCardTransactionUpdate::writeXml */ public function testParamOverrides() { $expected = <<<EOF <?xml version="1.0" encoding="UTF-8"?> <function controlid="unittest"> <update_cctransaction key="1234"> <paymentdate> <year>2015</year> <month>06</month> <day>30</day> </paymentdate> <referenceno>321</referenceno> <payee>Costco</payee> <description>Supplies</description> <supdocid>A1234</supdocid> <currency>USD</currency> <exchratedate> <year>2015</year> <month>06</month> <day>30</day> </exchratedate> <exchratetype>Intacct Daily Rate</exchratetype> <customfields> <customfield> <customfieldname>customfield1</customfieldname> <customfieldvalue>customvalue1</customfieldvalue> </customfield> </customfields> <updateccpayitems> <updateccpayitem line_num="1"> <paymentamount>76343.43</paymentamount> </updateccpayitem> </updateccpayitems> </update_cctransaction> </function> EOF; $xml = new XMLWriter(); $xml->openMemory(); $xml->setIndent(true); $xml->setIndentString(' '); $xml->startDocument(); $record = new ChargeCardTransactionUpdate('unittest'); $record->setRecordNo(1234); $record->setTransactionDate(new DateType('2015-06-30')); $record->setReferenceNumber('321'); $record->setPayee('Costco'); $record->setDescription('Supplies'); $record->setAttachmentsId('A1234'); $record->setTransactionCurrency('USD'); $record->setExchangeRateDate(new DateType('2015-06-30')); $record->setExchangeRateType('Intacct Daily Rate'); $record->setCustomFields(['customfield1' => 'customvalue1']); $line1 = new ChargeCardTransactionLineUpdate(); $line1->setLineNo(1); $line1->setTransactionAmount(76343.42999999999); $record->setLines([$line1]); $record->writeXml($xml); $this->assertXmlStringEqualsXmlString($expected, $xml->flush()); }