Beispiel #1
0
 /**
  * Test get_completion_counts function.
  */
 public function test_get_completion_counts()
 {
     global $DB;
     // Fixture.
     $elisgen = new elis_program_datagenerator($DB);
     $pmcourse = $elisgen->create_course();
     $class = $elisgen->create_pmclass(array('courseid' => $pmcourse->id));
     $class2 = $elisgen->create_pmclass(array('courseid' => $pmcourse->id));
     $user = $elisgen->create_user();
     $user2 = $elisgen->create_user();
     $elisgen->assign_user_to_class($user->id, $class->id);
     $elisgen->assign_user_to_class($user2->id, $class2->id);
     $course = new course();
     $course->id = $pmcourse->id;
     $completioncounts = $course->get_completion_counts();
     // Verify results.
     $this->assertInternalType('array', $completioncounts);
     $this->assertEquals(3, count($completioncounts));
     $this->assertArrayHasKey(STUSTATUS_NOTCOMPLETE, $completioncounts);
     $this->assertArrayHasKey(STUSTATUS_FAILED, $completioncounts);
     $this->assertArrayHasKey(STUSTATUS_PASSED, $completioncounts);
     $this->assertEquals(2, $completioncounts[STUSTATUS_NOTCOMPLETE]);
     $this->assertEquals(0, $completioncounts[STUSTATUS_FAILED]);
     $this->assertEquals(0, $completioncounts[STUSTATUS_PASSED]);
 }
Beispiel #2
0
 /**
  * Test get_dashboard_program_data function.
  */
 public function test_get_dashboard_program_data()
 {
     global $DB;
     $datagen = new elis_program_datagenerator($DB);
     // Create entities.
     $mockuser = $datagen->create_user();
     $pgm = $datagen->create_program();
     $pmcourse = $datagen->create_course();
     $pmclass = $datagen->create_pmclass(array('courseid' => $pmcourse->id));
     // Perform assignments.
     $curcourse = $datagen->assign_course_to_program($pmcourse->id, $pgm->id);
     $curstu = $datagen->assign_user_to_program($mockuser->id, $pgm->id);
     $stu = $datagen->assign_user_to_class($mockuser->id, $pmclass->id);
     $expectedusercurs = array($curstu->id => (object) array('id' => $curstu->id, 'curid' => $pgm->id, 'name' => $pgm->name));
     $expectedcurriculas = array($pgm->id => array('id' => $pgm->id, 'name' => $pgm->name, 'data' => array(array($pmcourse->name, $pmclass->idnumber, $pmcourse->syllabus, 0, get_string('n_completed', 'local_elisprogram'), get_string('na', 'local_elisprogram')))));
     $expectedclassids = array($pmclass->id);
     $expectedtotalcurricula = 1;
     $expectedcompletecoursesmap = array($pgm->id => 0);
     $expectedtotalcoursesmap = array($pgm->id => 1);
     $user = new user();
     $user->id = $mockuser->id;
     list($usercurs, $curriculas, $classids, $totalcurricula, $completecoursesmap, $totalcoursesmap) = $user->get_dashboard_program_data(false, false);
     $this->assertEquals($expectedusercurs, $usercurs);
     $this->assertEquals($expectedcurriculas, $curriculas);
     $this->assertEquals($expectedclassids, $classids);
     $this->assertEquals($expectedtotalcurricula, $totalcurricula);
     $this->assertEquals($expectedcompletecoursesmap, $completecoursesmap);
     $this->assertEquals($expectedtotalcoursesmap, $totalcoursesmap);
     $expectedcurriculas = array();
     $expectedtotalcurricula = 0;
     $expectedcompletecoursesmap = array();
     $expectedtotalcoursesmap = array();
     list($usercurs, $curriculas, $classids, $totalcurricula, $completecoursesmap, $totalcoursesmap) = $user->get_dashboard_program_data(true, true);
     $this->assertEquals($expectedusercurs, $usercurs);
     $this->assertEquals($expectedcurriculas, $curriculas);
     $this->assertEquals($expectedclassids, $classids);
     $this->assertEquals($expectedtotalcurricula, $totalcurricula);
     $this->assertEquals($expectedcompletecoursesmap, $completecoursesmap);
     $this->assertEquals($expectedtotalcoursesmap, $totalcoursesmap);
 }