From cf5811aa780da4a51de20b6eee2d68aa1bcd82bd Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Sat, 9 Jun 2018 11:08:35 +0400 Subject: Test external class Signed-off-by: Valentin Popov --- tests/external_test.php | 131 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 tests/external_test.php (limited to 'tests/external_test.php') diff --git a/tests/external_test.php b/tests/external_test.php new file mode 100644 index 0000000..7368550 --- /dev/null +++ b/tests/external_test.php @@ -0,0 +1,131 @@ +. + +/** + * Test 'tool_apisiteadmins_external' class. + * + * @copyright 2018 "Valentin Popov" + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + * @package tool_apisiteadmins + */ + +defined("MOODLE_INTERNAL") || die(); + +global $CFG; + +require_once(__DIR__ . "/../externallib.php"); + +/** + * Test tool_apisiteadmins_external class. + * + * @category phpunit + * @group tool_apisiteadmins + * @copyright 2018 "Valentin Popov" + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + * @package tool_apisiteadmins + */ +class tool_apisiteadmins_external_testcase extends advanced_testcase { + public function test_adding_and_deleting_administrator() { + $this->resetAfterTest(true); + $this->setAdminUser(); + + $user = $this->getDataGenerator()->create_user(); + + /* Adds a user to the list */ + $result = tool_apisiteadmins_external::add_to_administrators($user->id); + $result = external_api::clean_returnvalue(tool_apisiteadmins_external::add_to_administrators_returns(), $result); + $this->assertArrayHasKey($user->id, get_admins()); + $this->assertCount(2, get_admins()); + $this->assertTrue($result); + + /* Removes the user from the list */ + $result = tool_apisiteadmins_external::remove_from_administrators($user->id); + $result = external_api::clean_returnvalue(tool_apisiteadmins_external::remove_from_administrators_returns(), $result); + $this->assertArrayNotHasKey($user->id, get_admins()); + $this->assertCount(1, get_admins()); + $this->assertTrue($result); + } + + /** + * @depends test_adding_and_deleting_administrator + */ + public function test_changing_main_administrator() { + $this->resetAfterTest(true); + $this->setAdminUser(); + + $user1 = $this->getDataGenerator()->create_user(); + $user2 = $this->getDataGenerator()->create_user(); + + /* Adds users to the list */ + tool_apisiteadmins_external::add_to_administrators($user1->id); + tool_apisiteadmins_external::add_to_administrators($user2->id); + $this->assertArrayHasKey($user1->id, get_admins()); + $this->assertArrayHasKey($user2->id, get_admins()); + $this->assertCount(3, get_admins()); + + /* Changes the primary administrator */ + $result = tool_apisiteadmins_external::change_main_administrator($user1->id); + $result = external_api::clean_returnvalue(tool_apisiteadmins_external::change_main_administrator_returns(), $result); + $this->assertEquals($user1, get_admin()); + $this->assertTrue($result); + + /* Changes the primary administrator */ + $result = tool_apisiteadmins_external::change_main_administrator($user2->id); + $result = external_api::clean_returnvalue(tool_apisiteadmins_external::change_main_administrator_returns(), $result); + $this->assertEquals($user2, get_admin()); + $this->assertTrue($result); + } + + /** + * @depends test_adding_and_deleting_administrator + * @depends test_changing_main_administrator + */ + public function test_getting_list_administrators() { + $this->resetAfterTest(true); + $this->setAdminUser(); + + $user1 = $this->getDataGenerator()->create_user(); + $user2 = $this->getDataGenerator()->create_user(); + + /* Adds users to the list */ + tool_apisiteadmins_external::add_to_administrators($user1->id); + tool_apisiteadmins_external::add_to_administrators($user2->id); + $this->assertArrayHasKey($user1->id, get_admins()); + $this->assertArrayHasKey($user2->id, get_admins()); + $this->assertCount(3, get_admins()); + + /* Gets the list of administrators */ + $result = tool_apisiteadmins_external::get_list_administrators(); + $result = external_api::clean_returnvalue(tool_apisiteadmins_external::get_list_administrators_returns(), $result); + $this->assertArraySubset(array("id" => $user1->id), $result[1]); + $this->assertArraySubset(array("id" => $user2->id), $result[2]); + $this->assertCount(3, $result); + + /* Changes the primary administrator */ + tool_apisiteadmins_external::change_main_administrator($user1->id); + $result = tool_apisiteadmins_external::get_main_administrator(); + $result = external_api::clean_returnvalue(tool_apisiteadmins_external::get_main_administrator_returns(), $result); + $this->assertArraySubset(array("id" => $user1->id), $result[0]); + $this->assertCount(1, $result); + + /* Changes the primary administrator */ + tool_apisiteadmins_external::change_main_administrator($user2->id); + $result = tool_apisiteadmins_external::get_main_administrator(); + $result = external_api::clean_returnvalue(tool_apisiteadmins_external::get_main_administrator_returns(), $result); + $this->assertArraySubset(array("id" => $user2->id), $result[0]); + $this->assertCount(1, $result); + } +} -- cgit v1.2.3 From 62c0ddbcd27f93fd9e2882dd035ab83a848ee3c4 Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Mon, 11 Jun 2018 19:00:07 +0400 Subject: Fix check MOODLE_INTERNAL Signed-off-by: Valentin Popov --- classes/event/administrator_added.php | 2 +- classes/event/administrator_changed.php | 2 +- classes/event/administrator_deleted.php | 2 +- db/services.php | 2 +- externallib.php | 2 +- lib.php | 2 +- tests/api_test.php | 2 +- tests/external_test.php | 2 +- version.php | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) (limited to 'tests/external_test.php') diff --git a/classes/event/administrator_added.php b/classes/event/administrator_added.php index 509f1b6..dd1aab2 100644 --- a/classes/event/administrator_added.php +++ b/classes/event/administrator_added.php @@ -24,7 +24,7 @@ namespace tool_apisiteadmins\event; -defined("MOODLE_INTERNAL") || die(); +defined('MOODLE_INTERNAL') || die(); /** * Defines how to work with events. diff --git a/classes/event/administrator_changed.php b/classes/event/administrator_changed.php index 97966f8..4280d1d 100644 --- a/classes/event/administrator_changed.php +++ b/classes/event/administrator_changed.php @@ -24,7 +24,7 @@ namespace tool_apisiteadmins\event; -defined("MOODLE_INTERNAL") || die(); +defined('MOODLE_INTERNAL') || die(); /** * Defines how to work with events. diff --git a/classes/event/administrator_deleted.php b/classes/event/administrator_deleted.php index 944dab5..81b89b9 100644 --- a/classes/event/administrator_deleted.php +++ b/classes/event/administrator_deleted.php @@ -24,7 +24,7 @@ namespace tool_apisiteadmins\event; -defined("MOODLE_INTERNAL") || die(); +defined('MOODLE_INTERNAL') || die(); /** * Defines how to work with events. diff --git a/db/services.php b/db/services.php index da355b3..7212a72 100644 --- a/db/services.php +++ b/db/services.php @@ -22,7 +22,7 @@ * @package tool_apisiteadmins */ -defined("MOODLE_INTERNAL") || die(); +defined('MOODLE_INTERNAL') || die(); $functions = array( "tool_apisiteadmins_add_to_administrators" => array( diff --git a/externallib.php b/externallib.php index 8054fcc..3f83eca 100644 --- a/externallib.php +++ b/externallib.php @@ -22,7 +22,7 @@ * @package tool_apisiteadmins */ -defined("MOODLE_INTERNAL") || die(); +defined('MOODLE_INTERNAL') || die(); require_once(__DIR__ . "/lib.php"); diff --git a/lib.php b/lib.php index b67904f..d41597b 100644 --- a/lib.php +++ b/lib.php @@ -22,7 +22,7 @@ * @package tool_apisiteadmins */ -defined("MOODLE_INTERNAL") || die(); +defined('MOODLE_INTERNAL') || die(); /** * Functions for working with the list of administrators. diff --git a/tests/api_test.php b/tests/api_test.php index a0c6fef..8155545 100644 --- a/tests/api_test.php +++ b/tests/api_test.php @@ -22,7 +22,7 @@ * @package tool_apisiteadmins */ -defined("MOODLE_INTERNAL") || die(); +defined('MOODLE_INTERNAL') || die(); global $CFG; diff --git a/tests/external_test.php b/tests/external_test.php index 7368550..83c58c5 100644 --- a/tests/external_test.php +++ b/tests/external_test.php @@ -22,7 +22,7 @@ * @package tool_apisiteadmins */ -defined("MOODLE_INTERNAL") || die(); +defined('MOODLE_INTERNAL') || die(); global $CFG; diff --git a/version.php b/version.php index 21a36bb..460c521 100644 --- a/version.php +++ b/version.php @@ -22,7 +22,7 @@ * @package tool_apisiteadmins */ -defined("MOODLE_INTERNAL") || die(); +defined('MOODLE_INTERNAL') || die(); $plugin->component = "tool_apisiteadmins"; $plugin->maturity = MATURITY_STABLE; -- cgit v1.2.3