public function FeedsCSVParserTestCase::testGetTemplate in Feeds 7.2
Tests if a CSV template is generated properly using various settings.
See also
::getTemplateDataProvider()
File
- tests/
feeds_parser_csv.test, line 110  - Contains FeedsCSVParserTestCase.
 
Class
- FeedsCSVParserTestCase
 - Tests the CSV parser using the UI.
 
Code
public function testGetTemplate() {
  // Create node type.
  $node_type = $this
    ->drupalCreateContentType();
  foreach ($this
    ->getTemplateDataProvider() as $key => $testdata) {
    // Prepend 'csv' to importer machine name as '0' is not a valid machine
    // name.
    $key = 'csv' . $key;
    // Create and configure importer.
    $this
      ->createImporterConfiguration('Content CSV', $key);
    $this
      ->setPlugin($key, 'FeedsCSVParser');
    $this
      ->setSettings($key, 'FeedsCSVParser', array(
      'delimiter' => $testdata['delimiter'],
    ));
    $this
      ->setSettings($key, 'FeedsNodeProcessor', array(
      'bundle' => $node_type->type,
    ));
    $this
      ->addMappings($key, $testdata['mapping']);
    // Get CSV template and assert result.
    $this
      ->drupalGet('import/' . $key . '/template');
    $this
      ->assertRaw($testdata['expected']);
    // Check texts that are displayed on the import page. These texts in the
    // content should have gone through to check_plain() so we do that here as
    // well.
    $this
      ->drupalGet('import/' . $key);
    $this
      ->assertText('Import CSV files with one or more of these columns: ' . check_plain($testdata['texts']['columns']) . '.');
    if (isset($testdata['texts']['unique'])) {
      $this
        ->assertText(check_plain($testdata['texts']['unique']));
    }
    else {
      $this
        ->assertText(t('No columns are unique. The import will only create new items, no items will be updated.'));
    }
  }
}