1 action_example.test | public ActionExampleTestCase::testActionExample() |
Test Action Example.
1. action_example_basic_action: Configure an action_example_basic_action to execute from a form submit function. 2. action_example_unblock_user_action: Configure a User action to be executed from a Views bulk operations form. 3. action_example_node_unpublish_action: Configure a Node action to be executed from a Views bulk operations form.
File
- modules/
examples/ action_example/ tests/ action_example.test, line 31 - test file for action_example module.
Class
- ActionExampleTestCase
- Default test case for the action_example module.
Code
public function testActionExample() {
// Create an administrative user.
$admin_user = $this->backdropCreateUser(
array(
'access comments',
'access content',
'post comments',
'skip comment approval',
'create post content',
'access user profiles',
'administer users',
'administer account settings',
'view own unpublished content',
)
);
$this->backdropLogin($admin_user);
// 1. Submit the simple action form and see if it puts the message on the
// screen.
$this->backdropPost('examples/action_example/basic', array(), t('Execute'));
$this->assertText(t('action_example_basic_action fired'));
// 2. Unblock user from a Views list.
$normal_user = $this->backdropCreateUser();
// Create blocked user.
$normal_user->status = 0;
$normal_user->save();
$normal_user = user_load($normal_user->uid, TRUE);
$this->assertFalse($normal_user->status, 'Normal user status has been set to blocked');
$edit = array(
'bulk_form[0]' => 1,
'action' => 'action_example_unblock_user_action',
);
$this->backdropGet('examples/ajax_example/actions-example-user-list');
$this->backdropPost('examples/ajax_example/actions-example-user-list', $edit, t('Execute'));
$this->assertRaw(t('Unblocked user %name', array('%name' => $normal_user->name)));
$this->backdropGet("user/$normal_user->uid");
$normal_user = user_load($normal_user->uid, TRUE);
$this->assertTrue($normal_user->status, 'Normal user status has been set to unblocked');
// 3. Unpublish a node from a Views list.
$node = $this->backdropCreateNode(array(
'type' => 'page',
'uid' => $admin_user->uid,
));
$edit = array(
'bulk_form[2]' => 1,
'action' => 'action_example_node_unpublish_action',
);
$this->backdropPost('examples/ajax_example/actions-example-node-list', $edit, t('Execute'));
$this->assertRaw(t('Set Page %title unpublished', array('%title' => $node->title)));
}