/** * 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); }