Chris@18
|
1 <?php
|
Chris@18
|
2
|
Chris@18
|
3 namespace Drupal\Tests\jsonapi\Functional;
|
Chris@18
|
4
|
Chris@18
|
5 use Drupal\Core\Entity\Entity\EntityViewMode;
|
Chris@18
|
6 use Drupal\Core\Url;
|
Chris@18
|
7
|
Chris@18
|
8 /**
|
Chris@18
|
9 * JSON:API integration test for the "EntityViewMode" config entity type.
|
Chris@18
|
10 *
|
Chris@18
|
11 * @group jsonapi
|
Chris@18
|
12 */
|
Chris@18
|
13 class EntityViewModeTest extends ResourceTestBase {
|
Chris@18
|
14
|
Chris@18
|
15 /**
|
Chris@18
|
16 * {@inheritdoc}
|
Chris@18
|
17 *
|
Chris@18
|
18 * @todo: Remove 'field_ui' when https://www.drupal.org/node/2867266.
|
Chris@18
|
19 */
|
Chris@18
|
20 public static $modules = ['user', 'field_ui'];
|
Chris@18
|
21
|
Chris@18
|
22 /**
|
Chris@18
|
23 * {@inheritdoc}
|
Chris@18
|
24 */
|
Chris@18
|
25 protected static $entityTypeId = 'entity_view_mode';
|
Chris@18
|
26
|
Chris@18
|
27 /**
|
Chris@18
|
28 * {@inheritdoc}
|
Chris@18
|
29 */
|
Chris@18
|
30 protected static $resourceTypeName = 'entity_view_mode--entity_view_mode';
|
Chris@18
|
31
|
Chris@18
|
32 /**
|
Chris@18
|
33 * {@inheritdoc}
|
Chris@18
|
34 *
|
Chris@18
|
35 * @var \Drupal\Core\Entity\EntityViewModeInterface
|
Chris@18
|
36 */
|
Chris@18
|
37 protected $entity;
|
Chris@18
|
38
|
Chris@18
|
39 /**
|
Chris@18
|
40 * {@inheritdoc}
|
Chris@18
|
41 */
|
Chris@18
|
42 protected function setUpAuthorization($method) {
|
Chris@18
|
43 $this->grantPermissionsToTestedRole(['administer display modes']);
|
Chris@18
|
44 }
|
Chris@18
|
45
|
Chris@18
|
46 /**
|
Chris@18
|
47 * {@inheritdoc}
|
Chris@18
|
48 */
|
Chris@18
|
49 protected function createEntity() {
|
Chris@18
|
50 $entity_view_mode = EntityViewMode::create([
|
Chris@18
|
51 'id' => 'user.test',
|
Chris@18
|
52 'label' => 'Test',
|
Chris@18
|
53 'targetEntityType' => 'user',
|
Chris@18
|
54 ]);
|
Chris@18
|
55 $entity_view_mode->save();
|
Chris@18
|
56 return $entity_view_mode;
|
Chris@18
|
57 }
|
Chris@18
|
58
|
Chris@18
|
59 /**
|
Chris@18
|
60 * {@inheritdoc}
|
Chris@18
|
61 */
|
Chris@18
|
62 protected function getExpectedDocument() {
|
Chris@18
|
63 $self_url = Url::fromUri('base:/jsonapi/entity_view_mode/entity_view_mode/' . $this->entity->uuid())->setAbsolute()->toString(TRUE)->getGeneratedUrl();
|
Chris@18
|
64 return [
|
Chris@18
|
65 'jsonapi' => [
|
Chris@18
|
66 'meta' => [
|
Chris@18
|
67 'links' => [
|
Chris@18
|
68 'self' => ['href' => 'http://jsonapi.org/format/1.0/'],
|
Chris@18
|
69 ],
|
Chris@18
|
70 ],
|
Chris@18
|
71 'version' => '1.0',
|
Chris@18
|
72 ],
|
Chris@18
|
73 'links' => [
|
Chris@18
|
74 'self' => ['href' => $self_url],
|
Chris@18
|
75 ],
|
Chris@18
|
76 'data' => [
|
Chris@18
|
77 'id' => $this->entity->uuid(),
|
Chris@18
|
78 'type' => 'entity_view_mode--entity_view_mode',
|
Chris@18
|
79 'links' => [
|
Chris@18
|
80 'self' => ['href' => $self_url],
|
Chris@18
|
81 ],
|
Chris@18
|
82 'attributes' => [
|
Chris@18
|
83 'cache' => TRUE,
|
Chris@18
|
84 'dependencies' => [
|
Chris@18
|
85 'module' => [
|
Chris@18
|
86 'user',
|
Chris@18
|
87 ],
|
Chris@18
|
88 ],
|
Chris@18
|
89 'label' => 'Test',
|
Chris@18
|
90 'langcode' => 'en',
|
Chris@18
|
91 'status' => TRUE,
|
Chris@18
|
92 'targetEntityType' => 'user',
|
Chris@18
|
93 'drupal_internal__id' => 'user.test',
|
Chris@18
|
94 ],
|
Chris@18
|
95 ],
|
Chris@18
|
96 ];
|
Chris@18
|
97 }
|
Chris@18
|
98
|
Chris@18
|
99 /**
|
Chris@18
|
100 * {@inheritdoc}
|
Chris@18
|
101 */
|
Chris@18
|
102 protected function getPostDocument() {
|
Chris@18
|
103 // @todo Update in https://www.drupal.org/node/2300677.
|
Chris@18
|
104 }
|
Chris@18
|
105
|
Chris@18
|
106 }
|