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('<strong>%property</strong> is <strong>%value</strong>', $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 <h2>
+    $this->assertNoRaw('<td>'. $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');
+  }
+}
+
