/** * @test */ public function xmlSerializeMustAppendShippingData() { $this->markTestSkipped(); $xml = simplexml_load_string('<?xml version="1.0" encoding="UTF-8"?><test />'); $address = $this->getMock(Address::class, [], [], '', false); $shipping = new Shipping(Type::TYPE_PAC, $address, '10.31'); $address->expects($this->once())->method('xmlSerialize')->with($this->isInstanceOf('SimpleXMLElement')); $shipping->xmlSerialize($xml); $this->assertEquals(1, (string) $xml->shipping->type); $this->assertEquals(10.31, (string) $xml->shipping->cost); }
/** * @param SimpleXMLElement $xml * @param Shipping $shipping */ protected function appendShipping(SimpleXMLElement $xml, Shipping $shipping = null) { if ($shipping === null) { return; } $child = $xml->addChild('shipping'); $child->addChild('type', $shipping->getType()); $this->appendAddress($child, $shipping->getAddress()); if ($cost = $shipping->getCost()) { $child->addChild('cost', $cost); } }