| 1 | <?php |
| 2 | /** |
| 3 | * Test WP_User Query, in wp-includes/user.php |
| 4 | * |
| 5 | * @group user |
| 6 | */ |
| 7 | class Tests_WP_User_Query extends WP_UnitTestCase { |
| 8 | |
| 9 | protected $user_id; |
| 10 | |
| 11 | function setUp() { |
| 12 | parent::setUp(); |
| 13 | |
| 14 | $this->user_id = $this->factory->user->create( array( |
| 15 | 'role' => 'author' |
| 16 | ) ); |
| 17 | } |
| 18 | |
| 19 | function test_get_and_set() { |
| 20 | $users = new WP_User_Query(); |
| 21 | |
| 22 | $users->set( 'fields', 'all' ); |
| 23 | $this->assertEquals( $users->get( 'fields' ), 'all' ); |
| 24 | |
| 25 | $users->set( 'fields', '' ); |
| 26 | $this->assertEquals( $users->get( 'fields' ), '' ); |
| 27 | } |
| 28 | |
| 29 | function test_include() { |
| 30 | $users = new WP_User_Query(); |
| 31 | $users->set( 'fields', '' ); |
| 32 | $users->set( 'include', $this->user_id ); |
| 33 | $users->prepare_query(); |
| 34 | $users->query(); |
| 35 | |
| 36 | $ids = $users->get_results(); |
| 37 | $this->assertTrue( in_array( $this->user_id, $ids ) ); |
| 38 | } |
| 39 | |
| 40 | function test_exclude() { |
| 41 | $users = new WP_User_Query(); |
| 42 | $users->set( 'fields', '' ); |
| 43 | $users->set( 'exclude', $this->user_id ); |
| 44 | $users->prepare_query(); |
| 45 | $users->query(); |
| 46 | |
| 47 | $ids = $users->get_results(); |
| 48 | $this->assertTrue( empty( $ids ) || ! in_array( $this->user_id, $ids ) ); |
| 49 | } |
| 50 | } |