public function testGetData()
 {
     $testTableName = 'testimporttable';
     ImportTestHelper::createTempTableByFileNameAndTableName('importTest.csv', $testTableName);
     $config = array('pagination' => array('pageSize' => 1));
     $dataProvider = new ImportDataProvider($testTableName, false, $config);
     $data = $dataProvider->getData();
     $this->assertEquals(1, count($data));
     $firstBean = current($data);
     $this->assertEquals(1, $firstBean->id);
     $this->assertEquals('name', $firstBean->column_0);
     $this->assertEquals('phone', $firstBean->column_1);
     $this->assertEquals('industry', $firstBean->column_2);
     $dataProvider = new ImportDataProvider($testTableName, true, $config);
     $data = $dataProvider->getData();
     $this->assertEquals(1, count($data));
     $firstBean = current($data);
     $this->assertEquals(2, $firstBean->id);
     $this->assertEquals('abc', $firstBean->column_0);
     $this->assertEquals('123', $firstBean->column_1);
     $this->assertEquals('a', $firstBean->column_2);
     //Test getting the pager content
     $content = ImportDataProviderPagerUtil::renderPagerAndHeaderTextContent($dataProvider, 'aurl');
     $this->assertNotNull($content);
     //todo: add more pager content tests, based on offset changes.
 }
 public function actionSampleRow($id)
 {
     $import = Import::getById((int) $_GET['id']);
     $importWizardForm = ImportWizardUtil::makeFormByImport($import);
     $dataProvider = $this->makeDataProviderForSampleRow($import, (bool) $importWizardForm->firstRowIsHeaderRow);
     $data = $dataProvider->getData();
     $renderedContentData = array();
     $pagerUrl = Yii::app()->createUrl('import/default/sampleRow', array('id' => $import->id));
     $headerContent = ImportDataProviderPagerUtil::renderPagerAndHeaderTextContent($dataProvider, $pagerUrl);
     $renderedContentData[MappingFormLayoutUtil::getSampleColumnHeaderId()] = $headerContent;
     foreach ($data as $sampleColumnData) {
         foreach ($sampleColumnData as $columnName => $value) {
             if (!in_array($columnName, ImportDatabaseUtil::getReservedColumnNames())) {
                 $renderedContentData[MappingFormLayoutUtil::resolveSampleColumnIdByColumnName($columnName)] = MappingFormLayoutUtil::renderChoppedStringContent($value);
             }
         }
     }
     echo CJSON::encode($renderedContentData);
     Yii::app()->end(0, false);
 }