annotate core/tests/Drupal/FunctionalTests/Rest/EntityFormDisplayResourceTestBase.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\Entity\Entity\EntityFormDisplay;
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 EntityFormDisplayResourceTestBase extends EntityResourceTestBase {
Chris@16 10
Chris@16 11 /**
Chris@16 12 * {@inheritdoc}
Chris@16 13 */
Chris@16 14 public static $modules = ['node'];
Chris@16 15
Chris@16 16 /**
Chris@16 17 * {@inheritdoc}
Chris@16 18 */
Chris@16 19 protected static $entityTypeId = 'entity_form_display';
Chris@16 20
Chris@16 21 /**
Chris@16 22 * @var \Drupal\Core\Entity\Display\EntityFormDisplayInterface
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 form display']);
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 // Create a "Camelids" node type.
Chris@16 38 $camelids = NodeType::create([
Chris@16 39 'name' => 'Camelids',
Chris@16 40 'type' => 'camelids',
Chris@16 41 ]);
Chris@16 42
Chris@16 43 $camelids->save();
Chris@16 44
Chris@16 45 // Create a form display.
Chris@16 46 $form_display = EntityFormDisplay::create([
Chris@16 47 'targetEntityType' => 'node',
Chris@16 48 'bundle' => 'camelids',
Chris@16 49 'mode' => 'default',
Chris@16 50 ]);
Chris@16 51 $form_display->save();
Chris@16 52
Chris@16 53 return $form_display;
Chris@16 54 }
Chris@16 55
Chris@16 56 /**
Chris@16 57 * {@inheritdoc}
Chris@16 58 */
Chris@16 59 protected function getExpectedNormalizedEntity() {
Chris@16 60 return [
Chris@16 61 'bundle' => 'camelids',
Chris@16 62 'content' => [
Chris@16 63 'created' => [
Chris@16 64 'type' => 'datetime_timestamp',
Chris@16 65 'weight' => 10,
Chris@16 66 'region' => 'content',
Chris@16 67 'settings' => [],
Chris@16 68 'third_party_settings' => [],
Chris@16 69 ],
Chris@16 70 'promote' => [
Chris@16 71 'type' => 'boolean_checkbox',
Chris@16 72 'settings' => [
Chris@16 73 'display_label' => TRUE,
Chris@16 74 ],
Chris@16 75 'weight' => 15,
Chris@16 76 'region' => 'content',
Chris@16 77 'third_party_settings' => [],
Chris@16 78 ],
Chris@16 79 'status' => [
Chris@16 80 'type' => 'boolean_checkbox',
Chris@16 81 'weight' => 120,
Chris@16 82 'region' => 'content',
Chris@16 83 'settings' => [
Chris@16 84 'display_label' => TRUE,
Chris@16 85 ],
Chris@16 86 'third_party_settings' => [],
Chris@16 87 ],
Chris@16 88 'sticky' => [
Chris@16 89 'type' => 'boolean_checkbox',
Chris@16 90 'settings' => [
Chris@16 91 'display_label' => TRUE,
Chris@16 92 ],
Chris@16 93 'weight' => 16,
Chris@16 94 'region' => 'content',
Chris@16 95 'third_party_settings' => [],
Chris@16 96 ],
Chris@16 97 'title' => [
Chris@16 98 'type' => 'string_textfield',
Chris@16 99 'weight' => -5,
Chris@16 100 'region' => 'content',
Chris@16 101 'settings' => [
Chris@16 102 'size' => 60,
Chris@16 103 'placeholder' => '',
Chris@16 104 ],
Chris@16 105 'third_party_settings' => [],
Chris@16 106 ],
Chris@16 107 'uid' => [
Chris@16 108 'type' => 'entity_reference_autocomplete',
Chris@16 109 'weight' => 5,
Chris@16 110 'settings' => [
Chris@16 111 'match_operator' => 'CONTAINS',
Chris@16 112 'size' => 60,
Chris@16 113 'placeholder' => '',
Chris@16 114 ],
Chris@16 115 'region' => 'content',
Chris@16 116 'third_party_settings' => [],
Chris@16 117 ],
Chris@16 118 ],
Chris@16 119 'dependencies' => [
Chris@16 120 'config' => [
Chris@16 121 'node.type.camelids',
Chris@16 122 ],
Chris@16 123 ],
Chris@16 124 'hidden' => [],
Chris@16 125 'id' => 'node.camelids.default',
Chris@16 126 'langcode' => 'en',
Chris@16 127 'mode' => 'default',
Chris@16 128 'status' => NULL,
Chris@16 129 'targetEntityType' => 'node',
Chris@16 130 'uuid' => $this->entity->uuid(),
Chris@16 131 ];
Chris@16 132 }
Chris@16 133
Chris@16 134 /**
Chris@16 135 * {@inheritdoc}
Chris@16 136 */
Chris@16 137 protected function getNormalizedPostEntity() {
Chris@16 138 // @todo Update in https://www.drupal.org/node/2300677.
Chris@16 139 }
Chris@16 140
Chris@16 141 /**
Chris@16 142 * {@inheritdoc}
Chris@16 143 */
Chris@16 144 protected function getExpectedCacheContexts() {
Chris@16 145 return [
Chris@16 146 'user.permissions',
Chris@16 147 ];
Chris@16 148 }
Chris@16 149
Chris@16 150 /**
Chris@16 151 * {@inheritdoc}
Chris@16 152 */
Chris@16 153 protected function getExpectedUnauthorizedAccessMessage($method) {
Chris@16 154 if ($this->config('rest.settings')->get('bc_entity_resource_permissions')) {
Chris@16 155 return parent::getExpectedUnauthorizedAccessMessage($method);
Chris@16 156 }
Chris@16 157
Chris@16 158 return "The 'administer node form display' permission is required.";
Chris@16 159 }
Chris@16 160
Chris@16 161 }