Exemplo n.º 1
0
 /**
  * Test set up.
  *
  * This is executed before running any test in this file.
  */
 public function setUp()
 {
     global $DB;
     $this->resetAfterTest();
     // Create a course we are going to add a data module to.
     $this->course = $this->getDataGenerator()->create_course();
     $courseid = $this->course->id;
     $roles = $DB->get_records_menu('role', array(), '', 'shortname,id');
     $editingteacherrolename = \mod_dataform\helper\testing::get_role_shortname('editingteacher');
     $teacherrolename = \mod_dataform\helper\testing::get_role_shortname('teacher');
     $studentrolename = \mod_dataform\helper\testing::get_role_shortname('student');
     // Teacher.
     $user = $this->getDataGenerator()->create_user(array('username' => 'teacher'));
     $this->getDataGenerator()->enrol_user($user->id, $courseid, $roles[$editingteacherrolename]);
     $this->teacher = $user;
     // Assistant.
     $user = $this->getDataGenerator()->create_user(array('username' => 'assistant'));
     $this->getDataGenerator()->enrol_user($user->id, $courseid, $roles[$teacherrolename]);
     $this->assistant = $user;
     // Student.
     $user = $this->getDataGenerator()->create_user(array('username' => 'student'));
     $this->getDataGenerator()->enrol_user($user->id, $courseid, $roles[$studentrolename]);
     $this->student = $user;
     // Guest.
     $user = $DB->get_record('user', array('username' => 'guest'));
     $this->guest = $user;
 }
Exemplo n.º 2
0
 /**
  * Test set up.
  *
  * This is executed before running any test in this file.
  */
 public function setUp()
 {
     global $DB;
     $this->resetAfterTest();
     // Reset dataform local cache.
     \mod_dataform_instance_store::unregister();
     // Create a course we are going to add a data module to.
     $this->course = $this->getDataGenerator()->create_course();
     $courseid = $this->course->id;
     $roles = $DB->get_records_menu('role', array(), '', 'shortname,id');
     // Teacher.
     $user = $this->getDataGenerator()->create_user(array('username' => 'teacher'));
     $roleshortname = \mod_dataform\helper\testing::get_role_shortname('editingteacher');
     $this->getDataGenerator()->enrol_user($user->id, $courseid, $roles[$roleshortname]);
     $this->teacher = $user;
     // Student 1.
     $user = $this->getDataGenerator()->create_user(array('username' => 'student1'));
     $roleshortname = \mod_dataform\helper\testing::get_role_shortname('student');
     $this->getDataGenerator()->enrol_user($user->id, $courseid, $roles[$roleshortname]);
     $this->student1 = $user;
     // Student 2.
     $user = $this->getDataGenerator()->create_user(array('username' => 'student2'));
     $roleshortname = \mod_dataform\helper\testing::get_role_shortname('student');
     $this->getDataGenerator()->enrol_user($user->id, $courseid, $roles[$roleshortname]);
     $this->student2 = $user;
 }
 /**
  * Resets (truncates) all dataform tables to remove any records and reset sequences.
  * This set of steps is essential for any standalone scenario that adds entries with content
  * since such a scenario has to refer to input elements by the name field_{fieldid}_{entryid}
  * (or field_{fieldid}_-1 for a new entry) and the ids have to persist between runs.
  *
  * @Given /^a fresh site for dataform scenario$/
  * @return array
  */
 public function start_afresh_steps()
 {
     global $DB;
     // Dataform module id.
     $moduleid = $DB->get_field('modules', 'id', array('name' => 'dataform'));
     // CM ids.
     if ($cmids = $DB->get_records('course_modules', array('module' => $moduleid), '', 'id,id AS cmid')) {
         // Delete properly any existing dataform instances.
         foreach ($cmids as $cmid) {
             course_delete_module($cmid);
         }
     }
     // Clean up tables.
     $tables = array('dataform', 'dataform_contents', 'dataform_entries', 'dataform_fields', 'dataform_filters', 'dataform_views');
     $prefix = $DB->get_prefix();
     foreach ($tables as $table) {
         $DB->execute("TRUNCATE TABLE {$prefix}{$table}");
     }
     // Clean up instance store cache.
     \mod_dataform_instance_store::unregister();
     $steps = array();
     // Add a course.
     $data = array('| fullname | shortname | category  |', '| Course 1 | C1        | 0         |');
     $table = new TableNode(implode("\n", $data));
     $steps[] = new Given('the following "courses" exist:', $table);
     // Add users.
     $data = array('| username     | firstname | lastname  | email                 |', '| teacher1     | Teacher   | 1         | teacher1@asd.com      |', '| assistant1   | Assistant | 1         | assistant1@asd.com    |', '| assistant2   | Assistant | 2         | assistant2@asd.com    |', '| student1     | Student   | 1         | student1@asd.com      |', '| student2     | Student   | 2         | student2@asd.com      |', '| student3     | Student   | 3         | student3@asd.com      |');
     $table = new TableNode(implode("\n", $data));
     $steps[] = new Given('the following "users" exist:', $table);
     // Enrol users in course.
     $teacherrole = \mod_dataform\helper\testing::get_role_shortname('editingteacher');
     $assistantrole = \mod_dataform\helper\testing::get_role_shortname('teacher');
     $studentrole = \mod_dataform\helper\testing::get_role_shortname('student');
     $data = array('| user         | course | role             |', "| teacher1     | C1     | {$teacherrole}     |", "| assistant1   | C1     | {$assistantrole}   |", "| assistant2   | C1     | {$assistantrole}   |", "| student1     | C1     | {$studentrole}     |", "| student2     | C1     | {$studentrole}     |");
     $table = new TableNode(implode("\n", $data));
     $steps[] = new Given('the following "course enrolments" exist:', $table);
     // Add groups.
     $data = array('| name    | description | course  | idnumber |', '| Group 1 | Anything    | C1 | G1   |', '| Group 2 | Anything    | C1 | G2   |');
     $table = new TableNode(implode("\n", $data));
     $steps[] = new Given('the following "groups" exist:', $table);
     // Add group members.
     $data = array('| user     | group  |', '| student1 | G1 |', '| student2 | G2 |');
     $table = new TableNode(implode("\n", $data));
     $steps[] = new Given('the following "group members" exist:', $table);
     return $steps;
 }