aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorValentin Popov <info@valentineus.link>2019-05-09 18:09:36 +0300
committerValentin Popov <info@valentineus.link>2019-05-09 18:09:36 +0300
commitcb6d5c7e13c0eee799b0e9fcb42432eaad674117 (patch)
tree69706adbf809f7eaf8e24feef51e819aeed77fd5
parentda306feae32b859f5cd40793aa9cefe6180a900f (diff)
downloadlocal_webhooks-cb6d5c7e13c0eee799b0e9fcb42432eaad674117.tar.xz
local_webhooks-cb6d5c7e13c0eee799b0e9fcb42432eaad674117.zip
Added sort fields
Signed-off-by: Valentin Popov <info@valentineus.link>
-rw-r--r--classes/local/api.php13
-rw-r--r--tests/api_test.php9
2 files changed, 15 insertions, 7 deletions
diff --git a/classes/local/api.php b/classes/local/api.php
index d25d383..c937aa5 100644
--- a/classes/local/api.php
+++ b/classes/local/api.php
@@ -126,17 +126,18 @@ final class api {
/**
* Get list records from the database.
*
- * @param array|null $conditions
- * @param int|null $limitfrom
- * @param int|null $limitnum
+ * @param array|null $conditions
+ * @param string|null $sort
+ * @param int|null $from
+ * @param int|null $limit
*
- * @return \local_webhooks\local\record[]
+ * @return array
* @throws \dml_exception
*/
- public static function get_services(array $conditions = null, int $limitfrom = null, int $limitnum = null): array {
+ public static function get_services(array $conditions = null, string $sort = null, int $from = null, int $limit = null): array {
global $DB;
- $records = $DB->get_records(LW_TABLE_SERVICES, $conditions ?? [], '', '*', $limitfrom ?? 0, $limitnum ?? 0);
+ $records = $DB->get_records(LW_TABLE_SERVICES, $conditions ?? [], $sort ?? '', '*', $from ?? 0, $limit ?? 0);
$services = [];
foreach ($records as $record) {
diff --git a/tests/api_test.php b/tests/api_test.php
index 461ddc6..955c284 100644
--- a/tests/api_test.php
+++ b/tests/api_test.php
@@ -291,12 +291,19 @@ final class local_webhooks_api_testcase extends advanced_testcase {
api::create_service($record);
}
+ // Testing condition fields.
self::assertCount(1, api::get_services([
'point' => 'http://example.org/test_' . random_int(1, 5),
]));
+ // Testing limit fields.
$limit = intdiv($total, 2);
- self::assertCount($limit, api::get_services([], 1, $limit));
+ self::assertCount($limit, api::get_services([], null, 1, $limit));
+
+ // Testing sort fields.
+ $service1 = api::get_services(null, 'id asc')[0];
+ $service2 = api::get_services(null, 'id desc')[0];
+ self::assertNotEquals($service1->id, $service2->id);
}
/**