diff options
-rw-r--r-- | modules/user/user.admin.inc | 1 | ||||
-rw-r--r-- | modules/user/user.test | 26 |
2 files changed, 25 insertions, 2 deletions
diff --git a/modules/user/user.admin.inc b/modules/user/user.admin.inc index ce8a70f6a..701a78885 100644 --- a/modules/user/user.admin.inc +++ b/modules/user/user.admin.inc @@ -878,6 +878,7 @@ function user_admin_roles_order_submit($form, &$form_state) { $role->weight = $role_values['weight']; user_role_save($role); } + drupal_set_message(t('The role settings have been updated.')); } /** diff --git a/modules/user/user.test b/modules/user/user.test index 2d54f7078..0d5ec3926 100644 --- a/modules/user/user.test +++ b/modules/user/user.test @@ -1416,7 +1416,7 @@ class UserCreateTestCase extends DrupalWebTestCase { public static function getInfo() { return array( 'name' => 'User create', - 'description' => 'Test the creat user administration page.', + 'description' => 'Test the create user administration page.', 'group' => 'User', ); } @@ -1658,7 +1658,7 @@ class UserRoleAdminTestCase extends DrupalWebTestCase { public static function getInfo() { return array( 'name' => 'User role administration', - 'description' => 'Test adding, editing and deleting user roles.', + 'description' => 'Test adding, editing and deleting user roles and changing role weights.', 'group' => 'User', ); } @@ -1711,6 +1711,28 @@ class UserRoleAdminTestCase extends DrupalWebTestCase { $this->drupalGet('admin/people/permissions/roles/edit/' . DRUPAL_AUTHENTICATED_RID); $this->assertResponse(403, t('Access denied when trying to edit the built-in authenticated role.')); } + + /** + * Test user role weight change operation. + */ + function testRoleWeightChange() { + $this->drupalLogin($this->admin_user); + + // Pick up a random role and get its weight. + $rid = array_rand(user_roles()); + $role = user_role_load($rid); + $old_weight = $role->weight; + + // Change the role weight and submit the form. + $edit = array('roles['. $rid .'][weight]' => $old_weight + 1); + $this->drupalPost('admin/people/permissions/roles', $edit, t('Save order')); + $this->assertText(t('The role settings have been updated.'), t('The role settings form submitted successfully.')); + + // Retrieve the saved role and compare its weight. + $role = user_role_load($rid); + $new_weight = $role->weight; + $this->assertTrue(($old_weight + 1) == $new_weight, t('Role weight updated successfully.')); + } } /** |