From 06763acad5b4b6d5ae559f325b29c12878fb6989 Mon Sep 17 00:00:00 2001 From: Nilambar Sharma Date: Mon, 26 Feb 2024 15:27:57 +0545 Subject: [PATCH] Display user ID instead of user_login --- features/super-admin.feature | 22 ++++++++++++++++------ src/Super_Admin_Command.php | 8 +++++++- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/features/super-admin.feature b/features/super-admin.feature index 4a25a3b1..765a75a3 100644 --- a/features/super-admin.feature +++ b/features/super-admin.feature @@ -24,12 +24,6 @@ Feature: Manage super admins associated with a multisite instance superadmin """ - When I run `wp super-admin list --format=ids` - Then STDOUT should be: - """ - admin superadmin - """ - When I try `wp super-admin add superadmin` Then STDERR should be: """ @@ -186,6 +180,22 @@ Feature: Manage super admins associated with a multisite instance And STDOUT should be empty And the return code should be 1 + Scenario: List super admins in ids format. + Given a WP multisite installation + + When I run `wp user get admin --field=ID` + And save STDOUT as {USER_1} + + When I run `wp user create admin2 admin2@example.com --porcelain` + And save STDOUT as {USER_2} + + When I run `wp super-admin add admin2` + And I run `wp super-admin list --format=ids` + Then STDOUT should be: + """ + {USER_1} {USER_2} + """ + Scenario: Manage a super admin user_login 'admin' Given a WP multisite installation diff --git a/src/Super_Admin_Command.php b/src/Super_Admin_Command.php index 838d540f..55ecada5 100644 --- a/src/Super_Admin_Command.php +++ b/src/Super_Admin_Command.php @@ -81,7 +81,13 @@ public function list_subcommand( $_, $assoc_args ) { if ( ! empty( $assoc_args['format'] ) && 'ids' === $assoc_args['format'] ) { $formatter = new \WP_CLI\Formatter( $assoc_args ); - $formatter->display_items( wp_list_pluck( $output_users, 'user_login' ) ); + + $user_ids = []; + foreach ( $super_admins as $user_login ) { + $user_obj = get_user_by( 'login', $user_login ); + $user_ids[] = $user_obj->ID; + } + $formatter->display_items( $user_ids ); } else { $formatter = new \WP_CLI\Formatter( $assoc_args, $this->fields ); $formatter->display_items( $output_users );