function ContentEntityExampleTest::testContentEntityExample
Same name in other branches
- 3.x modules/content_entity_example/tests/src/Functional/ContentEntityExampleTest.php \Drupal\Tests\content_entity_example\Functional\ContentEntityExampleTest::testContentEntityExample()
- 8.x-1.x content_entity_example/tests/src/Functional/ContentEntityExampleTest.php \Drupal\Tests\content_entity_example\Functional\ContentEntityExampleTest::testContentEntityExample()
Basic tests for Content Entity Example.
File
-
modules/
content_entity_example/ tests/ src/ Functional/ ContentEntityExampleTest.php, line 35
Class
- ContentEntityExampleTest
- Tests the basic functions of the Content Entity Example module.
Namespace
Drupal\Tests\content_entity_example\FunctionalCode
public function testContentEntityExample() {
$assert = $this->assertSession();
$web_user = $this->drupalCreateUser([
'add contact entity',
'edit contact entity',
'view contact entity',
'delete contact entity',
'administer contact entity',
'administer content_entity_example_contact display',
'administer content_entity_example_contact fields',
'administer content_entity_example_contact form display',
]);
// Anonymous User should not see the link to the listing.
$assert->pageTextNotContains('Content Entity Example');
$this->drupalLogin($web_user);
// Web_user user has the right to view listing.
$assert->linkExists('Content Entity Example');
$this->clickLink('Content Entity Example');
// WebUser can add entity content.
$assert->linkExists('Add contact');
$this->clickLink($this->t('Add contact'));
$assert->fieldValueEquals('name[0][value]', '');
$assert->fieldValueEquals('name[0][value]', '');
$assert->fieldValueEquals('name[0][value]', '');
$assert->fieldValueEquals('name[0][value]', '');
$user_ref = $web_user->name->value . ' (' . $web_user->id() . ')';
$assert->fieldValueEquals('user_id[0][target_id]', $user_ref);
// Post content, save an instance. Go back to list after saving.
$edit = [
'name[0][value]' => 'test name',
'first_name[0][value]' => 'test first name',
'role' => 'administrator',
];
$this->submitForm($edit, 'Save');
// Entity listed.
$assert->linkExists('Edit');
$assert->linkExists('Delete');
$this->clickLink('test name');
// Entity shown.
$assert->pageTextContains('test name');
$assert->pageTextContains('test first name');
$assert->pageTextContains('administrator');
$assert->linkExists('Add contact');
$assert->linkExists('Edit');
$assert->linkExists('Delete');
// Delete the entity.
$this->clickLink('Delete');
// Confirm deletion.
$assert->linkExists('Cancel');
$this->submitForm([], 'Delete');
// Back to list, must be empty.
$assert->pageTextNotContains('test name');
// Settings page.
$this->drupalGet('admin/structure/content_entity_example_contact_settings');
$assert->pageTextContains('Contact Settings');
// Make sure the field manipulation links are available.
$assert->linkExists('Settings');
$assert->linkExists('Manage fields');
$assert->linkExists('Manage form display');
$assert->linkExists('Manage display');
}