| | 427 | |
| | 428 | /** |
| | 429 | * @group pagination |
| | 430 | * @group BP_Messages_Box_Template |
| | 431 | * @group BP8750 |
| | 432 | */ |
| | 433 | public function test_thread_unread_count_setting_per_page_recipients() { |
| | 434 | $u1 = self::factory()->user->create(); |
| | 435 | $u2 = self::factory()->user->create(); |
| | 436 | |
| | 437 | // create initial thread |
| | 438 | $message_1 = self::factory()->message->create_and_get( |
| | 439 | array( |
| | 440 | 'sender_id' => $u1, |
| | 441 | 'recipients' => array( $u2 ), |
| | 442 | ) |
| | 443 | ); |
| | 444 | |
| | 445 | // create some replies to thread |
| | 446 | self::factory()->message->create_and_get( |
| | 447 | array( |
| | 448 | 'thread_id' => $message_1->thread_id, |
| | 449 | 'sender_id' => $u2, |
| | 450 | 'recipients' => array( $u1 ), |
| | 451 | ) |
| | 452 | ); |
| | 453 | |
| | 454 | self::factory()->message->create_and_get( |
| | 455 | array( |
| | 456 | 'thread_id' => $message_1->thread_id, |
| | 457 | 'sender_id' => $u2, |
| | 458 | 'recipients' => array( $u1 ), |
| | 459 | ) |
| | 460 | ); |
| | 461 | |
| | 462 | // set $u1 as current user. |
| | 463 | $old_current_user = get_current_user_id(); |
| | 464 | $this->set_current_user( $u1 ); |
| | 465 | |
| | 466 | $messages_template = new BP_Messages_Box_Template( |
| | 467 | array( |
| | 468 | 'recipients_page' => 1, |
| | 469 | 'recipients_per_page' => 1, |
| | 470 | ) |
| | 471 | ); |
| | 472 | |
| | 473 | $this->set_current_user( $old_current_user ); |
| | 474 | |
| | 475 | $thread = reset( $messages_template->threads ); |
| | 476 | |
| | 477 | $this->assertEquals( 2, $thread->unread_count ); |
| | 478 | } |
| | 479 | |
| | 480 | /** |
| | 481 | * @group pagination |
| | 482 | * @group BP_Messages_Box_Template |
| | 483 | * @group BP8750 |
| | 484 | */ |
| | 485 | public function test_thread_unread_count_setting_per_page_recipients_with_specific_user_id() { |
| | 486 | $u1 = self::factory()->user->create(); |
| | 487 | $u2 = self::factory()->user->create(); |
| | 488 | $u3 = self::factory()->user->create(); |
| | 489 | |
| | 490 | // create initial thread |
| | 491 | $message_1 = self::factory()->message->create_and_get( |
| | 492 | array( |
| | 493 | 'sender_id' => $u3, |
| | 494 | 'recipients' => array( $u1, $u2 ), |
| | 495 | ) |
| | 496 | ); |
| | 497 | |
| | 498 | // create some replies to thread |
| | 499 | self::factory()->message->create_and_get( |
| | 500 | array( |
| | 501 | 'thread_id' => $message_1->thread_id, |
| | 502 | 'sender_id' => $u2, |
| | 503 | 'recipients' => array( $u1, $u3 ), |
| | 504 | ) |
| | 505 | ); |
| | 506 | |
| | 507 | self::factory()->message->create_and_get( |
| | 508 | array( |
| | 509 | 'thread_id' => $message_1->thread_id, |
| | 510 | 'sender_id' => $u1, |
| | 511 | 'recipients' => array( $u2, $u3 ), |
| | 512 | ) |
| | 513 | ); |
| | 514 | |
| | 515 | self::factory()->message->create_and_get( |
| | 516 | array( |
| | 517 | 'thread_id' => $message_1->thread_id, |
| | 518 | 'sender_id' => $u3, |
| | 519 | 'recipients' => array( $u2, $u1 ), |
| | 520 | ) |
| | 521 | ); |
| | 522 | |
| | 523 | $messages_template = new BP_Messages_Box_Template( |
| | 524 | array( |
| | 525 | 'user_id' => $u3, |
| | 526 | 'recipients_page' => 1, |
| | 527 | 'recipients_per_page' => 1, |
| | 528 | ) |
| | 529 | ); |
| | 530 | |
| | 531 | $thread = reset( $messages_template->threads ); |
| | 532 | |
| | 533 | $this->assertFalse( isset( $thread->recipients[ $u3 ] ) ); |
| | 534 | $this->assertCount( 1, $thread->recipients ); |
| | 535 | $this->assertEquals( 2, $thread->unread_count ); |
| | 536 | } |