/**
  * Test deleting a quiz instance.
  */
 public function test_quiz_delete_instance()
 {
     global $SITE, $DB;
     $this->resetAfterTest(true);
     $this->setAdminUser();
     // Setup a quiz with 1 standard and 1 random question.
     $quizgenerator = $this->getDataGenerator()->get_plugin_generator('mod_quiz');
     $quiz = $quizgenerator->create_instance(array('course' => $SITE->id, 'questionsperpage' => 3, 'grade' => 100.0));
     $questiongenerator = $this->getDataGenerator()->get_plugin_generator('core_question');
     $cat = $questiongenerator->create_question_category();
     $standardq = $questiongenerator->create_question('shortanswer', null, array('category' => $cat->id));
     quiz_add_quiz_question($standardq->id, $quiz);
     quiz_add_random_questions($quiz, 0, $cat->id, 1, false);
     // Get the random question.
     $randomq = $DB->get_record('question', array('qtype' => 'random'));
     quiz_delete_instance($quiz->id);
     // Check that the random question was deleted.
     $count = $DB->count_records('question', array('id' => $randomq->id));
     $this->assertEquals(0, $count);
     // Check that the standard question was not deleted.
     $count = $DB->count_records('question', array('id' => $standardq->id));
     $this->assertEquals(1, $count);
     // Check that all the slots were removed.
     $count = $DB->count_records('quiz_slots', array('quizid' => $quiz->id));
     $this->assertEquals(0, $count);
     // Check that the quiz was removed.
     $count = $DB->count_records('quiz', array('id' => $quiz->id));
     $this->assertEquals(0, $count);
 }
function RWSADQuiz()
{
    global $CFG;
    global $RWSLB;
    RWSCMAuth();
    RWSCRAuth();
    RWSCMUSvc();
    RWSCMMaint();
    $r_pm = RWSGSOpt("quizid", PARAM_ALPHANUM);
    if ($r_pm === false || strlen($r_pm) == 0) {
        RWSSErr("2067");
    }
    $r_qzmi = intval($r_pm);
    $r_rcd = RWSCMUQuiz($r_qzmi);
    $r_cid = $r_rcd->course;
    RWSCMUCourse($r_cid, true);
    if (respondusws_floatcompare($CFG->version, 2013051400, 2) >= 0) {
        course_delete_module($r_qzmi);
    } else {
        if (!quiz_delete_instance($r_rcd->instance)) {
            RWSSErr("2068");
        }
        if (!delete_course_module($r_qzmi)) {
            RWSSErr("2069");
        }
        if (!delete_mod_from_section($r_qzmi, $r_rcd->section)) {
            RWSSErr("2070");
        }
    }
    if ($RWSLB->mok) {
        lockdown_delete_options($r_rcd->instance);
    } else {
        if ($RWSLB->bok) {
            lockdown_delete_options($r_rcd->instance);
        }
    }
    rebuild_course_cache($r_cid);
    RWSSStat("1003");
}