Chris@0
|
1 <?php
|
Chris@0
|
2
|
Chris@0
|
3 namespace Drupal\Tests\node\Kernel;
|
Chris@0
|
4
|
Chris@0
|
5 use Drupal\user\UserInterface;
|
Chris@0
|
6 use Drupal\Core\Field\Entity\BaseFieldOverride;
|
Chris@0
|
7 use Drupal\KernelTests\Core\Entity\EntityKernelTestBase;
|
Chris@0
|
8 use Drupal\node\Entity\Node;
|
Chris@0
|
9 use Drupal\node\Entity\NodeType;
|
Chris@0
|
10
|
Chris@0
|
11 /**
|
Chris@0
|
12 * Tests node field overrides.
|
Chris@0
|
13 *
|
Chris@0
|
14 * @group node
|
Chris@0
|
15 */
|
Chris@0
|
16 class NodeFieldOverridesTest extends EntityKernelTestBase {
|
Chris@0
|
17
|
Chris@0
|
18 /**
|
Chris@0
|
19 * Current logged in user.
|
Chris@0
|
20 *
|
Chris@0
|
21 * @var \Drupal\user\UserInterface
|
Chris@0
|
22 */
|
Chris@0
|
23 protected $user;
|
Chris@0
|
24
|
Chris@0
|
25 /**
|
Chris@0
|
26 * Modules to enable.
|
Chris@0
|
27 *
|
Chris@0
|
28 * @var array
|
Chris@0
|
29 */
|
Chris@0
|
30 public static $modules = ['user', 'system', 'field', 'node'];
|
Chris@0
|
31
|
Chris@0
|
32 /**
|
Chris@0
|
33 * {@inheritdoc}
|
Chris@0
|
34 */
|
Chris@0
|
35 protected function setUp() {
|
Chris@0
|
36 parent::setUp();
|
Chris@0
|
37 $this->installConfig(['user']);
|
Chris@0
|
38 $this->user = $this->createUser();
|
Chris@0
|
39 \Drupal::service('current_user')->setAccount($this->user);
|
Chris@0
|
40 }
|
Chris@0
|
41
|
Chris@0
|
42 /**
|
Chris@0
|
43 * Tests that field overrides work as expected.
|
Chris@0
|
44 */
|
Chris@0
|
45 public function testFieldOverrides() {
|
Chris@0
|
46 if (!NodeType::load('ponies')) {
|
Chris@0
|
47 NodeType::create(['name' => 'Ponies', 'type' => 'ponies'])->save();
|
Chris@0
|
48 }
|
Chris@0
|
49 $override = BaseFieldOverride::loadByName('node', 'ponies', 'uid');
|
Chris@0
|
50 if ($override) {
|
Chris@0
|
51 $override->delete();
|
Chris@0
|
52 }
|
Chris@0
|
53 $uid_field = \Drupal::entityManager()->getBaseFieldDefinitions('node')['uid'];
|
Chris@0
|
54 $config = $uid_field->getConfig('ponies');
|
Chris@0
|
55 $config->save();
|
Chris@18
|
56 $this->assertEquals($config->get('default_value_callback'), 'Drupal\node\Entity\Node::getDefaultEntityOwner');
|
Chris@0
|
57 /** @var \Drupal\node\NodeInterface $node */
|
Chris@0
|
58 $node = Node::create(['type' => 'ponies']);
|
Chris@0
|
59 $owner = $node->getOwner();
|
Chris@0
|
60 $this->assertTrue($owner instanceof UserInterface);
|
Chris@0
|
61 $this->assertEqual($owner->id(), $this->user->id());
|
Chris@0
|
62 }
|
Chris@0
|
63
|
Chris@0
|
64 }
|