3 namespace Drupal\Tests\node\Kernel;
5 use Drupal\user\UserInterface;
6 use Drupal\Core\Field\Entity\BaseFieldOverride;
7 use Drupal\KernelTests\Core\Entity\EntityKernelTestBase;
8 use Drupal\node\Entity\Node;
9 use Drupal\node\Entity\NodeType;
12 * Tests node field overrides.
16 class NodeFieldOverridesTest extends EntityKernelTestBase {
19 * Current logged in user.
21 * @var \Drupal\user\UserInterface
30 public static $modules = ['user', 'system', 'field', 'node'];
35 protected function setUp() {
37 $this->installConfig(['user']);
38 $this->user = $this->createUser();
39 \Drupal::service('current_user')->setAccount($this->user);
43 * Tests that field overrides work as expected.
45 public function testFieldOverrides() {
46 if (!NodeType::load('ponies')) {
47 NodeType::create(['name' => 'Ponies', 'type' => 'ponies'])->save();
49 $override = BaseFieldOverride::loadByName('node', 'ponies', 'uid');
53 $uid_field = \Drupal::entityManager()->getBaseFieldDefinitions('node')['uid'];
54 $config = $uid_field->getConfig('ponies');
56 $this->assertEqual($config->get('default_value_callback'), 'Drupal\node\Entity\Node::getCurrentUserId');
57 /** @var \Drupal\node\NodeInterface $node */
58 $node = Node::create(['type' => 'ponies']);
59 $owner = $node->getOwner();
60 $this->assertTrue($owner instanceof UserInterface);
61 $this->assertEqual($owner->id(), $this->user->id());