MDL-76583 core_external: Move settings test and update

This commit is contained in:
Andrew Nicols
2023-01-19 07:33:35 +08:00
parent ecbb31b160
commit 3f8fdc8e33
2 changed files with 77 additions and 9 deletions
+7
View File
@@ -74,6 +74,13 @@ class external_settings {
return self::$instance;
}
/**
* Reset the singleton instance.
*/
public static function reset(): void {
self::$instance = null;
}
/**
* Set raw
*
+70 -9
View File
@@ -27,16 +27,33 @@ namespace core_external;
*/
class external_settings_test extends \advanced_testcase {
/**
* Tests for external_settings class.
* Reset the singleton between tests.
*/
public function test_external_settings() {
public function tearDown(): void {
external_settings::reset();
}
/**
* Tests for external_settings class.
*
* @covers \core_external\external_settings::get_instance
*/
public function test_external_settings(): void {
$settings = external_settings::get_instance();
$this->assertInstanceOf(external_settings::class, $settings);
}
/**
* Check external_settings defaults.
*
* @covers \core_external\external_settings::get_instance
*/
public function test_external_settings_defaults(): void {
$settings = external_settings::get_instance();
$currentraw = $settings->get_raw();
$currentfilter = $settings->get_filter();
$currentfile = $settings->get_file();
$currentfileurl = $settings->get_fileurl();
$this->assertInstanceOf(external_settings::class, $settings);
// Check apis.
@@ -48,12 +65,56 @@ class external_settings_test extends \advanced_testcase {
$this->assertFalse($settings->get_fileurl());
$settings->set_raw(true);
$this->assertTrue($settings->get_raw());
// Restore original values.
$settings->set_file($currentfile);
$settings->set_filter($currentfilter);
$settings->set_fileurl($currentfileurl);
$settings->set_raw($currentraw);
}
/**
* Check external_settings file API calls.
*
* @covers \core_external\external_settings::set_file
* @covers \core_external\external_settings::get_file
*/
public function test_external_settings_set_file(): void {
$settings = external_settings::get_instance();
$settings->set_file('plugin.php');
$this->assertEquals('plugin.php', $settings->get_file());
}
/**
* Check external_settings filter API calls.
*
* @covers \core_external\external_settings::set_filter
* @covers \core_external\external_settings::get_filter
*/
public function test_external_settings_set_filter(): void {
$settings = external_settings::get_instance();
$settings->set_filter(false);
$this->assertFalse($settings->get_filter());
}
/**
* Check external_settings file API calls.
*
* @covers \core_external\external_settings::set_fileurl
* @covers \core_external\external_settings::get_fileurl
*/
public function test_external_settings_set_fileurl(): void {
$settings = external_settings::get_instance();
$settings->set_fileurl(false);
$this->assertFalse($settings->get_fileurl());
}
/**
* Check external_settings raw API calls.
*
* @covers \core_external\external_settings::set_raw
* @covers \core_external\external_settings::get_raw
*/
public function test_external_settings_set_raw(): void {
$settings = external_settings::get_instance();
$settings->set_raw(true);
$this->assertTrue($settings->get_raw());
}
}