function TriggerContentTestCase::testActionContentMultiple
7.x trigger.test | TriggerContentTestCase::testActionContentMultiple() |
Tests multiple node actions.
Verifies that node actions are fired for each node individually, if acting on multiple nodes.
File
- drupal-7.x/
modules/ trigger/ trigger.test, line 113 - Tests for trigger.module.
Class
- TriggerContentTestCase
- Provides tests for node triggers.
Code
function testActionContentMultiple() {
// Assign an action to the node save/update trigger.
$test_user = $this->drupalCreateUser(array('administer actions', 'administer nodes', 'create page content', 'access administration pages', 'access content overview'));
$this->drupalLogin($test_user);
$nodes = array();
for ($index = 0; $index < 3; $index++) {
$nodes[] = $this->drupalCreateNode(array('type' => 'page'));
}
$action_id = 'trigger_test_generic_any_action';
$hash = drupal_hash_base64($action_id);
$edit = array('aid' => $hash);
$this->drupalPost('admin/structure/trigger/node', $edit, t('Assign'), array(), array(), 'trigger-node-update-assign-form');
$edit = array(
'operation' => 'unpublish',
'nodes[' . $nodes[0]->nid . ']' => TRUE,
'nodes[' . $nodes[1]->nid . ']' => TRUE,
);
$this->drupalPost('admin/content', $edit, t('Update'));
$count = variable_get('trigger_test_generic_any_action', 0);
$this->assertTrue($count == 2, format_string('Action was triggered 2 times. Actual: %count', array('%count' => $count)));
}