protected function TermTest::setUpAuthorization in JSON:API 8
Same name and namespace in other branches
- 8.2 tests/src/Functional/TermTest.php \Drupal\Tests\jsonapi\Functional\TermTest::setUpAuthorization()
Sets up the necessary authorization.
In case of a test verifying publicly accessible REST resources: grant permissions to the anonymous user role.
In case of a test verifying behavior when using a particular authentication provider: create a user with a particular set of permissions.
Because of the $method parameter, it's possible to first set up authentication for only GET, then add POST, et cetera. This then also allows for verifying a 403 in case of missing authorization.
Parameters
string $method: The HTTP method for which to set up authentication.
Overrides ResourceTestBase::setUpAuthorization
See also
::grantPermissionsToAnonymousRole()
::grantPermissionsToAuthenticatedRole()
2 calls to TermTest::setUpAuthorization()
- TermTest::testGetIndividualTermWithParent in tests/
src/ Functional/ TermTest.php - Tests GETting a term with a parent term other than the default <root> (0).
- TermTest::testPatchPath in tests/
src/ Functional/ TermTest.php - Tests PATCHing a term's path.
File
- tests/
src/ Functional/ TermTest.php, line 59
Class
- TermTest
- JSON API integration test for the "Term" content entity type.
Namespace
Drupal\Tests\jsonapi\FunctionalCode
protected function setUpAuthorization($method) {
switch ($method) {
case 'GET':
$this
->grantPermissionsToTestedRole([
'access content',
]);
break;
case 'POST':
// @todo Remove this when JSON API requires Drupal 8.5 or newer.
if (floatval(\Drupal::VERSION) < 8.5) {
$this
->grantPermissionsToTestedRole([
'administer taxonomy',
]);
}
$this
->grantPermissionsToTestedRole([
'create terms in camelids',
]);
break;
case 'PATCH':
// Grant the 'create url aliases' permission to test the case when
// the path field is accessible, see
// \Drupal\Tests\rest\Functional\EntityResource\Node\NodeResourceTestBase
// for a negative test.
$this
->grantPermissionsToTestedRole([
'edit terms in camelids',
'create url aliases',
]);
break;
case 'DELETE':
$this
->grantPermissionsToTestedRole([
'delete terms in camelids',
]);
break;
}
}