/** * @covers Intacct\Functions\Common\GetList\ExpressionFilter::writeXml * @expectedException InvalidArgumentException * @expectedExceptionMessage Operator is required for an expression filter */ public function testNoOperator() { $xml = new XMLWriter(); $xml->openMemory(); $xml->setIndent(true); $xml->setIndentString(' '); $xml->startDocument(); $exp = new ExpressionFilter(); $exp->setFieldName('recordno'); //$exp->setOperator(ExpressionFilter::OPERATOR_GREATER_THAN_OR_EQUAL_TO); $exp->setValue(1234); $exp->writeXml($xml); }
/** * @covers Intacct\Functions\Common\GetList\LogicalFilter::writeXml */ public function testDefaultConstruct() { $expected = <<<EOF <?xml version="1.0" encoding="UTF-8"?> <logical logical_operator="and"> <expression> <field>recordno</field> <operator>>=</operator> <value>1234</value> </expression> <logical logical_operator="or"> <expression> <field>ownerobject</field> <operator>=</operator> <value>PROJECT</value> </expression> <expression> <field>ownerobject</field> <operator>=</operator> <value>CUSTOMER</value> </expression> </logical> </logical> EOF; $xml = new XMLWriter(); $xml->openMemory(); $xml->setIndent(true); $xml->setIndentString(' '); $xml->startDocument(); $exp1 = new ExpressionFilter(); $exp1->setFieldName('recordno'); $exp1->setOperator(ExpressionFilter::OPERATOR_GREATER_THAN_OR_EQUAL_TO); $exp1->setValue(1234); $exp2 = new ExpressionFilter(); $exp2->setFieldName('ownerobject'); $exp2->setOperator(ExpressionFilter::OPERATOR_EQUAL_TO); $exp2->setValue('PROJECT'); $exp3 = new ExpressionFilter(); $exp3->setFieldName('ownerobject'); $exp3->setOperator(ExpressionFilter::OPERATOR_EQUAL_TO); $exp3->setValue('CUSTOMER'); $logical2 = new LogicalFilter(); $logical2->setOperator(LogicalFilter::OPERATOR_OR); $logical2->setFilters([$exp2, $exp3]); $logical1 = new LogicalFilter(); $logical1->setOperator(LogicalFilter::OPERATOR_AND); $logical1->setFilters([$exp1, $logical2]); $logical1->writeXml($xml); $this->assertXmlStringEqualsXmlString($expected, $xml->flush()); }