public function AckNodeAccessTest::setUpTaxonomy in Access Control Kit 7
Utility function to prepare a taxonomy-based access test.
Parameters
string $scheme_machine_name: The access scheme machine name.
string $class: The handler class name.
2 calls to AckNodeAccessTest::setUpTaxonomy()
- AckNodeAccessTest::testFieldAccess in ack_node/ack_node.test 
- Test controlling access by a field value.
- AckNodeAccessTest::testTaxonomyAccess in ack_node/ack_node.test 
- Test controlling access with the taxonomy index.
File
- ack_node/ack_node.test, line 112 
- Tests for the ACK node module.
Class
- AckNodeAccessTest
- Tests the node access functions.
Code
public function setUpTaxonomy($scheme_machine_name, $class) {
  // Create two tags to use as realms.
  $vocabulary = taxonomy_vocabulary_machine_name_load('tags');
  for ($i = 0; $i < 2; $i++) {
    $term = new stdClass();
    $term->vid = $vocabulary->vid;
    $term->name = $this
      ->randomName();
    taxonomy_term_save($term);
  }
  // Switch the tags field from the tagging widget to checkboxes.
  $instance = field_info_instance('node', 'field_tags', 'article');
  $instance['widget'] = array(
    'type' => 'options_buttons',
    'module' => 'options',
  );
  field_update_instance($instance);
  // Tag the node.
  $edit = array(
    'field_tags[und][1]' => TRUE,
  );
  $this
    ->drupalPost('node/' . $this->node->nid . '/edit', $edit, 'Save');
  $this->node = node_load($this->node->nid, NULL, TRUE);
  // Prepare the access scheme.
  $name = $this
    ->randomName();
  $edit = array(
    'name' => $name,
    'machine_name' => $scheme_machine_name,
    'settings[vocabulary]' => 'tags',
    'roles[' . $this->ackRoleOwn->rid . ']' => TRUE,
    'roles[' . $this->ackRoleAny->rid . ']' => TRUE,
  );
  $this
    ->drupalPost('admin/structure/access/add/taxonomy-term', $edit, 'Save access scheme and continue');
  $edit = array(
    'handlers[node][handler]' => $class,
  );
  $this
    ->drupalPost(NULL, $edit, 'Save access scheme');
  $this
    ->assertText('Updated access scheme ' . $name, 'Access scheme configured.');
}