public function testMakeExtraColumnMappingDataForViewByColumnName()
 {
     $data = ImportWizardMappingViewUtil::makeExtraColumnMappingDataForViewByColumnName('abc');
     $compareData = array('abc' => array('type' => 'extraColumn', 'attributeIndexOrDerivedType' => null, 'mappingRulesData' => null, 'headerValue' => null, 'sampleValue' => null));
     $this->assertEquals($compareData, $data);
 }
 /**
  * Step 4 ajax process.  When you click the 'Add Field' button in the user interface, this ajax action
  * is called and makes an extra row to display for mapping.
  */
 public function actionMappingAddExtraMappingRow($id, $columnCount)
 {
     $import = Import::getById((int) $_GET['id']);
     $importWizardForm = ImportWizardUtil::makeFormByImport($import);
     $importRulesClassName = ImportRulesUtil::getImportRulesClassNameByType($importWizardForm->importRulesType);
     $mappableAttributeIndicesAndDerivedTypes = $importRulesClassName::getMappableAttributeIndicesAndDerivedTypes();
     $extraColumnName = ImportMappingUtil::makeExtraColumnNameByColumnCount((int) $columnCount);
     $mappingDataMetadata = ImportWizardMappingViewUtil::makeExtraColumnMappingDataForViewByColumnName($extraColumnName);
     $extraColumnView = new ImportWizardMappingExtraColumnView($importWizardForm, $mappingDataMetadata, $mappableAttributeIndicesAndDerivedTypes);
     $view = new AjaxPageView($extraColumnView);
     echo $view->render();
 }