View source
<?php
namespace Drupal\system\Tests\Form;
use Drupal\simpletest\WebTestBase;
class ArbitraryRebuildTest extends WebTestBase {
public static $modules = array(
'text',
'form_test',
);
protected function setUp() {
parent::setUp();
entity_create('field_storage_config', array(
'entity_type' => 'user',
'field_name' => 'test_multiple',
'type' => 'text',
'cardinality' => -1,
'translatable' => FALSE,
))
->save();
entity_create('field_config', array(
'entity_type' => 'user',
'field_name' => 'test_multiple',
'bundle' => 'user',
'label' => 'Test a multiple valued field',
))
->save();
entity_get_form_display('user', 'user', 'register')
->setComponent('test_multiple', array(
'type' => 'text_textfield',
'weight' => 0,
))
->save();
}
function testUserRegistrationRebuild() {
$edit = array(
'name' => 'foo',
'mail' => 'bar@example.com',
);
$this
->drupalPostForm('user/register', $edit, 'Rebuild');
$this
->assertText('Form rebuilt.');
$this
->assertFieldByName('name', 'foo', 'Entered username has been kept.');
$this
->assertFieldByName('mail', 'bar@example.com', 'Entered mail address has been kept.');
}
function testUserRegistrationMultipleField() {
$edit = array(
'name' => 'foo',
'mail' => 'bar@example.com',
);
$this
->drupalPostForm('user/register', $edit, t('Add another item'));
$this
->assertText('Test a multiple valued field', 'Form has been rebuilt.');
$this
->assertFieldByName('name', 'foo', 'Entered username has been kept.');
$this
->assertFieldByName('mail', 'bar@example.com', 'Entered mail address has been kept.');
}
}