/** * @depends testMakeFormByImport */ public function testSetImportSerializedDataFromForm() { $import = new Import(); $explicitReadWriteModelPermissions = new ExplicitReadWriteModelPermissions(); $dataToSerialize = array('importRulesType' => 'x', 'fileUploadData' => array('a' => 'b'), 'firstRowIsHeaderRow' => false, 'explicitReadWriteModelPermissions' => 'z', 'mappingData' => array('x' => 'y')); $import->serializedData = serialize($dataToSerialize); $importWizardForm = new ImportWizardForm(); $importWizardForm->importRulesType = 'xx'; $importWizardForm->fileUploadData = array('aa' => 'bb'); $importWizardForm->firstRowIsHeaderRow = true; $importWizardForm->explicitReadWriteModelPermissions = $explicitReadWriteModelPermissions; $importWizardForm->mappingData = array('xx' => 'yy'); ImportWizardUtil::setImportSerializedDataFromForm($importWizardForm, $import); $compareDataToSerialize = array('importRulesType' => 'xx', 'fileUploadData' => array('aa' => 'bb'), 'rowColumnDelimiter' => ',', 'rowColumnEnclosure' => '"', 'firstRowIsHeaderRow' => true, 'explicitReadWriteModelPermissions' => null, 'mappingData' => array('xx' => 'yy')); $this->assertEquals(unserialize($import->serializedData), $compareDataToSerialize); }
/** * Generic method that is used by all steps to validate and saved the ImportWizardForm and Import model. * @param object $importWizardForm * @param object $import * @param string $redirectAction */ protected function attemptToValidateImportWizardFormAndSave($importWizardForm, $import, $redirectAction) { assert('$importWizardForm instanceof ImportWizardForm'); assert('$import instanceof Import'); assert('is_string($redirectAction)'); if ($importWizardForm->validate()) { ImportWizardUtil::setImportSerializedDataFromForm($importWizardForm, $import); if ($import->save()) { $this->redirect(array($this->getId() . '/' . $redirectAction, 'id' => $import->id)); Yii::app()->end(0, false); } else { $view = new ErrorPageView(Zurmo::t('ImportModule', 'There was an error processing this import.')); echo $view->render(); Yii::app()->end(0, false); } } }