public function NodeReferenceFormTest::testLongNodeReferenceWidget in References 7.2
Test autocomplete widget.
File
- node_reference/
node_reference.test, line 114 - Initial node_reference tests.
Class
- NodeReferenceFormTest
- Unit tests for referenceability of node types in entity forms.
Code
public function testLongNodeReferenceWidget() {
// Create regular test user.
$web_user = $this
->drupalCreateUser(array(
'create article content',
'access content',
));
$this
->drupalLogin($web_user);
// Create test field instance on article node type.
$instance = array(
'field_name' => $this->field_name,
'entity_type' => 'node',
'bundle' => 'article',
'widget' => array(
'type' => 'node_reference_autocomplete',
),
);
$instance = field_create_instance($instance);
// Create a node with a short title and a node with a title longer than
// 128 characters.
$node_short_title = $this
->drupalCreateNode(array(
'type' => 'page',
'title' => $this
->randomName(8),
));
$node_long_title = $this
->drupalCreateNode(array(
'type' => 'page',
'title' => $this
->randomName(200),
));
// Display node creation form.
$langcode = LANGUAGE_NONE;
$this
->drupalGet('node/add/article');
$this
->assertFieldByName("{$this->field_name}[{$langcode}][0][nid]", '', t('Widget is displayed'));
// Submit node form with autocomplete value for short title.
$edit = array(
'title' => $this
->randomName(8),
"{$this->field_name}[{$langcode}][0][nid]" => $node_short_title->title . ' [nid:' . $node_short_title->nid . ']',
);
$this
->drupalPost('node/add/article', $edit, t('Save'));
$this
->assertRaw(t('!post %title has been created.', array(
'!post' => 'Article',
'%title' => $edit["title"],
)), t('Article created.'));
$this
->assertText($node_short_title->title, t('Referenced node title is displayed.'));
// Submit node form with autocomplete value for long title.
$edit = array(
'title' => $this
->randomName(8),
"{$this->field_name}[{$langcode}][0][nid]" => $node_long_title->title . ' [nid:' . $node_long_title->nid . ']',
);
$this
->drupalPost('node/add/article', $edit, t('Save'));
$this
->assertRaw(t('!post %title has been created.', array(
'!post' => 'Article',
'%title' => $edit["title"],
)), t('Article created.'));
$this
->assertText($node_long_title->title, t('Referenced node title is displayed.'));
}