Upgraded drupal core with security updates
[yaffs-website] / web / core / modules / node / tests / src / Kernel / NodeFieldOverridesTest.php
1 <?php
2
3 namespace Drupal\Tests\node\Kernel;
4
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;
10
11 /**
12  * Tests node field overrides.
13  *
14  * @group node
15  */
16 class NodeFieldOverridesTest extends EntityKernelTestBase {
17
18   /**
19    * Current logged in user.
20    *
21    * @var \Drupal\user\UserInterface
22    */
23   protected $user;
24
25   /**
26    * Modules to enable.
27    *
28    * @var array
29    */
30   public static $modules = ['user', 'system', 'field', 'node'];
31
32   /**
33    * {@inheritdoc}
34    */
35   protected function setUp() {
36     parent::setUp();
37     $this->installConfig(['user']);
38     $this->user = $this->createUser();
39     \Drupal::service('current_user')->setAccount($this->user);
40   }
41
42   /**
43    * Tests that field overrides work as expected.
44    */
45   public function testFieldOverrides() {
46     if (!NodeType::load('ponies')) {
47       NodeType::create(['name' => 'Ponies', 'type' => 'ponies'])->save();
48     }
49     $override = BaseFieldOverride::loadByName('node', 'ponies', 'uid');
50     if ($override) {
51       $override->delete();
52     }
53     $uid_field = \Drupal::entityManager()->getBaseFieldDefinitions('node')['uid'];
54     $config = $uid_field->getConfig('ponies');
55     $config->save();
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());
62   }
63
64 }