- Timestamp:
- 06/29/2015 02:58:47 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/testcases/core/class-bp-user-query.php
r9819 r9976 500 500 501 501 /** 502 * @group member_types 503 */ 504 public function test_member_type__in_single_value() { 505 bp_register_member_type( 'foo' ); 506 bp_register_member_type( 'bar' ); 507 $users = $this->factory->user->create_many( 3 ); 508 bp_set_member_type( $users[0], 'foo' ); 509 bp_set_member_type( $users[1], 'bar' ); 510 511 $q = new BP_User_Query( array( 512 'member_type__in' => 'bar', 513 ) ); 514 515 $found = array_values( wp_list_pluck( $q->results, 'ID' ) ); 516 $this->assertEquals( array( $users[1] ), $found ); 517 } 518 519 /** 520 * @group member_types 521 */ 522 public function test_member_type__in_array_with_single_value() { 523 bp_register_member_type( 'foo' ); 524 bp_register_member_type( 'bar' ); 525 $users = $this->factory->user->create_many( 3 ); 526 bp_set_member_type( $users[0], 'foo' ); 527 bp_set_member_type( $users[1], 'bar' ); 528 529 $q = new BP_User_Query( array( 530 'member_type__in' => array( 'bar' ), 531 ) ); 532 533 $found = array_values( wp_list_pluck( $q->results, 'ID' ) ); 534 $this->assertEquals( array( $users[1] ), $found ); 535 } 536 537 /** 538 * @group member_types 539 */ 540 public function test_member_type__in_comma_separated_values() { 541 bp_register_member_type( 'foo' ); 542 bp_register_member_type( 'bar' ); 543 $users = $this->factory->user->create_many( 3 ); 544 bp_set_member_type( $users[0], 'foo' ); 545 bp_set_member_type( $users[1], 'bar' ); 546 547 $q = new BP_User_Query( array( 548 'member_type__in' => 'foo, bar', 549 ) ); 550 551 $found = array_values( wp_list_pluck( $q->results, 'ID' ) ); 552 $this->assertEqualSets( array( $users[0], $users[1] ), $found ); 553 } 554 555 /** 556 * @group member_types 557 */ 558 public function test_member_type__in_array_with_multiple_values() { 559 bp_register_member_type( 'foo' ); 560 bp_register_member_type( 'bar' ); 561 $users = $this->factory->user->create_many( 3 ); 562 bp_set_member_type( $users[0], 'foo' ); 563 bp_set_member_type( $users[1], 'bar' ); 564 565 $q = new BP_User_Query( array( 566 'member_type__in' => array( 'foo', 'bar' ), 567 ) ); 568 569 $found = array_values( wp_list_pluck( $q->results, 'ID' ) ); 570 $this->assertEqualSets( array( $users[0], $users[1] ), $found ); 571 } 572 573 /** 574 * @group member_types 575 */ 576 public function test_member_type__in_comma_separated_values_should_discard_non_existent_taxonomies() { 577 bp_register_member_type( 'foo' ); 578 bp_register_member_type( 'bar' ); 579 $users = $this->factory->user->create_many( 3 ); 580 bp_set_member_type( $users[0], 'foo' ); 581 bp_set_member_type( $users[1], 'bar' ); 582 583 $q = new BP_User_Query( array( 584 'member_type__in' => 'foo, baz', 585 ) ); 586 587 $found = array_values( wp_list_pluck( $q->results, 'ID' ) ); 588 $this->assertEqualSets( array( $users[0] ), $found ); 589 } 590 591 /** 592 * @group member_types 593 */ 594 public function test_should_return_no_results_when_no_users_match_the_specified_member_type__in() { 595 bp_register_member_type( 'foo' ); 596 $users = $this->factory->user->create_many( 3 ); 597 598 $q = new BP_User_Query( array( 599 'member_type__in' => 'foo, baz', 600 ) ); 601 602 $this->assertEmpty( $q->results ); 603 } 604 605 /** 606 * @group member_types 607 */ 608 public function test_member_type_should_take_precedence_over_member_type__in() { 609 bp_register_member_type( 'foo' ); 610 bp_register_member_type( 'bar' ); 611 $users = $this->factory->user->create_many( 3 ); 612 bp_set_member_type( $users[0], 'foo' ); 613 bp_set_member_type( $users[1], 'bar' ); 614 615 $q = new BP_User_Query( array( 616 'member_type__in' => 'foo', 617 'member_type' => 'bar' 618 ) ); 619 620 $found = array_values( wp_list_pluck( $q->results, 'ID' ) ); 621 $this->assertEqualSets( array( $users[1] ), $found ); 622 } 623 624 /** 625 * @group member_types 626 */ 627 public function test_member_type__not_in_returns_members_from_other_types_and_members_with_no_types() { 628 bp_register_member_type( 'foo' ); 629 bp_register_member_type( 'bar' ); 630 $users = $this->factory->user->create_many( 3 ); 631 bp_set_member_type( $users[0], 'foo' ); 632 bp_set_member_type( $users[1], 'bar' ); 633 634 $q = new BP_User_Query( array( 635 'member_type__not_in' => 'foo', 636 ) ); 637 638 $found = array_values( wp_list_pluck( $q->results, 'ID' ) ); 639 $this->assertEqualSets( array( $users[1], $users[2] ), $found ); 640 } 641 642 /** 643 * @group member_types 644 */ 645 public function test_should_return_no_results_when_all_users_match_the_specified_member_type__not_in() { 646 bp_register_member_type( 'foo' ); 647 $users = $this->factory->user->create_many( 3 ); 648 bp_set_member_type( $users[0], 'foo' ); 649 bp_set_member_type( $users[1], 'foo' ); 650 bp_set_member_type( $users[2], 'foo' ); 651 652 $q = new BP_User_Query( array( 653 'member_type__not_in' => 'foo', 654 ) ); 655 656 $this->assertEmpty( $q->results ); 657 } 658 659 /** 660 * @group member_types 661 */ 662 public function test_member_type__not_in_takes_precedence_over_member_type() { 663 bp_register_member_type( 'foo' ); 664 $users = $this->factory->user->create_many( 3 ); 665 bp_set_member_type( $users[0], 'foo' ); 666 bp_set_member_type( $users[1], 'foo' ); 667 bp_set_member_type( $users[2], 'foo' ); 668 669 $q = new BP_User_Query( array( 670 'member_type__not_in' => 'foo', 671 'member_type' => 'foo' 672 ) ); 673 674 $this->assertEmpty( $q->results ); 675 } 676 677 /** 678 * @group member_types 679 */ 680 public function test_member_type__not_in_takes_precedence_over_member_type__in() { 681 bp_register_member_type( 'foo' ); 682 $users = $this->factory->user->create_many( 3 ); 683 bp_set_member_type( $users[0], 'foo' ); 684 bp_set_member_type( $users[1], 'foo' ); 685 bp_set_member_type( $users[2], 'foo' ); 686 687 $q = new BP_User_Query( array( 688 'member_type__not_in' => 'foo', 689 'member_type__in' => 'foo' 690 ) ); 691 692 $this->assertEmpty( $q->results ); 693 } 694 695 /** 502 696 * @group cache 503 697 * @group member_types
Note: See TracChangeset
for help on using the changeset viewer.