annotate core/tests/Drupal/FunctionalTests/Rest/BaseFieldOverrideResourceTestBase.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents c2387f117808
children
rev   line source
Chris@16 1 <?php
Chris@16 2
Chris@16 3 namespace Drupal\FunctionalTests\Rest;
Chris@16 4
Chris@16 5 use Drupal\Core\Field\Entity\BaseFieldOverride;
Chris@16 6 use Drupal\node\Entity\NodeType;
Chris@16 7 use Drupal\Tests\rest\Functional\EntityResource\EntityResourceTestBase;
Chris@16 8
Chris@16 9 abstract class BaseFieldOverrideResourceTestBase extends EntityResourceTestBase {
Chris@16 10
Chris@16 11 /**
Chris@16 12 * {@inheritdoc}
Chris@16 13 */
Chris@16 14 public static $modules = ['field', 'node'];
Chris@16 15
Chris@16 16 /**
Chris@16 17 * {@inheritdoc}
Chris@16 18 */
Chris@16 19 protected static $entityTypeId = 'base_field_override';
Chris@16 20
Chris@16 21 /**
Chris@16 22 * @var \Drupal\Core\Field\Entity\BaseFieldOverride
Chris@16 23 */
Chris@16 24 protected $entity;
Chris@16 25
Chris@16 26 /**
Chris@16 27 * {@inheritdoc}
Chris@16 28 */
Chris@16 29 protected function setUpAuthorization($method) {
Chris@16 30 $this->grantPermissionsToTestedRole(['administer node fields']);
Chris@16 31 }
Chris@16 32
Chris@16 33 /**
Chris@16 34 * {@inheritdoc}
Chris@16 35 */
Chris@16 36 protected function createEntity() {
Chris@16 37 $camelids = NodeType::create([
Chris@16 38 'name' => 'Camelids',
Chris@16 39 'type' => 'camelids',
Chris@16 40 ]);
Chris@16 41 $camelids->save();
Chris@16 42
Chris@16 43 $entity = BaseFieldOverride::create([
Chris@16 44 'field_name' => 'promote',
Chris@16 45 'entity_type' => 'node',
Chris@16 46 'bundle' => 'camelids',
Chris@16 47 ]);
Chris@16 48 $entity->save();
Chris@16 49
Chris@16 50 return $entity;
Chris@16 51 }
Chris@16 52
Chris@16 53 /**
Chris@16 54 * {@inheritdoc}
Chris@16 55 */
Chris@16 56 protected function getExpectedNormalizedEntity() {
Chris@16 57 return [
Chris@16 58 'bundle' => 'camelids',
Chris@16 59 'default_value' => [],
Chris@16 60 'default_value_callback' => '',
Chris@16 61 'dependencies' => [
Chris@16 62 'config' => [
Chris@16 63 'node.type.camelids',
Chris@16 64 ],
Chris@16 65 ],
Chris@16 66 'description' => '',
Chris@16 67 'entity_type' => 'node',
Chris@16 68 'field_name' => 'promote',
Chris@16 69 'field_type' => 'boolean',
Chris@16 70 'id' => 'node.camelids.promote',
Chris@16 71 'label' => NULL,
Chris@16 72 'langcode' => 'en',
Chris@16 73 'required' => FALSE,
Chris@16 74 'settings' => [
Chris@16 75 'on_label' => 'On',
Chris@16 76 'off_label' => 'Off',
Chris@16 77 ],
Chris@16 78 'status' => TRUE,
Chris@16 79 'translatable' => TRUE,
Chris@16 80 'uuid' => $this->entity->uuid(),
Chris@16 81 ];
Chris@16 82 }
Chris@16 83
Chris@16 84 /**
Chris@16 85 * {@inheritdoc}
Chris@16 86 */
Chris@16 87 protected function getNormalizedPostEntity() {
Chris@16 88 // @todo Update in https://www.drupal.org/node/2300677.
Chris@16 89 }
Chris@16 90
Chris@16 91 /**
Chris@16 92 * {@inheritdoc}
Chris@16 93 */
Chris@16 94 protected function getExpectedCacheContexts() {
Chris@16 95 return [
Chris@16 96 'user.permissions',
Chris@16 97 ];
Chris@16 98 }
Chris@16 99
Chris@16 100 /**
Chris@16 101 * {@inheritdoc}
Chris@16 102 */
Chris@16 103 protected function getExpectedUnauthorizedAccessMessage($method) {
Chris@16 104 if ($this->config('rest.settings')->get('bc_entity_resource_permissions')) {
Chris@16 105 return parent::getExpectedUnauthorizedAccessMessage($method);
Chris@16 106 }
Chris@16 107
Chris@16 108 return "The 'administer node fields' permission is required.";
Chris@16 109 }
Chris@16 110
Chris@16 111 }