Added sort fields

Signed-off-by: Valentin Popov <info@valentineus.link>
This commit is contained in:
Valentin Popov 2019-05-09 19:09:36 +04:00
parent da306feae3
commit cb6d5c7e13
Signed by: Valentin Popov
GPG Key ID: 269A00ACA90A8EA3
2 changed files with 15 additions and 7 deletions

View File

@ -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) {

View File

@ -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);
}
/**