function ContentAccessACLTestCase::testDeleteAccess in Content Access 7
Same name and namespace in other branches
- 5 tests/content_access_acl.test \ContentAccessACLTestCase::testDeleteAccess()
- 6 tests/content_access_acl.test \ContentAccessACLTestCase::testDeleteAccess()
Test Deleting accessibility with permissions for single users
File
- tests/
content_access_acl.test, line 142
Class
Code
function testDeleteAccess() {
// Exit test if ACL module could not be enabled
if (!module_exists('acl')) {
$this
->pass('No ACL module present, skipping test');
return;
}
// Enable per node access control
$this
->changeAccessPerNode();
// Allow delete access for test user
$edit = array(
'acl[delete][add]' => $this->test_user->name,
);
$this
->drupalPost('node/' . $this->node->nid . '/access', $edit, t('Add User'));
$this
->drupalPost(NULL, array(), t('Submit'));
// Logout admin, try to delete the node anonymously
$this
->drupalLogout();
$this
->drupalGet('node/' . $this->node->nid . '/delete');
$this
->assertText(t('Access denied'), 'node is not deletable');
// Login test user, delete access should be allowed now
$this
->drupalLogin($this->test_user);
$this
->drupalGet('node/' . $this->node->nid . '/delete');
$this
->assertNoText(t('Access denied'), 'node is deletable');
// Login admin and disable per node access
$this
->drupalLogin($this->admin_user);
$this
->changeAccessPerNode(FALSE);
// Logout admin, try to delete the node anonymously
$this
->drupalLogout();
$this
->drupalGet('node/' . $this->node->nid . '/delete');
$this
->assertText(t('Access denied'), 'node is not deletable');
// Login test user, delete access should be denied now
$this
->drupalLogin($this->test_user);
$this
->drupalGet('node/' . $this->node->nid . '/delete');
$this
->assertText(t('Access denied'), 'node is not deletable');
}