You can incrementally add CSV files as tables to your datasets
Author: Mike Lively (m@digitalsandwich.com)
Inheritance: extends PHPUnit_Extensions_Database_DataSet_AbstractDataSet
Example #1
0
 /**
  * Gets the data set to be loaded into the database during setup
  *
  * @return  PHPUnit_Extensions_Database_DataSet_CsvDataSet
  *
  * @since   3.1
  */
 protected function getDataSet()
 {
     $dataSet = new PHPUnit_Extensions_Database_DataSet_CsvDataSet(',', "'", '\\');
     $dataSet->addTable('jos_menu', JPATH_TEST_DATABASE . '/jos_menu.csv');
     $dataSet->addTable('jos_menu_types', JPATH_TEST_DATABASE . '/jos_menu_types.csv');
     return $dataSet;
 }
Example #2
0
 private function getCsvDataSet()
 {
     $dataSet = new PHPUnit_Extensions_Database_DataSet_CsvDataSet();
     $dataSet->addTable("class", D_DIR . 'class.csv');
     $dataSet->addTable("user", D_DIR . 'user.csv');
     $dataSet->addTable("address", D_DIR . 'address.csv');
     return $dataSet;
 }
 /**
  * Gets the data set to be loaded into the database during setup
  *
  * @return  PHPUnit_Extensions_Database_DataSet_CsvDataSet
  *
  * @since   3.2
  */
 protected function getDataSet()
 {
     $dataSet = new PHPUnit_Extensions_Database_DataSet_CsvDataSet(',', "'", '\\');
     $dataSet->addTable('jos_users', JPATH_TEST_DATABASE . '/jos_users.csv');
     $dataSet->addTable('jos_content', JPATH_TEST_DATABASE . '/jos_content.csv');
     //$dataSet->addTable('jos_ucm_base', JPATH_TEST_DATABASE . '/jos_ucm_history.csv');
     return $dataSet;
 }
 /**
  * Gets the data set to be loaded into the database during setup
  *
  * @return  PHPUnit_Extensions_Database_DataSet_CsvDataSet
  *
  * @since   3.1
  */
 protected function getDataSet()
 {
     $dataSet = new PHPUnit_Extensions_Database_DataSet_CsvDataSet(',', "'", '\\');
     $dataSet->addTable('jos_extensions', JPATH_TEST_DATABASE . '/jos_extensions.csv');
     $dataSet->addTable('jos_finder_terms_common', JPATH_TEST_DATABASE . '/jos_finder_terms_common.csv');
     $dataSet->addTable('jos_finder_types', JPATH_TEST_DATABASE . '/jos_finder_types.csv');
     return $dataSet;
 }
Example #5
0
 /**
  * Gets the data set to be loaded into the database during setup
  *
  * @return  CSV database tables
  *
  * @since   11.4
  */
 protected function getDataSet()
 {
     $dataSet = new PHPUnit_Extensions_Database_DataSet_CsvDataSet(',', "'", '\\');
     $dataSet->addTable('jos_assets', dirname(__DIR__) . '/stubs/jos_assets.csv');
     $dataSet->addTable('jos_categories', dirname(__DIR__) . '/stubs/jos_categories.csv');
     $dataSet->addTable('jos_content', dirname(__DIR__) . '/stubs/jos_content.csv');
     return $dataSet;
 }
	/**
	 * Gets the data set to be loaded into the database during setup
	 *
	 * @return  CSV database tables
	 *
	 * @since   11.4
	 */
	protected function getDataSet()
	{
		$dataSet = new PHPUnit_Extensions_Database_DataSet_CsvDataSet(',', "'", '\\');

		$dataSet->addTable('jos_extensions', __DIR__ . '/stubs/jos_extensions.csv');

		return $dataSet;
	}
 protected function getDataSet()
 {
     $dataSet = new PHPUnit_Extensions_Database_DataSet_CsvDataSet(',', "'", '\\');
     $dataSet->addTable('jos_categories', JPATH_TESTS . '/stubs/jos_categories.csv');
     $dataSet->addTable('jos_assets', JPATH_TESTS . '/stubs/jos_assets.csv');
     $dataSet->addTable('jos_menu', JPATH_TESTS . '/stubs/jos_menu.csv');
     return $dataSet;
 }
Example #8
0
 /**
  * Gets the data set to be loaded into the database during setup
  *
  * @return  PHPUnit_Extensions_Database_DataSet_CsvDataSet
  *
  * @since   12.2
  */
 protected function getDataSet()
 {
     $dataSet = new PHPUnit_Extensions_Database_DataSet_CsvDataSet(',', "'", '\\');
     $dataSet->addTable('jos_users', JPATH_TEST_DATABASE . '/jos_users.csv');
     $dataSet->addTable('jos_user_usergroup_map', JPATH_TEST_DATABASE . '/jos_user_usergroup_map.csv');
     $dataSet->addTable('jos_usergroups', JPATH_TEST_DATABASE . '/jos_usergroups.csv');
     return $dataSet;
 }
Example #9
0
 protected function getDataSet()
 {
     $dataSet = new PHPUnit_Extensions_Database_DataSet_CsvDataSet();
     $dataSet->addTable('post', 'csv/post.csv');
     $dataSet->addTable('post_comment', 'csv/post_comment.csv');
     $dataSet->addTable('current_visitors', 'csv/current_visitors.csv');
     return $dataSet;
 }
Example #10
0
 protected function getDataSet()
 {
     $dataset = new PHPUnit_Extensions_Database_DataSet_CsvDataSet(';', "'");
     $dataset->addTable('polling_messages', dirname(__FILE__) . '/fixtures/polling_messages.csv');
     $dataset->addTable('polling_users', dirname(__FILE__) . '/fixtures/polling_users.csv');
     $dataset->addTable('sessions', dirname(__FILE__) . '/fixtures/sessions.csv');
     return $dataset;
 }
 /**
  * Gets the data set to be loaded into the database during setup
  *
  * @return  CSV database tables
  *
  * @since   11.4
  */
 protected function getDataSet()
 {
     $dataSet = new PHPUnit_Extensions_Database_DataSet_CsvDataSet(',', "'", '\\');
     $stubpath = JPATH_TESTS . '/suites/unit/joomla/table/stubs';
     $dataSet->addTable('jos_assets', $stubpath . '/jos_assets.csv');
     $dataSet->addTable('jos_categories', $stubpath . '/jos_categories.csv');
     $dataSet->addTable('jos_content', __DIR__ . '/stubs/jos_content.csv');
     return $dataSet;
 }
 protected function getDataSet()
 {
     $dataSet = new PHPUnit_Extensions_Database_DataSet_CsvDataSet(',', "'", '\\');
     $refreshTestNames = array('testGetPath', 'testMove', 'testMoveByReference', 'testDelete', 'testStore', 'testGetRootId', 'testOrderUp', 'testRebuild', 'testRebuildPath', 'testSaveorder');
     if (in_array($this->name, $refreshTestNames)) {
         $dataSet->addTable('jos_categories', JPATH_BASE . '/tests/unit/stubs/jos_categories.csv');
         $dataSet->addTable('jos_assets', JPATH_BASE . '/tests/unit/stubs/jos_assets.csv');
         $dataSet->addTable('jos_menu', JPATH_BASE . '/tests/unit/stubs/jos_menu.csv');
     }
     return $dataSet;
 }
Example #13
0
    public function testCSVDataSet()
    {
        $table1MetaData = new PHPUnit_Extensions_Database_DataSet_DefaultTableMetaData('table1', array('table1_id', 'column1', 'column2', 'column3', 'column4'));
        $table2MetaData = new PHPUnit_Extensions_Database_DataSet_DefaultTableMetaData('table2', array('table2_id', 'column5', 'column6', 'column7', 'column8'));
        $table1 = new PHPUnit_Extensions_Database_DataSet_DefaultTable($table1MetaData);
        $table2 = new PHPUnit_Extensions_Database_DataSet_DefaultTable($table2MetaData);
        $table1->addRow(array('table1_id' => 1, 'column1' => 'tgfahgasdf', 'column2' => 200, 'column3' => 34.64, 'column4' => 'yghkf;a  hahfg8ja h;'));
        $table1->addRow(array('table1_id' => 2, 'column1' => 'hk;afg', 'column2' => 654, 'column3' => 46.54, 'column4' => '24rwehhads'));
        $table1->addRow(array('table1_id' => 3, 'column1' => 'ha;gyt', 'column2' => 462, 'column3' => 1654.4, 'column4' => 'asfgklg'));
        $table2->addRow(array('table2_id' => 1, 'column5' => 'fhah', 'column6' => 456, 'column7' => 46.5, 'column8' => 'fsdb, ghfdas'));
        $table2->addRow(array('table2_id' => 2, 'column5' => 'asdhfoih', 'column6' => 654, 'column7' => 'blah', 'column8' => '43asd "fhgj" sfadh'));
        $table2->addRow(array('table2_id' => 3, 'column5' => 'ajsdlkfguitah', 'column6' => 654, 'column7' => 'blah', 'column8' => 'thesethasdl 
asdflkjsadf asdfsadfhl "adsf, halsdf" sadfhlasdf'));
        $expectedDataSet = new PHPUnit_Extensions_Database_DataSet_DefaultDataSet(array($table1, $table2));
        $csvDataSet = new PHPUnit_Extensions_Database_DataSet_CsvDataSet();
        $csvDataSet->addTable('table1', dirname(__FILE__) . '/../_files/CsvDataSets/table1.csv');
        $csvDataSet->addTable('table2', dirname(__FILE__) . '/../_files/CsvDataSets/table2.csv');
        PHPUnit_Extensions_Database_TestCase::assertDataSetsEqual($expectedDataSet, $csvDataSet);
    }
 protected function getDataSet()
 {
     $dataSet = new PHPUnit_Extensions_Database_DataSet_CsvDataSet(',', "'", '\\');
     $dataSet->addTable('jos_assets', JPATH_BASE . '/tests/unit/stubs/jos_assets.csv');
     $dataSet->addTable('jos_categories', JPATH_BASE . '/tests/unit/stubs/jos_categories.csv');
     $dataSet->addTable('jos_usergroups', JPATH_BASE . '/tests/unit/stubs/jos_usergroups.csv');
     $dataSet->addTable('jos_user_usergroup_map', JPATH_BASE . '/tests/unit/stubs/jos_user_usergroup_map.csv');
     $dataSet->addTable('jos_users', JPATH_BASE . '/tests/unit/stubs/jos_users.csv');
     return $dataSet;
 }
Example #15
0
 public function loadDatasetFile($filename, $format = '')
 {
     if ($format == '') {
         // try to deduce format from filename/extension
         $info = pathinfo($filename);
         $format = $info['extension'];
         if (substr($filename, -9, 9) == '.flat.xml') {
             $format = 'flatxml';
         }
     }
     if ($format == '') {
         // absolute default
         $format = 'yaml';
     }
     switch ($format) {
         case "flatxml":
             $ds = new \PHPUnit_Extensions_Database_DataSet_FlatXmlDataSet($filename);
             break;
         case "csv":
             if ($this->tablename == '') {
                 throw new \InvalidArgumentException('You need to specify a tablename for .csv datasets');
             }
             $ds = new \PHPUnit_Extensions_Database_DataSet_CsvDataSet(';');
             $ds->addTable($this->tablename, $filename);
             break;
         case "yml":
         case "yaml":
             $ds = new \PHPUnit_Extensions_Database_DataSet_YamlDataSet($filename, new YamlParser());
             break;
         case "xml":
             $ds = new \PHPUnit_Extensions_Database_DataSet_XmlDataSet($filename);
             break;
         default:
             throw new \InvalidArgumentException('Unsupported format: ' . $format);
             break;
     }
     $this->dataset = $ds;
 }
Example #16
0
 /**
  * Gets the data set to be loaded into the database during setup
  *
  * @return  PHPUnit_Extensions_Database_DataSet_CsvDataSet
  *
  * @since   11.4
  */
 protected function getDataSet()
 {
     $dataSet = new PHPUnit_Extensions_Database_DataSet_CsvDataSet(',', "'", '\\');
     $dataSet->addTable('jos_assets', JPATH_TEST_DATABASE . '/jos_assets.csv');
     $dataSet->addTable('jos_categories', JPATH_TEST_DATABASE . '/jos_categories.csv');
     $dataSet->addTable('jos_content', JPATH_TEST_DATABASE . '/jos_content.csv');
     $dataSet->addTable('jos_tags', JPATH_TEST_DATABASE . '/jos_tags.csv');
     return $dataSet;
 }
Example #17
0
 /**
  * Gets the data set to be loaded into the database during setup
  *
  * @return  PHPUnit_Extensions_Database_DataSet_CsvDataSet
  *
  * @since   3.1
  */
 protected function getDataSet()
 {
     $dataSet = new PHPUnit_Extensions_Database_DataSet_CsvDataSet(',', "'", '\\');
     $dataSet->addTable('jos_categories', JPATH_TEST_DATABASE . '/jos_categories.csv');
     $dataSet->addTable('jos_languages', JPATH_TEST_DATABASE . '/jos_languages.csv');
     $dataSet->addTable('jos_users', JPATH_TEST_DATABASE . '/jos_users.csv');
     $dataSet->addTable('jos_viewlevels', JPATH_TEST_DATABASE . '/jos_viewlevels.csv');
     return $dataSet;
 }
Example #18
0
 public function testSetActiveUsers()
 {
     $this->object->set_active_users(array(1, 2, 3));
     $csv_dataset = new PHPUnit_Extensions_Database_DataSet_CsvDataSet(';', "'");
     $csv_dataset->addTable('polling_users', dirname(__FILE__) . '/fixtures/polling_users_after_set.csv');
     $database_dataset = new PHPUnit_Extensions_Database_DataSet_DataSetFilter($this->getConnection()->createDataSet(array('polling_users')), array('polling_users' => array('timestamp')));
     $this->assertDataSetsEqual($csv_dataset, $database_dataset);
     $this->object->set_active_users(array());
     $csv_dataset = new PHPUnit_Extensions_Database_DataSet_CsvDataSet(';', "'");
     $csv_dataset->addTable('polling_users', dirname(__FILE__) . '/fixtures/polling_users_empty.csv');
     $database_dataset = new PHPUnit_Extensions_Database_DataSet_DataSetFilter($this->getConnection()->createDataSet(array('polling_users')), array('polling_users' => array('timestamp')));
     $this->assertDataSetsEqual($csv_dataset, $database_dataset);
 }
Example #19
0
 /**
  * Test that modifying a Moodle user also updates the corresponding PM user.
  */
 public function test_modifyingmoodleuserupdatespmuser()
 {
     global $CFG, $DB;
     require_once $CFG->dirroot . '/admin/tool/uploaduser/locallib.php';
     $this->load_csv_data();
     // Update a record.
     $src = new stdClass();
     $src->id = 100;
     $src->firstname = 'Testuser';
     $src->lastname = 'One';
     $src->profile_field_sometext = 'boo';
     $src->profile_field_sometextfrompm = 'bla';
     $DB->update_record('user', $src);
     $mdluser = $DB->get_record('user', array('id' => 100));
     $mcopy = clone $src;
     $mcopy = uu_pre_process_custom_profile_data($mcopy);
     profile_save_data($mcopy);
     events_trigger('user_updated', $mdluser);
     // Read the PM user and compare.
     $retr = new user(103, null, array(), false, array());
     $retr->reset_custom_field_list();
     $this->assertEquals($mdluser->firstname, $retr->firstname);
     $this->assertEquals($mdluser->lastname, $retr->lastname);
     // Check custom fields.
     $result = new PHPUnit_Extensions_Database_DataSet_DefaultDataSet();
     $result->addTable(new moodle_recordset_phpunit_datatable(field_data_int::TABLE, $DB->get_recordset(field_data_int::TABLE, null, '', 'contextid, fieldid, data')));
     $result->addTable(new moodle_recordset_phpunit_datatable(field_data_char::TABLE, $DB->get_recordset(field_data_char::TABLE, null, '', 'contextid, fieldid, data')));
     $result->addTable(new moodle_recordset_phpunit_datatable(field_data_text::TABLE, $DB->get_recordset(field_data_text::TABLE, null, '', 'contextid, fieldid, data')));
     $usercontext = \local_elisprogram\context\user::instance(103);
     $dataset = new PHPUnit_Extensions_Database_DataSet_CsvDataSet();
     $dataset->addTable(field_data_int::TABLE, elispm::file('tests/fixtures/user_field_data_int.csv'));
     $dataset->addTable(field_data_char::TABLE, elispm::file('tests/fixtures/user_field_data_char.csv'));
     $dataset->addTable(field_data_text::TABLE, elispm::file('tests/fixtures/user_field_data_text.csv'));
     $dataset = new PHPUnit_Extensions_Database_DataSet_ReplacementDataSet($dataset);
     $dataset->addFullReplacement('##USERCTXID##', $usercontext->id);
     $dataset->addFullReplacement('##USERCTXLVL##', CONTEXT_ELIS_USER);
     // Only the first text field should be changed; everything else should be the same.
     $dataset->addFullReplacement('First text entry field', $src->profile_field_sometext);
     $ret = $dataset->addFullReplacement('Second text entry field', $src->profile_field_sometextfrompm);
     $this->assertDataSetsEqual($dataset, $result);
 }
Example #20
0
 /**
  * Creates a new CsvDataSet from the given array of csv files. (absolute paths.)
  *
  * @param array $files array tablename=>cvsfile
  * @param string $delimiter
  * @param string $enclosure
  * @param string $escape
  * @return PHPUnit_Extensions_Database_DataSet_CsvDataSet
  */
 protected function createCsvDataSet($files, $delimiter = ',', $enclosure = '"', $escape = '"') {
     $dataSet = new PHPUnit_Extensions_Database_DataSet_CsvDataSet($delimiter, $enclosure, $escape);
     foreach($files as $table=>$file) {
         $dataSet->addTable($table, $file);
     }
     return $dataSet;
 }
Example #21
0
 protected function getDataSet()
 {
     $dataSet = new PHPUnit_Extensions_Database_DataSet_CsvDataSet();
     $dataSet->addTable('makes', dirname(__FILE__) . "\\makes_Stale.csv");
     return $dataSet;
 }
Example #22
0
 protected function createIterator($reverse = FALSE) {
   $innerIterator = parent::createIterator($reverse);
   return new PHPUnit_Extensions_Database_DataSet_ReplacementTableIterator($innerIterator, array('NULL' => NULL), array());
 }
Example #23
0
 /**
  * @covers ::update
  */
 public function testUpdate()
 {
     $carTable = new CarTable($this->pdo);
     $cars = $carTable->findAll();
     $this->assertCount(2, $cars);
     /**
      * Alter first car
      */
     $firstCar = $cars[0];
     $this->assertFalse($firstCar->isAltered());
     $firstCar->set('horsepower', 21);
     $this->assertTrue($firstCar->isAltered());
     $carTable->update($firstCar);
     /**
      * Alter second car
      */
     $secondCar = $cars[1];
     $this->assertFalse($secondCar->isAltered());
     $secondCar->set('horsepower', 41);
     $this->assertTrue($secondCar->isAltered());
     $carTable->update($secondCar);
     /**
      * Assert data set
      */
     $expectedCsvDataSet = new \PHPUnit_Extensions_Database_DataSet_CsvDataSet();
     $expectedCsvDataSet->addTable('cars', dirname(__FILE__) . '/../Fixture/cars_after-update.csv');
     $expectedDataSet = new \PHPUnit_Extensions_Database_DataSet_DataSetFilter($expectedCsvDataSet);
     $expectedDataSet->setExcludeColumnsForTable('cars', ['modified', 'created']);
     $dataSet = new \PHPUnit_Extensions_Database_DataSet_QueryDataSet($this->getConnection());
     $dataSet->addTable('cars', 'SELECT * FROM `cars`');
     $dataSet = new \PHPUnit_Extensions_Database_DataSet_DataSetFilter($dataSet);
     $dataSet->setExcludeColumnsForTable('cars', ['modified', 'created']);
     $this->assertDataSetsEqual($expectedDataSet, $dataSet);
 }
 /**
  * Gets the data set to be loaded into the database during setup
  *
  * @return  PHPUnit_Extensions_Database_DataSet_CsvDataSet
  *
  * @since   3.2
  */
 protected function getDataSet()
 {
     $dataSet = new PHPUnit_Extensions_Database_DataSet_CsvDataSet(',', "'", '\\');
     $dataSet->addTable('jos_extensions', JPATH_TEST_DATABASE . '/jos_extensions.csv');
     $dataSet->addTable('jos_menu', JPATH_TEST_DATABASE . '/jos_menu.csv');
     $dataSet->addTable('jos_menu_types', JPATH_TEST_DATABASE . '/jos_menu_types.csv');
     $dataSet->addTable('jos_template_styles', JPATH_TEST_DATABASE . '/jos_template_styles.csv');
     $dataSet->addTable('jos_usergroups', JPATH_TEST_DATABASE . '/jos_usergroups.csv');
     $dataSet->addTable('jos_users', JPATH_TEST_DATABASE . '/jos_users.csv');
     $dataSet->addTable('jos_viewlevels', JPATH_TEST_DATABASE . '/jos_viewlevels.csv');
     return $dataSet;
 }
 /**
  * Gets the data set to be loaded into the database during setup
  *
  * @return  PHPUnit_Extensions_Database_DataSet_CsvDataSet
  *
  * @since   12.3
  */
 protected function getDataSet()
 {
     $dataSet = new PHPUnit_Extensions_Database_DataSet_CsvDataSet(',', "'", '\\');
     $dataSet->addTable('jos_dbtest_composite', __DIR__ . '/stubs/jos_dbtest_composite.csv');
     $dataSet->addTable('jos_assets', __DIR__ . '/stubs/jos_assets_composite.csv');
     $dataSet->addTable('jos_session', __DIR__ . '/stubs/jos_session.csv');
     return $dataSet;
 }
Example #26
0
 /**
  * Test that you can delete a user set and all its user subsets
  */
 public function test_deleterecordcandeleteusersubsets()
 {
     global $DB;
     $this->load_csv_data();
     accesslib_clear_all_caches(true);
     // Make sure all the contexts are created, so that we can find the children.
     for ($i = 1; $i <= 4; $i++) {
         $clustercontextinstance = \local_elisprogram\context\userset::instance($i);
     }
     // Delete a record.
     $src = new userset(2, null, array(), false, array());
     $src->deletesubs = true;
     $src->delete();
     // Read it back.
     $recordset = $DB->get_recordset(userset::TABLE, null, '', 'name,display,parent,depth,id');
     $result = new moodle_recordset_phpunit_datatable(userset::TABLE, $recordset);
     $dataset = new PHPUnit_Extensions_Database_DataSet_CsvDataSet();
     $dataset->addTable(userset::TABLE, elispm::file('tests/fixtures/userset_delete_subset_b_test_result.csv'));
     $this->assertTablesEqual($dataset->getTable(userset::TABLE), $result);
 }
Example #27
0
 /**
  * @return \PHPUnit_Extensions_Database_DataSet_ITable
  */
 public function toPhpUnitTable()
 {
     $dataSet = new \PHPUnit_Extensions_Database_DataSet_CsvDataSet();
     $dataSet->addTable($this->getTable()->getFullName(), $this->getTable()->getDataPath());
     return $dataSet->getTable($this->getTable()->getFullName());
 }