MDL-54997 competencies: Listing evidence contexts
When listing the evidence for a user competency in a course, the query is missing evidences for sub-contexts in the course.
This commit is contained in:
@@ -2579,6 +2579,47 @@ class core_competency_api_testcase extends advanced_testcase {
|
||||
$this->assertEquals(null, $ev4->get_actionuserid());
|
||||
}
|
||||
|
||||
public function test_list_evidence_in_course() {
|
||||
global $SITE;
|
||||
|
||||
$this->resetAfterTest(true);
|
||||
$dg = $this->getDataGenerator();
|
||||
$lpg = $dg->get_plugin_generator('core_competency');
|
||||
$u1 = $dg->create_user();
|
||||
$course = $dg->create_course();
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
|
||||
$this->setAdminUser();
|
||||
$f = $lpg->create_framework();
|
||||
$c = $lpg->create_competency(array('competencyframeworkid' => $f->get_id()));
|
||||
$c2 = $lpg->create_competency(array('competencyframeworkid' => $f->get_id()));
|
||||
$cc = api::add_competency_to_course($course->id, $c->get_id());
|
||||
$cc2 = api::add_competency_to_course($course->id, $c2->get_id());
|
||||
|
||||
$pagegenerator = $this->getDataGenerator()->get_plugin_generator('mod_page');
|
||||
$page = $pagegenerator->create_instance(array('course' => $course->id));
|
||||
|
||||
$cm = get_coursemodule_from_instance('page', $page->id);
|
||||
$cmcontext = context_module::instance($cm->id);
|
||||
// Add the competency to the course module.
|
||||
$ccm = api::add_competency_to_course_module($cm, $c->get_id());
|
||||
|
||||
// Now add the evidence to the course.
|
||||
$evidence1 = api::add_evidence($u1->id, $c->get_id(), $coursecontext->id, \core_competency\evidence::ACTION_LOG,
|
||||
'invaliddata', 'error');
|
||||
|
||||
$result = api::list_evidence_in_course($u1->id, $course->id, $c->get_id());
|
||||
$this->assertEquals($result[0]->get_id(), $evidence1->get_id());
|
||||
|
||||
// Now add the evidence to the course module.
|
||||
$evidence2 = api::add_evidence($u1->id, $c->get_id(), $cmcontext->id, \core_competency\evidence::ACTION_LOG,
|
||||
'invaliddata', 'error');
|
||||
|
||||
$result = api::list_evidence_in_course($u1->id, $course->id, $c->get_id());
|
||||
$this->assertEquals($result[0]->get_id(), $evidence2->get_id());
|
||||
$this->assertEquals($result[1]->get_id(), $evidence1->get_id());
|
||||
}
|
||||
|
||||
public function test_list_course_modules_using_competency() {
|
||||
global $SITE;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user