MDL-48024 behat: allow plugins to have data generators
[moodle.git] / mod / quiz / tests / generator / lib.php
index 5b18dec..d45e8e7 100644 (file)
@@ -170,4 +170,27 @@ class mod_quiz_generator extends testing_module_generator {
             $attemptobj->process_finish(time(), false);
         }
     }
+
+    /**
+     * Create a quiz override (either user or group).
+     *
+     * @param array $data must specify quizid, and one of userid or groupid.
+     */
+    public function create_override(array $data): void {
+        global $DB;
+
+        if (!isset($data['quiz'])) {
+            throw new coding_exception('Must specify quiz (id) when creating a quiz override.');
+        }
+
+        if (!isset($data['userid']) && !isset($data['groupid'])) {
+            throw new coding_exception('Must specify one of userid or groupid when creating a quiz override.');
+        }
+
+        if (isset($data['userid']) && isset($data['groupid'])) {
+            throw new coding_exception('Cannot specify both userid and groupid when creating a quiz override.');
+        }
+
+        $DB->insert_record('quiz_overrides', (object) $data);
+    }
 }