Mercurial > hg > isophonics-drupal-site
annotate core/modules/jsonapi/tests/src/Functional/RoleTest.php @ 19:fa3358dc1485 tip
Add ndrum files
author | Chris Cannam |
---|---|
date | Wed, 28 Aug 2019 13:14:47 +0100 |
parents | af1871eacc83 |
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\Core\Url; |
Chris@18 | 6 use Drupal\user\Entity\Role; |
Chris@18 | 7 |
Chris@18 | 8 /** |
Chris@18 | 9 * JSON:API integration test for the "Role" config entity type. |
Chris@18 | 10 * |
Chris@18 | 11 * @group jsonapi |
Chris@18 | 12 */ |
Chris@18 | 13 class RoleTest extends ResourceTestBase { |
Chris@18 | 14 |
Chris@18 | 15 |
Chris@18 | 16 /** |
Chris@18 | 17 * {@inheritdoc} |
Chris@18 | 18 */ |
Chris@18 | 19 public static $modules = ['user']; |
Chris@18 | 20 |
Chris@18 | 21 /** |
Chris@18 | 22 * {@inheritdoc} |
Chris@18 | 23 */ |
Chris@18 | 24 protected static $entityTypeId = 'user_role'; |
Chris@18 | 25 |
Chris@18 | 26 /** |
Chris@18 | 27 * {@inheritdoc} |
Chris@18 | 28 */ |
Chris@18 | 29 protected static $resourceTypeName = 'user_role--user_role'; |
Chris@18 | 30 |
Chris@18 | 31 /** |
Chris@18 | 32 * {@inheritdoc} |
Chris@18 | 33 * |
Chris@18 | 34 * @var \Drupal\user\RoleInterface |
Chris@18 | 35 */ |
Chris@18 | 36 protected $entity; |
Chris@18 | 37 |
Chris@18 | 38 /** |
Chris@18 | 39 * {@inheritdoc} |
Chris@18 | 40 */ |
Chris@18 | 41 protected function setUpAuthorization($method) { |
Chris@18 | 42 $this->grantPermissionsToTestedRole(['administer permissions']); |
Chris@18 | 43 } |
Chris@18 | 44 |
Chris@18 | 45 /** |
Chris@18 | 46 * {@inheritdoc} |
Chris@18 | 47 */ |
Chris@18 | 48 protected function createEntity() { |
Chris@18 | 49 $role = Role::create([ |
Chris@18 | 50 'id' => 'llama', |
Chris@18 | 51 'name' => $this->randomString(), |
Chris@18 | 52 ]); |
Chris@18 | 53 $role->save(); |
Chris@18 | 54 |
Chris@18 | 55 return $role; |
Chris@18 | 56 } |
Chris@18 | 57 |
Chris@18 | 58 /** |
Chris@18 | 59 * {@inheritdoc} |
Chris@18 | 60 */ |
Chris@18 | 61 protected function getExpectedDocument() { |
Chris@18 | 62 $self_url = Url::fromUri('base:/jsonapi/user_role/user_role/' . $this->entity->uuid())->setAbsolute()->toString(TRUE)->getGeneratedUrl(); |
Chris@18 | 63 return [ |
Chris@18 | 64 'jsonapi' => [ |
Chris@18 | 65 'meta' => [ |
Chris@18 | 66 'links' => [ |
Chris@18 | 67 'self' => ['href' => 'http://jsonapi.org/format/1.0/'], |
Chris@18 | 68 ], |
Chris@18 | 69 ], |
Chris@18 | 70 'version' => '1.0', |
Chris@18 | 71 ], |
Chris@18 | 72 'links' => [ |
Chris@18 | 73 'self' => ['href' => $self_url], |
Chris@18 | 74 ], |
Chris@18 | 75 'data' => [ |
Chris@18 | 76 'id' => $this->entity->uuid(), |
Chris@18 | 77 'type' => 'user_role--user_role', |
Chris@18 | 78 'links' => [ |
Chris@18 | 79 'self' => ['href' => $self_url], |
Chris@18 | 80 ], |
Chris@18 | 81 'attributes' => [ |
Chris@18 | 82 'weight' => 2, |
Chris@18 | 83 'langcode' => 'en', |
Chris@18 | 84 'status' => TRUE, |
Chris@18 | 85 'dependencies' => [], |
Chris@18 | 86 'label' => NULL, |
Chris@18 | 87 'is_admin' => NULL, |
Chris@18 | 88 'permissions' => [], |
Chris@18 | 89 'drupal_internal__id' => 'llama', |
Chris@18 | 90 ], |
Chris@18 | 91 ], |
Chris@18 | 92 ]; |
Chris@18 | 93 } |
Chris@18 | 94 |
Chris@18 | 95 /** |
Chris@18 | 96 * {@inheritdoc} |
Chris@18 | 97 */ |
Chris@18 | 98 protected function getPostDocument() { |
Chris@18 | 99 // @todo Update in https://www.drupal.org/node/2300677. |
Chris@18 | 100 } |
Chris@18 | 101 |
Chris@18 | 102 } |