public function FeedsMapperDateTestCase::test in Feeds 7.2
Same name and namespace in other branches
- 6 tests/feeds_mapper_date.test \FeedsMapperDateTestCase::test()
- 7 tests/feeds_mapper_date.test \FeedsMapperDateTestCase::test()
Basic test loading a single entry CSV file.
File
- tests/
feeds_mapper_date.test, line 39 - Contains FeedsMapperDateTestCase.
Class
- FeedsMapperDateTestCase
- Test case for CCK date field mapper mappers/date.inc.
Code
public function test() {
$this
->drupalGet('admin/config/regional/settings');
// Create content type.
$typename = $this
->createContentType(array(), array(
'date' => 'date',
'datestamp' => 'datestamp',
'datetime' => 'datetime',
));
// Hack to get date fields to not round to every 15 minutes.
foreach (array(
'date',
'datestamp',
'datetime',
) as $field) {
$field = 'field_' . $field;
$edit = array(
'widget_type' => 'date_select',
);
$this
->drupalPost('admin/structure/types/manage/' . $typename . '/fields/' . $field . '/widget-type', $edit, 'Continue');
$edit = array(
'instance[widget][settings][increment]' => 1,
);
$this
->drupalPost('admin/structure/types/manage/' . $typename . '/fields/' . $field, $edit, 'Save settings');
$edit = array(
'widget_type' => 'date_text',
);
$this
->drupalPost('admin/structure/types/manage/' . $typename . '/fields/' . $field . '/widget-type', $edit, 'Continue');
}
// Create and configure importer.
$this
->createImporterConfiguration('Date RSS', 'daterss');
$this
->setSettings('daterss', NULL, array(
'content_type' => '',
'import_period' => FEEDS_SCHEDULE_NEVER,
));
$this
->setPlugin('daterss', 'FeedsFileFetcher');
$this
->setSettings('daterss', 'FeedsNodeProcessor', array(
'bundle' => $typename,
));
$this
->addMappings('daterss', array(
0 => array(
'source' => 'title',
'target' => 'title',
),
1 => array(
'source' => 'description',
'target' => 'body',
),
2 => array(
'source' => 'timestamp',
'target' => 'field_date:start',
),
3 => array(
'source' => 'timestamp',
'target' => 'field_datestamp:start',
),
4 => array(
'source' => 'timestamp',
'target' => 'field_datetime:start',
),
));
$edit = array(
'allowed_extensions' => 'rss2',
);
$this
->drupalPost('admin/structure/feeds/daterss/settings/FeedsFileFetcher', $edit, 'Save');
// Import CSV file.
$this
->importFile('daterss', $this
->absolutePath() . '/tests/feeds/googlenewstz.rss2');
$this
->assertText('Created 6 nodes');
// Check the imported nodes.
$values = array(
'01/06/2010 - 19:26',
'01/06/2010 - 10:21',
'01/06/2010 - 13:42',
'01/06/2010 - 06:05',
'01/06/2010 - 11:26',
'01/07/2010 - 00:26',
);
for ($i = 1; $i <= 6; $i++) {
$this
->drupalGet("node/{$i}/edit");
$this
->assertNodeFieldValue('date', $values[$i - 1]);
$this
->assertNodeFieldValue('datestamp', $values[$i - 1]);
$this
->assertNodeFieldValue('datetime', $values[$i - 1]);
}
}