itemengine-cypress-automation 1.0.389-graphAndCharts-04d27f6.0 → 1.0.390-IEI-6314-testScriptForTextEntryMathValidations-dcad527.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. package/Dockerfile +1 -0
  2. package/cypress/e2e/GradingGridView/gradingGridView.js +156 -0
  3. package/cypress/e2e/ILC/AudioResponseNew/barRecorderStyle.smoke.js +2 -0
  4. package/cypress/e2e/ILC/AudioResponseNew/compactRecorderStyle.smoke.js +4 -0
  5. package/cypress/e2e/ILC/AudioResponseNew/editTabBasicSection.js +4 -16
  6. package/cypress/e2e/ILC/BrainingCampManipulative/editTabBasicSection.js +1 -1
  7. package/cypress/e2e/ILC/BrowseItems/browseReviewItems.js +3 -3
  8. package/cypress/e2e/ILC/BrowseItems/browseReviewItemsMobileView.js +3 -3
  9. package/cypress/e2e/ILC/BrowseItems/browseThinkSphereItems.js +6 -6
  10. package/cypress/e2e/ILC/BrowseItems/browseThinkSphereItemsMobileView.js +6 -6
  11. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/allOrNothingScoringForAllViews.smoke.js +356 -0
  12. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/gradingViewAndCorrectAnswerView.smoke.js +1 -1
  13. package/cypress/e2e/ILC/ChartsBar/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +33 -0
  14. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightBasic.js +27 -27
  15. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +37 -37
  16. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +37 -37
  17. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +37 -37
  18. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightBasic.js +26 -25
  19. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +39 -38
  20. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +31 -30
  21. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +35 -34
  22. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePointsLocked.js +247 -0
  23. package/cypress/e2e/ILC/ChartsBar/allOrNothingScoringForAllViews.smoke.js +287 -0
  24. package/cypress/e2e/ILC/ChartsBar/editQuestion.smoke.js +1 -1
  25. package/cypress/e2e/ILC/ChartsBar/editTabBasicSection.js +37 -0
  26. package/cypress/e2e/ILC/ChartsBar/headerSection.js +50 -2
  27. package/cypress/e2e/ILC/ChartsBar/specifyCorrectAnswerSection.js +92 -0
  28. package/cypress/e2e/ILC/ChartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePointsLocked.js +220 -0
  29. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightBasic.js +25 -26
  30. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +47 -47
  31. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +25 -25
  32. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +25 -25
  33. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightBasic.js +25 -25
  34. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +24 -23
  35. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +21 -20
  36. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +48 -46
  37. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePointsLocked.js +249 -0
  38. package/cypress/e2e/ILC/ChartsLine/allOrNothingScoringForAllViews.smoke.js +247 -0
  39. package/cypress/e2e/ILC/ChartsLine/editQuestion.smoke.js +3 -1
  40. package/cypress/e2e/ILC/ChartsLine/headerSection.js +18 -1
  41. package/cypress/e2e/ILC/ChartsLine/specifyCorrectAnswerSection.js +94 -0
  42. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddTranscriptRadioButton .js +2 -2
  43. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerHeaderSectionAndButtons.js +2 -2
  44. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTab.js +1 -1
  45. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabSupportedFileTypes.js +6 -0
  46. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabTranscript.js +2 -3
  47. package/cypress/e2e/ILC/CkEditorEquationEditor/selectModeEditorBasic.js +4 -1
  48. package/cypress/e2e/ILC/CkEditorInsertImage/imageInfo.js +4 -3
  49. package/cypress/e2e/ILC/CkEditorInsertImage/insertImageBasicFile.js +2 -0
  50. package/cypress/e2e/ILC/CkEditorInsertTable/tableDimension&FooterProperties.js +8 -8
  51. package/cypress/e2e/ILC/CkEditorInsertTable/tableStyle.js +11 -11
  52. package/cypress/e2e/ILC/CkEditorLink/linkPreview.js +2 -1
  53. package/cypress/e2e/ILC/CkEditorLink/uploadSection.js +1 -1
  54. package/cypress/e2e/ILC/ContentBlocks/editTabBasics.js +63 -4
  55. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +116 -7
  56. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabBasicSection.js +3 -3
  57. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabScoring.js +1 -0
  58. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/headerSection.js +3 -3
  59. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/pagination.js +1 -1
  60. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/studentViewSettingsForGroupedLayout.js +3 -0
  61. package/cypress/e2e/ILC/DrawingResponse/drawingResponseEditTabBasicSection.js +11 -3
  62. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +210 -0
  63. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/draggableOptions.js +2 -0
  64. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/editTabBasicSection.js +1 -1
  65. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/headerSection.js +3 -3
  66. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViewInIncompleteAuthoring.smoke.js +7 -7
  67. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViews.smoke.js +15 -16
  68. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editQuestion.smoke.js +40 -0
  69. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editTabBasicSection.js +1 -1
  70. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/headerSection.js +3 -3
  71. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +216 -0
  72. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/editTabBasicSection.js +2 -2
  73. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/headerSection.js +3 -3
  74. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editQuestion.smoke.js +45 -0
  75. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editTabBasicSection.js +1 -1
  76. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/headerSection.js +4 -4
  77. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/HeaderSection.js +4 -4
  78. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/editQuestion.smoke.js +1 -1
  79. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/responseAnswersAndAcceptedStudentInput.js +4 -0
  80. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/supportedFileTypes.js +3 -1
  81. package/cypress/e2e/ILC/FillInTheGapsTextNew/editTabBasicSection.js +1 -1
  82. package/cypress/e2e/ILC/FillInTheGapsTextNew/headerSection.js +3 -3
  83. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +73 -0
  84. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +38 -0
  85. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +38 -0
  86. package/cypress/e2e/ILC/Graphing/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +87 -0
  87. package/cypress/e2e/ILC/Graphing/allOrNothingForAllViews.smoke.js +213 -2
  88. package/cypress/e2e/ILC/Graphing/checkAddAlternativeButton.js +35 -0
  89. package/cypress/e2e/ILC/Graphing/editQuestion.smoke.js +28 -0
  90. package/cypress/e2e/ILC/Graphing/editTabBasicSection.js +38 -0
  91. package/cypress/e2e/ILC/Graphing/editTabScoringSection.js +1 -0
  92. package/cypress/e2e/ILC/Graphing/headerSection.js +37 -4
  93. package/cypress/e2e/ILC/Graphing/specifyCorrectAnswerSection.js +28 -0
  94. package/cypress/e2e/ILC/GridFill/addAlternateButton.js +40 -0
  95. package/cypress/e2e/ILC/GridFill/allOrNothingBasicForAllViews.smoke.js +210 -0
  96. package/cypress/e2e/ILC/GridFill/customizeLayoutFillImageBackgroundImage.js +2 -2
  97. package/cypress/e2e/ILC/GridFill/headerSection.js +4 -4
  98. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +39 -0
  99. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  100. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +39 -0
  101. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountAllOrNothingCorrectPointsGreaterThanAlternativePoints.js +37 -0
  102. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountallOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  103. package/cypress/e2e/ILC/GridFill/scoring/cellshadeCountAllOrNothingAlternativePointsGreaterThanCorrectPoints.js +36 -0
  104. package/cypress/e2e/ILC/GridFill/scoring/checkLabelSaveAsYouGo.js +75 -0
  105. package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +2 -1
  106. package/cypress/e2e/ILC/ImageHighlight/additionalSettingsBasic.js +1 -0
  107. package/cypress/e2e/ILC/ImageHighlight/allOrNothingForAllViews.smoke.js +212 -0
  108. package/cypress/e2e/ILC/ImageHighlight/customiseHighlightStyle.js +29 -0
  109. package/cypress/e2e/ILC/ImageHighlight/editTabBasicSection.js +1 -1
  110. package/cypress/e2e/ILC/ImageHighlight/headerSection.js +3 -3
  111. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +24 -0
  112. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +24 -0
  113. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +24 -0
  114. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +86 -0
  115. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/manuallyAndNonScored.js +2 -4
  116. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +1 -1
  117. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +237 -1
  118. package/cypress/e2e/ILC/ListOrderingDropdown/checkAddAlternativeButton.js +35 -0
  119. package/cypress/e2e/ILC/ListOrderingDropdown/editTabBasicSection.js +26 -0
  120. package/cypress/e2e/ILC/ListOrderingDropdown/headerSection.js +108 -0
  121. package/cypress/e2e/ILC/ListOrderingDropdown/manuallyAndNonScoredEditTab.js +2 -1
  122. package/cypress/e2e/ILC/ListOrderingDropdown/previewContentsForAllViews.smoke.js +2 -4
  123. package/cypress/e2e/ILC/ListOrderingDropdown/specifyCorrectAnswerSection.js +7 -12
  124. package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/specifyCorrectAnswerSection.js +10 -14
  125. package/cypress/e2e/ILC/ListOrderingNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +52 -0
  126. package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +215 -0
  127. package/cypress/e2e/ILC/ListOrderingNew/editTabBasicSection.js +23 -0
  128. package/cypress/e2e/ILC/ListOrderingNew/headerSection.js +36 -9
  129. package/cypress/e2e/ILC/ListOrderingNew/manuallyAndNonScoredEditTab.js +2 -0
  130. package/cypress/e2e/ILC/ListOrderingNew/specifyCorrectAnswerSection.js +7 -23
  131. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +41 -0
  132. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +30 -0
  133. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +50 -0
  134. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +101 -0
  135. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/allOrNothingForAllViews.smoke.js +309 -0
  136. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/checkAddAlternativeButton.js +38 -0
  137. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabBasicSection.js +24 -0
  138. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabScoring.js +4 -1
  139. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/headerSection.js +38 -3
  140. package/cypress/e2e/ILC/Matching/Scoring/blankResponseScoring.js +38 -41
  141. package/cypress/e2e/ILC/Matching/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +98 -0
  142. package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +210 -0
  143. package/cypress/e2e/ILC/Matching/checkAlternativeButton.js +38 -0
  144. package/cypress/e2e/ILC/Matching/clickAndDrop.js +5 -5
  145. package/cypress/e2e/ILC/Matching/draggableOptions.js +7 -0
  146. package/cypress/e2e/ILC/Matching/editQuestion.smoke.js +3 -2
  147. package/cypress/e2e/ILC/Matching/editTabBasicSection.js +41 -0
  148. package/cypress/e2e/ILC/Matching/headerSection.js +38 -12
  149. package/cypress/e2e/ILC/Matching/questionInstructionsAndPromptSection.js +2 -15
  150. package/cypress/e2e/ILC/Matching/studentViewSettings.js +3 -1
  151. package/cypress/e2e/ILC/Matching/studentViewSettingsForGroupedLayout.js +1 -1
  152. package/cypress/e2e/ILC/MatchingDropdown/Scoring/blankResponseScoring.js +7 -6
  153. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsScoringBasic.js +6 -6
  154. package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +208 -0
  155. package/cypress/e2e/ILC/MultipleSelection/allOrNothingBasicForAllViews.smoke.js +2 -1
  156. package/cypress/e2e/ILC/MultipleSelection/editTabBasicSection.js +1 -1
  157. package/cypress/e2e/ILC/MultipleSelection/headerSection.js +3 -3
  158. package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswer.js +1 -0
  159. package/cypress/e2e/ILC/MultipleSelectionGridNew/editTabBasicSection.js +2 -2
  160. package/cypress/e2e/ILC/MultipleSelectionGridNew/headerSection.js +3 -3
  161. package/cypress/e2e/ILC/MultipleSelectionGridNew/previewContentsForAllViews.smoke.js +100 -69
  162. package/cypress/e2e/ILC/MultipleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +1 -0
  163. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +79 -0
  164. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +42 -0
  165. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +42 -0
  166. package/cypress/e2e/ILC/NumberLine/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +75 -0
  167. package/cypress/e2e/ILC/NumberLine/allOrNothingScoringForAllViews.smoke.js +213 -0
  168. package/cypress/e2e/ILC/NumberLine/checkAddAlternativeButton.js +32 -0
  169. package/cypress/e2e/ILC/NumberLine/editTabSection.js +38 -0
  170. package/cypress/e2e/ILC/NumberLine/headerSection.js +34 -4
  171. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/allOrNothingScoringForAllViews.smoke.js +249 -0
  172. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +81 -0
  173. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +43 -0
  174. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +43 -0
  175. package/cypress/e2e/ILC/NumberLineLabel/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +76 -0
  176. package/cypress/e2e/ILC/NumberLineLabel/additionalSettingsBasic.js +0 -1
  177. package/cypress/e2e/ILC/NumberLineLabel/allOrNothingForAllViews.smoke.js +266 -0
  178. package/cypress/e2e/ILC/NumberLineLabel/checkAddAlternativeButton.js +34 -0
  179. package/cypress/e2e/ILC/NumberLineLabel/editTabSection.js +38 -0
  180. package/cypress/e2e/ILC/NumberLineLabel/headerSection.js +37 -4
  181. package/cypress/e2e/ILC/NumberLineLabel/manuallyAndNonScoredEditTab.js +2 -1
  182. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/allOrNothingForAllViews.smoke.js +268 -0
  183. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/editQuestion.smoke.js +1 -1
  184. package/cypress/e2e/ILC/ShortTextResponseNew/allOrNothingBasicForAllViews.smoke.js +186 -0
  185. package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +4 -3
  186. package/cypress/e2e/ILC/ShortTextResponseNew/headerSection.js +2 -4
  187. package/cypress/e2e/ILC/SingleSelection/editTabBasicSection.js +1 -1
  188. package/cypress/e2e/ILC/SingleSelection/headerSection.js +2 -2
  189. package/cypress/e2e/ILC/SingleSelectionGridNew/editTabBasicSection.js +2 -2
  190. package/cypress/e2e/ILC/SingleSelectionGridNew/headerSection.js +3 -3
  191. package/cypress/e2e/ILC/SingleSelectionGridNew/previewContentsForAllViews.smoke.js +101 -70
  192. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +86 -0
  193. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +86 -0
  194. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  195. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +4 -2
  196. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  197. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  198. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsScoringBasic.js +9 -2
  199. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +4 -2
  200. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +3 -1
  201. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  202. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsScoringBasic.js +4 -0
  203. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +64 -0
  204. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAddEvaluation.js +2 -0
  205. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAlternateAnswer.js +2 -0
  206. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +64 -0
  207. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  208. package/cypress/e2e/ILC/TextEntryMath/Scoring/blankResponseScoring.js +2 -2
  209. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  210. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  211. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  212. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsScoringBasic.js +8 -0
  213. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  214. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  215. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  216. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasic.js +1 -0
  217. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasicForAlternateAnswer.js +2 -0
  218. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViews.smoke.js +263 -0
  219. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +219 -0
  220. package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +27 -3
  221. package/cypress/e2e/ILC/TextEntryMath/equationEditor.smoke.js +1 -1
  222. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodEquivalentStructures.smoke.js +3 -3
  223. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchValue.smoke.js +310 -1
  224. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodSymbolsAreEquivalent.smoke.js +205 -1
  225. package/cypress/e2e/ILC/TextEntryMath/headerSection.js +43 -0
  226. package/cypress/e2e/ILC/TextEntryMathWithImage/allOrNothingScoringForAllViews.smoke.js +263 -0
  227. package/cypress/e2e/ILC/TextEntryMathWithImage/backgroundImageAndCanvasProperties.js +0 -1
  228. package/cypress/e2e/ILC/TextEntryMathWithImage/styleAndLayoutCustomization.js +1 -1
  229. package/cypress/e2e/ILC/TextSelection/additionalSettings.js +1 -0
  230. package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +231 -0
  231. package/cypress/e2e/ILC/TextSelection/editTabBasicSection.js +2 -2
  232. package/cypress/e2e/ILC/TextSelection/headerSection.js +3 -3
  233. package/cypress/e2e/ILC/TextSelection/minimumScoringPenaltyPointsAndRoundingDropdown.js +1 -0
  234. package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyPossibleOptionsSection.js +1 -0
  235. package/cypress/e2e/ILC/ThinkSphere/createReviewItem.js +1 -1
  236. package/cypress/e2e/ILC/ThinkSphere/editTabBasicSection.js +1 -1
  237. package/cypress/e2e/ILC/ThinkSphere/editThinkSphereQuestion.smoke.js +145 -54
  238. package/cypress/e2e/ILC/ThinkSphere/equationEditorEditCategoryFlyOut.js +2 -0
  239. package/cypress/e2e/ILC/ThinkSphere/gradingViewPlanTabSection.js +334 -0
  240. package/cypress/e2e/ILC/ThinkSphere/gradingViewReviewTabSection.js +140 -0
  241. package/cypress/e2e/ILC/ThinkSphere/gradingViewSolveTabSection.js +65 -0
  242. package/cypress/e2e/ILC/ThinkSphere/planPhase.js +45 -5
  243. package/cypress/e2e/ILC/ThinkSphere/previewTabPlanSection.js +8 -8
  244. package/cypress/e2e/ILC/ThinkSphere/previewTabReviewSection.js +102 -0
  245. package/cypress/e2e/ILC/ThinkSphere/previewTabSolveSection.js +41 -0
  246. package/cypress/e2e/ILC/ThinkSphere/solvePhase.js +3 -3
  247. package/cypress/e2e/ILC/ThinkSphere/studentViewPlanTabSection.js +393 -0
  248. package/cypress/e2e/ILC/ThinkSphere/studentViewReviewTabSection.js +146 -0
  249. package/cypress/e2e/ILC/ThinkSphere/studentViewSolveSection.js +53 -0
  250. package/cypress/e2e/ILC/ToolAudioPlayerNew/headerSection.js +90 -2
  251. package/cypress/e2e/ILC/UploadResponse/editTabBasicSection.js +34 -0
  252. package/cypress/e2e/ILC/UploadResponse/headerSection.js +38 -1
  253. package/cypress/e2e/ILC/UploadResponse/uploadResponsePreview.js +50 -13
  254. package/cypress/e2e/ILC/VideoResponseNew/editTabBasicSection.js +14 -29
  255. package/cypress/e2e/ILC/chartsDotsPlot/allOrNothingForAllViews.smoke.js +248 -0
  256. package/cypress/e2e/ILC/chartsDotsPlot/headerSection.js +16 -1
  257. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsBasic.js +27 -28
  258. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +31 -30
  259. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +24 -24
  260. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +39 -37
  261. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsBasic.js +22 -23
  262. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +31 -30
  263. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +25 -24
  264. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +31 -31
  265. package/cypress/e2e/ILC/chartsDotsPlot/scoring/toleranceThresholdScoring.js +18 -19
  266. package/cypress/e2e/ILC/chartsDotsPlot/specifyCorrectAnswerSection.js +96 -0
  267. package/cypress/e2e/Sessions/fetchResponses.js +3 -3
  268. package/cypress/e2e/Sessions/saveResponseScores.js +2 -2
  269. package/cypress/fixtures/thinkSphereWhiteboardTools.js +66 -0
  270. package/cypress/pages/audioPlayerPage.js +25 -0
  271. package/cypress/pages/brainingCampManipulativePage.js +1 -1
  272. package/cypress/pages/chartsBarPage.js +45 -0
  273. package/cypress/pages/chartsDotPlotPage.js +25 -0
  274. package/cypress/pages/chartsLinePage.js +29 -2
  275. package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +5 -1
  276. package/cypress/pages/components/chartsCommonComponent.js +21 -2
  277. package/cypress/pages/components/ckEditorEquationEditorComponent.js +1 -0
  278. package/cypress/pages/components/ckEditorInsertImageComponent.js +3 -3
  279. package/cypress/pages/components/ckEditorInsertTableComponent.js +3 -3
  280. package/cypress/pages/components/ckEditorLinkComponent.js +8 -9
  281. package/cypress/pages/components/colorPopupComponent.js +6 -0
  282. package/cypress/pages/components/createQuestionBasePage.js +19 -6
  283. package/cypress/pages/components/desmosToolComponent.js +1 -1
  284. package/cypress/pages/components/draggableOptionsSectionComponent.js +2 -0
  285. package/cypress/pages/components/equationEditorSectionCommonComponent.js +4 -4
  286. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +31 -3
  287. package/cypress/pages/components/fillInTheGapsTextCommonComponent.js +1 -1
  288. package/cypress/pages/components/gridQuestionCommonComponent.js +55 -2
  289. package/cypress/pages/components/imageCanvasComponent.js +11 -5
  290. package/cypress/pages/components/playbackControlsBaseComponent.js +6 -3
  291. package/cypress/pages/components/questionInstructionsComponent.js +2 -0
  292. package/cypress/pages/components/scoringSectionBaseEditTab.js +3 -0
  293. package/cypress/pages/components/specifyRowsAndColumnsComponent.js +16 -0
  294. package/cypress/pages/contentBlocksPage.js +2 -0
  295. package/cypress/pages/desmos3DGraphingPage.js +149 -4
  296. package/cypress/pages/desmosGeometryPage.js +184 -4
  297. package/cypress/pages/drawingResponsePage.js +9 -2
  298. package/cypress/pages/fillInTheGapsDragAndDropPage.js +3 -8
  299. package/cypress/pages/gradingGridViewPage.js +64 -0
  300. package/cypress/pages/graphingPage.js +28 -5
  301. package/cypress/pages/gridFillPage.js +24 -9
  302. package/cypress/pages/imageHighlightPage.js +115 -15
  303. package/cypress/pages/index.js +1 -0
  304. package/cypress/pages/listOrderingPage.js +46 -2
  305. package/cypress/pages/matchingPage.js +29 -10
  306. package/cypress/pages/numberLineLabelPage.js +26 -0
  307. package/cypress/pages/numberLinePage.js +15 -0
  308. package/cypress/pages/singleSelectionPage.js +30 -1
  309. package/cypress/pages/textEntryMathPage.js +29 -10
  310. package/cypress/pages/textSelectionPage.js +2 -2
  311. package/cypress/pages/thinkSpherePage.js +1118 -87
  312. package/cypress/pages/uploadResponsePage.js +17 -1
  313. package/cypress/pages/videoResponsePage.js +3 -0
  314. package/cypress/support/commands.js +9 -0
  315. package/cypress/support/helpers/createItem.js +22 -3
  316. package/cypress/support/helpers/utilities.js +14 -1
  317. package/package.json +1 -1
  318. /package/cypress/e2e/ILC/{ChartsDotsPlot → chartsDotsPlot}/checkAnswerFunctionalityForAllViews.js +0 -0
  319. /package/cypress/e2e/ILC/{ChartsDotsPlot → chartsDotsPlot}/editQuestion.smoke.js +0 -0
@@ -0,0 +1,101 @@
1
+ import { listOrderingPage } from "../../../../pages/listOrderingPage";
2
+ import abortEarlySetup from "../../../../support/helpers/abortEarly";
3
+
4
+ const options = ['sprout', 'plant', 'flower', 'seed'];
5
+
6
+ describe('Create Item page - List ordering', () => {
7
+ before(() => {
8
+ cy.loginAs('admin');
9
+ });
10
+
11
+ describe('Question Preview: Auto Scored With Points', () => {
12
+ abortEarlySetup();
13
+ before(() => {
14
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
15
+ cy.barsPreLoaderWait();
16
+ listOrderingPage.steps.selectOrderingLayoutOption('Reorder as a separate list');
17
+ listOrderingPage.steps.addInputToOptionsInputField(options);
18
+ listOrderingPage.steps.switchToPreviewTab();
19
+ });
20
+
21
+ it('In Preview tab, when an answer is not set then manually scored scoring label should be displayed', () => {
22
+ listOrderingPage.steps.checkManuallyScoredScoringLabel();
23
+ });
24
+
25
+ it('In Preview tab, when user switches to grading view then no banner and correct answer should be displayed', () => {
26
+ listOrderingPage.steps.clickAndDropOptionSeperateList('plant');
27
+ listOrderingPage.steps.clickAndDropOptionSeperateList('seed');
28
+ listOrderingPage.steps.clickAndDropOptionSeperateList('sprout');
29
+ listOrderingPage.steps.clickAndDropOptionSeperateList('flower');
30
+ listOrderingPage.steps.switchToGradingView();
31
+ listOrderingPage.steps.verifyAnswerStatusBannerNotExist();
32
+ listOrderingPage.steps.verifyCorrectAnswerSectionNotExist();
33
+ });
34
+
35
+ it('When user allocates points to the question then the scoring label should be displayed as manually scored and banner and correct answer status should not exist', () => {
36
+ listOrderingPage.steps.switchToEditTab();
37
+ listOrderingPage.steps.allotPoints(10);
38
+ listOrderingPage.steps.switchToPreviewTab();
39
+ listOrderingPage.steps.checkManuallyScoredScoringLabel();
40
+ listOrderingPage.steps.clickAndDropOptionSeperateList('plant');
41
+ listOrderingPage.steps.clickAndDropOptionSeperateList('seed');
42
+ listOrderingPage.steps.clickAndDropOptionSeperateList('sprout');
43
+ listOrderingPage.steps.clickAndDropOptionSeperateList('flower');
44
+ listOrderingPage.steps.switchToGradingView();
45
+ listOrderingPage.steps.verifyAnswerStatusBannerNotExist();
46
+ listOrderingPage.steps.verifyCorrectAnswerSectionNotExist();
47
+ });
48
+ });
49
+
50
+ describe('Question Preview: Auto Scored Without Points', () => {
51
+ abortEarlySetup();
52
+ before(() => {
53
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
54
+ cy.barsPreLoaderWait();
55
+ listOrderingPage.steps.selectOrderingLayoutOption('Reorder as a separate list');
56
+ listOrderingPage.steps.addInputToOptionsInputField(options);
57
+ listOrderingPage.steps.clickAndDropOptionSeperateList('plant');
58
+ listOrderingPage.steps.clickAndDropOptionSeperateList('seed');
59
+ listOrderingPage.steps.clickAndDropOptionSeperateList('sprout');
60
+ listOrderingPage.steps.clickAndDropOptionSeperateList('flower');
61
+ listOrderingPage.steps.switchToPreviewTab();
62
+ });
63
+
64
+ it('In Preview tab, when points are not set then manually scored scoring label should be displayed', () => {
65
+ listOrderingPage.steps.checkManuallyScoredScoringLabel();
66
+ });
67
+
68
+ it('In Preview tab, when user switches to grading view then banner and correct answer should be displayed', () => {
69
+ listOrderingPage.steps.clickAndDropOptionSeperateList('seed');
70
+ listOrderingPage.steps.clickAndDropOptionSeperateList('sprout');
71
+ listOrderingPage.steps.clickAndDropOptionSeperateList('flower');
72
+ listOrderingPage.steps.clickAndDropOptionSeperateList('plant');
73
+ listOrderingPage.steps.switchToGradingView();
74
+ listOrderingPage.steps.verifyAnswerStatusBannerExist();
75
+ listOrderingPage.steps.verifyCorrectAnswerSectionExist();
76
+ });
77
+ });
78
+
79
+ describe('Question Preview: Non Scored', () => {
80
+ abortEarlySetup();
81
+ before(() => {
82
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
83
+ cy.barsPreLoaderWait();
84
+ listOrderingPage.steps.selectOrderingLayoutOption('Reorder as a separate list');
85
+ });
86
+
87
+ it('When the user selects \'Grading\' view without setting the answer, correct answers section and answer status banner should not be displayed', () => {
88
+ listOrderingPage.steps.addInputToOptionsInputField(options);
89
+ listOrderingPage.steps.expandScoringTypeDropdown();
90
+ listOrderingPage.steps.selectOptionFromScoringTypeDropdown('Non scored');
91
+ listOrderingPage.steps.switchToPreviewTab();
92
+ listOrderingPage.steps.clickAndDropOptionSeperateList('plant');
93
+ listOrderingPage.steps.clickAndDropOptionSeperateList('seed');
94
+ listOrderingPage.steps.clickAndDropOptionSeperateList('sprout');
95
+ listOrderingPage.steps.clickAndDropOptionSeperateList('flower');
96
+ listOrderingPage.steps.switchToGradingView();
97
+ listOrderingPage.steps.verifyAnswerStatusBannerNotExist();
98
+ listOrderingPage.steps.verifyCorrectAnswerSectionNotExist();
99
+ });
100
+ });
101
+ });
@@ -199,6 +199,227 @@ describe('Create item page - List ordering: All or nothing ', () => {
199
199
  });
200
200
  });
201
201
 
202
+ views.forEach((view) => {
203
+ describe(`${view}: List ordering (Reorder as a separate list) - Manually scored`, { tags: 'smoke' }, () => {
204
+ abortEarlySetup();
205
+ before(() => {
206
+ switch (view) {
207
+ case 'Question preview':
208
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
209
+ cy.barsPreLoaderWait();
210
+ listOrderingPage.steps.selectOrderingLayoutOption('Reorder as a separate list');
211
+ listOrderingPage.steps.addTextInQuestionInstructionsInputField('Arrange the items in the correct order.');
212
+ listOrderingPage.steps.expandScoringTypeDropdown();
213
+ listOrderingPage.steps.selectOptionFromScoringTypeDropdown('Manually scored');
214
+ listOrderingPage.steps.addInputToOptionsInputField(['seed', 'sprout', 'plant', 'flower']);
215
+ listOrderingPage.steps.allotPoints(20);
216
+ listOrderingPage.steps.switchToPreviewTab();
217
+ break;
218
+ case 'Item preview':
219
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
220
+ itemPreviewPage.steps.switchToPreviewTab();
221
+ break;
222
+ case 'Grading view':
223
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
224
+ break;
225
+ };
226
+ });
227
+
228
+ beforeEach(() => {
229
+ switch (view) {
230
+ case 'Question preview':
231
+ listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
232
+ listOrderingPage.steps.resetQuestionPreview();
233
+ break;
234
+ case 'Item preview':
235
+ listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
236
+ itemPreviewPage.steps.resetQuestionPreview();
237
+ break;
238
+ case 'Grading view':
239
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
240
+ break;
241
+ }
242
+ });
243
+
244
+ if (view === 'Question preview') {
245
+ after(() => {
246
+ listOrderingPage.steps.clickOnSaveQuestionButton();
247
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
248
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
249
+ });
250
+ };
251
+
252
+ it('Question instructions should be visible', () => {
253
+ listOrderingPage.steps.verifyQuestionInstructionsTextPreviewTab('Arrange the items in the correct order.');
254
+ listOrderingPage.steps.verifyVisibityOfQuestionInstructionsText();
255
+ });
256
+
257
+ it('User should be able to attempt the question in student view, and correct/incorrect icons, "Your answer is correct/incorrect" label, and correct answer section should not be displayed in grading view', () => {
258
+ listOrderingPage.steps.clickAndDropOptionSeperateList('seed');
259
+ listOrderingPage.steps.clickAndDropOptionSeperateList('sprout');
260
+ listOrderingPage.steps.clickAndDropOptionSeperateList('plant');
261
+ listOrderingPage.steps.clickAndDropOptionSeperateList('flower');
262
+ if (view === 'Grading view') {
263
+ studentViewPage.steps.submitResponse();
264
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
265
+ studentViewPage.steps.clickOnGoToGradingViewButton();
266
+ gradingViewPage.steps.verifyGradingViewScore('', 20);
267
+ };
268
+ if (view === 'Question preview' || view === 'Item preview') {
269
+ listOrderingPage.steps.checkManuallyScoredScoringLabel();
270
+ };
271
+ listOrderingPage.steps.verifyCorrectIncorrectIconsNotExist();
272
+ listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
273
+ });
274
+ });
275
+ });
276
+
277
+ views.forEach((view) => {
278
+ describe(`${view}: List ordering (Reorder as a separate list) - Non scored`, { tags: 'smoke' }, () => {
279
+ abortEarlySetup();
280
+ before(() => {
281
+ switch (view) {
282
+ case 'Question preview':
283
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
284
+ cy.barsPreLoaderWait();
285
+ listOrderingPage.steps.selectOrderingLayoutOption('Reorder as a separate list');
286
+ listOrderingPage.steps.addTextInQuestionInstructionsInputField('Arrange the items in the correct order.');
287
+ listOrderingPage.steps.expandScoringTypeDropdown();
288
+ listOrderingPage.steps.selectOptionFromScoringTypeDropdown('Non scored');
289
+ listOrderingPage.steps.addInputToOptionsInputField(['seed', 'plant', 'sprout', 'flower']);
290
+ listOrderingPage.steps.clickAndDropOptionSeperateList('seed');
291
+ listOrderingPage.steps.clickAndDropOptionSeperateList('sprout');
292
+ listOrderingPage.steps.clickAndDropOptionSeperateList('plant');
293
+ listOrderingPage.steps.clickAndDropOptionSeperateList('flower');
294
+ listOrderingPage.steps.switchToPreviewTab();
295
+ break;
296
+ case 'Item preview':
297
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
298
+ itemPreviewPage.steps.switchToPreviewTab();
299
+ break;
300
+ case 'Grading view':
301
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
302
+ break;
303
+ };
304
+ });
305
+
306
+ beforeEach(() => {
307
+ switch (view) {
308
+ case 'Question preview':
309
+ listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
310
+ listOrderingPage.steps.resetQuestionPreview();
311
+ break;
312
+ case 'Item preview':
313
+ listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
314
+ itemPreviewPage.steps.resetQuestionPreview();
315
+ break;
316
+ case 'Grading view':
317
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
318
+ break;
319
+ }
320
+ });
321
+
322
+ if (view === 'Question preview') {
323
+ after(() => {
324
+ listOrderingPage.steps.clickOnSaveQuestionButton();
325
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
326
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
327
+ });
328
+ };
329
+
330
+ it('When the user selects "Grading" view without attempting the question, non-scoring label should be displayed, correct/incorrect status message should be displayed, correct answers section with a label "Correct answers" should be displayed with correct answers and correct/incorrect icons should be displayed', () => {
331
+ /*Uncooment the code once https://weldnorthed.atlassian.net/browse/IEI-6055 ir resolved
332
+ if (view === 'Grading view') {
333
+ studentViewPage.steps.submitResponse();
334
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
335
+ studentViewPage.steps.clickOnGoToGradingViewButton();
336
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
337
+ };*/
338
+ if (view === 'Question preview' || view === 'Item preview') {
339
+ listOrderingPage.steps.checkNonScoredScoringLabel();
340
+ listOrderingPage.steps.switchToGradingView();
341
+ utilities.verifyInnerText(listOrderingPage.correctAnswersLabel(), 'Correct answers');
342
+ listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(['seed', 'sprout', 'plant', 'flower']);
343
+ };
344
+ });
345
+
346
+ it('When the user attempts the question incorrectly, then non-scoring label should be displayed and on switching to "Grading" view, incorrect icons should be displayed beside all incorrect responses, a status message with text "Your answer is incorrect" and correct answer section with all correct answers should be displayed', () => {
347
+ listOrderingPage.steps.clickAndDropOptionSeperateList('sprout');
348
+ listOrderingPage.steps.clickAndDropOptionSeperateList('plant');
349
+ listOrderingPage.steps.clickAndDropOptionSeperateList('flower');
350
+ listOrderingPage.steps.clickAndDropOptionSeperateList('seed');
351
+ if (view === 'Grading view') {
352
+ studentViewPage.steps.submitResponse();
353
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
354
+ studentViewPage.steps.clickOnGoToGradingViewButton();
355
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
356
+ };
357
+ if (view === 'Question preview' || view === 'Item preview') {
358
+ listOrderingPage.steps.checkNonScoredScoringLabel();
359
+ listOrderingPage.steps.switchToGradingView();
360
+ };
361
+ listOrderingPage.steps.verifyIncorrectOptionIconSeperateList('sprout');
362
+ listOrderingPage.steps.verifyIncorrectOptionIconSeperateList('plant');
363
+ listOrderingPage.steps.verifyIncorrectOptionIconSeperateList('flower');
364
+ listOrderingPage.steps.verifyIncorrectOptionIconSeperateList('seed');
365
+ listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
366
+ listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(['seed', 'sprout', 'plant', 'flower']);
367
+ });
368
+
369
+ it('When the user attempts the question partially correct, then non-scoring label should be displayed and on switching to "Grading" view, correct icon should be displayed beside the correct responses, incorrect icon should be displayed beside the incorrect responses, a status message with text "Your answer is incorrect" and correct answer section with all correct answers should be displayed', () => {
370
+ if (view === 'Grading view') {
371
+ studentViewPage.steps.clearResponses();
372
+ };
373
+ listOrderingPage.steps.clickAndDropOptionSeperateList('seed');
374
+ listOrderingPage.steps.clickAndDropOptionSeperateList('flower');
375
+ listOrderingPage.steps.clickAndDropOptionSeperateList('plant');
376
+ listOrderingPage.steps.clickAndDropOptionSeperateList('sprout');
377
+ if (view === 'Grading view') {
378
+ studentViewPage.steps.submitResponse();
379
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
380
+ studentViewPage.steps.clickOnGoToGradingViewButton();
381
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
382
+ };
383
+ if (view === 'Question preview' || view === 'Item preview') {
384
+ listOrderingPage.steps.checkNonScoredScoringLabel();
385
+ listOrderingPage.steps.switchToGradingView();
386
+ };
387
+ listOrderingPage.steps.verifyCorrectOptionIconSeperateList('seed');
388
+ listOrderingPage.steps.verifyIncorrectOptionIconSeperateList('flower');
389
+ listOrderingPage.steps.verifyCorrectOptionIconSeperateList('plant');
390
+ listOrderingPage.steps.verifyIncorrectOptionIconSeperateList('sprout');
391
+ listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
392
+ listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(['seed', 'sprout', 'plant', 'flower']);
393
+ });
394
+
395
+ it('When the user attempts the question correctly, and on switching to "Grading" view, non-scoring label should be displayed, correct icons should be displayed beside the correct responses, a status message with text "Your answer is correct" should be displayed and correct answer section should not be displayed', () => {
396
+ if (view === 'Grading view') {
397
+ studentViewPage.steps.clearResponses();
398
+ };
399
+ listOrderingPage.steps.clickAndDropOptionSeperateList('seed');
400
+ listOrderingPage.steps.clickAndDropOptionSeperateList('sprout');
401
+ listOrderingPage.steps.clickAndDropOptionSeperateList('plant');
402
+ listOrderingPage.steps.clickAndDropOptionSeperateList('flower');
403
+ if (view === 'Grading view') {
404
+ studentViewPage.steps.submitResponse();
405
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
406
+ studentViewPage.steps.clickOnGoToGradingViewButton();
407
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
408
+ };
409
+ if (view === 'Question preview' || view === 'Item preview') {
410
+ listOrderingPage.steps.checkNonScoredScoringLabel();
411
+ listOrderingPage.steps.switchToGradingView();
412
+ };
413
+ listOrderingPage.steps.verifyCorrectOptionIconSeperateList('seed');
414
+ listOrderingPage.steps.verifyCorrectOptionIconSeperateList('sprout');
415
+ listOrderingPage.steps.verifyCorrectOptionIconSeperateList('plant');
416
+ listOrderingPage.steps.verifyCorrectOptionIconSeperateList('flower');
417
+ listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
418
+ listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
419
+ });
420
+ });
421
+ });
422
+
202
423
  if (!grepTags || !grepTags.includes('smoke')) {
203
424
  describe('Question preview: Auto scored - All or nothing: Minimum scoring', () => {
204
425
  abortEarlySetup();
@@ -249,4 +470,92 @@ describe('Create item page - List ordering: All or nothing ', () => {
249
470
  });
250
471
  });
251
472
  };
473
+
474
+ views.forEach((view) => {
475
+ describe(`${view}: Auto scored - All or nothing scoring`, { tags: 'smoke' }, () => {
476
+ abortEarlySetup();
477
+ before(() => {
478
+ switch (view) {
479
+ case 'Question preview':
480
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
481
+ cy.barsPreLoaderWait();
482
+ listOrderingPage.steps.selectOrderingLayoutOption('Reorder as a separate list');
483
+ listOrderingPage.steps.addInputToOptionsInputField(options);
484
+ listOrderingPage.steps.addTextInQuestionInstructionsInputField('Arrange options in correct order.');
485
+ listOrderingPage.steps.allotPoints(20);
486
+ listOrderingPage.steps.clickAndDropOptionSeperateList('seed');
487
+ listOrderingPage.steps.clickAndDropOptionSeperateList('sprout');
488
+ listOrderingPage.steps.clickAndDropOptionSeperateList('plant');
489
+ listOrderingPage.steps.clickAndDropOptionSeperateList('flower');
490
+ listOrderingPage.steps.verifyOptionsInDropzoneOrderAsSeperateList(correctAnswerArray);
491
+ listOrderingPage.steps.switchToPreviewTab();
492
+ break;
493
+ case 'Item preview':
494
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
495
+ itemPreviewPage.steps.switchToPreviewTab();
496
+ break;
497
+ case 'Grading view':
498
+ cy.wait(5000);
499
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
500
+ break;
501
+ };
502
+ });
503
+
504
+ beforeEach(() => {
505
+ switch (view) {
506
+ case 'Question preview':
507
+ listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
508
+ listOrderingPage.steps.resetQuestionPreview();
509
+ break;
510
+ case 'Item preview':
511
+ listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
512
+ itemPreviewPage.steps.resetQuestionPreview();
513
+ break;
514
+ case 'Grading view':
515
+ cy.wait(5000);
516
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
517
+ break;
518
+ }
519
+ });
520
+
521
+ if (view === 'Question preview') {
522
+ after(() => {
523
+ listOrderingPage.steps.clickOnSaveQuestionButton();
524
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
525
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
526
+ });
527
+ };
528
+
529
+ if (view === 'Question preview' || view === 'Item preview') {
530
+ it('When the user selects \'Grading\' view without attempting the question, then correct/incorrect icons and correct incorrect status message should not be displayed and correct answer section with all correct answers should be displayed', () => {
531
+ listOrderingPage.steps.verifyPreviewScore(0, 20);
532
+ listOrderingPage.steps.switchToGradingView();
533
+ listOrderingPage.steps.verifyPreviewTabPointsBackgroundForIncorrectOrPartiallyCorrectAnswer();
534
+ listOrderingPage.steps.verifyCorrectIncorrectAnswerLabelNotExist();
535
+ utilities.verifyInnerText(listOrderingPage.correctAnswersLabel(), 'Correct answers');
536
+ listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
537
+ });
538
+ };
539
+
540
+ it('When the user attempts the question partially, then the user should be awarded 0 points and on switching to \'Grading\' view, incorrect icons should be displayed besides all incorrect responses, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers should be displayed', () => {
541
+ listOrderingPage.steps.clickAndDropOptionSeperateList('sprout');
542
+ listOrderingPage.steps.clickAndDropOptionSeperateList('plant');
543
+ if (view === 'Grading view') {
544
+ studentViewPage.steps.submitResponse();
545
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
546
+ studentViewPage.steps.clickOnGoToGradingViewButton();
547
+ gradingViewPage.steps.verifyGradingViewScore(0, 20);
548
+ };
549
+ if (view === 'Question preview' || view === 'Item preview') {
550
+ listOrderingPage.steps.verifyPreviewScore(0, 20);
551
+ listOrderingPage.steps.switchToGradingView();
552
+ };
553
+ listOrderingPage.steps.verifyIncorrectOptionIconSeperateList('sprout');
554
+ listOrderingPage.steps.verifyIncorrectOptionIconSeperateList('plant');
555
+ listOrderingPage.steps.verifyNumberOfOptionsInDropzoneOrderAsSeperateList(2);
556
+ listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
557
+ listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
558
+ });
559
+ });
560
+ });
252
561
  });
@@ -0,0 +1,38 @@
1
+ import { listOrderingPage } from "../../../pages/listOrderingPage";
2
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
3
+
4
+ const options = ['sprout', 'plant', 'flower', 'seed'];
5
+
6
+ describe('Create question page - List ordering : Reorder as a separate list', () => {
7
+ before(() => {
8
+ cy.loginAs('admin');
9
+ });
10
+
11
+ describe('Check Alternative Answer Button', () => {
12
+ abortEarlySetup();
13
+ before(() => {
14
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
15
+ cy.barsPreLoaderWait();
16
+ listOrderingPage.steps.selectOrderingLayoutOption('Reorder as a separate list');
17
+ listOrderingPage.steps.addInputToOptionsInputField(options);
18
+ });
19
+
20
+ it('When correct answer is not set then alternative answer should be disabled', () => {
21
+ listOrderingPage.steps.checkAlternativeButtonDisabled();
22
+ });
23
+
24
+ it('When correct answer is set then alternative answer should be enabled', () => {
25
+ listOrderingPage.steps.allotPoints(10);
26
+ listOrderingPage.steps.clickAndDropOptionSeperateList('plant');
27
+ listOrderingPage.steps.clickAndDropOptionSeperateList('seed');
28
+ listOrderingPage.steps.clickAndDropOptionSeperateList('sprout');
29
+ listOrderingPage.steps.clickAndDropOptionSeperateList('flower');
30
+ listOrderingPage.steps.checkAlternativeButtonEnabled();
31
+ });
32
+
33
+ it('User should be able to add \'Alternative\' answer using the \'Add alternative\' button, when user has not set any answer in the \'Alternative\' accordion and clicks on the \'Correct\' accordion then \'Correct\' accordion should be expanded', () => {
34
+ listOrderingPage.steps.clickOnAddAlternativeAnswerButton();
35
+ listOrderingPage.steps.expandCorrectAnswerAccordion();
36
+ });
37
+ });
38
+ });
@@ -164,4 +164,28 @@ describe('Create Item page - List ordering : Question instructions and prompt se
164
164
  utilities.verifyElementCount(listOrderingPage.optionsSeperateList(), 4);
165
165
  });
166
166
  });
167
+
168
+ describe('User should be able to edit incomplete authored question', () => {
169
+ abortEarlySetup();
170
+ before(() => {
171
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
172
+ cy.barsPreLoaderWait();
173
+ listOrderingPage.steps.selectOrderingLayoutOption('Reorder as a separate list');
174
+ listOrderingPage.steps.saveAQuestionWithIncompleteAuthoring();
175
+ listOrderingPage.steps.editItem();
176
+ });
177
+
178
+ it('Warning icons should be displayed on the required input fields', () => {
179
+ listOrderingPage.steps.verifyWarningIconOnRequiredFields([
180
+ 'Please enter all option values.', 'Please set points.',
181
+ ]);
182
+ });
183
+
184
+ it('When required input fields are filled then warning icons should disappear', () => {
185
+ listOrderingPage.steps.addInputToOptionsInputField(options);
186
+ listOrderingPage.steps.allotPoints(10);
187
+ listOrderingPage.steps.verifyErrorMessageIsNotDisplayed();
188
+ listOrderingPage.steps.verifySpecifyCorrectAnswerErrorIconNotExists();
189
+ });
190
+ });
167
191
  });
@@ -164,9 +164,12 @@ describe('Create item page - List ordering: Scoring section', () => {
164
164
  listOrderingPage.steps.addTextInQuestionInstructionsInputField('Arrange options in correct order.');
165
165
  listOrderingPage.steps.addInputToOptionsInputField(options);
166
166
  listOrderingPage.steps.selectAutoScoredScoringSubtype('Partial different weights');
167
+ listOrderingPage.steps.clickAndDropOptionSeperateList('sprout');
168
+ listOrderingPage.steps.clickAndDropOptionSeperateList('plant');
169
+ listOrderingPage.steps.clickAndDropOptionSeperateList('flower');
170
+ listOrderingPage.steps.clickAndDropOptionSeperateList('seed');
167
171
  });
168
172
 
169
- listOrderingPage.tests.verifyContentsOfSpecifyCorrectAnswerSectionSeperateList();
170
173
 
171
174
  it('When the user has switched to \'Partial - different weights\' scoring, then \'Points\' label should be displayed and a points input field should be displayed besides each option', () => {
172
175
  utilities.verifyInnerText(listOrderingPage.partialDifferentWeightsPointsLabelSeparateList(), 'Points');
@@ -1,7 +1,9 @@
1
1
  import abortEarlySetup from "../../../support/helpers/abortEarly";
2
- import { dialogBoxBase, listOrderingPage } from "../../../pages";
2
+ import { dialogBoxBase, itemPreviewPage, listOrderingPage } from "../../../pages";
3
3
  import utilities from "../../../support/helpers/utilities";
4
+ import { browseItemsPage } from "../../../pages/components";
4
5
  const options = ['sprout', 'plant', 'flower', 'seed'];
6
+ let itemReferenceID = "";
5
7
 
6
8
  describe('Create item page - Matching : Header section and Saving question', () => {
7
9
  before(() => {
@@ -40,15 +42,16 @@ describe('Create item page - Matching : Header section and Saving question', ()
40
42
  before(() => {
41
43
  listOrderingPage.steps.navigateToCreateQuestion('list ordering');
42
44
  cy.barsPreLoaderWait();
45
+ utilities.verifyElementCount(listOrderingPage.optionsInputField(), 4);
43
46
  listOrderingPage.steps.selectOrderingLayoutOption('Reorder as a separate list');
44
47
  });
45
48
 
46
49
  describe('Validation error messages', () => {
47
- dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please enter all option values', 'Please set points']);
50
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please enter all option values.', 'Please set points.']);
48
51
 
49
52
  it('Validation error messages should be displayed below required input fields', () => {
50
53
  listOrderingPage.steps.verifyQuestionInstructionsErrorMessageIsNotDisplayed();
51
- listOrderingPage.steps.verifyWarningIconOnRequiredFields(['Please enter all option values', 'Please set points']);
54
+ listOrderingPage.steps.verifyWarningIconOnRequiredFields(['Please enter all option values.', 'Please set points.']);
52
55
  });
53
56
 
54
57
  it('Validation error messages should disappear when required input fields are filled', () => {
@@ -72,5 +75,37 @@ describe('Create item page - Matching : Header section and Saving question', ()
72
75
  });
73
76
  listOrderingPage.tests.verifySavedSuccessfullySnackbarCSSAndA11y();
74
77
  });
78
+
79
+ describe('Saving a question with incomplete authoring', () => {
80
+ abortEarlySetup();
81
+ before(() => {
82
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
83
+ cy.barsPreLoaderWait();
84
+ listOrderingPage.steps.selectOrderingLayoutOption('Reorder as a separate list');
85
+ });
86
+
87
+ it('User should be able to save the question with incomplete authoring and display a snackbar with the text "Saved successfully!" when the Save Question button is clicked', () => {
88
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please enter all option values.', 'Please set points.']);
89
+ listOrderingPage.steps.saveAQuestionWithIncompleteAuthoring();
90
+ });
91
+ listOrderingPage.tests.verifySavedSuccessfullySnackbarCSSAndA11y();
92
+ });
93
+ });
94
+
95
+ describe('Save as you go - Browse item page contents', () => {
96
+ abortEarlySetup();
97
+ before(() => {
98
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
99
+ cy.barsPreLoaderWait();
100
+ listOrderingPage.steps.selectOrderingLayoutOption('Reorder as a separate list');
101
+ listOrderingPage.steps.saveAQuestionWithIncompleteAuthoring();
102
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
103
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
104
+ browseItemsPage.steps.navigateToBrowseItemsPage();
105
+ });
106
+
107
+ it('When user saves an incompletely authored question then a warning icon should be visible in browse items page', () => {
108
+ browseItemsPage.steps.verifyWarningIconInBrowseItemPage(`${itemReferenceID}`);
109
+ });
75
110
  });
76
111
  });