function QuickEditEntityFieldAccessCheckTest::testAccess
Same name in other branches
- 8.9.x core/modules/quickedit/tests/src/Unit/Access/QuickEditEntityFieldAccessCheckTest.php \Drupal\Tests\quickedit\Unit\Access\QuickEditEntityFieldAccessCheckTest::testAccess()
Tests the method for checking access to routes.
@dataProvider providerTestAccess
Parameters
bool $entity_is_editable: Whether the subject entity is editable.
bool $field_storage_is_accessible: Whether the user has access to the field storage entity.
\Drupal\Core\Access\AccessResult $expected_result: The expected result of the access call.
File
-
core/
modules/ quickedit/ tests/ src/ Unit/ Access/ QuickEditEntityFieldAccessCheckTest.php, line 68
Class
- QuickEditEntityFieldAccessCheckTest
- @coversDefaultClass \Drupal\quickedit\Access\QuickEditEntityFieldAccessCheck @group Access @group quickedit @group legacy
Namespace
Drupal\Tests\quickedit\Unit\AccessCode
public function testAccess($entity_is_editable, $field_storage_is_accessible, AccessResult $expected_result) {
$entity = $this->createMockEntity();
$entity->expects($this->any())
->method('access')
->willReturn(AccessResult::allowedIf($entity_is_editable)->cachePerPermissions());
$field_storage = $this->createMock('Drupal\\field\\FieldStorageConfigInterface');
$field_storage->expects($this->any())
->method('access')
->willReturn(AccessResult::allowedIf($field_storage_is_accessible));
$expected_result->cachePerPermissions();
$field_name = 'valid';
$entity_with_field = clone $entity;
$entity_with_field->expects($this->any())
->method('get')
->with($field_name)
->willReturn($field_storage);
$entity_with_field->expects($this->once())
->method('hasTranslation')
->with(LanguageInterface::LANGCODE_NOT_SPECIFIED)
->willReturn(TRUE);
$account = $this->createMock('Drupal\\Core\\Session\\AccountInterface');
$access = $this->editAccessCheck
->access($entity_with_field, $field_name, LanguageInterface::LANGCODE_NOT_SPECIFIED, $account);
$this->assertEquals($expected_result, $access);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.