<?php
namespace Drupal\search\Tests;
class SearchEmbedFormTest extends SearchTestBase {
public static $modules = array(
'search_embedded_form',
);
public $node;
public $submit_count = 0;
public static function getInfo() {
return array(
'name' => 'Embedded forms',
'description' => 'Verifies that a form embedded in search results works',
'group' => 'Search',
);
}
function setUp() {
parent::setUp();
$test_user = $this
->drupalCreateUser(array(
'access content',
'search content',
'administer nodes',
));
$this
->drupalLogin($test_user);
$this->node = $this
->drupalCreateNode();
node_update_index();
search_update_totals();
$this->submit_count = config('search_embedded_form.settings')
->get('submitted');
$this
->refreshVariables();
}
function testEmbeddedForm() {
$this
->drupalPost('search_embedded_form', array(
'name' => 'John',
), t('Send away'));
$this
->assertText(t('Test form was submitted'), 'Form message appears');
$count = config('search_embedded_form.settings')
->get('submitted');
$this
->assertEqual($this->submit_count + 1, $count, 'Form submission count is correct');
$this->submit_count = $count;
$this
->drupalGet('search/node/' . $this->node
->label());
$this
->assertText(t('Your name'), 'Form is visible');
$this
->drupalPost('search/node/' . $this->node
->label(), array(
'name' => 'John',
), t('Send away'));
$this
->assertText(t('Test form was submitted'), 'Form message appears');
$count = config('search_embedded_form.settings')
->get('submitted');
$this
->assertEqual($this->submit_count + 1, $count, 'Form submission count is correct');
$this->submit_count = $count;
$this
->drupalPost('search', array(
'keys' => 'foo',
), t('Search'));
$this
->assertNoText(t('Test form was submitted'), 'Form message does not appear');
$count = config('search_embedded_form.settings')
->get('submitted');
$this
->assertEqual($this->submit_count, $count, 'Form submission count is correct');
$this->submit_count = $count;
}
}