/** * @covers Mage_ImportExport_Model_Import_Entity_CustomerComposite::setParameters */ public function testSetParameters() { $customerEntity = $this->_getCustomerEntityMock(); $addressEntity = $this->_getAddressEntityMock(); $customerEntity->expects($this->once())->method('setParameters')->will($this->returnCallback(array($this, 'callbackCheckParameters'))); $addressEntity->expects($this->once())->method('setParameters')->will($this->returnCallback(array($this, 'callbackCheckParameters'))); $data = $this->_getModelDependencies(); $data['customer_entity'] = $customerEntity; $data['address_entity'] = $addressEntity; $this->_model = new Mage_ImportExport_Model_Import_Entity_CustomerComposite($data); $params = array('behavior' => Mage_ImportExport_Model_Import::BEHAVIOR_APPEND); $this->_model->setParameters($params); }
/** * @param string $behavior * @param string $sourceFile * @param array $dataBefore * @param array $dataAfter * @param array $errors * * @magentoDataFixture Mage/ImportExport/_files/customers_for_address_import.php * @magentoAppIsolation enabled * * @dataProvider importDataDataProvider * @covers Mage_ImportExport_Model_Import_Entity_CustomerComposite::_importData */ public function testImportData($behavior, $sourceFile, array $dataBefore, array $dataAfter, array $errors = array()) { // set entity adapter parameters $this->_entityAdapter->setParameters(array('behavior' => $behavior)); // set fixture CSV file $result = $this->_entityAdapter->setSource(Mage_ImportExport_Model_Import_Adapter::findAdapterFor($sourceFile))->isDataValid(); if ($errors) { $this->assertFalse($result); } else { $this->assertTrue($result); } // assert validation errors // can't use error codes because entity adapter gathers only error messages from aggregated adapters $actualErrors = array_values($this->_entityAdapter->getErrorMessages()); $this->assertEquals($errors, $actualErrors); // assert data before import $this->_assertCustomerData($dataBefore); // import data $this->_entityAdapter->importData(); // assert data after import $this->_assertCustomerData($dataAfter); }