NodeQueryAlter::testNodeQueryAlterLowLevelEditAccess

7 node.test NodeQueryAlter::testNodeQueryAlterLowLevelEditAccess()
8 node.test NodeQueryAlter::testNodeQueryAlterLowLevelEditAccess()

Lower-level test of 'node_access' query alter, for edit access.

Verifies that a non-standard table alias can be used, and that a user with view-only node access cannot edit the nodes.

File

modules/node/node.test, line 2087
Tests for node.module.

Code

function testNodeQueryAlterLowLevelEditAccess() {
  // User with view-only access should not be able to edit nodes.
  try {
    $query = db_select('node', 'mytab')
        ->fields('mytab');
    $query->addTag('node_access');
    $query->addMetaData('op', 'update');
    $query->addMetaData('account', $this->accessUser);

    $result = $query->execute()->fetchAll();
    $this->assertEqual(count($result), 0, t('User with view-only access cannot edit nodes'));
  }
  catch (Exception $e) {
    $this->fail($e->getMessage());
    $this->fail((string) $query);
    $this->fail(t('Altered query is malformed'));
  }
}
Login or register to post comments