public function EntityFormTest::testEntityFormModeAlter in Drupal 9
Tests hook_entity_form_mode_alter().
See also
entity_test_entity_form_mode_alter()
File
- core/
modules/ system/ tests/ src/ Functional/ Entity/ EntityFormTest.php, line 68
Class
- EntityFormTest
- Tests the entity form.
Namespace
Drupal\Tests\system\Functional\EntityCode
public function testEntityFormModeAlter() {
// Create compact entity display.
EntityFormMode::create([
'id' => 'entity_test.compact',
'targetEntityType' => 'entity_test',
])
->save();
EntityFormDisplay::create([
'targetEntityType' => 'entity_test',
'bundle' => 'entity_test',
'mode' => 'compact',
'status' => TRUE,
])
->removeComponent('field_test_text')
->save();
// The field should be available on default form mode.
$entity1 = EntityTest::create([
'name' => $this
->randomString(),
]);
$entity1
->save();
$this
->drupalGet($entity1
->toUrl('edit-form'));
$this
->assertSession()
->elementExists('css', 'input[name="field_test_text[0][value]"]');
// The field should be hidden on compact form mode.
// See: entity_test_entity_form_mode_alter().
$entity2 = EntityTest::create([
'name' => 'compact_form_mode',
]);
$entity2
->save();
$this
->drupalGet($entity2
->toUrl('edit-form'));
$this
->assertSession()
->elementNotExists('css', 'input[name="field_test_text[0][value]"]');
}