$body_key = 'body[0][value]';
$edit =
[];
$edit['title[0][value]'
] =
$this->
randomMachineName(8
);
$edit[$body_key] =
$this->
randomMachineName(16
);
$this->
drupalGet('node/add/page'
);
$this->
submitForm($edit, 'Save'
);
// Check that the node was authored by the currently logged in user.
$node =
$this->
drupalGetNodeByTitle($edit['title[0][value]'
]);
$this->
assertSame($this->adminUser->
id(),
$node->
getOwnerId(), 'Node authored by admin user.'
);
$this->
checkVariousAuthoredByValues($node, 'uid[0][target_id]'
);
// Check that normal users cannot change the authored by information.
$this->
drupalLogin($this->webUser
);
$this->
drupalGet('node/' .
$node->
id() . '/edit'
);
$this->
assertSession()->
fieldNotExists('uid[0][target_id]'
);
// Now test with the Autocomplete (Tags) field widget.
/** @var \Drupal\Core\Entity\Display\EntityFormDisplayInterface $form_display */
$form_display = \Drupal::
entityTypeManager()->
getStorage('entity_form_display'
)->
load('node.page.default'
);
$widget =
$form_display->
getComponent('uid'
);
$widget['type'
] = 'entity_reference_autocomplete_tags';