Skip to:
Content

BuddyPress.org

Ticket #6209: 6209-working-tests.04.patch

File 6209-working-tests.04.patch, 4.5 KB (added by dcavins, 5 years ago)
  • tests/phpunit/testcases/groups/class-bp-groups-member.php

    diff --git tests/phpunit/testcases/groups/class-bp-groups-member.php tests/phpunit/testcases/groups/class-bp-groups-member.php
    index 7289c59..59fadc3 100644
    class BP_Tests_BP_Groups_Member_TestCases extends BP_UnitTestCase { 
    1717                return $invite->id;
    1818        }
    1919
     20        public static function create_group_membership_request( $user_id, $group_id ) {
     21                $request                = new BP_Groups_Member;
     22                $request->group_id      = $group_id;
     23                $request->user_id       = $user_id;
     24                $request->date_modified = bp_core_current_time();
     25                $request->inviter_id    = 0;
     26                $request->is_confirmed  = 0;
     27
     28                $request->save();
     29                return $request->id;
     30        }
     31
    2032        public function test_get_recently_joined_with_filter() {
    2133                $g1 = $this->factory->group->create( array(
    2234                        'name' => 'Tab',
    class BP_Tests_BP_Groups_Member_TestCases extends BP_UnitTestCase { 
    215227
    216228                $this->set_current_user( $old_current_user );
    217229        }
     230
     231        /**
     232         * @group groups_reject_membership_request
     233         */
     234        public function test_bp_groups_reject_membership_request_remove_request() {
     235                $u1 = $this->factory->user->create();
     236                $g = $this->factory->group->create( array(
     237                        'status' => 'private',
     238                ) );
     239
     240                // Membership requests should be removed.
     241                self::create_group_membership_request( $u1, $g );
     242                groups_reject_membership_request( null, $u1, $g );
     243                $u1_has_request = groups_check_for_membership_request( $u1, $g );
     244                $this->assertEquals( 0, $u1_has_request );
     245        }
     246
     247        /**
     248         * @group groups_delete_membership_request
     249         */
     250        public function test_bp_groups_delete_membership_request_remove_request() {
     251                $u1 = $this->factory->user->create();
     252                $g = $this->factory->group->create( array(
     253                        'status' => 'private',
     254                ) );
     255
     256                // Membership requests should be removed.
     257                self::create_group_membership_request( $u1, $g );
     258                groups_delete_membership_request( null, $u1, $g );
     259                $u1_has_request = groups_check_for_membership_request( $u1, $g );
     260                $this->assertEquals( 0, $u1_has_request );
     261        }
     262
     263        /**
     264         * @group groups_reject_invite
     265         */
     266        public function test_bp_groups_reject_invite_remove_invite() {
     267                $u1 = $this->factory->user->create();
     268                $u2 = $this->factory->user->create();
     269                $g = $this->factory->group->create( array(
     270                        'status' => 'private',
     271                ) );
     272
     273                $now = time();
     274                $this->add_user_to_group( $u1, $g, array(
     275                        'date_modified' => date( 'Y-m-d H:i:s', $now - 60 ),
     276                ) );
     277
     278                // The invitation should be removed.
     279                self::invite_user_to_group( $u2, $g, $u1 );
     280                groups_reject_invite( $u2, $g );
     281                $u2_has_invite = groups_check_user_has_invite( $u2, $g );
     282                $this->assertEquals( 0, $u2_has_invite );
     283        }
     284
     285        /**
     286         * @group groups_delete_invite
     287         */
     288        public function test_bp_groups_delete_invite_remove_invite() {
     289                $u1 = $this->factory->user->create();
     290                $u2 = $this->factory->user->create();
     291                $g = $this->factory->group->create( array(
     292                        'status' => 'private',
     293                ) );
     294
     295                $now = time();
     296                $this->add_user_to_group( $u1, $g, array(
     297                        'date_modified' => date( 'Y-m-d H:i:s', $now - 60 ),
     298                ) );
     299
     300                // The invitation should be removed.
     301                self::invite_user_to_group( $u2, $g, $u1 );
     302                groups_delete_invite( $u2, $g );
     303                $u2_has_invite = groups_check_user_has_invite( $u2, $g );
     304                $this->assertEquals( 0, $u2_has_invite );
     305        }
     306
     307        /**
     308         * @group groups_delete_invite
     309         */
     310        public function test_bp_groups_delete_invite_leave_memberships_intact() {
     311                $u1 = $this->factory->user->create();
     312                $g = $this->factory->group->create( array(
     313                        'status' => 'private',
     314                ) );
     315
     316                $now = time();
     317                $this->add_user_to_group( $u1, $g, array(
     318                        'date_modified' => date( 'Y-m-d H:i:s', $now - 60 ),
     319                ) );
     320
     321                groups_delete_invite( $u1, $g );
     322                $u1_is_member = groups_is_user_member( $u1, $g );
     323                $this->assertTrue( is_numeric( $u1_is_member ) && $u1_is_member > 0 );
     324        }
     325
     326        /**
     327         * @group groups_uninvite_user
     328         */
     329        public function test_bp_groups_uninvite_user_remove_invite() {
     330                $u1 = $this->factory->user->create();
     331                $u2 = $this->factory->user->create();
     332                $g = $this->factory->group->create( array(
     333                        'status' => 'private',
     334                ) );
     335
     336                $now = time();
     337                $this->add_user_to_group( $u1, $g, array(
     338                        'date_modified' => date( 'Y-m-d H:i:s', $now - 60 ),
     339                ) );
     340
     341                // The invitation should be removed.
     342                self::invite_user_to_group( $u2, $g, $u1 );
     343                groups_uninvite_user( $u2, $g );
     344                $u2_has_invite = groups_check_user_has_invite( $u2, $g );
     345                $this->assertEquals( 0, $u2_has_invite );
     346        }
    218347}
    219348