You are here

function FeedsMapperEmfieldTestCase::test in Feeds 7

Same name and namespace in other branches
  1. 6 tests/feeds_mapper_emfield.test \FeedsMapperEmfieldTestCase::test()

Basic test loading a doulbe entry CSV file.

File

tests/feeds_mapper_emfield.test, line 44

Class

FeedsMapperEmfieldTestCase
Class for testing Feeds <em>emfield</em> mapper.

Code

function test() {

  // Create content type.
  $typename = $this
    ->createContentType(NULL, array(
    'video' => array(
      'type' => 'emvideo',
      'widget' => 'emvideo_textfields',
    ),
  ));

  // Create and configure importer.
  $this
    ->createImporterConfiguration('Emfield CSV', 'csv');
  $this
    ->setSettings('csv', NULL, array(
    'content_type' => '',
    'import_period' => FEEDS_SCHEDULE_NEVER,
  ));
  $this
    ->setPlugin('csv', 'FeedsFileFetcher');
  $this
    ->setPlugin('csv', 'FeedsCSVParser');
  $this
    ->setSettings('csv', 'FeedsNodeProcessor', array(
    'content_type' => $typename,
  ));
  $this
    ->addMappings('csv', array(
    array(
      'source' => 'title',
      'target' => 'title',
    ),
    array(
      'source' => 'created',
      'target' => 'created',
    ),
    array(
      'source' => 'body',
      'target' => 'body',
    ),
    array(
      'source' => 'video',
      'target' => 'field_video',
    ),
  ));

  // Import CSV file.
  $this
    ->importFile('csv', $this
    ->absolutePath() . '/tests/feeds/emfield.csv');
  $this
    ->assertText('Created 2 ' . $typename . ' nodes.');

  // Check the two imported files.
  $this
    ->drupalGet('node/1/edit');
  $this
    ->assertFieldByName('field_video[0][embed]', 'http://www.youtube.com/watch?v=gpkhANg919Y');
  $this
    ->drupalGet('node/2/edit');
  $this
    ->assertFieldByName('field_video[0][embed]', 'http://www.youtube.com/watch?v=ewAGXAeCXJY');
}