Mercurial > hg > isophonics-drupal-site
annotate core/modules/jsonapi/tests/src/Functional/MenuTest.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\system\Entity\Menu; |
Chris@18 | 7 |
Chris@18 | 8 /** |
Chris@18 | 9 * JSON:API integration test for the "Menu" config entity type. |
Chris@18 | 10 * |
Chris@18 | 11 * @group jsonapi |
Chris@18 | 12 */ |
Chris@18 | 13 class MenuTest extends ResourceTestBase { |
Chris@18 | 14 |
Chris@18 | 15 /** |
Chris@18 | 16 * {@inheritdoc} |
Chris@18 | 17 */ |
Chris@18 | 18 public static $modules = []; |
Chris@18 | 19 |
Chris@18 | 20 /** |
Chris@18 | 21 * {@inheritdoc} |
Chris@18 | 22 */ |
Chris@18 | 23 protected static $entityTypeId = 'menu'; |
Chris@18 | 24 |
Chris@18 | 25 /** |
Chris@18 | 26 * {@inheritdoc} |
Chris@18 | 27 */ |
Chris@18 | 28 protected static $resourceTypeName = 'menu--menu'; |
Chris@18 | 29 |
Chris@18 | 30 /** |
Chris@18 | 31 * {@inheritdoc} |
Chris@18 | 32 */ |
Chris@18 | 33 protected static $anonymousUsersCanViewLabels = TRUE; |
Chris@18 | 34 |
Chris@18 | 35 /** |
Chris@18 | 36 * {@inheritdoc} |
Chris@18 | 37 * |
Chris@18 | 38 * @var \Drupal\system\MenuInterface |
Chris@18 | 39 */ |
Chris@18 | 40 protected $entity; |
Chris@18 | 41 |
Chris@18 | 42 /** |
Chris@18 | 43 * {@inheritdoc} |
Chris@18 | 44 */ |
Chris@18 | 45 protected function setUpAuthorization($method) { |
Chris@18 | 46 $this->grantPermissionsToTestedRole(['administer menu']); |
Chris@18 | 47 } |
Chris@18 | 48 |
Chris@18 | 49 /** |
Chris@18 | 50 * {@inheritdoc} |
Chris@18 | 51 */ |
Chris@18 | 52 protected function createEntity() { |
Chris@18 | 53 $menu = Menu::create([ |
Chris@18 | 54 'id' => 'menu', |
Chris@18 | 55 'label' => 'Menu', |
Chris@18 | 56 'description' => 'Menu', |
Chris@18 | 57 ]); |
Chris@18 | 58 $menu->save(); |
Chris@18 | 59 |
Chris@18 | 60 return $menu; |
Chris@18 | 61 } |
Chris@18 | 62 |
Chris@18 | 63 /** |
Chris@18 | 64 * {@inheritdoc} |
Chris@18 | 65 */ |
Chris@18 | 66 protected function getExpectedDocument() { |
Chris@18 | 67 $self_url = Url::fromUri('base:/jsonapi/menu/menu/' . $this->entity->uuid())->setAbsolute()->toString(TRUE)->getGeneratedUrl(); |
Chris@18 | 68 return [ |
Chris@18 | 69 'jsonapi' => [ |
Chris@18 | 70 'meta' => [ |
Chris@18 | 71 'links' => [ |
Chris@18 | 72 'self' => ['href' => 'http://jsonapi.org/format/1.0/'], |
Chris@18 | 73 ], |
Chris@18 | 74 ], |
Chris@18 | 75 'version' => '1.0', |
Chris@18 | 76 ], |
Chris@18 | 77 'links' => [ |
Chris@18 | 78 'self' => ['href' => $self_url], |
Chris@18 | 79 ], |
Chris@18 | 80 'data' => [ |
Chris@18 | 81 'id' => $this->entity->uuid(), |
Chris@18 | 82 'type' => 'menu--menu', |
Chris@18 | 83 'links' => [ |
Chris@18 | 84 'self' => ['href' => $self_url], |
Chris@18 | 85 ], |
Chris@18 | 86 'attributes' => [ |
Chris@18 | 87 'dependencies' => [], |
Chris@18 | 88 'description' => 'Menu', |
Chris@18 | 89 'label' => 'Menu', |
Chris@18 | 90 'langcode' => 'en', |
Chris@18 | 91 'locked' => FALSE, |
Chris@18 | 92 'status' => TRUE, |
Chris@18 | 93 'drupal_internal__id' => 'menu', |
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 } |