From d441f44698a1ed0bf6cf33c74f910f05ab7d6a08 Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Thu, 9 May 2019 20:35:59 +0400 Subject: Added get a total count records Signed-off-by: Valentin Popov --- classes/local/api.php | 12 ++++++++++++ tests/api_test.php | 30 ++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/classes/local/api.php b/classes/local/api.php index c937aa5..ea70a91 100644 --- a/classes/local/api.php +++ b/classes/local/api.php @@ -187,6 +187,18 @@ final class api { return $services; } + /** + * Get a total count of existing records. + * + * @return int + * @throws \dml_exception + */ + public static function get_total_count(): int { + global $DB; + + return $DB->count_records(LW_TABLE_SERVICES); + } + /** * Update an existing record in the database. * diff --git a/tests/api_test.php b/tests/api_test.php index 955c284..648c7e8 100644 --- a/tests/api_test.php +++ b/tests/api_test.php @@ -306,6 +306,36 @@ final class local_webhooks_api_testcase extends advanced_testcase { self::assertNotEquals($service1->id, $service2->id); } + /** + * Testing get a total count of existing records. + * + * @throws \coding_exception + * @throws \dml_exception + */ + public function test_total() { + $this->resetAfterTest(); + + $record = new record(); + $record->header = 'application/json'; + $record->status = true; + $record->token = '967b2286-0874-4938-b088-efdbcf8a79bc'; + $record->events = [ + '\core\event\course_created', + '\core\event\course_deleted', + '\core\event\course_updated', + '\core\event\course_viewed', + ]; + + $total = random_int(5, 20); + for ($i = 0; $i < $total; $i++) { + $record->name = 'Example name #' . $i; + $record->point = 'http://example.org/test_' . $i; + api::create_service($record); + } + + self::assertEquals($total, api::get_total_count()); + } + /** * Testing of the service update. * -- cgit v1.2.3