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 }