MDL-47398 core_grades: fix grade category generator
This commit is contained in:
@@ -105,15 +105,6 @@ class core_test_generator_testcase extends advanced_testcase {
|
||||
|
||||
$scale = $generator->create_scale();
|
||||
$this->assertNotEmpty($scale);
|
||||
|
||||
// Note we only count grade cats with depth > 1 because the course grade category
|
||||
// is lazily created.
|
||||
$count = $DB->count_records_select('grade_categories', 'depth <> 1');
|
||||
$gradecategory = $generator->create_grade_category(array('courseid'=>$course->id));
|
||||
$this->assertEquals($count+1, $DB->count_records_select('grade_categories', 'depth <> 1'));
|
||||
$this->assertEquals(2, $gradecategory->depth);
|
||||
$this->assertEquals($course->id, $gradecategory->courseid);
|
||||
$this->assertEquals('Grade category 1', $gradecategory->fullname);
|
||||
}
|
||||
|
||||
public function test_create_module() {
|
||||
@@ -412,4 +403,34 @@ class core_test_generator_testcase extends advanced_testcase {
|
||||
$result = $this->getDataGenerator()->enrol_user($user2->id, $course3->id, null, 'self');
|
||||
$this->assertFalse($result);
|
||||
}
|
||||
|
||||
public function test_create_grade_category() {
|
||||
global $DB, $CFG;
|
||||
require_once $CFG->libdir . '/grade/constants.php';
|
||||
|
||||
$this->resetAfterTest(true);
|
||||
$generator = $this->getDataGenerator();
|
||||
$course = $generator->create_course();
|
||||
|
||||
// Generate category and make sure number of records in DB table increases.
|
||||
// Note we only count grade cats with depth > 1 because the course grade category
|
||||
// is lazily created.
|
||||
$count = $DB->count_records_select('grade_categories', 'depth <> 1');
|
||||
$gradecategory = $generator->create_grade_category(array('courseid'=>$course->id));
|
||||
$this->assertEquals($count+1, $DB->count_records_select('grade_categories', 'depth <> 1'));
|
||||
$this->assertEquals(2, $gradecategory->depth);
|
||||
$this->assertEquals($course->id, $gradecategory->courseid);
|
||||
$this->assertEquals('Grade category 1', $gradecategory->fullname);
|
||||
|
||||
// Generate category and make sure aggregation is set.
|
||||
$gradecategory = $generator->create_grade_category(
|
||||
array('courseid' => $course->id, 'aggregation' => GRADE_AGGREGATE_MEDIAN));
|
||||
$this->assertEquals(GRADE_AGGREGATE_MEDIAN, $gradecategory->aggregation);
|
||||
|
||||
// Generate category and make sure parent is set.
|
||||
$gradecategory2 = $generator->create_grade_category(
|
||||
array('courseid' => $course->id,
|
||||
'parent' => $gradecategory->id));
|
||||
$this->assertEquals($gradecategory->id, $gradecategory2->parent);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user