annotate core/modules/node/tests/src/Kernel/NodeFieldOverridesTest.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents af1871eacc83
children
rev   line source
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 }