1
0
Fork 0
mirror of https://github.com/buddypress/buddypress.git synced 2026-07-22 20:56:55 +08:00
buddypress/tests/phpunit/testcases/core/class-bp-component.php
Mathieu Viet e8dac6f952 Prepare the inclusion of the BP REST API remaining endpoints
6.0.0 is introducing 6 new BP REST API endpoints :

- Blogs, Blog avatar,
- Friends,
- Group Cover image,
- Member Cover Image and User Signups

We're also reorganizing files, making sure they are located to their belonging endpoints. As a result, 2 files are now deprecated:

- `bp-core/classes/class-bp-rest-attachments-group-avatar-endpoint.php` (moved into `bp-groups/classes`)
- `bp-core/classes/class-bp-rest-attachments-member-avatar-endpoint.php` (moved into `bp-members/classes`)

Props espellcaste, boonebgorges & I ;)

Fixes #7156


git-svn-id: https://buddypress.svn.wordpress.org/trunk@12607 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
2020-03-31 11:33:35 +00:00

74 lines
2.1 KiB
PHP

<?php
include_once BP_TESTS_DIR . '/assets/bp-rest-api-controllers.php';
/**
* @group core
* @group BP_Component
*/
class BP_Tests_BP_Component_TestCases extends BP_UnitTestCase {
public function setUp() {
parent::setUp();
$bp = buddypress();
$bp->unit_test_rest = new stdClass;
$bp->unit_test_rest->controllers = array();
}
public function remove_controller( $controllers ) {
return array_diff( $controllers, array( 'BP_REST_Members_Endpoint' ) );
}
public function add_controller( $controllers ) {
return array_merge( $controllers, array( 'Foo_Bar' ) );
}
public function test_rest_api_init_for_members_component() {
$bp_members = new BP_Members_Component();
$bp = buddypress();
$bp_members->rest_api_init();
$this->assertSame( $bp->unit_test_rest->controllers, array(
'BP_REST_Components_Endpoint',
'BP_REST_Members_Endpoint',
'BP_REST_Attachments_Member_Avatar_Endpoint',
'BP_REST_Attachments_Member_Cover_Endpoint',
) );
}
public function test_rest_api_init_for_members_component_can_remove_controller() {
$bp_members = new BP_Members_Component();
$bp = buddypress();
add_filter( 'bp_members_rest_api_controllers', array( $this, 'remove_controller' ) );
$bp_members->rest_api_init();
remove_filter( 'bp_members_rest_api_controllers', array( $this, 'remove_controller' ) );
$this->assertSame( $bp->unit_test_rest->controllers, array(
'BP_REST_Components_Endpoint',
'BP_REST_Attachments_Member_Avatar_Endpoint',
'BP_REST_Attachments_Member_Cover_Endpoint',
) );
}
public function test_rest_api_init_for_members_component_cannot_add_controller() {
$bp_members = new BP_Members_Component();
$bp = buddypress();
add_filter( 'bp_members_rest_api_controllers', array( $this, 'add_controller' ) );
$bp_members->rest_api_init();
remove_filter( 'bp_members_rest_api_controllers', array( $this, 'add_controller' ) );
$this->assertSame( $bp->unit_test_rest->controllers, array(
'BP_REST_Components_Endpoint',
'BP_REST_Members_Endpoint',
'BP_REST_Attachments_Member_Avatar_Endpoint',
'BP_REST_Attachments_Member_Cover_Endpoint',
) );
}
}