/** * Test export method * * @magentoDataFixture Mage/ImportExport/_files/customers.php */ public function testExport() { $expectedAttributes = array(); /** @var $collection Mage_Customer_Model_Resource_Attribute_Collection */ $collection = Mage::getResourceModel('Mage_Customer_Model_Resource_Attribute_Collection'); /** @var $attribute Mage_Customer_Model_Attribute */ foreach ($collection as $attribute) { $expectedAttributes[] = $attribute->getAttributeCode(); } $expectedAttributes = array_diff($expectedAttributes, $this->_model->getDisabledAttributes()); $this->_model->setWriter(Mage::getModel('Mage_ImportExport_Model_Export_Adapter_Csv')); $data = $this->_model->export(); $this->assertNotEmpty($data); $lines = $this->_csvToArray($data, 'email'); $this->assertEquals(count($expectedAttributes), count(array_intersect($expectedAttributes, $lines['header'])), 'Expected attribute codes were not exported'); $this->assertNotEmpty($data['data'], 'No data was exported'); /** @var $customers Mage_Customer_Model_Customer[] */ $customers = Mage::registry('_fixture/Mage_ImportExport_Customer_Collection'); foreach ($customers as $key => $customer) { foreach ($expectedAttributes as $code) { if (!in_array($code, $this->_model->getDisabledAttributes()) && isset($lines[$key][$code])) { $this->assertEquals($customer->getData($code), $lines[$key][$code], 'Attribute "' . $code . '" is not equal'); } } } }
/** * Test for method exportItem() * * @covers Mage_ImportExport_Model_Export_Entity_Eav_Customer::exportItem */ public function testExportItem() { $writer = $this->getMockForAbstractClass('Mage_ImportExport_Model_Export_Adapter_Abstract', array(), '', false, false, true, array('writeRow')); $writer->expects($this->once())->method('writeRow')->will($this->returnCallback(array($this, 'validateWriteRow'))); $this->_model->setWriter($writer); $item = $this->getMockForAbstractClass('Mage_Core_Model_Abstract', array($this->_customerData)); $this->_model->exportItem($item); }
/** * Test for method exportItem() * * @covers Mage_ImportExport_Model_Export_Entity_Eav_Customer::exportItem */ public function testExportItem() { /** @var $writer Mage_ImportExport_Model_Export_Adapter_Abstract */ $writer = $this->getMockForAbstractClass('Mage_ImportExport_Model_Export_Adapter_Abstract', array(), '', false, false, true, array('writeRow')); $writer->expects($this->once())->method('writeRow')->will($this->returnCallback(array($this, 'validateWriteRow'))); $this->_model->setWriter($writer); $objectManagerHelper = new Magento_Test_Helper_ObjectManager($this); $arguments = $objectManagerHelper->getConstructArguments(Magento_Test_Helper_ObjectManager::MODEL_ENTITY, 'Mage_Core_Model_Abstract'); $arguments['data'] = $this->_customerData; $item = $this->getMockForAbstractClass('Mage_Core_Model_Abstract', $arguments); $this->_model->exportItem($item); }