You are here

public function FeedsUIUserInterfaceTestCase::testImporterImport in Feeds 7.2

Test the importer settings.

File

feeds_ui/feeds_ui.test, line 285
Tests for Feeds Admin UI module.

Class

FeedsUIUserInterfaceTestCase
Test basic Feeds UI functionality.

Code

public function testImporterImport() {
  $name = $this
    ->randomString();
  $id = drupal_strtolower($this
    ->randomName());
  $this
    ->createImporterConfiguration($name, $id);
  $this
    ->setPlugin($id, 'FeedsCSVParser');
  $this
    ->setPlugin($id, 'FeedsFileFetcher');
  $this
    ->setPlugin($id, 'FeedsUserProcessor');
  $this
    ->setSettings($id, 'FeedsFileFetcher', array(
    'allowed_extensions' => 'xml',
  ));
  $this
    ->setSettings($id, 'FeedsCSVParser', array(
    'delimiter' => '|',
  ));
  $this
    ->setSettings($id, 'FeedsUserProcessor', array(
    'skip_hash_check' => TRUE,
  ));
  $this
    ->drupalGet('admin/structure/feeds/' . $id . '/export');
  $export = $this
    ->xpath('//textarea[1]/text()');
  $export = (string) $export[0];

  // Delete this importer.
  $this
    ->drupalPost('admin/structure/feeds/' . $id . '/delete', array(), t('Delete'));

  // Try to import.
  $this
    ->drupalPost('admin/structure/feeds/import', array(
    'importer' => $export,
  ), t('Import'));
  $this
    ->assertText("Successfully imported the {$id} feeds importer.");

  // Check that the settings are correct.
  $importer = feeds_importer($id);
  $this
    ->assertEqual('FeedsFileFetcher', get_class($importer->fetcher));
  $this
    ->assertEqual('FeedsCSVParser', get_class($importer->parser));
  $this
    ->assertEqual('FeedsUserProcessor', get_class($importer->processor));
  $config = $importer->fetcher
    ->getConfig();
  $this
    ->assertEqual('xml', $config['allowed_extensions']);
  $config = $importer->parser
    ->getConfig();
  $this
    ->assertEqual('|', $config['delimiter']);
  $config = $importer->processor
    ->getConfig();
  $this
    ->assertTrue($config['skip_hash_check']);
}