annotate core/modules/jsonapi/tests/src/Functional/RoleTest.php @ 5:12f9dff5fda9 tip

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