Mercurial > hg > isophonics-drupal-site
annotate core/modules/jsonapi/tests/src/Functional/ConfigTestTest.php @ 18:af1871eacc83
Update to Drupal core 8.7.1
author | Chris Cannam |
---|---|
date | Thu, 09 May 2019 15:33:08 +0100 |
parents | |
children |
rev | line source |
---|---|
Chris@18 | 1 <?php |
Chris@18 | 2 |
Chris@18 | 3 namespace Drupal\Tests\jsonapi\Functional; |
Chris@18 | 4 |
Chris@18 | 5 use Drupal\config_test\Entity\ConfigTest; |
Chris@18 | 6 use Drupal\Core\Url; |
Chris@18 | 7 |
Chris@18 | 8 /** |
Chris@18 | 9 * JSON:API integration test for the "ConfigTest" config entity type. |
Chris@18 | 10 * |
Chris@18 | 11 * @group jsonapi |
Chris@18 | 12 */ |
Chris@18 | 13 class ConfigTestTest extends ResourceTestBase { |
Chris@18 | 14 |
Chris@18 | 15 /** |
Chris@18 | 16 * {@inheritdoc} |
Chris@18 | 17 */ |
Chris@18 | 18 public static $modules = ['config_test', 'config_test_rest']; |
Chris@18 | 19 |
Chris@18 | 20 /** |
Chris@18 | 21 * {@inheritdoc} |
Chris@18 | 22 */ |
Chris@18 | 23 protected static $entityTypeId = 'config_test'; |
Chris@18 | 24 |
Chris@18 | 25 /** |
Chris@18 | 26 * {@inheritdoc} |
Chris@18 | 27 */ |
Chris@18 | 28 protected static $resourceTypeName = 'config_test--config_test'; |
Chris@18 | 29 |
Chris@18 | 30 /** |
Chris@18 | 31 * {@inheritdoc} |
Chris@18 | 32 * |
Chris@18 | 33 * @var \Drupal\config_test\ConfigTestInterface |
Chris@18 | 34 */ |
Chris@18 | 35 protected $entity; |
Chris@18 | 36 |
Chris@18 | 37 /** |
Chris@18 | 38 * {@inheritdoc} |
Chris@18 | 39 */ |
Chris@18 | 40 protected function setUpAuthorization($method) { |
Chris@18 | 41 $this->grantPermissionsToTestedRole(['view config_test']); |
Chris@18 | 42 } |
Chris@18 | 43 |
Chris@18 | 44 /** |
Chris@18 | 45 * {@inheritdoc} |
Chris@18 | 46 */ |
Chris@18 | 47 protected function getExpectedUnauthorizedAccessMessage($method) { |
Chris@18 | 48 switch ($method) { |
Chris@18 | 49 case 'GET': |
Chris@18 | 50 return "The 'view config_test' permission is required."; |
Chris@18 | 51 |
Chris@18 | 52 default: |
Chris@18 | 53 return parent::getExpectedUnauthorizedAccessMessage($method); |
Chris@18 | 54 } |
Chris@18 | 55 } |
Chris@18 | 56 |
Chris@18 | 57 /** |
Chris@18 | 58 * {@inheritdoc} |
Chris@18 | 59 */ |
Chris@18 | 60 protected function createEntity() { |
Chris@18 | 61 $config_test = ConfigTest::create([ |
Chris@18 | 62 'id' => 'llama', |
Chris@18 | 63 'label' => 'Llama', |
Chris@18 | 64 ]); |
Chris@18 | 65 $config_test->save(); |
Chris@18 | 66 |
Chris@18 | 67 return $config_test; |
Chris@18 | 68 } |
Chris@18 | 69 |
Chris@18 | 70 /** |
Chris@18 | 71 * {@inheritdoc} |
Chris@18 | 72 */ |
Chris@18 | 73 protected function getExpectedDocument() { |
Chris@18 | 74 $self_url = Url::fromUri('base:/jsonapi/config_test/config_test/' . $this->entity->uuid())->setAbsolute()->toString(TRUE)->getGeneratedUrl(); |
Chris@18 | 75 return [ |
Chris@18 | 76 'jsonapi' => [ |
Chris@18 | 77 'meta' => [ |
Chris@18 | 78 'links' => [ |
Chris@18 | 79 'self' => ['href' => 'http://jsonapi.org/format/1.0/'], |
Chris@18 | 80 ], |
Chris@18 | 81 ], |
Chris@18 | 82 'version' => '1.0', |
Chris@18 | 83 ], |
Chris@18 | 84 'links' => [ |
Chris@18 | 85 'self' => ['href' => $self_url], |
Chris@18 | 86 ], |
Chris@18 | 87 'data' => [ |
Chris@18 | 88 'id' => $this->entity->uuid(), |
Chris@18 | 89 'type' => 'config_test--config_test', |
Chris@18 | 90 'links' => [ |
Chris@18 | 91 'self' => ['href' => $self_url], |
Chris@18 | 92 ], |
Chris@18 | 93 'attributes' => [ |
Chris@18 | 94 'weight' => 0, |
Chris@18 | 95 'langcode' => 'en', |
Chris@18 | 96 'status' => TRUE, |
Chris@18 | 97 'dependencies' => [], |
Chris@18 | 98 'label' => 'Llama', |
Chris@18 | 99 'style' => NULL, |
Chris@18 | 100 'size' => NULL, |
Chris@18 | 101 'size_value' => NULL, |
Chris@18 | 102 'protected_property' => NULL, |
Chris@18 | 103 'drupal_internal__id' => 'llama', |
Chris@18 | 104 ], |
Chris@18 | 105 ], |
Chris@18 | 106 ]; |
Chris@18 | 107 } |
Chris@18 | 108 |
Chris@18 | 109 /** |
Chris@18 | 110 * {@inheritdoc} |
Chris@18 | 111 */ |
Chris@18 | 112 protected function getPostDocument() { |
Chris@18 | 113 // @todo Update in https://www.drupal.org/node/2300677. |
Chris@18 | 114 } |
Chris@18 | 115 |
Chris@18 | 116 } |