Skip to content

Commit f7897be

Browse files
committed
Merge pull request alleyinteractive#428 from alleyinteractive/enrico-sorcinelli-datasource-user
Add wildcards to get_users search
2 parents 23662c0 + 0d00aec commit f7897be

File tree

2 files changed

+28
-2
lines changed

2 files changed

+28
-2
lines changed

php/datasource/class-fieldmanager-datasource-user.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ public function get_items( $fragment = Null ) {
141141
$ret = array();
142142

143143
if ( $fragment ) {
144-
$user_args['search'] = $fragment;
144+
$user_args['search'] = '*' . $fragment . '*';
145145
}
146146

147147
$users = get_users( $user_args );

tests/php/test-fieldmanager-datasource-user.php

+27-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public function setUp() {
1212
parent::setUp();
1313
Fieldmanager_Field::$debug = true;
1414

15-
$this->author = $this->factory->user->create( array( 'role' => 'author', 'user_login' => 'author', 'user_email' => '[email protected]' ) );
15+
$this->author = $this->factory->user->create( array( 'role' => 'author', 'user_login' => 'author', 'user_email' => '[email protected]', 'display_name' => 'Lorem Ipsum' ) );
1616
$this->editor = $this->factory->user->create( array( 'role' => 'editor', 'user_login' => 'editor' ) );
1717
$this->administrator = $this->factory->user->create( array( 'role' => 'administrator', 'user_login' => 'administrator' ) );
1818

@@ -273,4 +273,30 @@ public function test_store_property_display() {
273273
$this->assertEquals( $user->display_name, $test_users_user_nicename[ $user->user_nicename ] );
274274
$this->assertEquals( $user->display_name, $test_user_nicename->datasource->get_value( $user->user_nicename ) );
275275
}
276+
277+
public function test_search() {
278+
$user = get_userdata( $this->author );
279+
$display_name = 'Lorem Ipsum';
280+
281+
$fm = new Fieldmanager_Autocomplete( array(
282+
'name' => 'test_search',
283+
'datasource' => new Fieldmanager_Datasource_User
284+
) );
285+
286+
$test_users_id = $fm->datasource->get_items( $display_name );
287+
$this->assertEquals( $display_name, $test_users_id[ $user->ID ] );
288+
$this->assertEquals( $display_name, $fm->datasource->get_value( $user->ID ) );
289+
290+
$test_users_id = $fm->datasource->get_items( 'rem' );
291+
$this->assertEquals( $display_name, $test_users_id[ $user->ID ] );
292+
293+
$test_users_id = $fm->datasource->get_items( '[email protected]' );
294+
$this->assertEquals( $display_name, $test_users_id[ $user->ID ] );
295+
296+
$test_users_id = $fm->datasource->get_items( 'author' );
297+
$this->assertEquals( $display_name, $test_users_id[ $user->ID ] );
298+
299+
$test_users_id = $fm->datasource->get_items( $user->ID );
300+
$this->assertEquals( $display_name, $test_users_id[ $user->ID ] );
301+
}
276302
}

0 commit comments

Comments
 (0)