| [ Index ] |
PHP Cross Reference of Drupal 6 (yi-drupal) |
[Summary view] [Print] [Text view]
1 <?php 2 3 /** 4 * @file 5 * Tests for the token_actions module. 6 */ 7 8 class TokenActionsTestCase extends DrupalWebTestCase { 9 public static function getInfo() { 10 return array( 11 'name' => t('Token action tests'), 12 'description' => t('Test some of the token actions and tokens.'), 13 'group' => t('Token'), 14 ); 15 } 16 17 function setUp() { 18 parent::setUp('token', 'token_actions', 'trigger'); 19 $user = $this->drupalCreateUser(array('administer actions', 'administer site configuration', 'administer users')); 20 $this->drupalLogin($user); 21 } 22 23 /** 24 * Test user actions and triggers. 25 */ 26 function testUserActions() { 27 $insert_action = $this->createAction('token_actions_message_action', array( 28 'message' => 'Yay [site-name] has a new user [user] with an ID of [uid] and e-mail address of [mail]!', 29 )); 30 $this->assignTriggerAction('user', 'insert', $insert_action); 31 32 // Create a user to trigger the action. 33 $edit = array(); 34 $edit['name'] = $this->randomName(); 35 $edit['mail'] = $edit['name'] .'@example.com'; 36 $edit['pass[pass1]'] = $this->randomName(); 37 $edit['pass[pass2]'] = $edit['pass[pass1]']; 38 39 $this->drupalPost('admin/user/user/create', $edit, t('Create new account')); 40 $account = user_load(array('name' => $edit['name'])); 41 $this->assertText("Yay Drupal has a new user {$account->name} with an ID of {$account->uid} and e-mail address of {$account->mail}!", 'Tokenized message displays'); 42 } 43 44 /** 45 * Create an action. 46 * 47 * @param $action 48 * The machine name of the action. 49 * @param $edit 50 * An optional array to pass onto drupalPost() for configuring the action. 51 * 52 * @return 53 * The created action object. 54 */ 55 function createAction($action, $edit = array()) { 56 $edit += array( 57 'actions_description' => $this->randomName(), 58 ); 59 $this->drupalPost('admin/settings/actions/configure/'. md5($action), $edit, t('Save')); 60 $this->assertText('The action has been successfully saved.'); 61 return db_fetch_object(db_query("SELECT * FROM {actions} WHERE type = 'system' AND callback = '%s' AND description = '%s'", $action, $edit['actions_description'])); 62 } 63 64 /** 65 * Assign an action to a trigger. 66 * 67 * @param $type 68 * The trigger type. 69 * @param $trigger 70 * The trigger. 71 * @param $action 72 * The action object. 73 */ 74 function assignTriggerAction($type, $trigger, $action) { 75 $edit['aid'] = md5($action->aid); 76 $this->drupalPost("admin/build/trigger/{$type}", $edit, 'Assign', array(), array(), "trigger-{$type}-{$trigger}-assign-form"); 77 return $this->assertLinkByHref("admin/build/trigger/unassign/{$type}/{$trigger}/{$edit['aid']}", 0, t('Action assigned to @type @trigger trigger.', array('@type' => $type, '@trigger' => $trigger))); 78 } 79 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Mon Jul 9 18:01:44 2012 | Cross-referenced by PHPXref 0.7 |