. /** * Check API unit tests * * @package core * @category check * @copyright 2020 Brendan Heywood * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ defined('MOODLE_INTERNAL') || die(); use core\check\result; /** * Example unit tests for check API * * @package core * @category check * @copyright 2020 Brendan Heywood * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class check_testcase extends advanced_testcase { /** * A simple example showing how a check and result object works * * Conceptually a check is analgous to a unit test except at runtime * instead of build time so many checks in real life such as testing * an API is connecting aren't viable to unit test. */ public function test_passwordpolicy() { global $CFG; $prior = $CFG->passwordpolicy; $check = new core\check\security\passwordpolicy(); $CFG->passwordpolicy = false; $result = $check->get_result(); $this->assertEquals($result->status, result::WARNING); $CFG->passwordpolicy = true; $result = $check->get_result(); $this->assertEquals($result->status, result::OK); $CFG->passwordpolicy = $prior; } }