fix the call of function `permission_callback`

This commit is contained in:
vnmedeiros 2020-02-03 16:53:23 -03:00
parent abd67d6510
commit bf8070abe7
2 changed files with 48 additions and 1 deletions

View File

@ -113,7 +113,7 @@ class REST_Metadata_Controller extends REST_Controller {
array( array(
'methods' => \WP_REST_Server::READABLE, 'methods' => \WP_REST_Server::READABLE,
'callback' => array($this, 'get_item'), 'callback' => array($this, 'get_item'),
'permission' => array($this, 'get_item_permissions_check'), 'permission_callback' => array($this, 'get_item_permissions_check'),
'args' => array( 'args' => array(
'context' => array( 'context' => array(
'type' => 'string', 'type' => 'string',

View File

@ -667,6 +667,53 @@ class TAINACAN_REST_Metadata_Controller extends TAINACAN_UnitApiTestCase {
$this->assertEquals(true, empty($data['value'])); $this->assertEquals(true, empty($data['value']));
} }
public function test_visibility_the_metadatum_from_in_collection(){
$collection = $this->tainacan_entity_factory->create_entity(
'collection',
array(
'name' => 'Statement',
'description' => 'No Statement'
),
true
);
$metadatumA = $this->tainacan_entity_factory->create_entity(
'metadatum',
array(
'name' => 'Data',
'description' => 'Descreve valor do campo data.',
'collection' => $collection,
'status' => 'publish',
'metadata_type' => 'Tainacan\Metadata_Types\Text',
), true
);
$metadatumB = $this->tainacan_entity_factory->create_entity(
'metadatum',
array(
'name' => 'Data',
'description' => 'Descreve valor do campo data.',
'collection' => $collection,
'status' => 'private',
'metadata_type' => 'Tainacan\Metadata_Types\Text',
), true
);
wp_logout();
wp_set_current_user(0);
$requestA = new \WP_REST_Request('GET', $this->namespace . '/metadata/' . $metadatumA->get_id());
$requestB = new \WP_REST_Request('GET', $this->namespace . '/metadata/' . $metadatumB->get_id());
$response = $this->server->dispatch($requestA);
$status = $response->status;
$this->assertEquals(200, $status);
$response = $this->server->dispatch($requestB);
$status = $response->status;
$this->assertEquals(401, $status);
}
} }
?> ?>