moodle2cc 0.2.29 → 0.2.30

Sign up to get free protection for your applications and to get access to all the features.
Files changed (455) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moodle2cc/canvas/assessment.rb +0 -0
  3. data/lib/moodle2cc/canvas/assignment.rb +0 -0
  4. data/lib/moodle2cc/canvas/converter.rb +0 -0
  5. data/lib/moodle2cc/canvas/course.rb +0 -0
  6. data/lib/moodle2cc/canvas/discussion_topic.rb +0 -0
  7. data/lib/moodle2cc/canvas/label.rb +0 -0
  8. data/lib/moodle2cc/canvas/question_bank.rb +0 -0
  9. data/lib/moodle2cc/canvas/question_group.rb +0 -0
  10. data/lib/moodle2cc/canvas/resource.rb +0 -0
  11. data/lib/moodle2cc/canvas/templates/assignment.html.erb +0 -0
  12. data/lib/moodle2cc/canvas/templates/syllabus.html.erb +0 -0
  13. data/lib/moodle2cc/canvas/templates/wiki_content.html.erb +0 -0
  14. data/lib/moodle2cc/canvas/web_content.rb +0 -0
  15. data/lib/moodle2cc/canvas/web_link.rb +0 -0
  16. data/lib/moodle2cc/canvas/wiki.rb +0 -0
  17. data/lib/moodle2cc/cc/assessment.rb +0 -0
  18. data/lib/moodle2cc/cc/assignment.rb +0 -0
  19. data/lib/moodle2cc/cc/course.rb +0 -0
  20. data/lib/moodle2cc/cc/discussion_topic.rb +0 -0
  21. data/lib/moodle2cc/cc/label.rb +0 -0
  22. data/lib/moodle2cc/cc/question.rb +0 -0
  23. data/lib/moodle2cc/cc/resource.rb +0 -0
  24. data/lib/moodle2cc/cc/templates/assignment.html.erb +0 -0
  25. data/lib/moodle2cc/cc/templates/syllabus.html.erb +0 -0
  26. data/lib/moodle2cc/cc/templates/wiki_content.html.erb +0 -0
  27. data/lib/moodle2cc/cc/web_link.rb +0 -0
  28. data/lib/moodle2cc/cc/wiki.rb +0 -0
  29. data/lib/moodle2cc/error.rb +0 -0
  30. data/lib/moodle2cc/logger.rb +0 -0
  31. data/lib/moodle2cc/moodle/course.rb +0 -0
  32. data/lib/moodle2cc/moodle/grade_item.rb +0 -0
  33. data/lib/moodle2cc/moodle/info.rb +0 -0
  34. data/lib/moodle2cc/moodle/question_category.rb +0 -0
  35. data/lib/moodle2cc/moodle/section.rb +0 -0
  36. data/lib/moodle2cc/version.rb +1 -1
  37. metadata +4 -834
  38. data/.gitignore +0 -20
  39. data/.travis.yml +0 -8
  40. data/Changelog +0 -158
  41. data/Gemfile +0 -6
  42. data/Guardfile +0 -20
  43. data/LICENSE +0 -661
  44. data/README.md +0 -112
  45. data/moodle2cc.gemspec +0 -35
  46. data/spec/moodle2cc/canvas_cc/assessment_writer_spec.rb +0 -95
  47. data/spec/moodle2cc/canvas_cc/assignment_writer_spec.rb +0 -74
  48. data/spec/moodle2cc/canvas_cc/calculated_question_writer_spec.rb +0 -88
  49. data/spec/moodle2cc/canvas_cc/canvas_export_writer_spec.rb +0 -26
  50. data/spec/moodle2cc/canvas_cc/cartridge_creator_spec.rb +0 -50
  51. data/spec/moodle2cc/canvas_cc/course_setting_writer_spec.rb +0 -47
  52. data/spec/moodle2cc/canvas_cc/discussion_writer_spec.rb +0 -40
  53. data/spec/moodle2cc/canvas_cc/essay_question_writer_spec.rb +0 -31
  54. data/spec/moodle2cc/canvas_cc/file_meta_writer_spec.rb +0 -57
  55. data/spec/moodle2cc/canvas_cc/ims_manifest_generator_spec.rb +0 -141
  56. data/spec/moodle2cc/canvas_cc/matching_question_writer_spec.rb +0 -51
  57. data/spec/moodle2cc/canvas_cc/models/assessment_spec.rb +0 -131
  58. data/spec/moodle2cc/canvas_cc/models/assignment_spec.rb +0 -45
  59. data/spec/moodle2cc/canvas_cc/models/calculated_question_spec.rb +0 -25
  60. data/spec/moodle2cc/canvas_cc/models/canvas_file_spec.rb +0 -23
  61. data/spec/moodle2cc/canvas_cc/models/canvas_module_spec.rb +0 -16
  62. data/spec/moodle2cc/canvas_cc/models/course_spec.rb +0 -43
  63. data/spec/moodle2cc/canvas_cc/models/discussion_spec.rb +0 -47
  64. data/spec/moodle2cc/canvas_cc/models/discussion_topic_spec.rb +0 -7
  65. data/spec/moodle2cc/canvas_cc/models/module_item_spec.rb +0 -15
  66. data/spec/moodle2cc/canvas_cc/models/page_spec.rb +0 -36
  67. data/spec/moodle2cc/canvas_cc/models/question_spec.rb +0 -8
  68. data/spec/moodle2cc/canvas_cc/models/resource_spec.rb +0 -17
  69. data/spec/moodle2cc/canvas_cc/models/web_content_spec.rb +0 -7
  70. data/spec/moodle2cc/canvas_cc/models/web_link_spec.rb +0 -9
  71. data/spec/moodle2cc/canvas_cc/module_meta_writer_spec.rb +0 -118
  72. data/spec/moodle2cc/canvas_cc/multiple_answers_question_writer_spec.rb +0 -50
  73. data/spec/moodle2cc/canvas_cc/multiple_blanks_question_writer_spec.rb +0 -77
  74. data/spec/moodle2cc/canvas_cc/multiple_choice_question_writer_spec.rb +0 -69
  75. data/spec/moodle2cc/canvas_cc/multiple_dropdowns_question_writer_spec.rb +0 -46
  76. data/spec/moodle2cc/canvas_cc/numerical_question_writer_spec.rb +0 -69
  77. data/spec/moodle2cc/canvas_cc/page_writer_spec.rb +0 -30
  78. data/spec/moodle2cc/canvas_cc/question_bank_writer_spec.rb +0 -43
  79. data/spec/moodle2cc/canvas_cc/question_writer_spec.rb +0 -129
  80. data/spec/moodle2cc/canvas_cc/short_answer_question_writer_spec.rb +0 -50
  81. data/spec/moodle2cc/canvas_cc/text_only_question_writer_spec.rb +0 -23
  82. data/spec/moodle2cc/canvas_cc/true_false_question_writer_spec.rb +0 -62
  83. data/spec/moodle2cc/moodle2/extractor_spec.rb +0 -215
  84. data/spec/moodle2cc/moodle2/models/assignment_spec.rb +0 -36
  85. data/spec/moodle2cc/moodle2/models/book_chapter_spec.rb +0 -11
  86. data/spec/moodle2cc/moodle2/models/book_spec.rb +0 -13
  87. data/spec/moodle2cc/moodle2/models/course_spec.rb +0 -68
  88. data/spec/moodle2cc/moodle2/models/external_url_spec.rb +0 -18
  89. data/spec/moodle2cc/moodle2/models/folder_spec.rb +0 -16
  90. data/spec/moodle2cc/moodle2/models/forum_spec.rb +0 -30
  91. data/spec/moodle2cc/moodle2/models/glossary_entry_spec.rb +0 -25
  92. data/spec/moodle2cc/moodle2/models/glossary_spec.rb +0 -35
  93. data/spec/moodle2cc/moodle2/models/label_spec.rb +0 -84
  94. data/spec/moodle2cc/moodle2/models/moodle2_file_spec.rb +0 -32
  95. data/spec/moodle2cc/moodle2/models/page_spec.rb +0 -23
  96. data/spec/moodle2cc/moodle2/models/quizzes/answer_spec.rb +0 -14
  97. data/spec/moodle2cc/moodle2/models/quizzes/calculated_question_spec.rb +0 -14
  98. data/spec/moodle2cc/moodle2/models/quizzes/multianswer_question_spec.rb +0 -30
  99. data/spec/moodle2cc/moodle2/models/quizzes/numerical_question_spec.rb +0 -12
  100. data/spec/moodle2cc/moodle2/models/quizzes/question_category_spec.rb +0 -29
  101. data/spec/moodle2cc/moodle2/models/quizzes/question_spec.rb +0 -35
  102. data/spec/moodle2cc/moodle2/models/quizzes/quiz_spec.rb +0 -7
  103. data/spec/moodle2cc/moodle2/models/quizzes/random_sa_question_spec.rb +0 -12
  104. data/spec/moodle2cc/moodle2/models/quizzes/true_false_question_spec.rb +0 -16
  105. data/spec/moodle2cc/moodle2/models/resource_spec.rb +0 -22
  106. data/spec/moodle2cc/moodle2/models/section_spec.rb +0 -57
  107. data/spec/moodle2cc/moodle2/parsers/answer_parser_spec.rb +0 -18
  108. data/spec/moodle2cc/moodle2/parsers/assignment_parser_spec.rb +0 -44
  109. data/spec/moodle2cc/moodle2/parsers/book_parser_spec.rb +0 -35
  110. data/spec/moodle2cc/moodle2/parsers/choice_parser_spec.rb +0 -32
  111. data/spec/moodle2cc/moodle2/parsers/course_parser_spec.rb +0 -19
  112. data/spec/moodle2cc/moodle2/parsers/external_url_parser_spec.rb +0 -26
  113. data/spec/moodle2cc/moodle2/parsers/feedback_parser_spec.rb +0 -33
  114. data/spec/moodle2cc/moodle2/parsers/file_parser_spec.rb +0 -35
  115. data/spec/moodle2cc/moodle2/parsers/folder_parser_spec.rb +0 -24
  116. data/spec/moodle2cc/moodle2/parsers/forum_parser_spec.rb +0 -38
  117. data/spec/moodle2cc/moodle2/parsers/glossary_parser_spec.rb +0 -60
  118. data/spec/moodle2cc/moodle2/parsers/label_parser_spec.rb +0 -21
  119. data/spec/moodle2cc/moodle2/parsers/lti_parser_spec.rb +0 -21
  120. data/spec/moodle2cc/moodle2/parsers/page_parser_spec.rb +0 -25
  121. data/spec/moodle2cc/moodle2/parsers/parser_helper_spec.rb +0 -104
  122. data/spec/moodle2cc/moodle2/parsers/question_category_parser_spec.rb +0 -27
  123. data/spec/moodle2cc/moodle2/parsers/question_parsers/calculated_parser_spec.rb +0 -100
  124. data/spec/moodle2cc/moodle2/parsers/question_parsers/match_parser_spec.rb +0 -31
  125. data/spec/moodle2cc/moodle2/parsers/question_parsers/multianswer_parser_spec.rb +0 -16
  126. data/spec/moodle2cc/moodle2/parsers/question_parsers/multichoice_parser_spec.rb +0 -16
  127. data/spec/moodle2cc/moodle2/parsers/question_parsers/numerical_parser_spec.rb +0 -23
  128. data/spec/moodle2cc/moodle2/parsers/question_parsers/question_parser_spec.rb +0 -62
  129. data/spec/moodle2cc/moodle2/parsers/question_parsers/random_sa_parser_spec.rb +0 -18
  130. data/spec/moodle2cc/moodle2/parsers/question_parsers/short_answer_parser_spec.rb +0 -16
  131. data/spec/moodle2cc/moodle2/parsers/question_parsers/true_false_parser_spec.rb +0 -22
  132. data/spec/moodle2cc/moodle2/parsers/questionnaire_parser_spec.rb +0 -36
  133. data/spec/moodle2cc/moodle2/parsers/quiz_parser_spec.rb +0 -68
  134. data/spec/moodle2cc/moodle2/parsers/resource_parser_spec.rb +0 -29
  135. data/spec/moodle2cc/moodle2/parsers/section_parser_spec.rb +0 -27
  136. data/spec/moodle2cc/moodle2/parsers/wiki_parser_spec.rb +0 -23
  137. data/spec/moodle2cc/moodle2converter/assessment_converter_spec.rb +0 -209
  138. data/spec/moodle2cc/moodle2converter/assignment_converter_spec.rb +0 -47
  139. data/spec/moodle2cc/moodle2converter/book_converter_spec.rb +0 -132
  140. data/spec/moodle2cc/moodle2converter/converter_helper_spec.rb +0 -178
  141. data/spec/moodle2cc/moodle2converter/course_converter_spec.rb +0 -24
  142. data/spec/moodle2cc/moodle2converter/discussion_converter_spec.rb +0 -28
  143. data/spec/moodle2cc/moodle2converter/file_converter_spec.rb +0 -20
  144. data/spec/moodle2cc/moodle2converter/folder_converter_spec.rb +0 -44
  145. data/spec/moodle2cc/moodle2converter/glossary_converter_spec.rb +0 -35
  146. data/spec/moodle2cc/moodle2converter/html_converter_spec.rb +0 -191
  147. data/spec/moodle2cc/moodle2converter/label_converter_spec.rb +0 -100
  148. data/spec/moodle2cc/moodle2converter/migrator_spec.rb +0 -258
  149. data/spec/moodle2cc/moodle2converter/page_converter_spec.rb +0 -28
  150. data/spec/moodle2cc/moodle2converter/question_bank_converter_spec.rb +0 -61
  151. data/spec/moodle2cc/moodle2converter/question_converters/calculated_converter_spec.rb +0 -32
  152. data/spec/moodle2cc/moodle2converter/question_converters/matching_converter_spec.rb +0 -24
  153. data/spec/moodle2cc/moodle2converter/question_converters/multichoice_converter_spec.rb +0 -26
  154. data/spec/moodle2cc/moodle2converter/question_converters/multiple_blanks_converter_spec.rb +0 -37
  155. data/spec/moodle2cc/moodle2converter/question_converters/numerical_converter_spec.rb +0 -19
  156. data/spec/moodle2cc/moodle2converter/question_converters/question_converter_spec.rb +0 -81
  157. data/spec/moodle2cc/moodle2converter/question_converters/random_sa_converter_spec.rb +0 -20
  158. data/spec/moodle2cc/moodle2converter/question_converters/true_false_converter_spec.rb +0 -25
  159. data/spec/moodle2cc/moodle2converter/section_converter_spec.rb +0 -211
  160. data/spec/moodle2cc/moodle2converter/wiki_converter_spec.rb +0 -36
  161. data/spec/spec_helper.rb +0 -17
  162. data/spec/support/shared_examples_for_models.rb +0 -26
  163. data/test/acceptance/migrator_test.rb +0 -24
  164. data/test/fixtures/cc.imscc +0 -0
  165. data/test/fixtures/common_cartridge/ims_manifest_simple.xml +0 -45
  166. data/test/fixtures/common_cartridge/schema/cccv1p0.xsd +0 -563
  167. data/test/fixtures/common_cartridge/schema/ccv1p1_imsccauth_v1p1.xsd +0 -203
  168. data/test/fixtures/common_cartridge/schema/ccv1p1_imscp_v1p2_v1p0.xsd +0 -827
  169. data/test/fixtures/common_cartridge/schema/ccv1p1_lommanifest_v1p0.xsd +0 -822
  170. data/test/fixtures/common_cartridge/schema/ccv1p1_lomresource_v1p0.xsd +0 -273
  171. data/test/fixtures/common_cartridge/schema/xml.xsd +0 -286
  172. data/test/fixtures/moodle2/SC.mbz +0 -0
  173. data/test/fixtures/moodle2/backup/activities/assign_12/assign.xml +0 -78
  174. data/test/fixtures/moodle2/backup/activities/assign_12/calendar.xml +0 -21
  175. data/test/fixtures/moodle2/backup/activities/assign_12/comments.xml +0 -3
  176. data/test/fixtures/moodle2/backup/activities/assign_12/completion.xml +0 -3
  177. data/test/fixtures/moodle2/backup/activities/assign_12/filters.xml +0 -7
  178. data/test/fixtures/moodle2/backup/activities/assign_12/grades.xml +0 -38
  179. data/test/fixtures/moodle2/backup/activities/assign_12/grading.xml +0 -9
  180. data/test/fixtures/moodle2/backup/activities/assign_12/inforef.xml +0 -13
  181. data/test/fixtures/moodle2/backup/activities/assign_12/module.xml +0 -25
  182. data/test/fixtures/moodle2/backup/activities/assign_12/roles.xml +0 -7
  183. data/test/fixtures/moodle2/backup/activities/assign_4/assign.xml +0 -78
  184. data/test/fixtures/moodle2/backup/activities/assign_4/calendar.xml +0 -21
  185. data/test/fixtures/moodle2/backup/activities/assign_4/comments.xml +0 -3
  186. data/test/fixtures/moodle2/backup/activities/assign_4/completion.xml +0 -3
  187. data/test/fixtures/moodle2/backup/activities/assign_4/filters.xml +0 -7
  188. data/test/fixtures/moodle2/backup/activities/assign_4/grades.xml +0 -38
  189. data/test/fixtures/moodle2/backup/activities/assign_4/grading.xml +0 -9
  190. data/test/fixtures/moodle2/backup/activities/assign_4/inforef.xml +0 -13
  191. data/test/fixtures/moodle2/backup/activities/assign_4/module.xml +0 -25
  192. data/test/fixtures/moodle2/backup/activities/assign_4/roles.xml +0 -7
  193. data/test/fixtures/moodle2/backup/activities/assignment_42/assignment.xml +0 -28
  194. data/test/fixtures/moodle2/backup/activities/assignment_42/calendar.xml +0 -21
  195. data/test/fixtures/moodle2/backup/activities/assignment_42/comments.xml +0 -3
  196. data/test/fixtures/moodle2/backup/activities/assignment_42/completion.xml +0 -3
  197. data/test/fixtures/moodle2/backup/activities/assignment_42/filters.xml +0 -7
  198. data/test/fixtures/moodle2/backup/activities/assignment_42/grades.xml +0 -38
  199. data/test/fixtures/moodle2/backup/activities/assignment_42/grading.xml +0 -9
  200. data/test/fixtures/moodle2/backup/activities/assignment_42/inforef.xml +0 -13
  201. data/test/fixtures/moodle2/backup/activities/assignment_42/module.xml +0 -25
  202. data/test/fixtures/moodle2/backup/activities/assignment_42/roles.xml +0 -7
  203. data/test/fixtures/moodle2/backup/activities/book_6/book.xml +0 -44
  204. data/test/fixtures/moodle2/backup/activities/book_6/calendar.xml +0 -3
  205. data/test/fixtures/moodle2/backup/activities/book_6/comments.xml +0 -3
  206. data/test/fixtures/moodle2/backup/activities/book_6/completion.xml +0 -3
  207. data/test/fixtures/moodle2/backup/activities/book_6/filters.xml +0 -7
  208. data/test/fixtures/moodle2/backup/activities/book_6/grades.xml +0 -7
  209. data/test/fixtures/moodle2/backup/activities/book_6/inforef.xml +0 -3
  210. data/test/fixtures/moodle2/backup/activities/book_6/module.xml +0 -25
  211. data/test/fixtures/moodle2/backup/activities/book_6/roles.xml +0 -7
  212. data/test/fixtures/moodle2/backup/activities/choice_56547/calendar.xml +0 -3
  213. data/test/fixtures/moodle2/backup/activities/choice_56547/choice.xml +0 -32
  214. data/test/fixtures/moodle2/backup/activities/choice_56547/comments.xml +0 -3
  215. data/test/fixtures/moodle2/backup/activities/choice_56547/completion.xml +0 -3
  216. data/test/fixtures/moodle2/backup/activities/choice_56547/filters.xml +0 -7
  217. data/test/fixtures/moodle2/backup/activities/choice_56547/grades.xml +0 -7
  218. data/test/fixtures/moodle2/backup/activities/choice_56547/inforef.xml +0 -3
  219. data/test/fixtures/moodle2/backup/activities/choice_56547/module.xml +0 -28
  220. data/test/fixtures/moodle2/backup/activities/choice_56547/roles.xml +0 -7
  221. data/test/fixtures/moodle2/backup/activities/feedback_58588/feedback.xml +0 -147
  222. data/test/fixtures/moodle2/backup/activities/feedback_58588/filters.xml +0 -7
  223. data/test/fixtures/moodle2/backup/activities/feedback_58588/grades.xml +0 -7
  224. data/test/fixtures/moodle2/backup/activities/feedback_58588/inforef.xml +0 -3
  225. data/test/fixtures/moodle2/backup/activities/feedback_58588/module.xml +0 -28
  226. data/test/fixtures/moodle2/backup/activities/feedback_58588/roles.xml +0 -7
  227. data/test/fixtures/moodle2/backup/activities/feedback_58589/feedback.xml +0 -147
  228. data/test/fixtures/moodle2/backup/activities/feedback_58589/filters.xml +0 -7
  229. data/test/fixtures/moodle2/backup/activities/feedback_58589/grades.xml +0 -7
  230. data/test/fixtures/moodle2/backup/activities/feedback_58589/inforef.xml +0 -3
  231. data/test/fixtures/moodle2/backup/activities/feedback_58589/module.xml +0 -28
  232. data/test/fixtures/moodle2/backup/activities/feedback_58589/roles.xml +0 -7
  233. data/test/fixtures/moodle2/backup/activities/folder_7/calendar.xml +0 -3
  234. data/test/fixtures/moodle2/backup/activities/folder_7/comments.xml +0 -3
  235. data/test/fixtures/moodle2/backup/activities/folder_7/completion.xml +0 -3
  236. data/test/fixtures/moodle2/backup/activities/folder_7/filters.xml +0 -7
  237. data/test/fixtures/moodle2/backup/activities/folder_7/folder.xml +0 -10
  238. data/test/fixtures/moodle2/backup/activities/folder_7/grades.xml +0 -7
  239. data/test/fixtures/moodle2/backup/activities/folder_7/inforef.xml +0 -20
  240. data/test/fixtures/moodle2/backup/activities/folder_7/module.xml +0 -25
  241. data/test/fixtures/moodle2/backup/activities/folder_7/roles.xml +0 -7
  242. data/test/fixtures/moodle2/backup/activities/forum_13/calendar.xml +0 -3
  243. data/test/fixtures/moodle2/backup/activities/forum_13/comments.xml +0 -3
  244. data/test/fixtures/moodle2/backup/activities/forum_13/completion.xml +0 -3
  245. data/test/fixtures/moodle2/backup/activities/forum_13/filters.xml +0 -7
  246. data/test/fixtures/moodle2/backup/activities/forum_13/forum.xml +0 -34
  247. data/test/fixtures/moodle2/backup/activities/forum_13/grades.xml +0 -7
  248. data/test/fixtures/moodle2/backup/activities/forum_13/inforef.xml +0 -3
  249. data/test/fixtures/moodle2/backup/activities/forum_13/module.xml +0 -25
  250. data/test/fixtures/moodle2/backup/activities/forum_13/roles.xml +0 -7
  251. data/test/fixtures/moodle2/backup/activities/glossary_8/calendar.xml +0 -3
  252. data/test/fixtures/moodle2/backup/activities/glossary_8/comments.xml +0 -3
  253. data/test/fixtures/moodle2/backup/activities/glossary_8/completion.xml +0 -3
  254. data/test/fixtures/moodle2/backup/activities/glossary_8/filters.xml +0 -7
  255. data/test/fixtures/moodle2/backup/activities/glossary_8/glossary.xml +0 -115
  256. data/test/fixtures/moodle2/backup/activities/glossary_8/grades.xml +0 -7
  257. data/test/fixtures/moodle2/backup/activities/glossary_8/inforef.xml +0 -22
  258. data/test/fixtures/moodle2/backup/activities/glossary_8/module.xml +0 -25
  259. data/test/fixtures/moodle2/backup/activities/glossary_8/roles.xml +0 -7
  260. data/test/fixtures/moodle2/backup/activities/hsuforum_1/calendar.xml +0 -3
  261. data/test/fixtures/moodle2/backup/activities/hsuforum_1/comments.xml +0 -3
  262. data/test/fixtures/moodle2/backup/activities/hsuforum_1/completion.xml +0 -3
  263. data/test/fixtures/moodle2/backup/activities/hsuforum_1/filters.xml +0 -7
  264. data/test/fixtures/moodle2/backup/activities/hsuforum_1/grades.xml +0 -10
  265. data/test/fixtures/moodle2/backup/activities/hsuforum_1/hsuforum.xml +0 -34
  266. data/test/fixtures/moodle2/backup/activities/hsuforum_1/inforef.xml +0 -3
  267. data/test/fixtures/moodle2/backup/activities/hsuforum_1/module.xml +0 -25
  268. data/test/fixtures/moodle2/backup/activities/hsuforum_1/roles.xml +0 -7
  269. data/test/fixtures/moodle2/backup/activities/label_11/calendar.xml +0 -3
  270. data/test/fixtures/moodle2/backup/activities/label_11/comments.xml +0 -3
  271. data/test/fixtures/moodle2/backup/activities/label_11/completion.xml +0 -3
  272. data/test/fixtures/moodle2/backup/activities/label_11/filters.xml +0 -7
  273. data/test/fixtures/moodle2/backup/activities/label_11/grades.xml +0 -7
  274. data/test/fixtures/moodle2/backup/activities/label_11/inforef.xml +0 -3
  275. data/test/fixtures/moodle2/backup/activities/label_11/label.xml +0 -9
  276. data/test/fixtures/moodle2/backup/activities/label_11/module.xml +0 -25
  277. data/test/fixtures/moodle2/backup/activities/label_11/roles.xml +0 -7
  278. data/test/fixtures/moodle2/backup/activities/lti_78841/calendar.xml +0 -3
  279. data/test/fixtures/moodle2/backup/activities/lti_78841/filters.xml +0 -7
  280. data/test/fixtures/moodle2/backup/activities/lti_78841/grade_history.xml +0 -5
  281. data/test/fixtures/moodle2/backup/activities/lti_78841/grades.xml +0 -7
  282. data/test/fixtures/moodle2/backup/activities/lti_78841/inforef.xml +0 -3
  283. data/test/fixtures/moodle2/backup/activities/lti_78841/lti.xml +0 -26
  284. data/test/fixtures/moodle2/backup/activities/lti_78841/module.xml +0 -20
  285. data/test/fixtures/moodle2/backup/activities/lti_78841/roles.xml +0 -7
  286. data/test/fixtures/moodle2/backup/activities/page_10/calendar.xml +0 -3
  287. data/test/fixtures/moodle2/backup/activities/page_10/comments.xml +0 -3
  288. data/test/fixtures/moodle2/backup/activities/page_10/completion.xml +0 -3
  289. data/test/fixtures/moodle2/backup/activities/page_10/filters.xml +0 -7
  290. data/test/fixtures/moodle2/backup/activities/page_10/grades.xml +0 -7
  291. data/test/fixtures/moodle2/backup/activities/page_10/inforef.xml +0 -3
  292. data/test/fixtures/moodle2/backup/activities/page_10/module.xml +0 -25
  293. data/test/fixtures/moodle2/backup/activities/page_10/page.xml +0 -16
  294. data/test/fixtures/moodle2/backup/activities/page_10/roles.xml +0 -7
  295. data/test/fixtures/moodle2/backup/activities/page_2/calendar.xml +0 -3
  296. data/test/fixtures/moodle2/backup/activities/page_2/comments.xml +0 -3
  297. data/test/fixtures/moodle2/backup/activities/page_2/completion.xml +0 -3
  298. data/test/fixtures/moodle2/backup/activities/page_2/filters.xml +0 -7
  299. data/test/fixtures/moodle2/backup/activities/page_2/grades.xml +0 -7
  300. data/test/fixtures/moodle2/backup/activities/page_2/inforef.xml +0 -14
  301. data/test/fixtures/moodle2/backup/activities/page_2/module.xml +0 -25
  302. data/test/fixtures/moodle2/backup/activities/page_2/page.xml +0 -21
  303. data/test/fixtures/moodle2/backup/activities/page_2/roles.xml +0 -7
  304. data/test/fixtures/moodle2/backup/activities/questionnaire_9/calendar.xml +0 -3
  305. data/test/fixtures/moodle2/backup/activities/questionnaire_9/comments.xml +0 -3
  306. data/test/fixtures/moodle2/backup/activities/questionnaire_9/completion.xml +0 -3
  307. data/test/fixtures/moodle2/backup/activities/questionnaire_9/filters.xml +0 -7
  308. data/test/fixtures/moodle2/backup/activities/questionnaire_9/grades.xml +0 -7
  309. data/test/fixtures/moodle2/backup/activities/questionnaire_9/inforef.xml +0 -3
  310. data/test/fixtures/moodle2/backup/activities/questionnaire_9/module.xml +0 -25
  311. data/test/fixtures/moodle2/backup/activities/questionnaire_9/questionnaire.xml +0 -245
  312. data/test/fixtures/moodle2/backup/activities/questionnaire_9/roles.xml +0 -7
  313. data/test/fixtures/moodle2/backup/activities/quiz_5/calendar.xml +0 -21
  314. data/test/fixtures/moodle2/backup/activities/quiz_5/comments.xml +0 -3
  315. data/test/fixtures/moodle2/backup/activities/quiz_5/completion.xml +0 -3
  316. data/test/fixtures/moodle2/backup/activities/quiz_5/filters.xml +0 -7
  317. data/test/fixtures/moodle2/backup/activities/quiz_5/grades.xml +0 -38
  318. data/test/fixtures/moodle2/backup/activities/quiz_5/inforef.xml +0 -21
  319. data/test/fixtures/moodle2/backup/activities/quiz_5/module.xml +0 -25
  320. data/test/fixtures/moodle2/backup/activities/quiz_5/quiz.xml +0 -108
  321. data/test/fixtures/moodle2/backup/activities/quiz_5/roles.xml +0 -7
  322. data/test/fixtures/moodle2/backup/activities/resource_14/calendar.xml +0 -3
  323. data/test/fixtures/moodle2/backup/activities/resource_14/comments.xml +0 -3
  324. data/test/fixtures/moodle2/backup/activities/resource_14/completion.xml +0 -3
  325. data/test/fixtures/moodle2/backup/activities/resource_14/filters.xml +0 -7
  326. data/test/fixtures/moodle2/backup/activities/resource_14/grades.xml +0 -7
  327. data/test/fixtures/moodle2/backup/activities/resource_14/inforef.xml +0 -11
  328. data/test/fixtures/moodle2/backup/activities/resource_14/module.xml +0 -25
  329. data/test/fixtures/moodle2/backup/activities/resource_14/resource.xml +0 -16
  330. data/test/fixtures/moodle2/backup/activities/resource_14/roles.xml +0 -7
  331. data/test/fixtures/moodle2/backup/activities/resource_3/calendar.xml +0 -3
  332. data/test/fixtures/moodle2/backup/activities/resource_3/comments.xml +0 -3
  333. data/test/fixtures/moodle2/backup/activities/resource_3/completion.xml +0 -3
  334. data/test/fixtures/moodle2/backup/activities/resource_3/filters.xml +0 -7
  335. data/test/fixtures/moodle2/backup/activities/resource_3/grades.xml +0 -7
  336. data/test/fixtures/moodle2/backup/activities/resource_3/inforef.xml +0 -11
  337. data/test/fixtures/moodle2/backup/activities/resource_3/module.xml +0 -25
  338. data/test/fixtures/moodle2/backup/activities/resource_3/resource.xml +0 -16
  339. data/test/fixtures/moodle2/backup/activities/resource_3/roles.xml +0 -7
  340. data/test/fixtures/moodle2/backup/activities/url_15/calendar.xml +0 -3
  341. data/test/fixtures/moodle2/backup/activities/url_15/comments.xml +0 -3
  342. data/test/fixtures/moodle2/backup/activities/url_15/completion.xml +0 -3
  343. data/test/fixtures/moodle2/backup/activities/url_15/filters.xml +0 -7
  344. data/test/fixtures/moodle2/backup/activities/url_15/grades.xml +0 -7
  345. data/test/fixtures/moodle2/backup/activities/url_15/inforef.xml +0 -3
  346. data/test/fixtures/moodle2/backup/activities/url_15/module.xml +0 -25
  347. data/test/fixtures/moodle2/backup/activities/url_15/roles.xml +0 -7
  348. data/test/fixtures/moodle2/backup/activities/url_15/url.xml +0 -13
  349. data/test/fixtures/moodle2/backup/activities/wiki_58541/calendar.xml +0 -3
  350. data/test/fixtures/moodle2/backup/activities/wiki_58541/completion.xml +0 -3
  351. data/test/fixtures/moodle2/backup/activities/wiki_58541/grades.xml +0 -7
  352. data/test/fixtures/moodle2/backup/activities/wiki_58541/inforef.xml +0 -47
  353. data/test/fixtures/moodle2/backup/activities/wiki_58541/module.xml +0 -28
  354. data/test/fixtures/moodle2/backup/activities/wiki_58541/roles.xml +0 -7
  355. data/test/fixtures/moodle2/backup/activities/wiki_58541/wiki.xml +0 -70
  356. data/test/fixtures/moodle2/backup/completion.xml +0 -3
  357. data/test/fixtures/moodle2/backup/course/blocks/calendar_upcoming_12/block.xml +0 -13
  358. data/test/fixtures/moodle2/backup/course/blocks/calendar_upcoming_12/comments.xml +0 -3
  359. data/test/fixtures/moodle2/backup/course/blocks/calendar_upcoming_12/inforef.xml +0 -3
  360. data/test/fixtures/moodle2/backup/course/blocks/calendar_upcoming_12/roles.xml +0 -7
  361. data/test/fixtures/moodle2/backup/course/blocks/news_items_11/block.xml +0 -13
  362. data/test/fixtures/moodle2/backup/course/blocks/news_items_11/comments.xml +0 -3
  363. data/test/fixtures/moodle2/backup/course/blocks/news_items_11/inforef.xml +0 -3
  364. data/test/fixtures/moodle2/backup/course/blocks/news_items_11/roles.xml +0 -7
  365. data/test/fixtures/moodle2/backup/course/blocks/recent_activity_13/block.xml +0 -13
  366. data/test/fixtures/moodle2/backup/course/blocks/recent_activity_13/comments.xml +0 -3
  367. data/test/fixtures/moodle2/backup/course/blocks/recent_activity_13/inforef.xml +0 -3
  368. data/test/fixtures/moodle2/backup/course/blocks/recent_activity_13/roles.xml +0 -7
  369. data/test/fixtures/moodle2/backup/course/blocks/search_forums_10/block.xml +0 -13
  370. data/test/fixtures/moodle2/backup/course/blocks/search_forums_10/comments.xml +0 -3
  371. data/test/fixtures/moodle2/backup/course/blocks/search_forums_10/inforef.xml +0 -3
  372. data/test/fixtures/moodle2/backup/course/blocks/search_forums_10/roles.xml +0 -7
  373. data/test/fixtures/moodle2/backup/course/calendar.xml +0 -3
  374. data/test/fixtures/moodle2/backup/course/comments.xml +0 -3
  375. data/test/fixtures/moodle2/backup/course/course.xml +0 -37
  376. data/test/fixtures/moodle2/backup/course/enrolments.xml +0 -110
  377. data/test/fixtures/moodle2/backup/course/filters.xml +0 -7
  378. data/test/fixtures/moodle2/backup/course/inforef.xml +0 -13
  379. data/test/fixtures/moodle2/backup/course/roles.xml +0 -7
  380. data/test/fixtures/moodle2/backup/files.xml +0 -531
  381. data/test/fixtures/moodle2/backup/files/50/50bf82ee23d193378b172d6656c08eebb094f006 +0 -0
  382. data/test/fixtures/moodle2/backup/files/51/516ec993971b6e2122b97d15ecc0e08c3eb03828 +0 -0
  383. data/test/fixtures/moodle2/backup/files/64/64643b3bd4274c90e293583030e549e61f4d24fb +0 -0
  384. data/test/fixtures/moodle2/backup/files/67/67859b142e5ba020a84c3166f09d59ef992379a4 +0 -0
  385. data/test/fixtures/moodle2/backup/files/7a/7a647918739d3017a4e272ad97b147b667c00fca +0 -0
  386. data/test/fixtures/moodle2/backup/files/a0/a0f324310c8d8dd9c79458986c4322f5a060a1d9 +0 -0
  387. data/test/fixtures/moodle2/backup/files/a2/a258f0bb582d111a994b35fdc84a71ed1d487310 +0 -0
  388. data/test/fixtures/moodle2/backup/gradebook.xml +0 -57
  389. data/test/fixtures/moodle2/backup/groups.xml +0 -5
  390. data/test/fixtures/moodle2/backup/moodle_backup.xml +0 -572
  391. data/test/fixtures/moodle2/backup/outcomes.xml +0 -3
  392. data/test/fixtures/moodle2/backup/questions.xml +0 -1187
  393. data/test/fixtures/moodle2/backup/roles.xml +0 -11
  394. data/test/fixtures/moodle2/backup/scales.xml +0 -3
  395. data/test/fixtures/moodle2/backup/sections/section_1/inforef.xml +0 -3
  396. data/test/fixtures/moodle2/backup/sections/section_1/section.xml +0 -13
  397. data/test/fixtures/moodle2/backup/sections/section_10/inforef.xml +0 -3
  398. data/test/fixtures/moodle2/backup/sections/section_10/section.xml +0 -13
  399. data/test/fixtures/moodle2/backup/sections/section_2/inforef.xml +0 -3
  400. data/test/fixtures/moodle2/backup/sections/section_2/section.xml +0 -13
  401. data/test/fixtures/moodle2/backup/sections/section_3/inforef.xml +0 -3
  402. data/test/fixtures/moodle2/backup/sections/section_3/section.xml +0 -13
  403. data/test/fixtures/moodle2/backup/sections/section_4/inforef.xml +0 -3
  404. data/test/fixtures/moodle2/backup/sections/section_4/section.xml +0 -13
  405. data/test/fixtures/moodle2/backup/sections/section_5/inforef.xml +0 -3
  406. data/test/fixtures/moodle2/backup/sections/section_5/section.xml +0 -13
  407. data/test/fixtures/moodle2/backup/sections/section_6/inforef.xml +0 -3
  408. data/test/fixtures/moodle2/backup/sections/section_6/section.xml +0 -13
  409. data/test/fixtures/moodle2/backup/sections/section_7/inforef.xml +0 -3
  410. data/test/fixtures/moodle2/backup/sections/section_7/section.xml +0 -13
  411. data/test/fixtures/moodle2/backup/users.xml +0 -104
  412. data/test/fixtures/moodle2/moodle2_shell.mbz +0 -0
  413. data/test/fixtures/moodle_backup/course_files/folder/test.txt +0 -1
  414. data/test/fixtures/moodle_backup/course_files/test.txt +0 -1
  415. data/test/fixtures/moodle_backup/moodle.xml +0 -950
  416. data/test/fixtures/moodle_backup_random_questions/course_files/folder/test.txt +0 -1
  417. data/test/fixtures/moodle_backup_random_questions/course_files/test.txt +0 -1
  418. data/test/fixtures/moodle_backup_random_questions/moodle.xml +0 -357
  419. data/test/test_helper.rb +0 -71
  420. data/test/test_question_helper.rb +0 -122
  421. data/test/test_wiki_helper.rb +0 -21
  422. data/test/unit/canvas/assessment_test.rb +0 -261
  423. data/test/unit/canvas/assignment_test.rb +0 -220
  424. data/test/unit/canvas/converter_test.rb +0 -171
  425. data/test/unit/canvas/course_test.rb +0 -176
  426. data/test/unit/canvas/discussion_topic_test.rb +0 -129
  427. data/test/unit/canvas/label_test.rb +0 -32
  428. data/test/unit/canvas/question_bank_test.rb +0 -92
  429. data/test/unit/canvas/question_group_test.rb +0 -90
  430. data/test/unit/canvas/question_test.rb +0 -876
  431. data/test/unit/canvas/web_content_test.rb +0 -46
  432. data/test/unit/canvas/web_link_test.rb +0 -48
  433. data/test/unit/canvas/wiki_test.rb +0 -74
  434. data/test/unit/cc/assessment_test.rb +0 -48
  435. data/test/unit/cc/assignment_test.rb +0 -72
  436. data/test/unit/cc/cc_helper_test.rb +0 -19
  437. data/test/unit/cc/converter_test.rb +0 -173
  438. data/test/unit/cc/course_test.rb +0 -36
  439. data/test/unit/cc/discussion_topic_test.rb +0 -83
  440. data/test/unit/cc/label_test.rb +0 -29
  441. data/test/unit/cc/question_test.rb +0 -54
  442. data/test/unit/cc/web_content_test.rb +0 -76
  443. data/test/unit/cc/web_link_test.rb +0 -159
  444. data/test/unit/cc/wiki_test.rb +0 -139
  445. data/test/unit/logger_test.rb +0 -33
  446. data/test/unit/migrator_test.rb +0 -67
  447. data/test/unit/moodle/backup_test.rb +0 -30
  448. data/test/unit/moodle/course_test.rb +0 -57
  449. data/test/unit/moodle/grade_item_test.rb +0 -72
  450. data/test/unit/moodle/info_test.rb +0 -21
  451. data/test/unit/moodle/mod_test.rb +0 -301
  452. data/test/unit/moodle/question_category_test.rb +0 -34
  453. data/test/unit/moodle/question_test.rb +0 -193
  454. data/test/unit/moodle/section_test.rb +0 -92
  455. data/test/unit/resource_factory_test.rb +0 -216
@@ -1,21 +0,0 @@
1
- require 'spec_helper'
2
-
3
- module Moodle2CC::Moodle2
4
- describe Parsers::LabelParser do
5
-
6
- subject(:parser) { Parsers::LabelParser.new(fixture_path(File.join('moodle2', 'backup')))}
7
-
8
- it 'parses labels' do
9
- labels = parser.parse
10
- expect(labels.count).to eq 1
11
- label = labels.first
12
- expect(label.id).to eq '1'
13
- expect(label.name).to eq 'This is some label text'
14
- expect(label.intro).to eq '<p>This is some label text</p>'
15
- expect(label.intro_format).to eq '1'
16
- expect(label.module_id).to eq '11'
17
- expect(label.visible).to eq true
18
- end
19
-
20
- end
21
- end
@@ -1,21 +0,0 @@
1
- require 'spec_helper'
2
-
3
- module Moodle2CC::Moodle2::Parsers
4
- describe LtiParser do
5
-
6
- subject { LtiParser.new(fixture_path(File.join('moodle2', 'backup'))) }
7
-
8
- it 'parses lti links' do
9
- lti_links = subject.parse
10
- expect(lti_links.count).to eq(1)
11
-
12
- lti_link = lti_links.first
13
- expect(lti_link.module_id).to eq('78841')
14
- expect(lti_link.id).to eq('47236')
15
- expect(lti_link.name).to eq('eTeacher Guide')
16
- expect(lti_link.url).to eq('https://lti.flvsgl.com/tool.php?id=11&launch=educator_psychology1_v14_gs_guide/index.htm')
17
- expect(lti_link.visible).to eq false
18
- end
19
-
20
- end
21
- end
@@ -1,25 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Moodle2CC::Moodle2::Parsers::PageParser do
4
- subject(:parser) {Moodle2CC::Moodle2::Parsers::PageParser.new(fixture_path(File.join('moodle2', 'backup')))}
5
-
6
- it 'parses a moodle2 page' do
7
- pages = parser.parse
8
- expect(pages.count).to eq 2
9
- page = pages.first
10
- expect(page.module_id).to eq '2'
11
- expect(page.id).to eq '1'
12
- expect(page.name).to eq 'My Sample Page'
13
- expect(page.intro).to eq "<p>Some Html Content\u00A0<strong>Bolded</strong> in the description</p>"
14
- expect(page.intro_format).to eq '1'
15
- expect(page.content).to include "<p>This is the page content, with a link to\u00A0<img src=\"@@PLUGINFILE@@/smaple_gif.gif\" width=\"400\" height=\"210\" alt=\"Image Description\" /></p>"
16
- expect(page.content_format).to eq '1'
17
- expect(page.legacy_files).to eq '0'
18
- expect(page.legacy_files_last).to eq nil
19
- expect(page.display).to eq '0'
20
- expect(page.display_options).to eq 'a:2:{s:12:"printheading";s:1:"0";s:10:"printintro";s:1:"0";}'
21
- expect(page.revision).to eq '3'
22
- expect(page.visible).to eq true
23
- end
24
-
25
- end
@@ -1,104 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Moodle2CC::Moodle2::Parsers::ParserHelper do
4
- class HelperClass
5
- include Moodle2CC::Moodle2::Parsers::ParserHelper
6
- end
7
-
8
- subject { HelperClass.new }
9
-
10
- describe "#activity_directories" do
11
- it "returns a list of directories associated with an activity type" do
12
- dirs = subject.activity_directories(moodle2_backup_dir, 'assign')
13
- expect(dirs.size).to eq 2
14
- expect(dirs.sort).to eq ['activities/assign_12', 'activities/assign_4']
15
- end
16
- end
17
-
18
- describe "#parse_text" do
19
- let(:child_node) {
20
- double.tap do |double|
21
- double.stub(:text) { 'value' }
22
- end
23
- }
24
-
25
- let(:parent_node) {
26
- double.tap do |double|
27
- double.stub(:%) { child_node }
28
- double.stub(:at_xpath) { child_node}
29
- end
30
- }
31
-
32
- it "retrieves the text from a nokogiri node" do
33
- expect(subject.parse_text(parent_node, 'path')).to eq 'value'
34
- expect(parent_node).to have_received(:%).with('path')
35
- end
36
-
37
- it "returns nil if the requested path does not exist" do
38
- parent_node.stub(:%) { nil }
39
- expect(subject.parse_text(parent_node, 'path')).to eq nil
40
- end
41
-
42
- it "replaces the XML_NULL_VALUE with nil" do
43
- child_node.stub(:text) { Moodle2CC::Moodle2::Parsers::ParserHelper::XML_NULL_VALUE }
44
- expect(subject.parse_text(parent_node, 'path')).to eq nil
45
- end
46
-
47
- it "replaces the @$FILEPHP$@ token with $IMS_CC_FILEBASE$" do
48
- child_node.stub(:text) { "<a href=\"$@FILEPHP@$/somefile\">linkylink</a>" }
49
- expect(subject.parse_text(parent_node, 'path')).to eq "<a href=\"$IMS_CC_FILEBASE$/somefile\">linkylink</a>"
50
- end
51
-
52
- it "replaces the @$SLASH$@ token with a slash" do
53
- child_node.stub(:text) { "<a href=\"something$@SLASH@$somefile\">linkylink</a>" }
54
- expect(subject.parse_text(parent_node, 'path')).to eq "<a href=\"something/somefile\">linkylink</a>"
55
- end
56
-
57
- it "uses #at_xpath when ns is true" do
58
- expect(subject.parse_text(parent_node, 'path', true)).to eq 'value'
59
- expect(parent_node).to have_received(:at_xpath).with('path')
60
- end
61
-
62
- end
63
-
64
- describe "#parse_boolean" do
65
- let(:child_node) {
66
- double.tap do |double|
67
- double.stub(:text) { 'value' }
68
- end
69
- }
70
-
71
- let(:parent_node) {
72
- double.tap do |double|
73
- double.stub(:%) { child_node }
74
- end
75
- }
76
-
77
- it "parses 1 as boolean true" do
78
- child_node.stub(:text) { '1' }
79
- expect(subject.parse_boolean(parent_node, 'path')).to eq true
80
- end
81
-
82
- it "parses 0 as boolean false" do
83
- child_node.stub(:text) { '0' }
84
- expect(subject.parse_boolean(parent_node, 'path')).to eq false
85
- end
86
-
87
- it "parses 'false' as boolean false" do
88
- child_node.stub(:text) { 'false' }
89
- expect(subject.parse_boolean(parent_node, 'path')).to eq false
90
- end
91
-
92
- it "parses 'true' as boolean true" do
93
- child_node.stub(:text) { 'true' }
94
- expect(subject.parse_boolean(parent_node, 'path')).to eq true
95
- end
96
-
97
- it "parses nil as boolean false" do
98
- child_node.stub(:text) { nil }
99
- expect(subject.parse_boolean(parent_node, 'path')).to eq false
100
- end
101
-
102
- end
103
-
104
- end
@@ -1,27 +0,0 @@
1
- require 'spec_helper'
2
-
3
- module Moodle2CC::Moodle2
4
- describe Parsers::QuestionCategoryParser do
5
- subject(:parser) {Parsers::QuestionCategoryParser.new(fixture_path(File.join('moodle2', 'backup')))}
6
-
7
- it 'pareses quiz categories' do
8
- question_categories = subject.parse
9
- expect(question_categories.count).to eq 2
10
- category = question_categories.last
11
- expect(category).to be_instance_of Models::Quizzes::QuestionCategory
12
- expect(category.id).to eq '2'
13
- expect(category.name).to eq 'Default for SC'
14
- expect(category.context_id).to eq '15'
15
- expect(category.context_level).to eq '50'
16
- expect(category.context_instance_id).to eq '2'
17
- expect(category.info).to eq 'The default category for questions shared in context \'SC\'.'
18
- expect(category.info_format).to eq '0'
19
- expect(category.stamp).to eq '10.0.21.141+140304213555+iMFEfs'
20
- expect(category.parent).to eq '0'
21
- expect(category.sort_order).to eq '999'
22
-
23
- expect(category.questions.count).to eq 18
24
- end
25
-
26
- end
27
- end
@@ -1,100 +0,0 @@
1
- require 'spec_helper'
2
- module Moodle2CC::Moodle2
3
- describe Parsers::QuestionParsers::CalculatedParser do
4
- xml = Nokogiri::XML(File.read(fixture_path(File.join('moodle2', 'backup', 'questions.xml'))))
5
-
6
- let(:calculated_node) do
7
- xml.at_xpath('/question_categories/question_category[@id = "2"]/questions/question[@id = "1"]')
8
- end
9
-
10
- let(:calculatedmulti_node) do
11
- xml.at_xpath('/question_categories/question_category[@id = "2"]/questions/question[@id = "2"]')
12
- end
13
-
14
- let(:calculatedsimple_node) do
15
- xml.at_xpath('/question_categories/question_category[@id = "2"]/questions/question[@id = "3"]')
16
- end
17
-
18
-
19
- it 'parses a calculated question' do
20
- question = subject.parse_question(calculated_node)
21
-
22
- expect(question.is_a?(Moodle2CC::Moodle2::Models::Quizzes::CalculatedQuestion)).to be_true
23
- expect(question.qtype).to eq 'calculated'
24
- expect(question.answers.count).to eq 1
25
- expect(question.answers.first.answer_text).to eq '{A}*{B}'
26
- expect(question.answers.first.fraction).to eq 1
27
-
28
- expect(question.correct_answer_format).to eq '1'
29
- expect(question.correct_answer_length).to eq '2'
30
- expect(question.tolerance).to eq '0.01'
31
-
32
- expect(question.dataset_definitions.count).to eq 2
33
- var1 = question.dataset_definitions[0]
34
- expect(var1[:name]).to eq 'A'
35
- expect(var1[:options]).to eq 'uniform:1:10:1'
36
- var2 = question.dataset_definitions[1]
37
- expect(var2[:name]).to eq 'B'
38
- expect(var2[:options]).to eq 'uniform:1:10:1'
39
-
40
- expect(question.var_sets.count).to eq 1
41
- set = question.var_sets.first
42
- expect(set[:ident]).to eq '1'
43
- expect(set[:vars]["A"]).to eq "3.5"
44
- expect(set[:vars]["B"]).to eq "3.1"
45
- end
46
-
47
- it 'parses a calculated multiple choice question into a standard calculated question' do
48
- question = subject.parse_question(calculatedmulti_node)
49
-
50
- expect(question.is_a?(Moodle2CC::Moodle2::Models::Quizzes::CalculatedQuestion)).to be_true
51
- expect(question.qtype).to eq 'calculatedmulti'
52
- expect(question.answers.count).to eq 1
53
- expect(question.answers.first.answer_text).to eq '{A}*{B}'
54
- expect(question.answers.first.fraction).to eq 1
55
-
56
- expect(question.correct_answer_format).to eq '1'
57
- expect(question.correct_answer_length).to eq '2'
58
- expect(question.tolerance).to eq '0.01'
59
-
60
- expect(question.dataset_definitions.count).to eq 2
61
- var1 = question.dataset_definitions[0]
62
- expect(var1[:name]).to eq 'A'
63
- expect(var1[:options]).to eq 'uniform:1:10:1'
64
- var2 = question.dataset_definitions[1]
65
- expect(var2[:name]).to eq 'B'
66
- expect(var2[:options]).to eq 'uniform:1:10:1'
67
-
68
- expect(question.var_sets.count).to eq 1
69
- set = question.var_sets.first
70
- expect(set[:ident]).to eq '1'
71
- expect(set[:vars]["A"]).to eq "5.1"
72
- expect(set[:vars]["B"]).to eq "7.1"
73
- end
74
-
75
- it 'parses a calculated simple question' do
76
- question = subject.parse_question(calculatedsimple_node)
77
-
78
- expect(question.is_a?(Moodle2CC::Moodle2::Models::Quizzes::CalculatedQuestion)).to be_true
79
- expect(question.qtype).to eq 'calculatedsimple'
80
- expect(question.answers.count).to eq 1
81
-
82
- expect(question.answers.first.answer_text).to eq '{A}*{A}'
83
- expect(question.answers.first.fraction).to eq 1
84
-
85
- expect(question.correct_answer_format).to eq '1'
86
- expect(question.correct_answer_length).to eq '2'
87
- expect(question.tolerance).to eq '0.01'
88
-
89
- expect(question.dataset_definitions.count).to eq 1
90
- var = question.dataset_definitions.first
91
- expect(var[:name]).to eq 'A'
92
- expect(var[:options]).to eq 'uniform:1.0:10.0:1'
93
-
94
- expect(question.var_sets.count).to eq 1
95
- set = question.var_sets.first
96
- expect(set[:ident]).to eq '1'
97
- expect(set[:vars]["A"]).to eq "3.6"
98
- end
99
- end
100
- end
@@ -1,31 +0,0 @@
1
- require 'spec_helper'
2
- module Moodle2CC::Moodle2
3
- describe Parsers::QuestionParsers::MatchParser do
4
- let(:node) do
5
- xml = Nokogiri::XML(File.read(fixture_path(File.join('moodle2', 'backup', 'questions.xml'))))
6
- xml.at_xpath('/question_categories/question_category[@id = "2"]/questions/question[@id = "11"]')
7
- end
8
-
9
- it 'parses a match question' do
10
- question = subject.parse_question(node)
11
-
12
- expect(question.type).to eq 'match'
13
- expect(question.matches.count).to eq 3
14
- question.matches.each do |m|
15
- expect(m[:question_text_format]).to eq "1"
16
- end
17
-
18
- expect(question.matches[0][:id]).to eq "1"
19
- expect(question.matches[1][:id]).to eq "2"
20
- expect(question.matches[2][:id]).to eq "3"
21
-
22
- expect(question.matches[0][:question_text]).to eq "<p>Question One</p>"
23
- expect(question.matches[1][:question_text]).to eq "<p>Question 2</p>"
24
- expect(question.matches[2][:question_text]).to eq "<p>Question 3</p>"
25
-
26
- expect(question.matches[0][:answer_text]).to eq "Answer One"
27
- expect(question.matches[1][:answer_text]).to eq "Answer 2"
28
- expect(question.matches[2][:answer_text]).to eq "Answer 3"
29
- end
30
- end
31
- end
@@ -1,16 +0,0 @@
1
- require 'spec_helper'
2
- module Moodle2CC::Moodle2
3
- describe Parsers::QuestionParsers::MultianswerParser do
4
- let(:node) do
5
- xml = Nokogiri::XML(File.read(fixture_path(File.join('moodle2', 'backup', 'questions.xml'))))
6
- xml.at_xpath('/question_categories/question_category[@id = "2"]/questions/question[@id = "4"]')
7
- end
8
-
9
- it 'parses a multianswer question' do
10
- question = subject.parse_question(node)
11
-
12
- expect(question.type).to eq 'multianswer'
13
- expect(question.embedded_question_references).to eq %w{5 6 7 8 9}
14
- end
15
- end
16
- end
@@ -1,16 +0,0 @@
1
- require 'spec_helper'
2
- module Moodle2CC::Moodle2
3
- describe Parsers::QuestionParsers::MultichoiceParser do
4
- let(:node) do
5
- xml = Nokogiri::XML(File.read(fixture_path(File.join('moodle2', 'backup', 'questions.xml'))))
6
- xml.at_xpath('/question_categories/question_category[@id = "2"]/questions/question[@id = "12"]')
7
- end
8
-
9
- it 'parses a multichoice question' do
10
- question = subject.parse_question(node)
11
-
12
- expect(question.type).to eq 'multichoice'
13
- expect(question.answers.count).to eq 3
14
- end
15
- end
16
- end
@@ -1,23 +0,0 @@
1
- require 'spec_helper'
2
- module Moodle2CC::Moodle2
3
- describe Parsers::QuestionParsers::NumericalParser do
4
- let(:node) do
5
- xml = Nokogiri::XML(File.read(fixture_path(File.join('moodle2', 'backup', 'questions.xml'))))
6
- xml.at_xpath('/question_categories/question_category[@id = "2"]/questions/question[@id = "13"]')
7
- end
8
-
9
- it 'parses a numerical question' do
10
- question = subject.parse_question(node)
11
-
12
- expect(question.is_a?(Moodle2CC::Moodle2::Models::Quizzes::NumericalQuestion)).to be_true
13
- expect(question.qtype).to eq 'numerical'
14
-
15
- expect(question.answers.count).to eq 3
16
- expect(question.tolerances.count).to eq 3
17
-
18
- expect(question.tolerances["19"]).to eq "1"
19
- expect(question.tolerances["20"]).to eq "0"
20
- expect(question.tolerances["21"]).to eq "0"
21
- end
22
- end
23
- end
@@ -1,62 +0,0 @@
1
- require 'spec_helper'
2
-
3
- module Moodle2CC::Moodle2::Parsers::QuestionParsers
4
- describe QuestionParser do
5
-
6
- class FooBarParser < QuestionParser
7
- end
8
-
9
- it 'registers a question type for object creation' do
10
- node = Nokogiri::XML('<question><qtype>foobar</qtype></question>')
11
- parser = FooBarParser.new
12
- parser.stub(:parse_question)
13
- FooBarParser.stub(:new).and_return(parser)
14
- FooBarParser.register_parser_type 'foobar'
15
- QuestionParser.parse(node)
16
- expect(parser).to have_received(:parse_question)
17
- end
18
-
19
- it 'raises an exception for unknown parser types' do
20
- node = Nokogiri::XML('<question><qtype>non_existing_parser_type</qtype></question>')
21
- expect { FooBarParser.parse(node) }.to raise_exception
22
- end
23
-
24
-
25
- it 'parses a quiz question' do
26
- xml = Nokogiri::XML(File.read(fixture_path(File.join('moodle2', 'backup', 'questions.xml'))))
27
- node = xml.at_xpath('/question_categories/question_category[@id = "2"]/questions/question[@id = "15"]')
28
- question = subject.parse_question(node)
29
-
30
- expect(question.id).to eq '15'
31
- expect(question.parent).to eq '0'
32
- expect(question.name).to eq 'True/False Question'
33
- expect(question.question_text).to eq '<p>True == True</p>'
34
- expect(question.question_text_format).to eq '1'
35
- expect(question.general_feedback).to eq '<p>feedback</p>'
36
- expect(question.default_mark).to eq '1.0000000'
37
- expect(question.penalty).to eq '1.0000000'
38
- expect(question.qtype).to eq 'truefalse'
39
- expect(question.length).to eq '1'
40
- expect(question.stamp).to eq '10.0.21.141+140304215800+p3jSSa'
41
- expect(question.version).to eq '10.0.21.141+140304215801+FQKIDE'
42
- end
43
-
44
- it 'parses essay questions as standard questions' do
45
- xml = Nokogiri::XML(File.read(fixture_path(File.join('moodle2', 'backup', 'questions.xml'))))
46
- node = xml.at_xpath('/question_categories/question_category[@id = "2"]/questions/question[@id = "10"]')
47
- question = subject.parse_question(node)
48
-
49
- expect(question.is_a?(Moodle2CC::Moodle2::Models::Quizzes::Question)).to be_true
50
- expect(question.type).to eq 'essay'
51
- end
52
-
53
- it 'parses description "questions" as standard questions' do
54
- xml = Nokogiri::XML(File.read(fixture_path(File.join('moodle2', 'backup', 'questions.xml'))))
55
- node = xml.at_xpath('/question_categories/question_category[@id = "2"]/questions/question[@id = "18"]')
56
- question = subject.parse_question(node)
57
-
58
- expect(question.is_a?(Moodle2CC::Moodle2::Models::Quizzes::Question)).to be_true
59
- expect(question.type).to eq 'description'
60
- end
61
- end
62
- end