/** * Test for method exportItem() * * @covers \Magento\CustomerImportExport\Model\Export\Address::exportItem */ public function testExportItem() { $writer = $this->getMockForAbstractClass('Magento\\ImportExport\\Model\\Export\\Adapter\\AbstractAdapter', [], '', false, false, true, ['writeRow']); $writer->expects($this->once())->method('writeRow')->will($this->returnCallback([$this, 'validateWriteRow'])); $this->_model->setWriter($writer); $this->_model->setParameters([]); $arguments = $this->_objectManager->getConstructArguments('Magento\\Framework\\Model\\AbstractModel'); $arguments['data'] = $this->_addressData; $item = $this->getMockForAbstractClass('Magento\\Framework\\Model\\AbstractModel', $arguments); $this->_model->exportItem($item); }
/** * Test export method if filter was set * * @dataProvider getGenderFilterValueDataProvider * * @param int $genderFilterValue */ public function testExportWithFilter($genderFilterValue) { $entityIdCode = Address::COLUMN_ADDRESS_ID; $this->_model->setWriter(\Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\\ImportExport\\Model\\Export\\Adapter\\Csv')); $filterData = array('export_filter' => array('gender' => $genderFilterValue)); $this->_model->setParameters($filterData); /** @var $objectManager \Magento\TestFramework\ObjectManager */ $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager(); // Get expected address count /** @var $customers \Magento\Customer\Model\Customer[] */ $customers = $objectManager->get('Magento\\Framework\\Registry')->registry('_fixture/Magento_ImportExport_Customers_Array'); $expectedCount = 0; foreach ($customers as $customer) { if ($customer->getGender() == $genderFilterValue) { $expectedCount += count($customer->getAddresses()); } } $data = $this->_csvToArray($this->_model->export(), $entityIdCode); $this->assertCount($expectedCount, $data['data']); }