. namespace core_external; /** * Unit tests for core_external\external_files. * * @package core_external * @category test * @copyright 2022 Andrew Lyons * @license http://www.gnu.org/copyleft/gpl.html GNU Public License * @covers \core_external\external_files */ class external_files_test extends \advanced_testcase { /** * Text external files structure. * * @covers \core_external\external_files */ public function test_files_structure(): void { $description = new external_files(); // First check that the expected default values and keys are returned. $expectedkeys = array_flip([ 'filename', 'filepath', 'filesize', 'fileurl', 'timemodified', 'mimetype', 'isexternalfile', 'repositorytype', ]); $returnedkeys = array_flip(array_keys($description->content->keys)); $this->assertEquals($expectedkeys, $returnedkeys); $this->assertEquals('List of files.', $description->desc); $this->assertEquals(VALUE_REQUIRED, $description->required); foreach ($description->content->keys as $key) { $this->assertEquals(VALUE_OPTIONAL, $key->required); } } }