public function EntityLegalDocumentTest::testEditForm in Entity Legal 4.0.x
Same name and namespace in other branches
- 8.2 src/Tests/EntityLegalDocumentTest.php \Drupal\entity_legal\Tests\EntityLegalDocumentTest::testEditForm()
- 3.0.x src/Tests/EntityLegalDocumentTest.php \Drupal\entity_legal\Tests\EntityLegalDocumentTest::testEditForm()
Test the functionality of the edit form.
File
- src/
Tests/ EntityLegalDocumentTest.php, line 69
Class
- EntityLegalDocumentTest
- Tests admin functionality for the legal document entity.
Namespace
Drupal\entity_legal\TestsCode
public function testEditForm() {
$document = $this
->createDocument(TRUE, TRUE, [
'new_users' => [
'require_method' => 'form_inline',
],
'existing_users' => [
'require_method' => 'redirect',
],
]);
$this
->drupalLogin($this->adminUser);
$this
->drupalGet('admin/structure/legal/manage/' . $document
->id());
// Test field default values.
$this
->assertFieldByName('label', $document
->label(), 'Label is set correctly for document');
$this
->assertFieldByName('settings[new_users][require]', 1, 'Require new users set correctly');
$this
->assertFieldByName('settings[new_users][require_method]', 'form_inline', 'Require existing users set correctly');
$this
->assertFieldByName('settings[existing_users][require]', 1, 'Require existing users set correctly');
$this
->assertFieldByName('settings[existing_users][require_method]', 'redirect', 'Require existing users set correctly');
// Test that changing values saves correctly.
$new_label = $this
->randomMachineName();
$this
->drupalPostForm('admin/structure/legal/manage/' . $document
->id(), [
'label' => $new_label,
'settings[new_users][require]' => FALSE,
'settings[new_users][require_method]' => 'form_link',
'settings[existing_users][require]' => FALSE,
'settings[existing_users][require_method]' => 'popup',
], 'Save');
/** @var \Drupal\entity_legal\EntityLegalDocumentInterface $document */
$document = $this
->getUncachedEntity(ENTITY_LEGAL_DOCUMENT_ENTITY_NAME, $document
->id());
$this
->assertEqual($new_label, $document
->label(), 'Label was saved correctly');
$this
->assertEqual(0, $document
->get('require_signup'), 'Signup requirement was saved correctly');
$this
->assertEqual(0, $document
->get('require_existing'), 'Existing user requirement was saved correctly');
$this
->assertEqual('form_link', $document
->get('settings')['new_users']['require_method'], 'Form link method was saved correctly');
$this
->assertEqual('popup', $document
->get('settings')['existing_users']['require_method'], 'Popup require method was saved correctly');
}