123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- <?php
- /**
- * @file
- * Contains FeedsMapperProfileTestCase.
- */
- /**
- * Test suite for profile mapper mappers/profile.inc.
- */
- class FeedsMapperProfileTestCase extends FeedsMapperTestCase {
- public static function getInfo() {
- return array(
- 'name' => 'Mapper: Profile',
- 'description' => 'Test Feeds Mapper support for profile fields.',
- 'group' => 'Feeds',
- );
- }
- public function setUp() {
- // Call parent setup with required modules.
- parent::setUp(array('profile'));
- }
- /**
- * Basic test loading a double entry CSV file.
- */
- public function test() {
- // Create profile fields.
- $edit = array(
- 'category' => 'test',
- 'title' => 'color',
- 'name' => 'profile_textfield_test',
- 'register' => 1,
- );
- $name = $this->drupalPost('admin/config/people/profile/add/textfield', $edit, t('Save field'));
- $edit = array(
- 'category' => 'test',
- 'title' => 'letter',
- 'name' => 'profile_select_test',
- 'options' => 'alpha' . "\n" . 'beta' . "\n" . 'gamma',
- 'register' => 1,
- );
- $name = $this->drupalPost('admin/config/people/profile/add/selection', $edit, t('Save field'));
- // Create an importer.
- $this->createImporterConfiguration('Profile import', 'profile_import');
- // Set and configure plugins.
- $this->setPlugin('profile_import', 'FeedsFileFetcher');
- $this->setPlugin('profile_import', 'FeedsCSVParser');
- $this->setPlugin('profile_import', 'FeedsUserProcessor');
- // Go to mapping page and create a couple of mappings.
- $mappings = array(
- '0' => array(
- 'source' => 'name',
- 'target' => 'name',
- 'unique' => 0,
- ),
- '1' => array(
- 'source' => 'mail',
- 'target' => 'mail',
- 'unique' => 1,
- ),
- '2' => array(
- 'source' => 'color',
- 'target' => 'profile_textfield_test',
- ),
- '3' => array(
- 'source' => 'letter',
- 'target' => 'profile_select_test',
- ),
- );
- $this->addMappings('profile_import', $mappings);
- // Change some of the basic configuration.
- $edit = array(
- 'content_type' => '',
- 'import_period' => FEEDS_SCHEDULE_NEVER,
- );
- $this->drupalPost('admin/structure/feeds/profile_import/settings', $edit, 'Save');
- // Import CSV file.
- $this->importFile('profile_import', $this->absolutePath() .'/tests/feeds/profile.csv');
- $this->assertText('Created 2 users.');
- // Check the two imported users.
- $this->drupalGet('admin/people');
- $this->assertText('magna');
- $this->assertText('rhoncus');
- $account = user_load_by_name('magna');
- $this->assertEqual($account->profile_textfield_test, 'red', 'User profile_textfield_test is correct');
- $this->assertEqual($account->profile_select_test, 'alpha', 'User profile_select_test is correct');
- $account = user_load_by_name('rhoncus');
- $this->assertEqual($account->profile_textfield_test, 'blue', 'User profile_textfield_test is correct');
- $this->assertEqual($account->profile_select_test, 'beta', 'User profile_select_test is correct');
- }
- }
|