/** * Create the DOMDocument representing the feed. Should initialize (add root * node and message header) the DOMDocument, build out and append fragments * for each item to be included, and validate the resulting DOM. */ public function testCreateDomFromFeedData() { $itemNode = 'Item'; $isValidate = 'true'; $this->_doc->loadXML('<root></root>'); $itemFragment = $this->_doc->createDocumentFragment(); $itemFragment->appendChild($this->_doc->createElement('Item')); $pimProduct = $this->getModelMockBuilder('ebayenterprise_catalog/pim_product')->disableOriginalConstructor()->getMock(); $this->replaceByMock('helper', 'eb2ccore', $this->_coreHelper); $this->_coreHelper->expects($this->once())->method('parseBool')->with($this->identicalTo($isValidate))->will($this->returnValue(true)); $this->_pimProductCollection->expects($this->once())->method('getItems')->will($this->returnValue(array($pimProduct))); $pim = $this->getModelMockBuilder('ebayenterprise_catalog/pim')->disableOriginalConstructor()->setMethods(array('_buildItemNode', '_startDocument', '_validateDocument', '_getFeedConfig'))->getMock(); $pim->expects($this->once())->method('_startDocument')->will($this->returnSelf()); $pim->expects($this->once())->method('_buildItemNode')->with($this->identicalTo($pimProduct), $this->identicalTo($itemNode))->will($this->returnValue($itemFragment)); $pim->expects($this->once())->method('_validateDocument')->will($this->returnSelf()); $pim->expects($this->once())->method('_getFeedConfig')->will($this->returnValue($this->_feedTypeConfig)); EcomDev_Utils_Reflection::setRestrictedPropertyValue($pim, '_doc', $this->_doc); $this->assertSame($this->_doc, EcomDev_Utils_Reflection::invokeRestrictedMethod($pim, '_createDomFromFeedData', array($this->_pimProductCollection, $this->_feedTypeConfig))); $this->assertSame('<root><Item></Item></root>', $this->_doc->C14N()); }