Skip to content

Commit 8246643

Browse files
committed
Tests: Use a dataprovider for some admin-bar tests.
Refactor admin-bar tests to use dataProviers rather than looping through assertions. See #63167. git-svn-id: https://develop.svn.wordpress.org/trunk@60894 602fd350-edb4-49c9-b593-d223f7449a82
1 parent 2da7a59 commit 8246643

File tree

1 file changed

+32
-24
lines changed

1 file changed

+32
-24
lines changed

tests/phpunit/tests/adminbar.php

Lines changed: 32 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -731,40 +731,39 @@ public function test_customize_link() {
731731
/**
732732
* @ticket 39082
733733
* @group ms-required
734+
* @dataProvider data_my_sites_network_menu_items
734735
*/
735-
public function test_my_sites_network_menu_for_regular_user() {
736+
public function test_my_sites_network_menu_for_regular_user( $id, $cap ) {
736737
wp_set_current_user( self::$editor_id );
737738

738739
$wp_admin_bar = $this->get_standard_admin_bar();
739740

740741
$nodes = $wp_admin_bar->get_nodes();
741-
foreach ( $this->get_my_sites_network_menu_items() as $id => $cap ) {
742-
$this->assertArrayNotHasKey( $id, $nodes, sprintf( 'Menu item %s must not display for a regular user.', $id ) );
743-
}
742+
$this->assertArrayNotHasKey( $id, $nodes, sprintf( 'Menu item %s must not display for a regular user.', $id ) );
744743
}
745744

746745
/**
747746
* @ticket 39082
748747
* @group ms-required
748+
* @dataProvider data_my_sites_network_menu_items
749749
*/
750-
public function test_my_sites_network_menu_for_super_admin() {
750+
public function test_my_sites_network_menu_for_super_admin( $id, $cap ) {
751751
wp_set_current_user( self::$editor_id );
752752

753753
grant_super_admin( self::$editor_id );
754754
$wp_admin_bar = $this->get_standard_admin_bar();
755755
revoke_super_admin( self::$editor_id );
756756

757757
$nodes = $wp_admin_bar->get_nodes();
758-
foreach ( $this->get_my_sites_network_menu_items() as $id => $cap ) {
759-
$this->assertArrayHasKey( $id, $nodes, sprintf( 'Menu item %s must display for a super admin.', $id ) );
760-
}
758+
$this->assertArrayHasKey( $id, $nodes, sprintf( 'Menu item %s must display for a super admin.', $id ) );
761759
}
762760

763761
/**
764762
* @ticket 39082
765763
* @group ms-required
764+
* @dataProvider data_my_sites_network_menu_items
766765
*/
767-
public function test_my_sites_network_menu_for_regular_user_with_network_caps() {
766+
public function test_my_sites_network_menu_for_regular_user_with_network_caps( $id, $cap ) {
768767
global $current_user;
769768

770769
$network_user_caps = array( 'manage_network', 'manage_network_themes', 'manage_network_plugins' );
@@ -780,25 +779,34 @@ public function test_my_sites_network_menu_for_regular_user_with_network_caps()
780779
}
781780

782781
$nodes = $wp_admin_bar->get_nodes();
783-
foreach ( $this->get_my_sites_network_menu_items() as $id => $cap ) {
784-
if ( in_array( $cap, $network_user_caps, true ) ) {
785-
$this->assertArrayHasKey( $id, $nodes, sprintf( 'Menu item %1$s must display for a user with the %2$s cap.', $id, $cap ) );
786-
} else {
787-
$this->assertArrayNotHasKey( $id, $nodes, sprintf( 'Menu item %1$s must not display for a user without the %2$s cap.', $id, $cap ) );
788-
}
782+
if ( in_array( $cap, $network_user_caps, true ) ) {
783+
$this->assertArrayHasKey( $id, $nodes, sprintf( 'Menu item %1$s must display for a user with the %2$s cap.', $id, $cap ) );
784+
} else {
785+
$this->assertArrayNotHasKey( $id, $nodes, sprintf( 'Menu item %1$s must not display for a user without the %2$s cap.', $id, $cap ) );
789786
}
790787
}
791788

792-
private function get_my_sites_network_menu_items() {
789+
/**
790+
* Data provider for test_my_sites_network_menu_for_regular_user() and
791+
* test_my_sites_network_menu_for_super_admin().
792+
*
793+
* @return array {
794+
* @type array {
795+
* @type string $id The ID of the menu item.
796+
* @type string $cap The capability required to see the menu item.
797+
* }
798+
* }
799+
*/
800+
public function data_my_sites_network_menu_items() {
793801
return array(
794-
'my-sites-super-admin' => 'manage_network',
795-
'network-admin' => 'manage_network',
796-
'network-admin-d' => 'manage_network',
797-
'network-admin-s' => 'manage_sites',
798-
'network-admin-u' => 'manage_network_users',
799-
'network-admin-t' => 'manage_network_themes',
800-
'network-admin-p' => 'manage_network_plugins',
801-
'network-admin-o' => 'manage_network_options',
802+
array( 'my-sites-super-admin', 'manage_network' ),
803+
array( 'network-admin', 'manage_network' ),
804+
array( 'network-admin-d', 'manage_network' ),
805+
array( 'network-admin-s', 'manage_sites' ),
806+
array( 'network-admin-u', 'manage_network_users' ),
807+
array( 'network-admin-t', 'manage_network_themes' ),
808+
array( 'network-admin-p', 'manage_network_plugins' ),
809+
array( 'network-admin-o', 'manage_network_options' ),
802810
);
803811
}
804812

0 commit comments

Comments
 (0)