Make WordPress Core


Ignore:
Timestamp:
09/11/2015 01:50:40 AM (10 years ago)
Author:
boonebgorges
Message:

Move wp_delete_user() tests to their own file.

See #33800.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/user.php

    r33771 r34033  
    336336
    337337    /**
    338      * Test that usermeta cache is cleared after user deletion.
    339      *
    340      * @ticket 19500
    341      */
    342     function test_get_blogs_of_user() {
    343         // Logged out users don't have blogs.
    344         $this->assertEquals( array(), get_blogs_of_user( 0 ) );
    345 
    346         $user_id = $this->factory->user->create( array( 'role' => 'subscriber' ) );
    347         $blogs = get_blogs_of_user( $user_id );
    348         $this->assertEquals( array( 1 ), array_keys( $blogs ) );
    349 
    350         // Non-existent users don't have blogs.
    351         if ( is_multisite() )
    352             wpmu_delete_user( $user_id );
    353         else
    354             wp_delete_user( $user_id );
    355 
    356         $user = new WP_User( $user_id );
    357         $this->assertFalse( $user->exists(), 'WP_User->exists' );
    358         $this->assertEquals( array(), get_blogs_of_user( $user_id ) );
    359     }
    360 
    361     /**
    362      * Test that usermeta cache is cleared after user deletion.
    363      *
    364      * @ticket 19500
    365      */
    366     function test_is_user_member_of_blog() {
    367         $old_current = get_current_user_id();
    368 
    369         $this->assertSame( 0, $old_current );
    370 
    371         // test for "get current user" when not logged in
    372         $this->assertFalse( is_user_member_of_blog() );
    373 
    374         $user_id = $this->factory->user->create( array( 'role' => 'subscriber' ) );
    375         wp_set_current_user( $user_id );
    376 
    377         $this->assertTrue( is_user_member_of_blog() );
    378         $this->assertTrue( is_user_member_of_blog( 0, 0 ) );
    379         $this->assertTrue( is_user_member_of_blog( 0, get_current_blog_id() ) );
    380         $this->assertTrue( is_user_member_of_blog( $user_id ) );
    381         $this->assertTrue( is_user_member_of_blog( $user_id, get_current_blog_id() ) );
    382 
    383         // Will only remove the user from the current site in multisite; this is desired
    384         // and will achieve the desired effect with is_user_member_of_blog().
    385         wp_delete_user( $user_id );
    386 
    387         $this->assertFalse( is_user_member_of_blog( $user_id ) );
    388         $this->assertFalse( is_user_member_of_blog( $user_id, get_current_blog_id() ) );
    389 
    390         wp_set_current_user( $old_current );
    391     }
    392 
    393     /**
    394338     * ticket 19595
    395339     */
     
    462406    }
    463407
    464     function test_delete_user() {
    465         $user_id = $this->factory->user->create( array( 'role' => 'author' ) );
    466         $user = new WP_User( $user_id );
    467 
    468         $post = array(
    469             'post_author' => $user_id,
    470             'post_status' => 'publish',
    471             'post_content' => rand_str(),
    472             'post_title' => rand_str(),
    473             'post_type' => 'post',
    474         );
    475 
    476         // insert a post and make sure the ID is ok
    477         $post_id = wp_insert_post($post);
    478         $this->assertTrue(is_numeric($post_id));
    479         $this->assertTrue($post_id > 0);
    480 
    481         $post = get_post( $post_id );
    482         $this->assertEquals( $post_id, $post->ID );
    483 
    484         $post = array(
    485             'post_author' => $user_id,
    486             'post_status' => 'publish',
    487             'post_content' => rand_str(),
    488             'post_title' => rand_str(),
    489             'post_type' => 'nav_menu_item',
    490         );
    491 
    492         // insert a post and make sure the ID is ok
    493         $nav_id = wp_insert_post($post);
    494         $this->assertTrue(is_numeric($nav_id));
    495         $this->assertTrue($nav_id > 0);
    496 
    497         $post = get_post( $nav_id );
    498         $this->assertEquals( $nav_id, $post->ID );
    499 
    500         wp_delete_user( $user_id );
    501         $user = new WP_User( $user_id );
    502         if ( is_multisite() )
    503             $this->assertTrue( $user->exists() );
    504         else
    505             $this->assertFalse( $user->exists() );
    506 
    507         $this->assertNotNull( get_post( $post_id ) );
    508         $this->assertEquals( 'trash', get_post( $post_id )->post_status );
    509         // nav_menu_item is delete_with_user = false so the nav post should remain published.
    510         $this->assertNotNull( get_post( $nav_id ) );
    511         $this->assertEquals( 'publish', get_post( $nav_id )->post_status );
    512         wp_delete_post( $nav_id, true );
    513         $this->assertNull( get_post( $nav_id ) );
    514         wp_delete_post( $post_id, true );
    515         $this->assertNull( get_post( $post_id ) );
    516     }
    517 
    518408    /**
    519409     * @ticket 13317
     
    554444        $user = WP_User::get_data_by( 'id', 99999 );
    555445        $this->assertEquals( false, $user );
    556     }
    557 
    558     /**
    559      * @ticket 20447
    560      */
    561     function test_wp_delete_user_reassignment_clears_post_caches() {
    562         $user_id   = $this->factory->user->create();
    563         $reassign  = $this->factory->user->create();
    564         $post_id   = $this->factory->post->create( array( 'post_author' => $user_id ) );
    565 
    566         get_post( $post_id ); // Ensure this post is in the cache.
    567 
    568         wp_delete_user( $user_id, $reassign );
    569 
    570         $post = get_post( $post_id );
    571         $this->assertEquals( $reassign, $post->post_author );
    572446    }
    573447
Note: See TracChangeset for help on using the changeset viewer.