From fbf83d84289fa9563eeb2060357ed4c228d6c8a2 Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Wed, 6 Jun 2018 15:20:43 +0400 Subject: Testing the main API Signed-off-by: Valentin Popov --- tests/api_test.php | 125 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 tests/api_test.php (limited to 'tests') diff --git a/tests/api_test.php b/tests/api_test.php new file mode 100644 index 0000000..d8ed961 --- /dev/null +++ b/tests/api_test.php @@ -0,0 +1,125 @@ +. + +/** + * Test 'tool_apisiteadmins' 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(); + +require_once(__DIR__ . "/../lib.php"); + +/** + * Test 'tool_apisiteadmins' class. + * + * @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_api_testcase extends advanced_testcase { + public function test_adding_and_deleting_administrator() { + global $CFG; + + $this->resetAfterTest(true); + + $user = $this->getDataGenerator()->create_user(); + + /* Adds a user to the list */ + tool_apisiteadmins::add_user($user->id); + $this->assertArrayHasKey($user->id, get_admins()); + $this->assertCount(2, get_admins()); + + /* Re-adds the user to the list */ + tool_apisiteadmins::add_user($user->id); + $this->assertArrayHasKey($user->id, get_admins()); + $this->assertCount(2, get_admins()); + + /* Removes the user from the list */ + tool_apisiteadmins::remove_user($user->id); + $this->assertArrayNotHasKey($user->id, get_admins()); + $this->assertCount(1, get_admins()); + + /* Removes a remote user from the list */ + tool_apisiteadmins::remove_user($user->id); + $this->assertArrayNotHasKey($user->id, get_admins()); + $this->assertCount(1, get_admins()); + } + + /** + * @depends test_adding_and_deleting_administrator + */ + public function test_exception_adding_check() { + global $CFG; + + $this->expectException(moodle_exception::class); + $this->resetAfterTest(true); + + $userid = mt_rand(99, 999); + + /* Adds a non-existent user */ + tool_apisiteadmins::add_user($userid); + } + + /** + * @depends test_adding_and_deleting_administrator + */ + public function test_exception_removal_check() { + global $CFG; + + $this->expectException(moodle_exception::class); + $this->resetAfterTest(true); + + $userid = mt_rand(99, 999); + + /* Removes a non-existent user */ + tool_apisiteadmins::remove_user($userid); + } + + /** + * @depends test_adding_and_deleting_administrator + * @depends test_exception_adding_check + * @depends test_exception_removal_check + */ + public function test_changing_main_administrator() { + global $CFG; + + $this->resetAfterTest(true); + + $user1 = $this->getDataGenerator()->create_user(); + $user2 = $this->getDataGenerator()->create_user(); + + /* Adds users to the list */ + tool_apisiteadmins::add_user($user1->id); + tool_apisiteadmins::add_user($user2->id); + $this->assertArrayHasKey($user1->id, get_admins()); + $this->assertArrayHasKey($user2->id, get_admins()); + + /* Sets first user main */ + tool_apisiteadmins::set_main($user1->id); + $this->assertCount(3, get_admins()); + $this->assertEquals($user1, get_admin()); + + /* Sets second user main */ + tool_apisiteadmins::set_main($user2->id); + $this->assertCount(3, get_admins()); + $this->assertEquals($user2, get_admin()); + } +} -- cgit v1.2.3 From 6b3130d1d5cb56b7345dc3fd61756defbc021c39 Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Thu, 7 Jun 2018 05:56:09 +0400 Subject: Function transfer Signed-off-by: Valentin Popov --- tests/api_test.php | 54 ++++++++++++++++++++++++++---------------------------- 1 file changed, 26 insertions(+), 28 deletions(-) (limited to 'tests') diff --git a/tests/api_test.php b/tests/api_test.php index d8ed961..d7b9f4b 100644 --- a/tests/api_test.php +++ b/tests/api_test.php @@ -66,22 +66,35 @@ class tool_apisiteadmins_api_testcase extends advanced_testcase { /** * @depends test_adding_and_deleting_administrator */ - public function test_exception_adding_check() { + public function test_changing_main_administrator() { global $CFG; - $this->expectException(moodle_exception::class); $this->resetAfterTest(true); - $userid = mt_rand(99, 999); + $user1 = $this->getDataGenerator()->create_user(); + $user2 = $this->getDataGenerator()->create_user(); - /* Adds a non-existent user */ - tool_apisiteadmins::add_user($userid); + /* Adds users to the list */ + tool_apisiteadmins::add_user($user1->id); + tool_apisiteadmins::add_user($user2->id); + $this->assertArrayHasKey($user1->id, get_admins()); + $this->assertArrayHasKey($user2->id, get_admins()); + + /* Sets first user main */ + tool_apisiteadmins::set_main($user1->id); + $this->assertCount(3, get_admins()); + $this->assertEquals($user1, get_admin()); + + /* Sets second user main */ + tool_apisiteadmins::set_main($user2->id); + $this->assertCount(3, get_admins()); + $this->assertEquals($user2, get_admin()); } /** * @depends test_adding_and_deleting_administrator */ - public function test_exception_removal_check() { + public function test_exception_adding_check() { global $CFG; $this->expectException(moodle_exception::class); @@ -89,37 +102,22 @@ class tool_apisiteadmins_api_testcase extends advanced_testcase { $userid = mt_rand(99, 999); - /* Removes a non-existent user */ - tool_apisiteadmins::remove_user($userid); + /* Adds a non-existent user */ + tool_apisiteadmins::add_user($userid); } /** * @depends test_adding_and_deleting_administrator - * @depends test_exception_adding_check - * @depends test_exception_removal_check */ - public function test_changing_main_administrator() { + public function test_exception_removal_check() { global $CFG; + $this->expectException(moodle_exception::class); $this->resetAfterTest(true); - $user1 = $this->getDataGenerator()->create_user(); - $user2 = $this->getDataGenerator()->create_user(); - - /* Adds users to the list */ - tool_apisiteadmins::add_user($user1->id); - tool_apisiteadmins::add_user($user2->id); - $this->assertArrayHasKey($user1->id, get_admins()); - $this->assertArrayHasKey($user2->id, get_admins()); - - /* Sets first user main */ - tool_apisiteadmins::set_main($user1->id); - $this->assertCount(3, get_admins()); - $this->assertEquals($user1, get_admin()); + $userid = mt_rand(99, 999); - /* Sets second user main */ - tool_apisiteadmins::set_main($user2->id); - $this->assertCount(3, get_admins()); - $this->assertEquals($user2, get_admin()); + /* Removes a non-existent user */ + tool_apisiteadmins::remove_user($userid); } } -- cgit v1.2.3 From 94ff9d806f7962f26634a42686fad9ffeb7103e1 Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Thu, 7 Jun 2018 06:04:53 +0400 Subject: New test Signed-off-by: Valentin Popov --- tests/api_test.php | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'tests') diff --git a/tests/api_test.php b/tests/api_test.php index d7b9f4b..c435e71 100644 --- a/tests/api_test.php +++ b/tests/api_test.php @@ -91,6 +91,23 @@ class tool_apisiteadmins_api_testcase extends advanced_testcase { $this->assertEquals($user2, get_admin()); } + /** + * @depends test_adding_and_deleting_administrator + */ + public function test_deleting_all_administrators() { + global $CFG; + + $this->resetAfterTest(true); + + $this->assertCount(1, get_admins()); + $user = get_admin(); + + /* Removes a single administrator */ + tool_apisiteadmins::remove_user($user->id); + $this->assertCount(1, get_admins()); + $this->assertEquals($user, get_admin()); + } + /** * @depends test_adding_and_deleting_administrator */ -- cgit v1.2.3 From a517252897fb880186073085a6b4763d5c275771 Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Thu, 7 Jun 2018 11:20:26 +0400 Subject: Small qualitative changes Signed-off-by: Valentin Popov --- tests/api_test.php | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) (limited to 'tests') diff --git a/tests/api_test.php b/tests/api_test.php index c435e71..a0c6fef 100644 --- a/tests/api_test.php +++ b/tests/api_test.php @@ -24,11 +24,14 @@ defined("MOODLE_INTERNAL") || die(); +global $CFG; + require_once(__DIR__ . "/../lib.php"); /** * Test 'tool_apisiteadmins' class. * + * @category phpunit * @group tool_apisiteadmins * @copyright 2018 "Valentin Popov" * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later @@ -36,8 +39,6 @@ require_once(__DIR__ . "/../lib.php"); */ class tool_apisiteadmins_api_testcase extends advanced_testcase { public function test_adding_and_deleting_administrator() { - global $CFG; - $this->resetAfterTest(true); $user = $this->getDataGenerator()->create_user(); @@ -67,8 +68,6 @@ class tool_apisiteadmins_api_testcase extends advanced_testcase { * @depends test_adding_and_deleting_administrator */ public function test_changing_main_administrator() { - global $CFG; - $this->resetAfterTest(true); $user1 = $this->getDataGenerator()->create_user(); @@ -79,15 +78,14 @@ class tool_apisiteadmins_api_testcase extends advanced_testcase { tool_apisiteadmins::add_user($user2->id); $this->assertArrayHasKey($user1->id, get_admins()); $this->assertArrayHasKey($user2->id, get_admins()); + $this->assertCount(3, get_admins()); /* Sets first user main */ tool_apisiteadmins::set_main($user1->id); - $this->assertCount(3, get_admins()); $this->assertEquals($user1, get_admin()); /* Sets second user main */ tool_apisiteadmins::set_main($user2->id); - $this->assertCount(3, get_admins()); $this->assertEquals($user2, get_admin()); } @@ -95,8 +93,6 @@ class tool_apisiteadmins_api_testcase extends advanced_testcase { * @depends test_adding_and_deleting_administrator */ public function test_deleting_all_administrators() { - global $CFG; - $this->resetAfterTest(true); $this->assertCount(1, get_admins()); @@ -112,8 +108,6 @@ class tool_apisiteadmins_api_testcase extends advanced_testcase { * @depends test_adding_and_deleting_administrator */ public function test_exception_adding_check() { - global $CFG; - $this->expectException(moodle_exception::class); $this->resetAfterTest(true); @@ -127,8 +121,6 @@ class tool_apisiteadmins_api_testcase extends advanced_testcase { * @depends test_adding_and_deleting_administrator */ public function test_exception_removal_check() { - global $CFG; - $this->expectException(moodle_exception::class); $this->resetAfterTest(true); -- cgit v1.2.3 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') 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') 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