Changeset 36047
- Timestamp:
- 12/21/2015 06:56:57 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/tests/user/capabilities.php
r35872 r36047 8 8 */ 9 9 class Tests_User_Capabilities extends WP_UnitTestCase { 10 protected $user_ids = array(); 10 11 protected static $users = array(); 12 13 public static function wpSetUpBeforeClass( $factory ) { 14 self::$users = array( 15 'administrator' => $factory->user->create_and_get( array( 'role' => 'administrator' ) ), 16 'editor' => $factory->user->create_and_get( array( 'role' => 'editor' ) ), 17 'author' => $factory->user->create_and_get( array( 'role' => 'author' ) ), 18 'contributor' => $factory->user->create_and_get( array( 'role' => 'contributor' ) ), 19 'subscriber' => $factory->user->create_and_get( array( 'role' => 'subscriber' ) ), 20 ); 21 } 11 22 12 23 function setUp() { … … 15 26 $this->_flush_roles(); 16 27 17 $this->orig_users = get_users();18 28 } 19 29 … … 234 244 // test the tests 235 245 function test_all_caps_of_users_are_being_tested() { 236 $users = array(237 'administrator' => self::factory()->user->create_and_get( array( 'role' => 'administrator' ) ),238 'editor' => self::factory()->user->create_and_get( array( 'role' => 'editor' ) ),239 'author' => self::factory()->user->create_and_get( array( 'role' => 'author' ) ),240 'contributor' => self::factory()->user->create_and_get( array( 'role' => 'contributor' ) ),241 'subscriber' => self::factory()->user->create_and_get( array( 'role' => 'subscriber' ) ),242 );243 246 $caps = $this->getCapsAndRoles(); 244 247 … … 248 251 $this->assertFalse( defined( 'ALLOW_UNFILTERED_UPLOADS' ) ); 249 252 250 foreach ( $users as $role => $user ) {253 foreach ( self::$users as $role => $user ) { 251 254 252 255 // make sure the user is valid … … 272 275 // test the default roles and caps 273 276 function test_all_roles_and_caps() { 274 $users = array(275 'administrator' => self::factory()->user->create_and_get( array( 'role' => 'administrator' ) ),276 'editor' => self::factory()->user->create_and_get( array( 'role' => 'editor' ) ),277 'author' => self::factory()->user->create_and_get( array( 'role' => 'author' ) ),278 'contributor' => self::factory()->user->create_and_get( array( 'role' => 'contributor' ) ),279 'subscriber' => self::factory()->user->create_and_get( array( 'role' => 'subscriber' ) ),280 );281 277 $caps = $this->getCapsAndRoles(); 282 278 283 foreach ( $users as $role => $user ) {279 foreach ( self::$users as $role => $user ) { 284 280 285 281 // make sure the user is valid … … 308 304 // special case for the link manager 309 305 function test_link_manager_caps() { 310 $users = array(311 'administrator' => self::factory()->user->create_and_get( array( 'role' => 'administrator' ) ),312 'editor' => self::factory()->user->create_and_get( array( 'role' => 'editor' ) ),313 'author' => self::factory()->user->create_and_get( array( 'role' => 'author' ) ),314 'contributor' => self::factory()->user->create_and_get( array( 'role' => 'contributor' ) ),315 'subscriber' => self::factory()->user->create_and_get( array( 'role' => 'subscriber' ) ),316 );317 306 $caps = array( 318 307 'manage_links' => array( 'administrator', 'editor' ), … … 322 311 323 312 // no-one should have access to the link manager by default 324 foreach ( $users as $role => $user ) {313 foreach ( self::$users as $role => $user ) { 325 314 foreach ( $caps as $cap => $roles ) { 326 315 $this->assertFalse( $user->has_cap( $cap ), "User with the {$role} role should not have the {$cap} capability" ); … … 332 321 $this->assertSame( '1', get_option( 'link_manager_enabled' ) ); 333 322 334 foreach ( $users as $role => $user ) {323 foreach ( self::$users as $role => $user ) { 335 324 foreach ( $caps as $cap => $roles ) { 336 325 if ( in_array( $role, $roles, true ) ) { … … 351 340 // special case for unfiltered uploads 352 341 function test_unfiltered_upload_caps() { 353 $users = array(354 'administrator' => self::factory()->user->create_and_get( array( 'role' => 'administrator' ) ),355 'editor' => self::factory()->user->create_and_get( array( 'role' => 'editor' ) ),356 'author' => self::factory()->user->create_and_get( array( 'role' => 'author' ) ),357 'contributor' => self::factory()->user->create_and_get( array( 'role' => 'contributor' ) ),358 'subscriber' => self::factory()->user->create_and_get( array( 'role' => 'subscriber' ) ),359 );360 361 342 $this->assertFalse( defined( 'ALLOW_UNFILTERED_UPLOADS' ) ); 362 343 363 344 // no-one should have this cap 364 foreach ( $users as $role => $user ) {345 foreach ( self::$users as $role => $user ) { 365 346 $this->assertFalse( $user->has_cap( 'unfiltered_upload' ), "User with the {$role} role should not have the unfiltered_upload capability" ); 366 347 $this->assertFalse( user_can( $user, 'unfiltered_upload' ), "User with the {$role} role should not have the unfiltered_upload capability" ); … … 376 357 $caps = $this->getCapsAndRoles(); 377 358 378 $user = self:: factory()->user->create_and_get( array( 'role' => 'administrator' ) );359 $user = self::$users['administrator']; 379 360 grant_super_admin( $user->ID ); 380 361 … … 414 395 // a user with multiple roles 415 396 function test_user_subscriber_contributor() { 416 $user = self:: factory()->user->create_and_get( array( 'role' => 'subscriber' ) );397 $user = self::$users['subscriber']; 417 398 418 399 // make sure the user is valid … … 435 416 } 436 417 } 418 419 $user->remove_role( 'contributor' ); 420 // user should have one role now 421 $this->assertEquals( array( 'subscriber' ), $user->roles ); 422 437 423 } 438 424 … … 720 706 // simple tests for some common meta capabilities 721 707 722 // Makeour author723 $author = new WP_User( self::factory()->user->create( array( 'role' => 'author' ) ) );708 // Get our author 709 $author = self::$users['author']; 724 710 725 711 // make a post … … 810 796 811 797 // Add an editor and contributor 812 $editor = self:: factory()->user->create_and_get( array( 'role' => 'editor' ) );813 $contributor = self:: factory()->user->create_and_get( array( 'role' => 'contributor' ) );798 $editor = self::$users['editor']; 799 $contributor = self::$users['contributor']; 814 800 815 801 // editor can edit, view, and trash … … 892 878 // simple tests for some common meta capabilities 893 879 894 // Makeour author895 $author = new WP_User( self::factory()->user->create( array( 'role' => 'author' ) ) );880 // Get our author 881 $author = self::$users['author']; 896 882 897 883 // make a page … … 902 888 903 889 // add some other users 904 $admin = new WP_User( self::factory()->user->create( array( 'role' => 'administrator' ) ) );890 $admin = self::$users['administrator']; 905 891 $author_2 = new WP_User( self::factory()->user->create( array( 'role' => 'author' ) ) ); 906 $editor = new WP_User( self::factory()->user->create( array( 'role' => 'editor' ) ) );907 $contributor = new WP_User( self::factory()->user->create( array( 'role' => 'contributor' ) ) );892 $editor = self::$users['editor']; 893 $contributor = self::$users['contributor']; 908 894 909 895 // administrators, editors and the post owner can edit it … … 1020 1006 1021 1007 function test_subscriber_cant_edit_posts() { 1022 $user = new WP_User( self::factory()->user->create( array( 'role' => 'subscriber' ) ) );1008 $user = self::$users['subscriber']; 1023 1009 wp_set_current_user( $user->ID ); 1024 1010 … … 1035 1021 } 1036 1022 1037 $user = new WP_User( self::factory()->user->create( array( 'role' => 'administrator' ) ) );1038 $other_user = new WP_User( self::factory()->user->create( array( 'role' => 'subscriber' ) ) );1023 $user = self::$users['administrator']; 1024 $other_user = self::$users['subscriber']; 1039 1025 1040 1026 wp_set_current_user( $user->ID ); … … 1049 1035 } 1050 1036 1051 $user = new WP_User( self::factory()->user->create( array( 'role' => 'administrator' ) ) );1037 $user = self::$users['administrator']; 1052 1038 1053 1039 wp_set_current_user( $user->ID ); … … 1062 1048 1063 1049 // Add a contributor 1064 $contributor = $this->factory->user->create_and_get( array( 1065 'role' => 'contributor', 1066 ) ); 1050 $contributor = self::$users['contributor']; 1067 1051 1068 1052 // Give them a scheduled post … … 1129 1113 _unregister_post_type( 'existed' ); 1130 1114 1131 $subscriber_id = self:: factory()->user->create( array( 'role' => 'subscriber' ) );1132 $editor_id = self:: factory()->user->create( array( 'role' => 'editor' ) );1115 $subscriber_id = self::$users['subscriber']->ID; 1116 $editor_id = self::$users['editor']->ID; 1133 1117 1134 1118 $this->setExpectedIncorrectUsage( 'map_meta_cap' ); … … 1155 1139 $cpt = get_post_type_object( 'page_capability' ); 1156 1140 1157 $admin = self:: factory()->user->create_and_get( array( 'role' => 'administrator' ) );1158 $editor = self:: factory()->user->create_and_get( array( 'role' => 'editor' ) );1159 $author = self:: factory()->user->create_and_get( array( 'role' => 'author' ) );1160 $contributor = self:: factory()->user->create_and_get( array( 'role' => 'contributor' ) );1141 $admin = self::$users['administrator']; 1142 $editor = self::$users['editor']; 1143 $author = self::$users['author']; 1144 $contributor = self::$users['contributor']; 1161 1145 1162 1146 $this->assertEquals( 'edit_pages', $cpt->cap->edit_posts );
Note: See TracChangeset
for help on using the changeset viewer.