123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- <?php
- /**
- * @file
- * Contains FeedsMapperConfigTestCase.
- */
- /**
- * Test cases for Feeds mapping configuration form.
- */
- class FeedsMapperConfigTestCase extends FeedsMapperTestCase {
- public static function getInfo() {
- return array(
- 'name' => 'Mapper: Config',
- 'description' => 'Test the mapper configuration UI.',
- 'group' => 'Feeds',
- );
- }
- public function setUp() {
- parent::setUp(array('feeds_tests'));
- }
- /**
- * Basic test of mapping configuration.
- */
- public function test() {
- // Create importer configuration.
- $this->createImporterConfiguration();
- $this->addMappings('syndication', array(
- array(
- 'source' => 'url',
- 'target' => 'test_target',
- ),
- ));
- // Click gear to get form.
- $this->drupalPostAJAX(NULL, array(), 'mapping_settings_edit_0');
- $second_callback_value = $this->randomString();
- // Set some settings.
- $edit = array(
- 'config[0][settings][checkbox]' => 1,
- 'config[0][settings][textfield]' => 'Some text',
- 'config[0][settings][textarea]' => 'Textarea value: Didery dofffffffffffffffffffffffffffffffffffff',
- 'config[0][settings][radios]' => 'option1',
- 'config[0][settings][select]' => 'option4',
- 'config[0][settings][second_value]' => $second_callback_value,
- );
- $this->drupalPostAJAX(NULL, $edit, 'mapping_settings_update_0');
- $this->assertText(t('* Changes made to target configuration are stored temporarily. Click Save to make your changes permanent.'));
- // Click Save.
- $this->drupalPost(NULL, array(), t('Save'));
- // Reload.
- $this->drupalGet('admin/structure/feeds/syndication/mapping');
- // See if our settings were saved.
- $this->assertText('Checkbox active.');
- $this->assertText('Textfield value: Some text');
- $this->assertText('Textarea value: Didery dofffffffffffffffffffffffffffffffffffff');
- $this->assertText('Radios value: Option 1');
- $this->assertText('Select value: Another One');
- $this->assertText(t('Second summary: @value', array('@value' => $second_callback_value)));
- // Check that settings are in db.
- $config = unserialize(db_query("SELECT config FROM {feeds_importer} WHERE id='syndication'")->fetchField());
- $settings = $config['processor']['config']['mappings'][0];
- $this->assertEqual($settings['checkbox'], 1);
- $this->assertEqual($settings['textfield'], 'Some text');
- $this->assertEqual($settings['textarea'], 'Textarea value: Didery dofffffffffffffffffffffffffffffffffffff');
- $this->assertEqual($settings['radios'], 'option1');
- $this->assertEqual($settings['select'], 'option4');
- $this->assertEqual($settings['second_value'], $second_callback_value);
- // Check that form validation works.
- // Click gear to get form.
- $this->drupalPostAJAX(NULL, array(), 'mapping_settings_edit_0');
- // Set some settings.
- $edit = array(
- // Required form item.
- 'config[0][settings][textfield]' => '',
- );
- $this->drupalPostAJAX(NULL, $edit, 'mapping_settings_update_0');
- $this->assertText('A text field field is required.');
- $this->drupalPost(NULL, array(), t('Save'));
- // Reload.
- $this->drupalGet('admin/structure/feeds/syndication/mapping');
- // Value has not changed.
- $this->assertText('Textfield value: Some text');
- // Check that multiple mappings work.
- $this->addMappings('syndication', array(
- 1 => array(
- 'source' => 'url',
- 'target' => 'test_target',
- ),
- ));
- $this->assertText('Checkbox active.');
- $this->assertText('Checkbox inactive.');
- // Click gear to get form.
- $this->drupalPostAJAX(NULL, array(), 'mapping_settings_edit_1');
- // Set some settings.
- $edit = array(
- 'config[1][settings][textfield]' => 'Second mapping text',
- );
- $this->drupalPostAJAX(NULL, $edit, 'mapping_settings_update_1');
- // Click Save.
- $this->drupalPost(NULL, array(), t('Save'));
- // Reload.
- $this->drupalGet('admin/structure/feeds/syndication/mapping');
- $this->assertText('Checkbox active.');
- $this->assertText('Checkbox inactive.');
- $this->assertText('Second mapping text');
- }
- }
|