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\EntityViewDisplay;
|
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 EntityViewDisplayResourceTestBase 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_view_display';
|
Chris@16
|
20
|
Chris@16
|
21 /**
|
Chris@16
|
22 * {@inheritdoc}
|
Chris@16
|
23 */
|
Chris@16
|
24 protected static $patchProtectedFieldNames = [];
|
Chris@16
|
25
|
Chris@16
|
26 /**
|
Chris@16
|
27 * @var \Drupal\Core\Entity\Display\EntityViewDisplayInterface
|
Chris@16
|
28 */
|
Chris@16
|
29 protected $entity;
|
Chris@16
|
30
|
Chris@16
|
31 /**
|
Chris@16
|
32 * {@inheritdoc}
|
Chris@16
|
33 */
|
Chris@16
|
34 protected function setUpAuthorization($method) {
|
Chris@16
|
35 $this->grantPermissionsToTestedRole(['administer node display']);
|
Chris@16
|
36 }
|
Chris@16
|
37
|
Chris@16
|
38 /**
|
Chris@16
|
39 * {@inheritdoc}
|
Chris@16
|
40 */
|
Chris@16
|
41 protected function createEntity() {
|
Chris@16
|
42 // Create a "Camelids" node type.
|
Chris@16
|
43 $camelids = NodeType::create([
|
Chris@16
|
44 'name' => 'Camelids',
|
Chris@16
|
45 'type' => 'camelids',
|
Chris@16
|
46 ]);
|
Chris@16
|
47 $camelids->save();
|
Chris@16
|
48
|
Chris@16
|
49 // Create a view display.
|
Chris@16
|
50 $view_display = EntityViewDisplay::create([
|
Chris@16
|
51 'targetEntityType' => 'node',
|
Chris@16
|
52 'bundle' => 'camelids',
|
Chris@16
|
53 'mode' => 'default',
|
Chris@16
|
54 'status' => TRUE,
|
Chris@16
|
55 ]);
|
Chris@16
|
56 $view_display->save();
|
Chris@16
|
57
|
Chris@16
|
58 return $view_display;
|
Chris@16
|
59 }
|
Chris@16
|
60
|
Chris@16
|
61 /**
|
Chris@16
|
62 * {@inheritdoc}
|
Chris@16
|
63 */
|
Chris@16
|
64 protected function getExpectedNormalizedEntity() {
|
Chris@16
|
65 return [
|
Chris@16
|
66 'bundle' => 'camelids',
|
Chris@16
|
67 'content' => [
|
Chris@16
|
68 'links' => [
|
Chris@16
|
69 'region' => 'content',
|
Chris@16
|
70 'weight' => 100,
|
Chris@17
|
71 'settings' => [],
|
Chris@17
|
72 'third_party_settings' => [],
|
Chris@16
|
73 ],
|
Chris@16
|
74 ],
|
Chris@16
|
75 'dependencies' => [
|
Chris@16
|
76 'config' => [
|
Chris@16
|
77 'node.type.camelids',
|
Chris@16
|
78 ],
|
Chris@16
|
79 'module' => [
|
Chris@16
|
80 'user',
|
Chris@16
|
81 ],
|
Chris@16
|
82 ],
|
Chris@16
|
83 'hidden' => [],
|
Chris@16
|
84 'id' => 'node.camelids.default',
|
Chris@16
|
85 'langcode' => 'en',
|
Chris@16
|
86 'mode' => 'default',
|
Chris@16
|
87 'status' => TRUE,
|
Chris@16
|
88 'targetEntityType' => 'node',
|
Chris@16
|
89 'uuid' => $this->entity->uuid(),
|
Chris@16
|
90 ];
|
Chris@16
|
91 }
|
Chris@16
|
92
|
Chris@16
|
93 /**
|
Chris@16
|
94 * {@inheritdoc}
|
Chris@16
|
95 */
|
Chris@16
|
96 protected function getNormalizedPostEntity() {
|
Chris@16
|
97 // @todo Update in https://www.drupal.org/node/2300677.
|
Chris@16
|
98 }
|
Chris@16
|
99
|
Chris@16
|
100 /**
|
Chris@16
|
101 * {@inheritdoc}
|
Chris@16
|
102 */
|
Chris@16
|
103 protected function getExpectedCacheContexts() {
|
Chris@16
|
104 return [
|
Chris@16
|
105 'user.permissions',
|
Chris@16
|
106 ];
|
Chris@16
|
107 }
|
Chris@16
|
108
|
Chris@16
|
109 /**
|
Chris@16
|
110 * {@inheritdoc}
|
Chris@16
|
111 */
|
Chris@16
|
112 protected function getExpectedUnauthorizedAccessMessage($method) {
|
Chris@16
|
113 if ($this->config('rest.settings')->get('bc_entity_resource_permissions')) {
|
Chris@16
|
114 return parent::getExpectedUnauthorizedAccessMessage($method);
|
Chris@16
|
115 }
|
Chris@16
|
116
|
Chris@16
|
117 return "The 'administer node display' permission is required.";
|
Chris@16
|
118 }
|
Chris@16
|
119
|
Chris@16
|
120 }
|