comparison core/modules/node/tests/src/Kernel/NodeFieldOverridesTest.php @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children af1871eacc83
comparison
equal deleted inserted replaced
-1:000000000000 0:4c8ae668cc8c
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 }