Index: modules/user/user.test =================================================================== RCS file: /cvs/drupal/drupal/modules/user/user.test,v retrieving revision 1.10 diff -u -p -r1.10 user.test --- modules/user/user.test 27 Jun 2008 07:25:11 -0000 1.10 +++ modules/user/user.test 28 Aug 2008 11:47:27 -0000 @@ -463,3 +463,59 @@ class UserPermissionsTestCase extends Dr } } + +class UserAdminTestCase extends DrupalWebTestCase { + /** + * Implementation of getInfo(). + */ + function getInfo() { + return array( + 'name' => t('User admininstration'), + 'description' => t('Test user admininstration page functionality.'), + 'group' => t('User') + ); + } + + /** + * Registers a user and deletes it. + */ + function testUserAdmin() { + + $user_a = $this->drupalCreateUser(array()); + $user_b = $this->drupalCreateUser(array('administer taxonomy')); + $user_c = $this->drupalCreateUser(array('administer taxonomy')); + // Create admin user to delete registered user. + $admin_user = $this->drupalCreateUser(array('administer users')); + $this->drupalLogin($admin_user); + $this->drupalGet('admin/user/user'); + $this->assertText($user_a->name, t('Found user A on admin users page')); + $this->assertText($user_b->name, t('Found user B on admin users page')); + $this->assertText($user_c->name, t('Found user C on admin users page')); + $this->assertText($admin_user->name, t('Found Admin user on admin users page')); + + $edit = array(); + $edit['filter'] = 'permission'; + $edit['permission'] = 'administer taxonomy'; + $this->drupalPost('admin/user/user', $edit, t('Filter')); + + $params['%property'] = t('permission'); + $params['%value'] = t('administer taxonomy'); + $this->assertRaw(t('%property is %value', $params), t('Found description of applied filter')); + $this->assertNoText($user_a->name, t('User A not on filtered by perm admin users page')); + $this->assertText($user_b->name, t('Found user B on filtered by perm admin users page')); + $this->assertText($user_c->name, t('Found user C on filtered by perm admin users page')); + // Hack here - the admin user appears in the Navigation menu in a

+ $this->assertNoRaw(''. $admin_user->name, t('Admin user not on filtered by perm admin users page ').$admin_user->name); + + // Test blocking of a user + $account = user_load(array('name' => $user_b->name)); + $this->assertEqual($account->status, 1, 'User B not blocked'); + $edit = array(); + $edit['operation'] = 'block'; + $edit['accounts['. $account->uid .']'] = TRUE; + $this->drupalPost('admin/user/user', $edit, t('Update')); + $account = user_load(array('name' => $user_b->name)); + $this->assertEqual($account->status, 0, 'User B blocked'); + } +} +