diff options
-rw-r--r-- | classes/local/api.php | 13 | ||||
-rw-r--r-- | tests/api_test.php | 9 |
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); } /** |