Skip to:
Content

BuddyPress.org

Ticket #7677: 7677.01.patch

File 7677.01.patch, 1.7 KB (added by cyclic, 4 years ago)

patch including unit test

  • src/bp-groups/classes/class-bp-groups-group.php

    diff --git src/bp-groups/classes/class-bp-groups-group.php src/bp-groups/classes/class-bp-groups-group.php
    index 0add64940..5f79e6fb9 100644
    class BP_Groups_Group { 
    560560                $mod_ids = BP_Groups_Member::get_group_moderator_ids( $this->id );
    561561                $mod_ids_plucked = wp_list_pluck( $mod_ids, 'user_id' );
    562562
    563                 $admin_mod_users = get_users( array(
    564                         'include' => array_merge( $admin_ids_plucked, $mod_ids_plucked ),
    565                         'blog_id' => null,
    566                 ) );
     563                $admin_mod_ids = array_merge( $admin_ids_plucked, $mod_ids_plucked );
     564                $admin_mod_users = array();
     565
     566                if ( ! empty( $admin_mod_ids ) ) {
     567                        $admin_mod_users = get_users( array(
     568                                'include' => $admin_mod_ids,
     569                                'blog_id' => null,
     570                        ) );
     571                }
    567572
    568573                $admin_objects = $mod_objects = array();
    569574                foreach ( $admin_mod_users as $admin_mod_user ) {
  • tests/phpunit/testcases/groups/class-bp-groups-group.php

    diff --git tests/phpunit/testcases/groups/class-bp-groups-group.php tests/phpunit/testcases/groups/class-bp-groups-group.php
    index 816b856b3..77a7f5c8a 100644
    class BP_Tests_BP_Groups_Group_TestCases extends BP_UnitTestCase { 
    15151515                $this->assertEqualSets( array( $user_1->ID ), wp_list_pluck( $group->admins, 'user_id' ) );
    15161516        }
    15171517
     1518        /**
     1519         * @ticket BP7677
     1520         */
     1521        public function test_demoting_sole_admin() {
     1522                $user = self::factory()->user->create_and_get();
     1523                $group = self::factory()->group->create_and_get( array(
     1524                        'creator_id' => $user->ID,
     1525                ) );
     1526                $member = new BP_Groups_Member( $user->ID, $group->id );
     1527                $member->demote();
     1528
     1529                $this->assertEmpty( $group->admins );
     1530        }
     1531
    15181532        /**
    15191533         * @ticket BP5451
    15201534         */