public function FieldPermissionsTest::testFieldPermissions in Display Suite 8.3
Same name and namespace in other branches
- 8.4 tests/src/Functional/FieldPermissionsTest.php \Drupal\Tests\ds\Functional\FieldPermissionsTest::testFieldPermissions()
Tests field permissions.
File
- tests/
src/ Functional/ FieldPermissionsTest.php, line 32
Class
- FieldPermissionsTest
- Tests for testing field permissions.
Namespace
Drupal\Tests\ds\FunctionalCode
public function testFieldPermissions() {
$fields = [
'fields[body][region]' => 'right',
'fields[test_field][region]' => 'left',
];
$this
->config('ds_extras.settings')
->set('field_permissions', TRUE)
->save();
\Drupal::moduleHandler()
->resetImplementations();
$this
->dsSelectLayout();
$this
->dsConfigureUi($fields);
// Create a node.
$settings = [
'type' => 'article',
];
$node = $this
->drupalCreateNode($settings);
$this
->drupalGet('node/' . $node
->id());
$this
->assertSession()
->responseContains('group-right');
$this
->assertSession()
->pageTextNotContains('Test field plugin on node ' . $node
->id());
// Give permissions.
$edit = [
'authenticated[view node_author on node]' => 1,
'authenticated[view test_field on node]' => 1,
];
$this
->drupalPostForm('admin/people/permissions', $edit, 'Save permissions');
$this
->drupalGet('node/' . $node
->id());
$this
->assertSession()
->responseContains('group-left');
$this
->assertSession()
->pageTextContains('Test field plugin on node ' . $node
->id());
}