Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
11/13/2021 06:54:07 PM (5 years ago)
Author:
espellcaste
Message:

Adding support to paginate messages/recipients to the BP_Messages_Box_Template class.

When querying threads using the BP_Messages_Box_Template class, one might set a default of messages/recipients, instead of returning all items.

Fixes #8597

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/testcases/messages/template.php

    r11737 r13148  
    66 */
    77class BP_Tests_Messages_Template extends BP_UnitTestCase {
     8
    89        /**
    910         * @group bp_has_message_threads
     
    360361                $_REQUEST = $request;
    361362        }
     363
     364        /**
     365         * @group pagination
     366         * @group BP_Messages_Box_Template
     367         */
     368        public function test_setting_per_page_messages_and_recipients() {
     369                $u1 = self::factory()->user->create();
     370                $u2 = self::factory()->user->create();
     371
     372                // create initial thread
     373                $message_1 = self::factory()->message->create_and_get(
     374                        array(
     375                                'sender_id'  => $u1,
     376                                'recipients' => array( $u2 ),
     377                        )
     378                );
     379
     380                // create some replies to thread
     381                self::factory()->message->create_and_get(
     382                        array(
     383                                'thread_id'  => $message_1->thread_id,
     384                                'sender_id'  => $u2,
     385                                'recipients' => array( $u1 ),
     386                        )
     387                );
     388
     389                self::factory()->message->create_and_get(
     390                        array(
     391                                'thread_id'  => $message_1->thread_id,
     392                                'sender_id'  => $u2,
     393                                'recipients' => array( $u1 ),
     394                        )
     395                );
     396
     397                self::factory()->message->create_and_get(
     398                        array(
     399                                'thread_id'  => $message_1->thread_id,
     400                                'sender_id'  => $u1,
     401                                'recipients' => array( $u2 ),
     402                        )
     403                );
     404
     405                $messages_template = new BP_Messages_Box_Template(
     406                        array( 'user_id' => $u1 )
     407                );
     408
     409                $this->assertSame( array( $message_1->thread_id ), wp_list_pluck( $messages_template->threads, 'thread_id' ) );
     410                $this->assertCount( 4, $messages_template->threads[0]->messages );
     411                $this->assertCount( 2, $messages_template->threads[0]->recipients );
     412
     413                $messages_template = new BP_Messages_Box_Template(
     414                        array(
     415                                'user_id'             => $u1,
     416                                'messages_page'       => 1,
     417                                'messages_per_page'   => 2,
     418                                'recipients_page'     => 1,
     419                                'recipients_per_page' => 1,
     420                        )
     421                );
     422
     423                $this->assertCount( 2, $messages_template->threads[0]->messages );
     424                $this->assertNotCount( 2, $messages_template->threads[0]->recipients );
     425                $this->assertCount( 1, $messages_template->threads[0]->recipients );
     426        }
    362427}
Note: See TracChangeset for help on using the changeset viewer.