コード例 #1
0
 /**
  * Test import with custom identifiers by importing the data.
  * 
  * @todo Test duplicateCheck callbacks
  */
 function testLoadWithIdentifiers()
 {
     // first load
     $loader = new CsvBulkLoader('CsvBulkLoaderTest_Player');
     $filepath = Director::baseFolder() . '/sapphire/tests/dev/CsvBulkLoaderTest_PlayersWithId.csv';
     $loader->duplicateChecks = array('ExternalIdentifier' => 'ExternalIdentifier');
     $results = $loader->load($filepath);
     $createdPlayers = $results->Created();
     $player = $createdPlayers->First();
     $this->assertEquals($player->FirstName, 'John');
     $this->assertEquals($player->Biography, 'He\'s a good guy', 'test updating of duplicate imports within the same import works');
     // load with updated data
     $filepath = Director::baseFolder() . '/sapphire/tests/dev/CsvBulkLoaderTest_PlayersWithIdUpdated.csv';
     $results = $loader->load($filepath);
     // HACK need to update the loaded record from the database
     $player = DataObject::get_by_id('CsvBulkLoaderTest_Player', $player->ID);
     $this->assertEquals($player->FirstName, 'JohnUpdated', 'Test updating of existing records works');
     $this->assertEquals($player->Biography, 'He\'s a good guy', 'Test retaining of previous information on duplicate when overwriting with blank field');
 }
コード例 #2
0
 public function testLargeFileSplitIntoSmallerFiles()
 {
     Config::inst()->update('CsvBulkLoader', 'lines', 3);
     $loader = new CsvBulkLoader('CsvBulkLoaderTest_Player');
     $path = $this->getCurrentAbsolutePath() . '/CsvBulkLoaderTest_LargeListOfPlayers.csv';
     $results = $loader->load($path);
     $this->assertEquals(10, $results->Count());
 }
コード例 #3
0
 /**
  * Test import with custom identifiers by importing the data.
  *
  * @todo Test duplicateCheck callbacks
  */
 public function testLoadWithIdentifiers()
 {
     // first load
     $loader = new CsvBulkLoader('CsvBulkLoaderTest_Player');
     $filepath = $this->getCurrentAbsolutePath() . '/CsvBulkLoaderTest_PlayersWithId.csv';
     $loader->duplicateChecks = array('ExternalIdentifier' => 'ExternalIdentifier', 'NonExistantIdentifier' => 'ExternalIdentifier', 'ExternalIdentifier' => 'ExternalIdentifier', 'AdditionalIdentifier' => 'ExternalIdentifier');
     $results = $loader->load($filepath);
     $createdPlayers = $results->Created();
     $player = $createdPlayers->First();
     $this->assertEquals($player->FirstName, 'John');
     $this->assertEquals($player->Biography, 'He\'s a good guy', 'test updating of duplicate imports within the same import works');
     // load with updated data
     $filepath = FRAMEWORK_PATH . '/tests/dev/CsvBulkLoaderTest_PlayersWithIdUpdated.csv';
     $results = $loader->load($filepath);
     // HACK need to update the loaded record from the database
     $player = DataObject::get_by_id('CsvBulkLoaderTest_Player', $player->ID);
     $this->assertEquals($player->FirstName, 'JohnUpdated', 'Test updating of existing records works');
     // null values are valid imported
     // $this->assertEquals($player->Biography, 'He\'s a good guy',
     //	'Test retaining of previous information on duplicate when overwriting with blank field');
 }