diff --git a/CHANGELOG.md b/CHANGELOG.md index 48db17f3..9f63ba9d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,31 @@ LifterLMS REST API Changelog ============================ +v1.0.0-beta.3 - 2019-08-19 +-------------------------- + +##### Interface and Experience improvements during API Key creation + ++ Better expose that API Keys are never shown again after the initial creation. ++ Allow downloading of API Credentials as a `.txt` file. ++ Add `required` properties to required fields. + +##### Updates + ++ Added the ability to CRUD webhooks via the REST API. ++ Conditionally throw `_doing_it_wrong` on server controller stubs. ++ Improve performance by returning early when errors are encountered for various methods. ++ Utilizes a new custom property `show_in_llms_rest` to determine if taxonomies should be displayed in the LifterLMS REST API. ++ On the webhooks table the "Delivery URL" is trimmed to 40 characters to improve table readability. + +##### Bug fixes + ++ Fixed a formatting error when creating webhooks with the default auto-generated webhook name. ++ On the webhooks table a translatable string is output for the status instead of the database value. ++ Fix an issue causing the "Last" page pagination link to display for lists with 0 possible results. ++ Don't output the "Last" page pagination link on the last page. + + v1.0.0-beta.2 - 2019-08-15 -------------------------- diff --git a/class-lifterlms-rest-api.php b/class-lifterlms-rest-api.php index 9bb42355..512931f0 100644 --- a/class-lifterlms-rest-api.php +++ b/class-lifterlms-rest-api.php @@ -5,7 +5,7 @@ * @package LifterLMS_REST_API/Classes * * @since 1.0.0-beta.1 - * @version [version] + * @version 1.0.0-beta.3 */ defined( 'ABSPATH' ) || exit; diff --git a/includes/abstracts/class-llms-rest-controller-stubs.php b/includes/abstracts/class-llms-rest-controller-stubs.php index 013b5d1f..705a7498 100644 --- a/includes/abstracts/class-llms-rest-controller-stubs.php +++ b/includes/abstracts/class-llms-rest-controller-stubs.php @@ -7,7 +7,7 @@ * @package LifterLMS_REST/Abstracts * * @since 1.0.0-beta.1 - * @version [version] + * @version 1.0.0-beta.3 */ defined( 'ABSPATH' ) || exit; @@ -16,7 +16,7 @@ * LLMS_REST_Controller_Stubs class. * * @since 1.0.0-beta.1 - * @since [version] Conditionally throw `_doing_it_wrong()` on stub method. + * @since 1.0.0-beta.3 Conditionally throw `_doing_it_wrong()` on stub method. */ abstract class LLMS_REST_Controller_Stubs extends WP_REST_Controller { @@ -175,7 +175,7 @@ protected function get_pagination_data_from_query( $query, $prepared, $request ) * Prepare an object for response. * * @since 1.0.0-beta.1 - * @since [version] Conditionally throw `_doing_it_wrong()`. + * @since 1.0.0-beta.3 Conditionally throw `_doing_it_wrong()`. * * @param LLMS_Abstract_User_Data $object User object. * @param WP_REST_Request $request Request object. diff --git a/includes/abstracts/class-llms-rest-controller.php b/includes/abstracts/class-llms-rest-controller.php index da8e4e92..685d515c 100644 --- a/includes/abstracts/class-llms-rest-controller.php +++ b/includes/abstracts/class-llms-rest-controller.php @@ -5,7 +5,7 @@ * @package LifterLMS_REST/Abstracts * * @since 1.0.0-beta.1 - * @version [version] + * @version 1.0.0-beta.3 */ defined( 'ABSPATH' ) || exit; @@ -14,7 +14,7 @@ * LLMS_REST_Controller class.. * * @since 1.0.0-beta.1 - * @since [version] Fix an issue displaying a last page for lists with 0 possible results & handle error conditions early in responses. + * @since 1.0.0-beta.3 Fix an issue displaying a last page for lists with 0 possible results & handle error conditions early in responses. */ abstract class LLMS_REST_Controller extends LLMS_REST_Controller_Stubs { @@ -181,7 +181,7 @@ public function get_item( $request ) { * Retrieves all users. * * @since 1.0.0-beta.1 - * @since [version] Fix an issue displaying a last page for lists with 0 possible results. + * @since 1.0.0-beta.3 Fix an issue displaying a last page for lists with 0 possible results. * * @param WP_REST_Request $request Full details about the request. * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure. @@ -338,7 +338,7 @@ protected function prepare_item_for_database( $request ) { * Prepares a single object for response. * * @since 1.0.0-beta.1 - * @since [version] Return early with a WP_Error if `$object` is a WP_Error + * @since 1.0.0-beta.3 Return early with a WP_Error if `$object` is a WP_Error * * @param obj $object Raw object from database. * @param WP_REST_Request $request Request object. diff --git a/includes/abstracts/class-llms-rest-posts-controller.php b/includes/abstracts/class-llms-rest-posts-controller.php index 76a88cf4..492d2bb9 100644 --- a/includes/abstracts/class-llms-rest-posts-controller.php +++ b/includes/abstracts/class-llms-rest-posts-controller.php @@ -15,7 +15,7 @@ * * @since 1.0.0-beta.1 * @since 1.0.0-beta.2 Filter taxonomies by `public` property instead of `show_in_rest`. - * @since [version] Filter taxonomies by `show_in_llms_rest` property instead of `public`. + * @since 1.0.0-beta.3 Filter taxonomies by `show_in_llms_rest` property instead of `public`. */ abstract class LLMS_REST_Posts_Controller extends LLMS_REST_Controller { @@ -1134,7 +1134,7 @@ abstract protected function create_llms_post( $object_args ); * * @since 1.0.0-beta.1 * @since 1.0.0-beta.2 Filter taxonomies by `public` property instead of `show_in_rest`. - * @since [version] Filter taxonomies by `show_in_llms_rest` property instead of `public`. + * @since 1.0.0-beta.3 Filter taxonomies by `show_in_llms_rest` property instead of `public`. * * @param LLMS_Post_Model $object Object data. * @return array Links for the given object. @@ -1351,7 +1351,7 @@ protected function handle_featured_media( $featured_media, $object_id ) { * * @since 1.0.0-beta.1 * @since 1.0.0-beta.2 Filter taxonomies by `public` property instead of `show_in_rest`. - * @since [version] Filter taxonomies by `show_in_llms_rest` property instead of `public`. + * @since 1.0.0-beta.3 Filter taxonomies by `show_in_llms_rest` property instead of `public`. * * @param int $object_id The post ID to update the terms form. * @param WP_REST_Request $request The request object with post and terms data. @@ -1381,7 +1381,7 @@ protected function handle_terms( $object_id, $request ) { * Heavily based on WP_REST_Posts_Controller::check_assign_terms_permission(). * * @since 1.0.0-beta.1 - * @since [version] Filter taxonomies by `show_in_llms_rest` property instead of `public`. + * @since 1.0.0-beta.3 Filter taxonomies by `show_in_llms_rest` property instead of `public`. * * @param WP_REST_Request $request The request object with post and terms data. * @return bool Whether the current user can assign the provided terms. diff --git a/includes/admin/class-llms-rest-admin-form-controller.php b/includes/admin/class-llms-rest-admin-form-controller.php index aa861416..d8b8298b 100644 --- a/includes/admin/class-llms-rest-admin-form-controller.php +++ b/includes/admin/class-llms-rest-admin-form-controller.php @@ -5,7 +5,7 @@ * @package LifterLMS_REST/Admin/Classes * * @since 1.0.0-beta.1 - * @version [version] + * @version 1.0.0-beta.3 */ defined( 'ABSPATH' ) || exit; @@ -14,7 +14,7 @@ * LLMS_REST_Admin_Form_Controller class.. * * @since 1.0.0-beta.1 - * @since [version] Added API credential download methods. + * @since 1.0.0-beta.3 Added API credential download methods. */ class LLMS_REST_Admin_Form_Controller { @@ -35,7 +35,7 @@ public function __construct() { * Handles submission of admin forms & nonce links. * * @since 1.0.0-beta.1 - * @since [version] Added logic for handling api key txt download via nonce link. + * @since 1.0.0-beta.3 Added logic for handling api key txt download via nonce link. * * @return false|void */ @@ -66,7 +66,7 @@ public function handle_events() { /** * Generate and download a api key credentials file. * - * @since [version] + * @since 1.0.0-beta.3 * * @return false|void */ @@ -149,7 +149,7 @@ protected function handle_webhook_upsert() { /** * Validates `GET` information from the credential download URL and prepares information for generating the file. * - * @since [version] + * @since 1.0.0-beta.3 * * @return false|array */ diff --git a/includes/admin/class-llms-rest-admin-settings-api-keys.php b/includes/admin/class-llms-rest-admin-settings-api-keys.php index 0956a3fc..879ff56c 100644 --- a/includes/admin/class-llms-rest-admin-settings-api-keys.php +++ b/includes/admin/class-llms-rest-admin-settings-api-keys.php @@ -5,7 +5,7 @@ * @package LifterLMS_REST/Admin/Classes * * @since 1.0.0-beta.1 - * @version [version] + * @version 1.0.0-beta.3 */ defined( 'ABSPATH' ) || exit; @@ -14,7 +14,7 @@ * Admin Settings Page: REST API * * @since 1.0.0-beta.1 - * @since [version] Improve UX of key generation and updates. + * @since 1.0.0-beta.3 Improve UX of key generation and updates. */ class LLMS_Rest_Admin_Settings_API_Keys { @@ -31,7 +31,7 @@ class LLMS_Rest_Admin_Settings_API_Keys { * Get settings fields for the Keys tab. * * @since 1.0.0-beta.1 - * @since [version] Add "required" to the description field, add helper text, & add credential download option after generation. + * @since 1.0.0-beta.3 Add "required" to the description field, add helper text, & add credential download option after generation. * * @return array */ @@ -229,7 +229,7 @@ public static function get_fields() { * Form handler to save Create / Update an API key. * * @since 1.0.0-beta.1 - * @since [version] Remove key copy message in favor of message directly above the key fields. + * @since 1.0.0-beta.3 Remove key copy message in favor of message directly above the key fields. * * @return null|LLMS_REST_API_Key|WP_Error */ diff --git a/includes/admin/tables/class-llms-rest-table-webhooks.php b/includes/admin/tables/class-llms-rest-table-webhooks.php index 020b98c3..3244f0e2 100644 --- a/includes/admin/tables/class-llms-rest-table-webhooks.php +++ b/includes/admin/tables/class-llms-rest-table-webhooks.php @@ -14,7 +14,7 @@ * LLMS_REST_Table_Webhooks class.. * * @since 1.0.0-beta.1 - * @since [version] Output translated status instead of the database value; trim the delivery URL to 40 characters. + * @since 1.0.0-beta.3 Output translated status instead of the database value; trim the delivery URL to 40 characters. */ class LLMS_REST_Table_Webhooks extends LLMS_Admin_Table { @@ -59,7 +59,7 @@ protected function get_name_cell( $webhook ) { * Retrieve data for the columns * * @since 1.0.0-beta.1 - * @since [version] Output translated status instead of the database value; trim the delivery URL to 40 characters. + * @since 1.0.0-beta.3 Output translated status instead of the database value; trim the delivery URL to 40 characters. * * @param string $key the column id / key. * @param LLMS_REST_API_Key $webhook API key object. diff --git a/includes/class-llms-rest-webhooks.php b/includes/class-llms-rest-webhooks.php index 7f4a1386..7cf22959 100644 --- a/includes/class-llms-rest-webhooks.php +++ b/includes/class-llms-rest-webhooks.php @@ -5,7 +5,7 @@ * @package LifterLMS_REST/Classes * * @since 1.0.0-beta.1 - * @version [version] + * @version 1.0.0-beta.3 */ defined( 'ABSPATH' ) || exit; @@ -14,7 +14,7 @@ * LLMS_REST_Webhooks class. * * @since 1.0.0-beta.1 - * @since [version] Fix formatting error on the default webhook name string. + * @since 1.0.0-beta.3 Fix formatting error on the default webhook name string. */ class LLMS_REST_Webhooks extends LLMS_REST_Database_Resource { @@ -106,7 +106,7 @@ public function get_admin_url() { * Overrides parent to dynamically set the class variable since several defaults are generated through functions. * * @since 1.0.0-beta.1 - * @since [version] Fix formatting error. + * @since 1.0.0-beta.3 Fix formatting error. * * @return array */ diff --git a/includes/server/class-llms-rest-enrollments-controller.php b/includes/server/class-llms-rest-enrollments-controller.php index 2f2fdfe7..f3bcf648 100644 --- a/includes/server/class-llms-rest-enrollments-controller.php +++ b/includes/server/class-llms-rest-enrollments-controller.php @@ -14,7 +14,7 @@ * LLMS_REST_Enrollments_Controller * * @since 1.0.0-beta.1 - * @since [version] Don't output "Last" page link header on the last page. + * @since 1.0.0-beta.3 Don't output "Last" page link header on the last page. */ class LLMS_REST_Enrollments_Controller extends LLMS_REST_Controller { @@ -136,7 +136,7 @@ public function get_items_permissions_check( $request ) { * Get a collection of enrollments. * * @since 1.0.0-beta.1 - * @since [version] Don't output "Last" page link header on the last page. + * @since 1.0.0-beta.3 Don't output "Last" page link header on the last page. * * @param WP_REST_Request $request Full details about the request. * @return WP_Error|WP_REST_Response diff --git a/includes/server/class-llms-rest-webhooks-controller.php b/includes/server/class-llms-rest-webhooks-controller.php index a0ee2ed4..854c9299 100644 --- a/includes/server/class-llms-rest-webhooks-controller.php +++ b/includes/server/class-llms-rest-webhooks-controller.php @@ -4,8 +4,8 @@ * * @package LifterLMS_REST/Classes * - * @since [version] - * @version [version] + * @since 1.0.0-beta.3 + * @version 1.0.0-beta.3 */ defined( 'ABSPATH' ) || exit; @@ -13,7 +13,7 @@ /** * LLMS_REST_Webhooks_Controller class. * - * @since [version] + * @since 1.0.0-beta.3 */ class LLMS_REST_Webhooks_Controller extends LLMS_REST_Controller { @@ -39,7 +39,7 @@ class LLMS_REST_Webhooks_Controller extends LLMS_REST_Controller { /** * Check if the authenticated user can perform the request action. * - * @since [version] + * @since 1.0.0-beta.3 * * @return boolean */ @@ -60,7 +60,7 @@ public function create_item_permissions_check( $request ) { /** * Insert the prepared data into the database. * - * @since [version] + * @since 1.0.0-beta.3 * * @param array $prepared Prepared item data. * @param WP_REST_Request $request Request object. @@ -75,7 +75,7 @@ protected function create_object( $prepared, $request ) { /** * Check if a given request has access to delete an item. * - * @since [version] + * @since 1.0.0-beta.3 * * @param WP_REST_Request $request Full details about the request. * @return bool|WP_Error @@ -90,7 +90,7 @@ public function delete_item_permissions_check( $request ) { * Note: we do not return 404s when the resource to delete cannot be found. We assume it's already been deleted and respond with 204. * Errors returned by this method should be any error other than a 404! * - * @since [version] + * @since 1.0.0-beta.3 * * @param obj $object Instance of the object from $this->get_object(). * @param WP_REST_Request $request Request object. @@ -105,7 +105,7 @@ protected function delete_object( $object, $request ) { /** * Retrieves the query params for the objects collection. * - * @since [version] + * @since 1.0.0-beta.3 * * @return array Collection parameters. */ @@ -126,7 +126,7 @@ public function get_collection_params() { /** * Get the Webhook's schema, conforming to JSON Schema. * - * @since [version] + * @since 1.0.0-beta.3 * * @return array */ @@ -220,7 +220,7 @@ public function get_item_schema() { /** * Check if a given request has access to read an item. * - * @since [version] + * @since 1.0.0-beta.3 * * @param WP_REST_Request $request Full details about the request. * @return WP_Error|boolean @@ -232,7 +232,7 @@ public function get_item_permissions_check( $request ) { /** * Check if a given request has access to read items. * - * @since [version] + * @since 1.0.0-beta.3 * * @param WP_REST_Request $request Full details about the request. * @return WP_Error|boolean @@ -244,7 +244,7 @@ public function get_items_permissions_check( $request ) { /** * Retrieve pagination information from an objects query. * - * @since [version] + * @since 1.0.0-beta.3 * * @param obj $query Objects query result. * @param array $prepared Array of collection arguments. @@ -270,7 +270,7 @@ protected function get_pagination_data_from_query( $query, $prepared, $request ) /** * Retrieve An Webhook object by ID. * - * @since [version] + * @since 1.0.0-beta.3 * * @param int $id Webhook ID. * @param bool $hydrate If true, pulls all key data from the database on instantiation. @@ -290,7 +290,7 @@ protected function get_object( $id, $hydrate = true ) { /** * Retrieve a query object based on arguments from a `get_items()` (collection) request. * - * @since [version] + * @since 1.0.0-beta.3 * * @param array $prepared Array of collection arguments. * @param WP_REST_Request $request Request object. @@ -305,7 +305,7 @@ protected function get_objects_query( $prepared, $request ) { /** * Retrieve an array of objects from the result of $this->get_objects_query(). * - * @since [version] + * @since 1.0.0-beta.3 * * @param obj $query Objects query result. * @return obj[] @@ -322,7 +322,7 @@ protected function get_objects_from_query( $query ) { * Array keys are the request fields (as defined in the schema) and * array values are the database fields. * - * @since [version] + * @since 1.0.0-beta.3 * * @return array */ @@ -340,7 +340,7 @@ protected function map_schema_to_database() { /** * Prepare an object for response. * - * @since [version] + * @since 1.0.0-beta.3 * * @param LLMS_Abstract_User_Data $object User object. * @param WP_REST_Request $request Request object. @@ -364,7 +364,7 @@ protected function prepare_object_for_response( $object, $request ) { /** * Update an Webhook * - * @since [version] + * @since 1.0.0-beta.3 * * @param WP_REST_Request $request Request object. * @return WP_Error|WP_REST_Response @@ -387,7 +387,7 @@ public function update_item( $request ) { /** * Check if a given request has access to update an item. * - * @since [version] + * @since 1.0.0-beta.3 * * @param WP_REST_Request $request Full details about the request. * @return WP_Error|boolean diff --git a/lifterlms-rest.php b/lifterlms-rest.php index 589f9621..3fa70ddf 100644 --- a/lifterlms-rest.php +++ b/lifterlms-rest.php @@ -10,7 +10,7 @@ * Plugin Name: LifterLMS REST API * Plugin URI: https://lifterlms.com/ * Description: REST API feature plugin for the LifterLMS Core. - * Version: 1.0.0-beta.2-beta.1 + * Version: 1.0.0-beta.3 * Author: LifterLMS * Author URI: https://lifterlms.com/ * Text Domain: lifterlms diff --git a/package-lock.json b/package-lock.json index 5e121a67..b2b067ba 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "lifterlms-rest", - "version": "1.0.0-beta.2", + "version": "1.0.0-beta.3", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index ee3524a6..52706af5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "lifterlms-rest", - "version": "1.0.0-beta.2", + "version": "1.0.0-beta.3", "description": "REST API feature plugin for the LifterLMS Core.", "author": "LifterLMS", "homepage": "https://lifterlms.com/", diff --git a/spec/openapi.yaml b/spec/openapi.yaml index 236a7152..ba2d0415 100644 --- a/spec/openapi.yaml +++ b/spec/openapi.yaml @@ -1,6 +1,6 @@ openapi: 3.0.0 info: - version: 1.0.0-beta.2 + version: 1.0.0-beta.3 title: LifterLMS REST API description: >- # Introduction diff --git a/tests/framework/class-llms-rest-unit-test-case-base.php b/tests/framework/class-llms-rest-unit-test-case-base.php index 01241ed5..c3e24738 100644 --- a/tests/framework/class-llms-rest-unit-test-case-base.php +++ b/tests/framework/class-llms-rest-unit-test-case-base.php @@ -5,7 +5,7 @@ * @package LifterLMS_REST_API/Tests * * @since 1.0.0-beta.1 - * @since [version] Add hook-related mock functions. + * @since 1.0.0-beta.3 Add hook-related mock functions. */ class LLMS_REST_Unit_Test_Case_Base extends LLMS_Unit_Test_Case { @@ -102,7 +102,7 @@ public function create_many_webhooks( $count, $status = 'rand', $topic = 'rand' /** * Create a hook * - * @since [version] + * @since 1.0.0-beta.3 * * @param array $args Webhook creation args. * @return LLMS_REST_Webhook @@ -116,7 +116,7 @@ protected function get_hook( $args = array() ) { /** * Retrieve default args for creating a hook * - * @since [version] + * @since 1.0.0-beta.3 * * @param array $args Webhook creation args. * @return array diff --git a/tests/unit-tests/admin/class-llms-rest-test-admin-form-controller.php b/tests/unit-tests/admin/class-llms-rest-test-admin-form-controller.php index 490e84be..ee7db177 100644 --- a/tests/unit-tests/admin/class-llms-rest-test-admin-form-controller.php +++ b/tests/unit-tests/admin/class-llms-rest-test-admin-form-controller.php @@ -8,7 +8,7 @@ * @group admin_forms * * @since 1.0.0-beta.1 - * @version [version] + * @version 1.0.0-beta.3 */ class LLMS_REST_Test_Admin_Form_Controller extends LLMS_REST_Unit_Test_Case_Base { @@ -474,7 +474,7 @@ public function test_delete_webhook() { /** * Test prepare_key_download() method * - * @since [version] + * @since 1.0.0-beta.3 * * @return void */ diff --git a/tests/unit-tests/server/class-llms-rest-test-enrollments.php b/tests/unit-tests/server/class-llms-rest-test-enrollments.php index 147d81c8..14f54a8b 100644 --- a/tests/unit-tests/server/class-llms-rest-test-enrollments.php +++ b/tests/unit-tests/server/class-llms-rest-test-enrollments.php @@ -8,7 +8,7 @@ * @group rest_enrollments * * @since 1.0.0-beta.1 - * @version [version] + * @version 1.0.0-beta.3 */ class LLMS_REST_Test_Enrollments extends LLMS_REST_Unit_Test_Case_Server { @@ -104,7 +104,7 @@ public function test_get_enrollments() { /** * Test list student enrollments. * - * @since [version] + * @since 1.0.0-beta.3 */ public function test_get_enrollments_pagination() { diff --git a/tests/unit-tests/server/class-llms-rest-test-webhooks-controllers.php b/tests/unit-tests/server/class-llms-rest-test-webhooks-controllers.php index 82ee40d5..3e20a5cf 100644 --- a/tests/unit-tests/server/class-llms-rest-test-webhooks-controllers.php +++ b/tests/unit-tests/server/class-llms-rest-test-webhooks-controllers.php @@ -8,8 +8,8 @@ * @group webhooks * @group rest_webhooks * - * @since [version] - * @version [version] + * @since 1.0.0-beta.3 + * @version 1.0.0-beta.3 */ class LLMS_REST_Test_Webhooks_Controller extends LLMS_REST_Unit_Test_Case_Server { @@ -46,7 +46,7 @@ private function assertIsAWebhook( $data ) { /** * Setup our test server, endpoints, and user info. * - * @since [version] + * @since 1.0.0-beta.3 * * @return void */ @@ -67,7 +67,7 @@ public function setUp() { /** * Test route registration. * - * @since [version] + * @since 1.0.0-beta.3 * * @return void */ @@ -82,7 +82,7 @@ public function test_register_routes() { /** * Error if webhook creation missing required parameters. * - * @since [version] + * @since 1.0.0-beta.3 * * @return void */ @@ -98,7 +98,7 @@ public function test_create_item_missing_required() { /** * Error creating webhook with invalid topic * - * @since [version] + * @since 1.0.0-beta.3 * * @return void */ @@ -116,7 +116,7 @@ public function test_create_item_invalid_topic() { /** * Error creating webhook with invalid status * - * @since [version] + * @since 1.0.0-beta.3 * * @return void */ @@ -134,7 +134,7 @@ public function test_create_item_invalid_status() { /** * Error for invalid status * - * @since [version] + * @since 1.0.0-beta.3 * * @return void */ @@ -154,7 +154,7 @@ public function test_create_item_bad_url() { /** * Error creating webhook with an id * - * @since [version] + * @since 1.0.0-beta.3 * * @return void */ @@ -173,7 +173,7 @@ public function test_create_item_no_id_allowed() { /** * Works. * - * @since [version] + * @since 1.0.0-beta.3 * * @return void */ @@ -196,7 +196,7 @@ public function test_create_item_okay() { /** * Public function test delete item. * - * @since [version] + * @since 1.0.0-beta.3 * * @return void */ @@ -221,7 +221,7 @@ public function test_delete_item() { /** * Can't get if unauthorized * - * @since [version] + * @since 1.0.0-beta.3 * * @return void */ @@ -237,7 +237,7 @@ public function test_get_item_error_unauthorized() { /** * Authorized but missing capabilities * - * @since [version] + * @since 1.0.0-beta.3 * * @return void */ @@ -254,7 +254,7 @@ public function test_get_item_error_forbidden() { /** * 404 * - * @since [version] + * @since 1.0.0-beta.3 * * @return void */ @@ -271,7 +271,7 @@ public function test_get_item_error_404() { /** * Retrieve success. * - * @since [version] + * @since 1.0.0-beta.3 * * @return void */ @@ -290,7 +290,7 @@ public function test_get_item_success() { /** * Cant list unuathorized. * - * @since [version] + * @since 1.0.0-beta.3 * * @see {Reference} * @link {URL} @@ -308,7 +308,7 @@ public function test_get_items_unauthorized() { /** * Cant list without permissions. * - * @since [version] + * @since 1.0.0-beta.3 * * @see {Reference} * @link {URL} @@ -327,7 +327,7 @@ public function test_get_items_forbidden() { /** * None found. * - * @since [version] + * @since 1.0.0-beta.3 * * @see {Reference} * @link {URL} @@ -350,7 +350,7 @@ public function test_get_items_okay_none() { /** * Test pagination. * - * @since [version] + * @since 1.0.0-beta.3 * * @see {Reference} * @link {URL} @@ -403,7 +403,7 @@ public function test_get_items_okay_pagination() { /** * Error for invalid status * - * @since [version] + * @since 1.0.0-beta.3 * * @return void */ @@ -424,7 +424,7 @@ public function test_update_item_invalid_status() { /** * Error for invalid status * - * @since [version] + * @since 1.0.0-beta.3 * * @return void */ @@ -449,7 +449,7 @@ public function test_update_item_bad_url() { /** * Error for invalid topic * - * @since [version] + * @since 1.0.0-beta.3 * * @return void */ @@ -470,7 +470,7 @@ public function test_update_item_invalid_topic() { /** * Success. * - * @since [version] + * @since 1.0.0-beta.3 * * @return void */