function TrackerNodeAccessTest::testTrackerNodeAccess in Zircon Profile 8.0
Same name and namespace in other branches
- 8 core/modules/tracker/src/Tests/TrackerNodeAccessTest.php \Drupal\tracker\Tests\TrackerNodeAccessTest::testTrackerNodeAccess()
Ensure private node on /tracker is only visible to users with permission.
File
- core/
modules/ tracker/ src/ Tests/ TrackerNodeAccessTest.php, line 43 - Contains \Drupal\tracker\Tests\TrackerNodeAccessTest.
Class
- TrackerNodeAccessTest
- Tests for private node access on /tracker.
Namespace
Drupal\tracker\TestsCode
function testTrackerNodeAccess() {
// Create user with node test view permission.
$access_user = $this
->drupalCreateUser(array(
'node test view',
'access user profiles',
));
// Create user without node test view permission.
$no_access_user = $this
->drupalCreateUser(array(
'access user profiles',
));
$this
->drupalLogin($access_user);
// Create some nodes.
$private_node = $this
->drupalCreateNode(array(
'title' => t('Private node test'),
'private' => TRUE,
));
$public_node = $this
->drupalCreateNode(array(
'title' => t('Public node test'),
'private' => FALSE,
));
// User with access should see both nodes created.
$this
->drupalGet('activity');
$this
->assertText($private_node
->getTitle(), 'Private node is visible to user with private access.');
$this
->assertText($public_node
->getTitle(), 'Public node is visible to user with private access.');
$this
->drupalGet('user/' . $access_user
->id() . '/activity');
$this
->assertText($private_node
->getTitle(), 'Private node is visible to user with private access.');
$this
->assertText($public_node
->getTitle(), 'Public node is visible to user with private access.');
// User without access should not see private node.
$this
->drupalLogin($no_access_user);
$this
->drupalGet('activity');
$this
->assertNoText($private_node
->getTitle(), 'Private node is not visible to user without private access.');
$this
->assertText($public_node
->getTitle(), 'Public node is visible to user without private access.');
$this
->drupalGet('user/' . $access_user
->id() . '/activity');
$this
->assertNoText($private_node
->getTitle(), 'Private node is not visible to user without private access.');
$this
->assertText($public_node
->getTitle(), 'Public node is visible to user without private access.');
}