/** * creates a user and enroles him into the given course as teacher or student * @param advanced_testcase $tc * @param unknown $course * @param string $is_teacher * @param stdClass $user userobject to enrol. * @return stdClass */ public static function create_user_and_enrol(advanced_testcase $tc, $course, $is_teacher = false, $user = NULL) { $user = $tc->getDataGenerator()->create_user(); if ($is_teacher) { if (empty(self::$teacher_role)) { global $DB; // enrole teacher and student self::$teacher_role = $DB->get_record('role', array('shortname' => 'editingteacher')); } $enroled = $tc->getDataGenerator()->enrol_user($user->id, $course->id, self::$teacher_role->id); } else { $enroled = $tc->getDataGenerator()->enrol_user($user->id, $course->id); } $tc->assertTrue($enroled, 'trying to enrol already enroled user'); return $user; }