Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
08/12/2019 08:43:44 PM (6 years ago)
Author:
dcavins
Message:

Update BP_Group_Member_Query for Invitation API compatibility.

  • Update logic in BP_Group_Member_Query to account for the migration of unconfirmed members to the bp_invitations table.

See #6210.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/testcases/groups/class-bp-group-member-query.php

    r11737 r12432  
    313313
    314314    public function test_confirmed_members() {
    315         $g = self::factory()->group->create();
    316         $u1 = self::factory()->user->create();
    317         $u2 = self::factory()->user->create();
    318         $time = time();
    319 
    320         $this->add_user_to_group( $u1, $g, array(
    321             'date_modified' => gmdate( 'Y-m-d H:i:s', $time - 100 ),
    322             'is_confirmed' => 0,
    323         ) );
    324 
    325         $this->add_user_to_group( $u2, $g, array(
     315        $u = self::factory()->user->create();
     316        $g = self::factory()->group->create( array( 'status' => 'private', 'creator_id' => $u )  );
     317        $u1 = self::factory()->user->create();
     318        $u2 = self::factory()->user->create();
     319        $u3 = self::factory()->user->create();
     320        $time = time();
     321
     322        groups_send_membership_request( array(
     323            'user_id' => $u1,
     324            'group_id' => $g
     325        ) );
     326
     327        groups_invite_user( array(
     328            'user_id'    => $u2,
     329            'group_id'   => $g,
     330            'inviter_id' => $u,
     331            'send_invite' => 1
     332        ) );
     333
     334        $this->add_user_to_group( $u3, $g, array(
    326335            'date_modified' => gmdate( 'Y-m-d H:i:s', $time - 100 ),
    327336            'is_confirmed' => 1,
     
    333342
    334343        $ids = wp_parse_id_list( array_keys( $query_members->results ) );
    335         $this->assertEquals( array( $u2 ), $ids );
     344        $this->assertEquals( array( $u3 ), $ids );
    336345    }
    337346
     
    595604     */
    596605    public function test_with_invite_sent_true() {
    597         $g = self::factory()->group->create();
    598         $u1 = self::factory()->user->create();
    599         $u2 = self::factory()->user->create();
    600         $time = time();
    601 
    602         $this->add_user_to_group( $u1, $g, array(
    603             'date_modified' => gmdate( 'Y-m-d H:i:s', $time - 100 ),
    604             'is_confirmed' => 0,
    605             'invite_sent' => 0,
    606         ) );
    607 
    608         $this->add_user_to_group( $u2, $g, array(
    609             'date_modified' => gmdate( 'Y-m-d H:i:s', $time - 100 ),
    610             'is_confirmed' => 0,
    611             'invite_sent' => 1,
     606        $u = self::factory()->user->create();
     607        $g = self::factory()->group->create( array( 'status' => 'private', 'creator_id' => $u )  );
     608        $u1 = self::factory()->user->create();
     609        $u2 = self::factory()->user->create();
     610
     611        groups_invite_user( array(
     612            'user_id'    => $u1,
     613            'group_id'   => $g,
     614            'inviter_id' => $u,
     615            'send_invite' => 0
     616        ) );
     617
     618        groups_invite_user( array(
     619            'user_id'    => $u2,
     620            'group_id'   => $g,
     621            'inviter_id' => $u,
     622            'send_invite' => 1
    612623        ) );
    613624
     
    626637     */
    627638    public function test_with_invite_sent_false() {
    628         $g = self::factory()->group->create();
    629         $u1 = self::factory()->user->create();
    630         $u2 = self::factory()->user->create();
    631         $time = time();
    632 
    633         $this->add_user_to_group( $u1, $g, array(
    634             'date_modified' => gmdate( 'Y-m-d H:i:s', $time - 100 ),
    635             'is_confirmed' => 0,
    636             'invite_sent' => 0,
    637         ) );
    638 
    639         $this->add_user_to_group( $u2, $g, array(
    640             'date_modified' => gmdate( 'Y-m-d H:i:s', $time - 100 ),
    641             'is_confirmed' => 0,
    642             'invite_sent' => 1,
     639        $u = self::factory()->user->create();
     640        $g = self::factory()->group->create( array( 'status' => 'private', 'creator_id' => $u )  );
     641        $u1 = self::factory()->user->create();
     642        $u2 = self::factory()->user->create();
     643
     644        groups_invite_user( array(
     645            'user_id'    => $u1,
     646            'group_id'   => $g,
     647            'inviter_id' => $u,
     648            'send_invite' => 0
     649        ) );
     650
     651        groups_invite_user( array(
     652            'user_id'    => $u2,
     653            'group_id'   => $g,
     654            'inviter_id' => $u,
     655            'send_invite' => 1
    643656        ) );
    644657
     
    657670     */
    658671    public function test_with_inviter_id_false() {
    659         $g = self::factory()->group->create();
    660         $u1 = self::factory()->user->create();
    661         $u2 = self::factory()->user->create();
    662         $time = time();
    663 
    664         $this->add_user_to_group( $u1, $g, array(
    665             'date_modified' => gmdate( 'Y-m-d H:i:s', $time - 100 ),
    666             'inviter_id' => 0,
    667         ) );
    668 
    669         $this->add_user_to_group( $u2, $g, array(
    670             'date_modified' => gmdate( 'Y-m-d H:i:s', $time - 100 ),
    671             'inviter_id' => 1,
     672        $u = self::factory()->user->create();
     673        $g = self::factory()->group->create( array( 'status' => 'private', 'creator_id' => $u )  );
     674        $u1 = self::factory()->user->create();
     675        $u2 = self::factory()->user->create();
     676
     677        groups_send_membership_request( array(
     678            'user_id' => $u1,
     679            'group_id' => $g
     680        ) );
     681
     682        groups_invite_user( array(
     683            'user_id'    => $u2,
     684            'group_id'   => $g,
     685            'inviter_id' => $u,
     686            'send_invite' => 1
    672687        ) );
    673688
     
    685700     */
    686701    public function test_with_inviter_id_specific() {
    687         $g = self::factory()->group->create();
     702        $a1 = self::factory()->user->create();
     703        $a2 = self::factory()->user->create();
     704        $a3 = self::factory()->user->create();
     705        $g = self::factory()->group->create( array( 'status' => 'private', 'creator_id' => $a1 )  );
     706        $this->add_user_to_group( $a2, $g, array( 'is_admin' => 1 ) );
     707        $this->add_user_to_group( $a3, $g, array( 'is_admin' => 1 ) );
     708
    688709        $u1 = self::factory()->user->create();
    689710        $u2 = self::factory()->user->create();
    690711        $u3 = self::factory()->user->create();
    691712        $u4 = self::factory()->user->create();
    692         $time = time();
    693 
    694         $this->add_user_to_group( $u1, $g, array(
    695             'date_modified' => gmdate( 'Y-m-d H:i:s', $time - 100 ),
    696             'inviter_id' => 0,
    697         ) );
    698 
    699         $this->add_user_to_group( $u2, $g, array(
    700             'date_modified' => gmdate( 'Y-m-d H:i:s', $time - 200 ),
    701             'inviter_id' => 1,
    702         ) );
    703 
    704         $this->add_user_to_group( $u3, $g, array(
    705             'date_modified' => gmdate( 'Y-m-d H:i:s', $time - 300 ),
    706             'inviter_id' => 6,
    707         ) );
    708 
    709         $this->add_user_to_group( $u4, $g, array(
    710             'date_modified' => gmdate( 'Y-m-d H:i:s', $time - 400 ),
    711             'inviter_id' => 2,
    712         ) );
    713 
    714         $query_members = new BP_Group_Member_Query( array(
    715             'group_id' => $g,
    716             'inviter_id' => array( 2, 6 ),
    717         ) );
    718 
    719         $ids = wp_parse_id_list( array_keys( $query_members->results ) );
    720         $this->assertEquals( array( $u3, $u4 ), $ids );
     713
     714        groups_send_membership_request( array(
     715            'user_id' => $u1,
     716            'group_id' => $g
     717        ) );
     718
     719        groups_invite_user( array(
     720            'user_id'    => $u2,
     721            'group_id'   => $g,
     722            'inviter_id' => $a1,
     723            'send_invite' => 1
     724        ) );
     725        groups_invite_user( array(
     726            'user_id'    => $u3,
     727            'group_id'   => $g,
     728            'inviter_id' => $a2,
     729            'send_invite' => 1
     730        ) );
     731        groups_invite_user( array(
     732            'user_id'    => $u4,
     733            'group_id'   => $g,
     734            'inviter_id' => $a3,
     735            'send_invite' => 1
     736        ) );
     737
     738        $query_members = new BP_Group_Member_Query( array(
     739            'group_id' => $g,
     740            'inviter_id' => array( $a1, $a3 ),
     741        ) );
     742
     743        $ids = wp_parse_id_list( array_keys( $query_members->results ) );
     744        $this->assertEquals( array( $u2, $u4 ), $ids );
    721745    }
    722746
     
    725749     */
    726750    public function test_with_inviter_id_any() {
    727         $g = self::factory()->group->create();
     751        $a1 = self::factory()->user->create();
     752        $a2 = self::factory()->user->create();
     753        $a3 = self::factory()->user->create();
     754        $g = self::factory()->group->create( array( 'status' => 'private', 'creator_id' => $a1 )  );
     755        $this->add_user_to_group( $a2, $g, array( 'is_admin' => 1 ) );
     756        $this->add_user_to_group( $a3, $g, array( 'is_admin' => 1 ) );
     757
    728758        $u1 = self::factory()->user->create();
    729759        $u2 = self::factory()->user->create();
    730760        $u3 = self::factory()->user->create();
    731761        $u4 = self::factory()->user->create();
    732         $time = time();
    733 
    734         $this->add_user_to_group( $u1, $g, array(
    735             'date_modified' => gmdate( 'Y-m-d H:i:s', $time - 100 ),
    736             'inviter_id' => 0,
    737         ) );
    738 
    739         $this->add_user_to_group( $u2, $g, array(
    740             'date_modified' => gmdate( 'Y-m-d H:i:s', $time - 200 ),
    741             'inviter_id' => 1,
    742         ) );
    743 
    744         $this->add_user_to_group( $u3, $g, array(
    745             'date_modified' => gmdate( 'Y-m-d H:i:s', $time - 300 ),
    746             'inviter_id' => 6,
    747         ) );
    748 
    749         $this->add_user_to_group( $u4, $g, array(
    750             'date_modified' => gmdate( 'Y-m-d H:i:s', $time - 400 ),
    751             'inviter_id' => 2,
     762
     763        groups_send_membership_request( array(
     764            'user_id' => $u1,
     765            'group_id' => $g
     766        ) );
     767
     768        groups_invite_user( array(
     769            'user_id'    => $u2,
     770            'group_id'   => $g,
     771            'inviter_id' => $a1,
     772            'send_invite' => 1
     773        ) );
     774        groups_invite_user( array(
     775            'user_id'    => $u3,
     776            'group_id'   => $g,
     777            'inviter_id' => $a2,
     778            'send_invite' => 1
     779        ) );
     780        groups_invite_user( array(
     781            'user_id'    => $u4,
     782            'group_id'   => $g,
     783            'inviter_id' => $a3,
     784            'send_invite' => 1
    752785        ) );
    753786
Note: See TracChangeset for help on using the changeset viewer.