|
@@ -2045,7 +2045,8 @@ public function test_get_courses_by_field() { |
|
|
|
|
|
$category1 = self::getDataGenerator()->create_category(); |
|
|
$category2 = self::getDataGenerator()->create_category(array('parent' => $category1->id)); |
|
|
$course1 = self::getDataGenerator()->create_course(array('category' => $category1->id, 'shortname' => 'c1')); |
|
|
$course1 = self::getDataGenerator()->create_course( |
|
|
array('category' => $category1->id, 'shortname' => 'c1', 'format' => 'topics')); |
|
|
$course2 = self::getDataGenerator()->create_course(array('visible' => 0, 'category' => $category2->id, 'idnumber' => 'i2')); |
|
|
|
|
|
$student1 = self::getDataGenerator()->create_user(); |
|
@@ -2061,15 +2062,25 @@ public function test_get_courses_by_field() { |
|
|
$this->assertCount(3, $result['courses']); |
|
|
// Expect to receive all the fields. |
|
|
$this->assertCount(37, $result['courses'][0]); |
|
|
$this->assertCount(37, $result['courses'][1]); |
|
|
$this->assertCount(37, $result['courses'][2]); |
|
|
$this->assertCount(38, $result['courses'][1]); // One more field because is not the site course. |
|
|
$this->assertCount(38, $result['courses'][2]); // One more field because is not the site course. |
|
|
|
|
|
$result = core_course_external::get_courses_by_field('id', $course1->id); |
|
|
$result = external_api::clean_returnvalue(core_course_external::get_courses_by_field_returns(), $result); |
|
|
$this->assertCount(1, $result['courses']); |
|
|
$this->assertEquals($course1->id, $result['courses'][0]['id']); |
|
|
// Expect to receive all the fields. |
|
|
$this->assertCount(37, $result['courses'][0]); |
|
|
$this->assertCount(38, $result['courses'][0]); |
|
|
// Check default values for course format topics. |
|
|
$this->assertCount(2, $result['courses'][0]['courseformatoptions']); |
|
|
foreach ($result['courses'][0]['courseformatoptions'] as $option) { |
|
|
if ($option['name'] == 'hiddensections') { |
|
|
$this->assertEquals(0, $option['value']); |
|
|
} else { |
|
|
$this->assertEquals('coursedisplay', $option['name']); |
|
|
$this->assertEquals(0, $option['value']); |
|
|
} |
|
|
} |
|
|
|
|
|
$result = core_course_external::get_courses_by_field('id', $course2->id); |
|
|
$result = external_api::clean_returnvalue(core_course_external::get_courses_by_field_returns(), $result); |
|
@@ -2112,14 +2123,14 @@ public function test_get_courses_by_field() { |
|
|
$result = external_api::clean_returnvalue(core_course_external::get_courses_by_field_returns(), $result); |
|
|
$this->assertCount(2, $result['courses']); |
|
|
$this->assertCount(30, $result['courses'][0]); |
|
|
$this->assertCount(30, $result['courses'][1]); |
|
|
$this->assertCount(31, $result['courses'][1]); // One field more (course format options), not present in site course. |
|
|
|
|
|
$result = core_course_external::get_courses_by_field('id', $course1->id); |
|
|
$result = external_api::clean_returnvalue(core_course_external::get_courses_by_field_returns(), $result); |
|
|
$this->assertCount(1, $result['courses']); |
|
|
$this->assertEquals($course1->id, $result['courses'][0]['id']); |
|
|
// Expect to receive all the files that a student can see. |
|
|
$this->assertCount(30, $result['courses'][0]); |
|
|
$this->assertCount(31, $result['courses'][0]); |
|
|
|
|
|
// Check default filters. |
|
|
$filters = $result['courses'][0]['filters']; |
|
|