/**
  * Test get_subwiki_files using an individual wiki with visible groups.
  */
 public function test_get_subwiki_files_visible_groups_individual()
 {
     // Create testing data.
     $this->create_individual_wikis_with_groups();
     $this->setUser($this->student);
     // Add a file as subwiki attachment in the student group 1 subwiki.
     $fs = get_file_storage();
     $contextwiki = context_module::instance($this->wikivisind->cmid);
     $file = array('component' => 'mod_wiki', 'filearea' => 'attachments', 'contextid' => $contextwiki->id, 'itemid' => $this->fpvisg1indstu->subwikiid, 'filename' => 'image.jpg', 'filepath' => '/', 'timemodified' => time());
     $content = 'IMAGE';
     $fs->create_file_from_string($file, $content);
     $expectedfile = array('filename' => $file['filename'], 'filepath' => $file['filepath'], 'mimetype' => 'image/jpeg', 'filesize' => strlen($content), 'timemodified' => $file['timemodified'], 'fileurl' => moodle_url::make_webservice_pluginfile_url($file['contextid'], $file['component'], $file['filearea'], $file['itemid'], $file['filepath'], $file['filename']));
     // Call the WS and check that it returns this file.
     $result = mod_wiki_external::get_subwiki_files($this->wikivisind->id, $this->group1->id);
     $result = external_api::clean_returnvalue(mod_wiki_external::get_subwiki_files_returns(), $result);
     $this->assertCount(1, $result['files']);
     $this->assertEquals($expectedfile, $result['files'][0]);
     // Now check that a teacher can see it too.
     $this->setUser($this->teacher);
     $result = mod_wiki_external::get_subwiki_files($this->wikivisind->id, $this->group1->id, $this->student->id);
     $result = external_api::clean_returnvalue(mod_wiki_external::get_subwiki_files_returns(), $result);
     $this->assertCount(1, $result['files']);
     $this->assertEquals($expectedfile, $result['files'][0]);
 }