Make WordPress Core

Ticket #38961: 38961.patch

File 38961.patch, 1.6 KB (added by ocean90, 8 years ago)
  • tests/phpunit/tests/rest-api/rest-users-controller.php

     
    953953                $this->assertTrue( $user_is_member );
    954954        }
    955955
     956        /**
     957         * @ticket 38961
     958         */
     959        public function test_user_with_promote_users_can_add_user_to_site() {
     960                if ( ! is_multisite() ) {
     961                        $this->markTestSkipped( 'Test requires multisite.' );
     962                }
     963
     964                $user_id = self::factory()->user->create( array( 'role' => 'subscriber' ) );
     965
     966                $user_id_promoter = self::factory()->user->create( array(
     967                        'role'       => 'subscriber',
     968                        'user_login' => 'promote_users',
     969                ) );
     970
     971                $user_promoter = new WP_User( $user_id_promoter );
     972                $user_promoter->add_cap( 'list_users' );
     973                $user_promoter->add_cap( 'promote_users' );
     974
     975                wp_set_current_user( $user_id_promoter );
     976
     977                switch_to_blog( self::$site );
     978
     979                $request = new WP_REST_Request( 'PUT', '/wp/v2/users/' . $user_id );
     980                $request->add_header( 'content-type', 'application/x-www-form-urlencoded' );
     981                $request->set_body_params( array(
     982                        'roles' => array( 'editor' ),
     983                ) );
     984                $this->server->dispatch( $request ); // This is rest_cannot_edit
     985
     986                restore_current_blog();
     987
     988                $user_is_member = is_user_member_of_blog( $user_id, self::$site );
     989
     990                wpmu_delete_user( $user_id );
     991
     992                $this->assertTrue( $user_is_member );
     993        }
     994
    956995        public function test_json_create_user() {
    957996                $this->allow_user_to_manage_multisite();
    958997                wp_set_current_user( self::$user );