Exemple #1
0
/**
 * This function determins the entity type and retrieves metadata
 * pertianing to the entity and returns the metadata as an array.
 *
 * @param object $certsettingsrec: a certificatesettings data class object
 * @param object $certissued: a certificateissued data class object
 * @param object $student: a user data class object
 * @return array|bool - an array of metadata or false if something went wrong
 */
function certificate_get_entity_metadata($certsetting, $certissued, $student)
{
    // Validate the first argument
    if (empty($certsetting) || !$certsetting instanceof certificatesettings) {
        return false;
    }
    // Validate the first argument
    if (empty($student) || !$student instanceof user) {
        return false;
    }
    // Validate the first argument
    if (empty($certissued) || !$certissued instanceof certificateissued) {
        return false;
    }
    switch ($certsetting->entity_type) {
        case CERTIFICATE_ENTITY_TYPE_PROGRAM:
            break;
        case CERTIFICATE_ENTITY_TYPE_COURSE:
            return certificate_get_course_entity_metadata($certsetting, $certissued, $student);
            break;
        case CERTIFICATE_ENTITY_TYPE_LEARNINGOBJ:
            break;
        case CERTIFICATE_ENTITY_TYPE_CLASS:
            break;
    }
    return false;
}
 /**
  * Test retrieving course metadata with incorrect object properties
  * @param object $certsetting Certificate settings mock object
  * @param object $certissued Certificate issued mock object
  * @param object $student User mock object
  * @dataProvider incorrect_object_properties_provider
  */
 public function test_retrieve_metadata_for_course_entity_incorrect_object_properties($certsetting, $certissued, $student)
 {
     $this->load_csv_data();
     $result = certificate_get_course_entity_metadata($certsetting, $certissued, $student);
     phpunit_util::reset_debugging();
     $this->assertEquals(false, $result);
 }