mirror of
https://github.com/moodle/moodle.git
synced 2025-08-06 01:16:44 +02:00
MDL-55415 course: New WS core_course_get_user_administration_options
This commit is contained in:
parent
b2392037e7
commit
b9050b106e
3 changed files with 134 additions and 0 deletions
|
@ -1803,4 +1803,63 @@ class core_course_externallib_testcase extends externallib_advanced_testcase {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Test get_user_administration_options
|
||||
*/
|
||||
public function test_get_user_administration_options() {
|
||||
global $USER;
|
||||
|
||||
$this->resetAfterTest();
|
||||
$course1 = self::getDataGenerator()->create_course();
|
||||
$course2 = self::getDataGenerator()->create_course();
|
||||
|
||||
// Create a viewer user.
|
||||
$viewer = self::getDataGenerator()->create_user();
|
||||
$this->getDataGenerator()->enrol_user($viewer->id, $course1->id);
|
||||
$this->getDataGenerator()->enrol_user($viewer->id, $course2->id);
|
||||
|
||||
$this->setUser($viewer->id);
|
||||
$courses = array($course1->id , $course2->id, SITEID);
|
||||
|
||||
$result = core_course_external::get_user_administration_options($courses);
|
||||
$result = external_api::clean_returnvalue(core_course_external::get_user_administration_options_returns(), $result);
|
||||
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
$this->assertCount(3, $result['courses']);
|
||||
|
||||
foreach ($result['courses'] as $course) {
|
||||
$adminoptions = new stdClass;
|
||||
foreach ($course['options'] as $option) {
|
||||
$adminoptions->{$option['name']} = $option['available'];
|
||||
}
|
||||
if ($course['id'] == SITEID) {
|
||||
$this->assertCount(6, $course['options']);
|
||||
$this->assertFalse($adminoptions->update);
|
||||
$this->assertFalse($adminoptions->filters);
|
||||
$this->assertFalse($adminoptions->reports);
|
||||
$this->assertFalse($adminoptions->backup);
|
||||
$this->assertFalse($adminoptions->restore);
|
||||
$this->assertFalse($adminoptions->files);
|
||||
$this->assertTrue(!isset($adminoptions->tags));
|
||||
} else {
|
||||
$this->assertCount(15, $course['options']);
|
||||
$this->assertFalse($adminoptions->update);
|
||||
$this->assertFalse($adminoptions->filters);
|
||||
$this->assertFalse($adminoptions->reports);
|
||||
$this->assertFalse($adminoptions->backup);
|
||||
$this->assertFalse($adminoptions->restore);
|
||||
$this->assertFalse($adminoptions->files);
|
||||
$this->assertFalse($adminoptions->tags);
|
||||
$this->assertFalse($adminoptions->gradebook);
|
||||
$this->assertFalse($adminoptions->outcomes);
|
||||
$this->assertTrue($adminoptions->badges);
|
||||
$this->assertFalse($adminoptions->import);
|
||||
$this->assertFalse($adminoptions->publish);
|
||||
$this->assertFalse($adminoptions->reset);
|
||||
$this->assertFalse($adminoptions->roles);
|
||||
$this->assertTrue($adminoptions->grades);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue