@@ -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