Make WordPress Core


Ignore:
Timestamp:
10/16/2015 09:04:12 PM (11 years ago)
Author:
wonderboymusic
Message:

Unit Tests: one $factory to rule them all, and it shall be static.

Using more than one instance of WP_UnitTest_Factory causes all kinds of craziness, due to out-of-sync internal generator sequences. Since we want to use setUpBeforeClass, we were creating ad hoc instances. To avoid that, we were injecting one static instance via Dependency Injection in wpSetUpBeforeClass. All tests should really use the static instance, so we will remove the instance prop $factory.

Replace $this->factory with self::$factory over 2000 times.
Rewrite all of the tests that were hard-coding dynamic values.

#YOLOFriday

File:
1 edited

Legend:

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

    r35224 r35225  
    1515        $this->assertEquals( array(), get_blogs_of_user( 0 ) );
    1616
    17         $user_id = $this->factory->user->create( array( 'role' => 'subscriber' ) );
     17        $user_id = self::$factory->user->create( array( 'role' => 'subscriber' ) );
    1818        $blogs = get_blogs_of_user( $user_id );
    1919        $this->assertEquals( array( 1 ), array_keys( $blogs ) );
     
    3535        $old_current = get_current_user_id();
    3636
    37         $user_id = $this->factory->user->create( array( 'role' => 'subscriber' ) );
     37        $user_id = self::$factory->user->create( array( 'role' => 'subscriber' ) );
    3838        wp_set_current_user( $user_id );
    3939
     
    5555
    5656    function test_delete_user() {
    57         $user_id = $this->factory->user->create( array( 'role' => 'author' ) );
     57        $user_id = self::$factory->user->create( array( 'role' => 'author' ) );
    5858        $user = new WP_User( $user_id );
    5959
     
    112112     */
    113113    function test_wp_delete_user_reassignment_clears_post_caches() {
    114         $user_id   = $this->factory->user->create();
    115         $reassign  = $this->factory->user->create();
    116         $post_id   = $this->factory->post->create( array( 'post_author' => $user_id ) );
     114        $user_id   = self::$factory->user->create();
     115        $reassign  = self::$factory->user->create();
     116        $post_id   = self::$factory->post->create( array( 'post_author' => $user_id ) );
    117117
    118118        get_post( $post_id ); // Ensure this post is in the cache.
     
    129129        }
    130130
    131         $u = $this->factory->user->create();
     131        $u = self::$factory->user->create();
    132132
    133133        $u_string = (string) $u;
     
    151151        }
    152152
    153         $u_obj = $this->factory->user->create_and_get();
     153        $u_obj = self::$factory->user->create_and_get();
    154154        $this->assertFalse( wp_delete_user( $u_obj ) );
    155155        $this->assertEquals( $u_obj->ID, username_exists( $u_obj->user_login ) );
Note: See TracChangeset for help on using the changeset viewer.