From 44b00ebbb59f14ce80afcc4c3ff009811b45f49f Mon Sep 17 00:00:00 2001 From: Volodymyr Kolesnykov Date: Tue, 23 Apr 2024 21:52:26 +0300 Subject: [PATCH 1/2] fix: `count_users()` returns an array --- search/includes/classes/class-search.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/search/includes/classes/class-search.php b/search/includes/classes/class-search.php index 74cb5eabd1..bbc8f6df06 100644 --- a/search/includes/classes/class-search.php +++ b/search/includes/classes/class-search.php @@ -1707,7 +1707,7 @@ public function filter__ep_post_mapping( $mapping ) { public function filter__ep_user_mapping( $mapping ) { $users_count = count_users(); - if ( isset( $users_count->total_users ) && ( $users_count->total_users > self::USER_SHARD_THRESHOLD ) ) { + if ( isset( $users_count['total_users'] ) && ( $users_count['total_users'] > self::USER_SHARD_THRESHOLD ) ) { $mapping['settings']['index.number_of_shards'] = 4; } From 8b399c22331f653117f46617a33740d4baa3583b Mon Sep 17 00:00:00 2001 From: Volodymyr Kolesnykov Date: Tue, 23 Apr 2024 21:59:42 +0300 Subject: [PATCH 2/2] test: fix tests --- tests/search/includes/classes/test-class-search.php | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/tests/search/includes/classes/test-class-search.php b/tests/search/includes/classes/test-class-search.php index 8cb07f0f35..02708325a6 100644 --- a/tests/search/includes/classes/test-class-search.php +++ b/tests/search/includes/classes/test-class-search.php @@ -387,13 +387,10 @@ public function test__vip_search_filter_filter__ep_user_mapping__large_site() { Features::factory()->setup_features(); // Simulate a large site - $return_big_count = function () { - $counts = new stdClass(); - $counts->avail_roles = 100; - $counts->total_users = 3000000; - - return $counts; - }; + $return_big_count = fn () => [ + 'avail_roles' => 100, + 'total_users' => 3000000, + ]; add_filter( 'pre_count_users', $return_big_count ); @@ -405,8 +402,6 @@ public function test__vip_search_filter_filter__ep_user_mapping__large_site() { $settings = $mapping['settings']; } $this->assertEquals( 4, $settings['index.number_of_shards'] ); - - remove_filter( 'pre_count_users', $return_big_count ); } public function test__vip_search_filter_ep_default_index_number_of_replicas() {