function QuestionsImportTestCase::medlyHelper in Quiz 6.6
2 calls to QuestionsImportTestCase::medlyHelper()
- QuestionsImportTestCase::testAikenMedly in includes/
questions_import/ questions_import.test - QuestionsImportTestCase::testCsvMedly in includes/
questions_import/ questions_import.test
File
- includes/
questions_import/ questions_import.test, line 224
Class
Code
function medlyHelper($import_type) {
switch ($import_type) {
case 'aiken':
$import_settings['import_type'] = 'native_aiken';
$filetype = '.txt';
break;
case 'csv':
$import_settings['import_type'] = 'native_csv';
$filetype = '.csv';
break;
}
$import_questions = array();
$filepath = file_create_filename($import_type . '_medly' . $filetype, file_directory_temp());
$handle = fopen($filepath, "w+");
for ($i = 0; $i < 30; $i++) {
$question_type = mt_rand(0, 2);
$question = new stdClass();
switch ($question_type) {
case 0:
$question->num_options = mt_rand(1, 10);
$question->answer = mt_rand(0, $question->num_options - 1);
$question->question = "Question #{$i}:";
$question->type = "multichoice";
$question->answers = array();
$write = $question->type . "\r\n" . $question->question . "\r\n";
for ($j = 0; $j < $question->num_options; $j++) {
$question->answers[$j] = "Option #{$j}";
}
break;
case 1:
$question->answer = mt_rand(0, 1) == 0 ? "true" : "false";
$question->question = "Question #{$i}:";
$question->type = "true_false";
$question->feedback = "Feedback on question #{$i}";
break;
case 2:
$question->answer = "The answer is {$i}.";
$question->question = "Question #{$i}:";
$question->type = "short_answer";
$question->value = mt_rand(1, 5);
$question->sat = mt_rand(0, 3);
switch ($question->sat) {
case 0:
$question->shortanswertype = "case sensitive match";
break;
case 1:
$question->shortanswertype = "case insensitive match";
break;
case 2:
$question->shortanswertype = "regular expression match";
break;
case 3:
$question->shortanswertype = "manually score match";
break;
}
break;
}
$write = $this
->writeImport($import_type, $question);
fwrite($handle, $write);
$import_questions[] = $question;
}
$import_settings['quiz_node'] = '1';
$import_settings['field_separator'] = ',';
$import_settings['files[upload]'] = $filepath;
$msg = $this
->drupalPost('admin/quiz/questions_import', $import_settings, 'Import');
$this
->assertPattern('/30 questions were imported successfully/', t('Checking import success message'));
$this
->quizHelper($import_questions);
}