Esempio n. 1
0
 /**
  * Use this method to remove the existing temp table associated with this import model.  Will also remove
  * data from serializedData that is created after a file is normally attached to an import model. It will
  * leave the importRulesType in place since that is created prior to uploading a new file.
  * @param object $import model.
  */
 public static function clearFileAndRelatedDataFromImport($import)
 {
     assert('$import instanceof Import');
     $unserializedData = unserialize($import->serializedData);
     $newUnserializedData['importRulesType'] = $unserializedData['importRulesType'];
     if ($import->save()) {
         ImportDatabaseUtil::dropTableByTableName($import->getTempTableName());
         return true;
     }
     return false;
 }
 /**
  * @expectedException RedBean_Exception_SQL
  */
 public function testDropTableByTableName()
 {
     $testTableName = 'testimporttable';
     $sql = 'select * from ' . $testTableName;
     $tempTableData = R::getAll($sql);
     $this->assertEquals(4, count($tempTableData));
     if (RedBeanDatabase::isFrozen()) {
         ImportDatabaseUtil::dropTableByTableName($testTableName);
         $sql = 'select * from ' . $testTableName;
         R::getAll($sql);
     } else {
         //Unfrozen will not throw an exception in this type of situation.
         throw new RedBean_Exception_SQL();
     }
 }
 /**
  * @depends testSetFormByPostForStep2
  */
 public function testImportFileHasAtLeastOneImportRow()
 {
     Yii::app()->user->userModel = User::getByUsername('super');
     $import = new Import();
     $import->serializedData = serialize(array());
     $this->assertTrue($import->save());
     $this->assertTrue(ImportTestHelper::createTempTableByFileNameAndTableName('headerRowOnlyImportTest.csv', $import->getTempTableName()));
     $importWizardForm = new ImportWizardForm();
     $this->assertTrue(ImportWizardUtil::importFileHasAtLeastOneImportRow($importWizardForm, $import));
     //Now set that the first row is a header row and the check will fail.
     $importWizardForm->firstRowIsHeaderRow = true;
     $this->assertFalse(ImportWizardUtil::importFileHasAtLeastOneImportRow($importWizardForm, $import));
     ImportDatabaseUtil::dropTableByTableName($import->getTempTableName());
 }