itemengine-cypress-automation 1.0.381-PR-fixes-1c28a3d.0 → 1.0.381-regressionFixes10June-8dc1710.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 (295) 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/ChartsBar/HorizontalOrientationBarChart/gradingViewAndCorrectAnswerView.smoke.js +1 -1
  8. package/cypress/e2e/ILC/ChartsBar/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +33 -0
  9. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightBasic.js +25 -25
  10. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +37 -36
  11. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +37 -36
  12. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +37 -36
  13. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -0
  14. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightBasic.js +26 -25
  15. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +39 -38
  16. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +31 -30
  17. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +35 -34
  18. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePointsLocked.js +247 -0
  19. package/cypress/e2e/ILC/ChartsBar/editQuestion.smoke.js +1 -1
  20. package/cypress/e2e/ILC/ChartsBar/editTabBasicSection.js +37 -0
  21. package/cypress/e2e/ILC/ChartsBar/headerSection.js +50 -2
  22. package/cypress/e2e/ILC/ChartsBar/specifyCorrectAnswerSection.js +92 -0
  23. package/cypress/e2e/ILC/ChartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePointsLocked.js +220 -0
  24. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightBasic.js +25 -25
  25. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +47 -46
  26. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +25 -24
  27. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +25 -24
  28. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -0
  29. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightBasic.js +25 -25
  30. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +24 -23
  31. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +21 -20
  32. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +48 -46
  33. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePointsLocked.js +249 -0
  34. package/cypress/e2e/ILC/ChartsLine/editQuestion.smoke.js +3 -1
  35. package/cypress/e2e/ILC/ChartsLine/headerSection.js +18 -1
  36. package/cypress/e2e/ILC/ChartsLine/specifyCorrectAnswerSection.js +94 -0
  37. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddFeatureRadioButton.js +2 -3
  38. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddTranscriptRadioButton .js +2 -4
  39. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabStudentViewSettings.js +3 -3
  40. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerHeaderSectionAndButtons.js +2 -2
  41. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTab.js +1 -1
  42. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabSupportedFileTypes.js +6 -0
  43. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabTranscript.js +2 -3
  44. package/cypress/e2e/ILC/CkEditorInsertImage/imageInfo.js +3 -3
  45. package/cypress/e2e/ILC/CkEditorInsertTable/tableDimension&FooterProperties.js +3 -3
  46. package/cypress/e2e/ILC/CkEditorInsertTable/tableStyle.js +11 -11
  47. package/cypress/e2e/ILC/CkEditorLink/uploadSection.js +1 -1
  48. package/cypress/e2e/ILC/ContentBlocks/editTabBasics.js +63 -4
  49. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +116 -7
  50. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabBasicSection.js +1 -1
  51. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabScoring.js +1 -0
  52. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/headerSection.js +3 -3
  53. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/pagination.js +1 -1
  54. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/studentViewSettingsForGroupedLayout.js +3 -0
  55. package/cypress/e2e/ILC/DrawingResponse/drawingResponseAdditionalSettings.js +1 -0
  56. package/cypress/e2e/ILC/DrawingResponse/drawingResponseBackground.js +2 -8
  57. package/cypress/e2e/ILC/DrawingResponse/drawingResponseCustomizeAdditionalOptions.js +1 -0
  58. package/cypress/e2e/ILC/DrawingResponse/drawingResponseEditTabBasicSection.js +3 -3
  59. package/cypress/e2e/ILC/DrawingResponse/drawingResponsePreviewTabContents.smoke.js +1 -3
  60. package/cypress/e2e/ILC/EssayResponse/createCustomCategory.smoke.js +2 -2
  61. package/cypress/e2e/ILC/EssayResponse/editTabBasicSections.js +23 -37
  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 +11 -11
  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/headerSection.js +3 -3
  73. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editQuestion.smoke.js +45 -0
  74. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editTabBasicSection.js +1 -1
  75. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/headerSection.js +4 -4
  76. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/HeaderSection.js +4 -4
  77. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/editQuestion.smoke.js +1 -1
  78. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/responseAnswersAndAcceptedStudentInput.js +4 -0
  79. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/supportedFileTypes.js +3 -1
  80. package/cypress/e2e/ILC/FillInTheGapsTextNew/editTabBasicSection.js +1 -1
  81. package/cypress/e2e/ILC/FillInTheGapsTextNew/headerSection.js +3 -3
  82. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +73 -0
  83. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +38 -0
  84. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +38 -0
  85. package/cypress/e2e/ILC/Graphing/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +87 -0
  86. package/cypress/e2e/ILC/Graphing/allOrNothingForAllViews.smoke.js +2 -2
  87. package/cypress/e2e/ILC/Graphing/checkAddAlternativeButton.js +35 -0
  88. package/cypress/e2e/ILC/Graphing/editQuestion.smoke.js +28 -0
  89. package/cypress/e2e/ILC/Graphing/editTabBasicSection.js +38 -0
  90. package/cypress/e2e/ILC/Graphing/editTabScoringSection.js +1 -0
  91. package/cypress/e2e/ILC/Graphing/headerSection.js +36 -4
  92. package/cypress/e2e/ILC/Graphing/layoutAndGridOptions.js +6 -3
  93. package/cypress/e2e/ILC/GridFill/addAlternateButton.js +40 -0
  94. package/cypress/e2e/ILC/GridFill/allOrNothingBasicForAllViews.smoke.js +210 -0
  95. package/cypress/e2e/ILC/GridFill/customizeLayoutFillImageBackgroundImage.js +2 -2
  96. package/cypress/e2e/ILC/GridFill/headerSection.js +4 -4
  97. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +39 -0
  98. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  99. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +39 -0
  100. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountAllOrNothingCorrectPointsGreaterThanAlternativePoints.js +37 -0
  101. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountallOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  102. package/cypress/e2e/ILC/GridFill/scoring/cellshadeCountAllOrNothingAlternativePointsGreaterThanCorrectPoints.js +36 -0
  103. package/cypress/e2e/ILC/GridFill/scoring/checkLabelSaveAsYouGo.js +75 -0
  104. package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +2 -1
  105. package/cypress/e2e/ILC/ImageHighlight/additionalSettingsBasic.js +1 -0
  106. package/cypress/e2e/ILC/ImageHighlight/allOrNothingForAllViews.smoke.js +212 -0
  107. package/cypress/e2e/ILC/ImageHighlight/customiseHighlightStyle.js +29 -0
  108. package/cypress/e2e/ILC/ImageHighlight/editTabBasicSection.js +1 -1
  109. package/cypress/e2e/ILC/ImageHighlight/headerSection.js +3 -3
  110. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +24 -0
  111. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +24 -0
  112. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +24 -0
  113. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +86 -0
  114. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/manuallyAndNonScored.js +2 -4
  115. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +1 -1
  116. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +237 -1
  117. package/cypress/e2e/ILC/ListOrderingDropdown/checkAddAlternativeButton.js +35 -0
  118. package/cypress/e2e/ILC/ListOrderingDropdown/editTabBasicSection.js +24 -0
  119. package/cypress/e2e/ILC/ListOrderingDropdown/headerSection.js +108 -0
  120. package/cypress/e2e/ILC/ListOrderingDropdown/manuallyAndNonScoredEditTab.js +2 -1
  121. package/cypress/e2e/ILC/ListOrderingDropdown/previewContentsForAllViews.smoke.js +2 -4
  122. package/cypress/e2e/ILC/ListOrderingDropdown/specifyCorrectAnswerSection.js +7 -12
  123. package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/specifyCorrectAnswerSection.js +10 -14
  124. package/cypress/e2e/ILC/ListOrderingNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +52 -0
  125. package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +215 -0
  126. package/cypress/e2e/ILC/ListOrderingNew/editTabBasicSection.js +23 -0
  127. package/cypress/e2e/ILC/ListOrderingNew/headerSection.js +36 -9
  128. package/cypress/e2e/ILC/ListOrderingNew/manuallyAndNonScoredEditTab.js +2 -0
  129. package/cypress/e2e/ILC/ListOrderingNew/specifyCorrectAnswerSection.js +7 -23
  130. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +41 -0
  131. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +30 -0
  132. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +50 -0
  133. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +101 -0
  134. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/allOrNothingForAllViews.smoke.js +309 -0
  135. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/checkAddAlternativeButton.js +38 -0
  136. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabBasicSection.js +24 -0
  137. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabScoring.js +4 -1
  138. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/headerSection.js +38 -3
  139. package/cypress/e2e/ILC/Matching/Scoring/blankResponseScoring.js +38 -41
  140. package/cypress/e2e/ILC/Matching/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +98 -0
  141. package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +210 -0
  142. package/cypress/e2e/ILC/Matching/checkAlternativeButton.js +38 -0
  143. package/cypress/e2e/ILC/Matching/clickAndDrop.js +5 -5
  144. package/cypress/e2e/ILC/Matching/draggableOptions.js +7 -0
  145. package/cypress/e2e/ILC/Matching/editQuestion.smoke.js +3 -2
  146. package/cypress/e2e/ILC/Matching/editTabBasicSection.js +41 -0
  147. package/cypress/e2e/ILC/Matching/headerSection.js +38 -12
  148. package/cypress/e2e/ILC/Matching/questionInstructionsAndPromptSection.js +2 -15
  149. package/cypress/e2e/ILC/Matching/studentViewSettings.js +2 -0
  150. package/cypress/e2e/ILC/Matching/studentViewSettingsForGroupedLayout.js +1 -1
  151. package/cypress/e2e/ILC/MatchingDropdown/Scoring/blankResponseScoring.js +6 -6
  152. package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +208 -0
  153. package/cypress/e2e/ILC/MultipleSelection/allOrNothingBasicForAllViews.smoke.js +2 -1
  154. package/cypress/e2e/ILC/MultipleSelection/editTabBasicSection.js +1 -1
  155. package/cypress/e2e/ILC/MultipleSelection/headerSection.js +3 -3
  156. package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswer.js +1 -0
  157. package/cypress/e2e/ILC/MultipleSelectionGridNew/editTabBasicSection.js +2 -2
  158. package/cypress/e2e/ILC/MultipleSelectionGridNew/headerSection.js +3 -3
  159. package/cypress/e2e/ILC/MultipleSelectionGridNew/previewContentsForAllViews.smoke.js +100 -69
  160. package/cypress/e2e/ILC/MultipleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +1 -0
  161. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +79 -0
  162. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +42 -0
  163. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +42 -0
  164. package/cypress/e2e/ILC/NumberLine/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +75 -0
  165. package/cypress/e2e/ILC/NumberLine/checkAddAlternativeButton.js +32 -0
  166. package/cypress/e2e/ILC/NumberLine/editTabSection.js +38 -0
  167. package/cypress/e2e/ILC/NumberLine/headerSection.js +33 -4
  168. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +81 -0
  169. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +43 -0
  170. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +43 -0
  171. package/cypress/e2e/ILC/NumberLineLabel/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +76 -0
  172. package/cypress/e2e/ILC/NumberLineLabel/additionalSettingsBasic.js +1 -1
  173. package/cypress/e2e/ILC/NumberLineLabel/checkAddAlternativeButton.js +34 -0
  174. package/cypress/e2e/ILC/NumberLineLabel/editTabSection.js +38 -0
  175. package/cypress/e2e/ILC/NumberLineLabel/headerSection.js +37 -5
  176. package/cypress/e2e/ILC/NumberLineLabel/manuallyAndNonScoredEditTab.js +2 -1
  177. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/editQuestion.smoke.js +1 -1
  178. package/cypress/e2e/ILC/ShortTextResponseNew/allOrNothingBasicForAllViews.smoke.js +186 -0
  179. package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +35 -51
  180. package/cypress/e2e/ILC/ShortTextResponseNew/headerSection.js +2 -4
  181. package/cypress/e2e/ILC/SingleSelection/editTabBasicSection.js +1 -1
  182. package/cypress/e2e/ILC/SingleSelection/headerSection.js +2 -2
  183. package/cypress/e2e/ILC/SingleSelectionGridNew/editTabBasicSection.js +2 -2
  184. package/cypress/e2e/ILC/SingleSelectionGridNew/headerSection.js +3 -3
  185. package/cypress/e2e/ILC/SingleSelectionGridNew/previewContentsForAllViews.smoke.js +101 -70
  186. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +86 -0
  187. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +86 -0
  188. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  189. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +3 -1
  190. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  191. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  192. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsScoringBasic.js +10 -3
  193. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +4 -2
  194. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +5 -3
  195. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  196. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsScoringBasic.js +4 -0
  197. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +64 -0
  198. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAddEvaluation.js +2 -0
  199. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAlternateAnswer.js +2 -0
  200. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +64 -0
  201. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  202. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  203. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  204. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  205. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsScoringBasic.js +8 -0
  206. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  207. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  208. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  209. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasic.js +1 -0
  210. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasicForAlternateAnswer.js +2 -0
  211. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +2 -0
  212. package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +27 -3
  213. package/cypress/e2e/ILC/TextEntryMath/headerSection.js +43 -0
  214. package/cypress/e2e/ILC/TextSelection/additionalSettings.js +1 -0
  215. package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +231 -0
  216. package/cypress/e2e/ILC/TextSelection/editTabBasicSection.js +2 -2
  217. package/cypress/e2e/ILC/TextSelection/headerSection.js +3 -3
  218. package/cypress/e2e/ILC/TextSelection/minimumScoringPenaltyPointsAndRoundingDropdown.js +1 -0
  219. package/cypress/e2e/ILC/ThinkSphere/createReviewItem.js +1 -1
  220. package/cypress/e2e/ILC/ThinkSphere/editTabBasicSection.js +1 -1
  221. package/cypress/e2e/ILC/ThinkSphere/editThinkSphereQuestion.smoke.js +145 -54
  222. package/cypress/e2e/ILC/ThinkSphere/equationEditorEditCategoryFlyOut.js +2 -0
  223. package/cypress/e2e/ILC/ThinkSphere/planPhase.js +45 -5
  224. package/cypress/e2e/ILC/ThinkSphere/previewTabPlanSection.js +8 -8
  225. package/cypress/e2e/ILC/ThinkSphere/previewTabReviewSection.js +97 -0
  226. package/cypress/e2e/ILC/ThinkSphere/previewTabSolveSection.js +36 -0
  227. package/cypress/e2e/ILC/ThinkSphere/solvePhase.js +3 -3
  228. package/cypress/e2e/ILC/ThinkSphere/studentViewPlanTabSection.js +393 -0
  229. package/cypress/e2e/ILC/ThinkSphere/studentViewReviewTabSection.js +141 -0
  230. package/cypress/e2e/ILC/ToolAudioPlayerNew/headerSection.js +90 -2
  231. package/cypress/e2e/ILC/UploadResponse/editTabBasicSection.js +34 -0
  232. package/cypress/e2e/ILC/UploadResponse/headerSection.js +38 -1
  233. package/cypress/e2e/ILC/UploadResponse/uploadResponsePreview.js +50 -13
  234. package/cypress/e2e/ILC/VideoResponseNew/editTabBasicSection.js +14 -29
  235. package/cypress/e2e/ILC/chartsDotsPlot/headerSection.js +16 -1
  236. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsBasic.js +27 -28
  237. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +31 -30
  238. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +24 -24
  239. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +39 -37
  240. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsBasic.js +22 -23
  241. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +31 -30
  242. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +25 -24
  243. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +31 -31
  244. package/cypress/e2e/ILC/chartsDotsPlot/scoring/toleranceThresholdScoring.js +18 -19
  245. package/cypress/e2e/ILC/chartsDotsPlot/specifyCorrectAnswerSection.js +96 -0
  246. package/cypress/e2e/Sessions/fetchResponses.js +3 -3
  247. package/cypress/e2e/Sessions/saveResponseScores.js +2 -2
  248. package/cypress/fixtures/thinkSphereWhiteboardTools.js +66 -0
  249. package/cypress/pages/audioPlayerPage.js +47 -22
  250. package/cypress/pages/brainingCampManipulativePage.js +1 -1
  251. package/cypress/pages/chartsBarPage.js +45 -0
  252. package/cypress/pages/chartsDotPlotPage.js +25 -0
  253. package/cypress/pages/chartsLinePage.js +28 -3
  254. package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +5 -1
  255. package/cypress/pages/components/chartsCommonComponent.js +6 -2
  256. package/cypress/pages/components/ckEditorEquationEditorComponent.js +1 -0
  257. package/cypress/pages/components/ckEditorInsertImageComponent.js +3 -3
  258. package/cypress/pages/components/ckEditorInsertTableComponent.js +3 -3
  259. package/cypress/pages/components/ckEditorLinkComponent.js +8 -9
  260. package/cypress/pages/components/colorPopupComponent.js +6 -0
  261. package/cypress/pages/components/createQuestionBasePage.js +19 -6
  262. package/cypress/pages/components/draggableOptionsSectionComponent.js +2 -0
  263. package/cypress/pages/components/equationEditorSectionCommonComponent.js +10 -25
  264. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +31 -3
  265. package/cypress/pages/components/gridQuestionCommonComponent.js +55 -2
  266. package/cypress/pages/components/imageCanvasComponent.js +11 -5
  267. package/cypress/pages/components/questionInstructionsComponent.js +2 -0
  268. package/cypress/pages/components/scoringSectionBaseEditTab.js +3 -0
  269. package/cypress/pages/components/specifyRowsAndColumnsComponent.js +16 -0
  270. package/cypress/pages/contentBlocksPage.js +2 -0
  271. package/cypress/pages/desmos3DGraphingPage.js +149 -4
  272. package/cypress/pages/desmosGeometryPage.js +184 -4
  273. package/cypress/pages/drawingResponsePage.js +10 -1
  274. package/cypress/pages/fillInTheGapsDragAndDropPage.js +3 -8
  275. package/cypress/pages/gradingGridViewPage.js +64 -0
  276. package/cypress/pages/graphingPage.js +27 -8
  277. package/cypress/pages/gridFillPage.js +27 -9
  278. package/cypress/pages/imageHighlightPage.js +115 -15
  279. package/cypress/pages/index.js +1 -0
  280. package/cypress/pages/listOrderingPage.js +40 -1
  281. package/cypress/pages/matchingPage.js +29 -10
  282. package/cypress/pages/numberLineLabelPage.js +31 -8
  283. package/cypress/pages/numberLinePage.js +19 -7
  284. package/cypress/pages/singleSelectionPage.js +30 -1
  285. package/cypress/pages/textEntryMathPage.js +24 -1
  286. package/cypress/pages/textSelectionPage.js +2 -2
  287. package/cypress/pages/thinkSpherePage.js +928 -87
  288. package/cypress/pages/uploadResponsePage.js +17 -1
  289. package/cypress/pages/videoResponsePage.js +3 -0
  290. package/cypress/support/commands.js +9 -0
  291. package/cypress/support/helpers/createItem.js +22 -3
  292. package/cypress/support/helpers/utilities.js +14 -1
  293. package/package.json +2 -2
  294. /package/cypress/e2e/ILC/{ChartsDotsPlot → chartsDotsPlot}/checkAnswerFunctionalityForAllViews.js +0 -0
  295. /package/cypress/e2e/ILC/{ChartsDotsPlot → chartsDotsPlot}/editQuestion.smoke.js +0 -0
@@ -191,4 +191,28 @@ describe('Create Item page - List ordering: All or nothing scoring with alternat
191
191
  listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');*/
192
192
  });
193
193
  });
194
+
195
+ describe('Question Preview: AutoScored - All or Nothing with blank scoring: When alternative answer points are equal than correct answer points', () => {
196
+ abortEarlySetup();
197
+ before(() => {
198
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
199
+ cy.barsPreLoaderWait();
200
+ listOrderingPage.steps.addInputToOptionsInputField(options);
201
+ listOrderingPage.steps.selectOrderingLayoutOption('Dropdown menu');
202
+ listOrderingPage.steps.selectPositionForAllOptionsSpecifyCorrectAnswerSection([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '3' }, { optionIndex: 2, position: '4' }, { optionIndex: 3, position: '1' }]);
203
+ listOrderingPage.steps.allotPoints(20);
204
+ listOrderingPage.steps.addAlternativeAnswerAccordion(1);
205
+ listOrderingPage.steps.allotPoints(20);
206
+ listOrderingPage.steps.switchToPreviewTab();
207
+ });
208
+
209
+ it('When user attempts the question with responses from the alternative accordion then full score should be awarded', () => {
210
+ listOrderingPage.steps.selectPositionForAllOptionsSpecifyCorrectAnswerSection([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '3' }, { optionIndex: 2, position: '4' }, { optionIndex: 3, position: '1' }]);
211
+ listOrderingPage.steps.verifyPreviewScore(20, 20);
212
+ listOrderingPage.steps.switchToGradingView();
213
+ listOrderingPage.steps.verifyCorrectAnswerSectionNotExist();
214
+ listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
215
+ listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
216
+ });
217
+ });
194
218
  });
@@ -271,4 +271,28 @@ describe('Create Item page - List ordering: All or nothing scoring with alternat
271
271
  cy.checkAccessibility(listOrderingPage.previewTabQuestionWrapper());
272
272
  });
273
273
  });
274
+
275
+ describe('Question Preview: AutoScored - All or Nothing with blank scoring: When correct answer points are greater than alternative answer points', () => {
276
+ abortEarlySetup();
277
+ before(() => {
278
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
279
+ cy.barsPreLoaderWait();
280
+ listOrderingPage.steps.addInputToOptionsInputField(options);
281
+ listOrderingPage.steps.selectOrderingLayoutOption('Dropdown menu');
282
+ listOrderingPage.steps.selectPositionForAllOptionsSpecifyCorrectAnswerSection([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '3' }, { optionIndex: 2, position: '4' }, { optionIndex: 3, position: '1' }]);
283
+ listOrderingPage.steps.allotPoints(21);
284
+ listOrderingPage.steps.addAlternativeAnswerAccordion(1);
285
+ listOrderingPage.steps.allotPoints(12);
286
+ listOrderingPage.steps.switchToPreviewTab();
287
+ });
288
+
289
+ it('When user attempts the question with responses from the correct accordion i.e select an option, then the user should be awarded points specified for correct points accordion and on switching to \'Grading\' view, correct icons should be displayed beside all the correct responses, a status message with text \'Your answer is correct\' should be displayed and correct answer section should not be displayed', () => {
290
+ listOrderingPage.steps.selectPositionForAllOptionsSpecifyCorrectAnswerSection([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '3' }, { optionIndex: 2, position: '4' }, { optionIndex: 3, position: '1' }]);
291
+ listOrderingPage.steps.verifyPreviewScore(21, 21);
292
+ listOrderingPage.steps.switchToGradingView();
293
+ listOrderingPage.steps.verifyCorrectAnswerSectionNotExist();
294
+ listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
295
+ listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
296
+ });
297
+ });
274
298
  });
@@ -0,0 +1,86 @@
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('Dropdown menu');
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.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '1' }, { optionIndex: 2, position: '3' }, { optionIndex: 3, position: '4' }]);
27
+ listOrderingPage.steps.switchToGradingView();
28
+ listOrderingPage.steps.verifyAnswerStatusBannerNotExist();
29
+ listOrderingPage.steps.verifyCorrectAnswerSectionNotExist();
30
+ });
31
+
32
+ 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', () => {
33
+ listOrderingPage.steps.switchToEditTab();
34
+ listOrderingPage.steps.allotPoints(10);
35
+ listOrderingPage.steps.switchToPreviewTab();
36
+ listOrderingPage.steps.checkManuallyScoredScoringLabel();
37
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '1' }, { optionIndex: 2, position: '3' }, { optionIndex: 3, position: '4' }])
38
+ listOrderingPage.steps.switchToGradingView();
39
+ listOrderingPage.steps.verifyAnswerStatusBannerNotExist();
40
+ listOrderingPage.steps.verifyCorrectAnswerSectionNotExist();
41
+ });
42
+ });
43
+
44
+ describe('Question Preview: Auto Scored Without Points', () => {
45
+ abortEarlySetup();
46
+ before(() => {
47
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
48
+ cy.barsPreLoaderWait();
49
+ listOrderingPage.steps.selectOrderingLayoutOption('Dropdown menu');
50
+ listOrderingPage.steps.addInputToOptionsInputField(options);
51
+ listOrderingPage.steps.selectPositionForAllOptionsSpecifyCorrectAnswerSection([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '1' }, { optionIndex: 2, position: '3' }, { optionIndex: 3, position: '4' }])
52
+ listOrderingPage.steps.switchToPreviewTab();
53
+ });
54
+
55
+ it('In Preview tab, when points are not set then manually scored scoring label should be displayed', () => {
56
+ listOrderingPage.steps.checkManuallyScoredScoringLabel();
57
+ });
58
+
59
+ it('In Preview tab, when user switches to grading view then banner and correct answer should be displayed', () => {
60
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '3' }, { optionIndex: 1, position: '4' }, { optionIndex: 2, position: '2' }, { optionIndex: 3, position: '1' }])
61
+ listOrderingPage.steps.switchToGradingView();
62
+ listOrderingPage.steps.verifyAnswerStatusBannerExist();
63
+ listOrderingPage.steps.verifyCorrectAnswerSectionExist();
64
+ });
65
+ });
66
+
67
+ describe('Question Preview: Non Scored', () => {
68
+ abortEarlySetup();
69
+ before(() => {
70
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
71
+ cy.barsPreLoaderWait();
72
+ listOrderingPage.steps.selectOrderingLayoutOption('Dropdown menu');
73
+ });
74
+
75
+ it('When the user selects \'Grading\' view without setting the answer, correct answers section and answer status banner should not be displayed', () => {
76
+ listOrderingPage.steps.addInputToOptionsInputField(options);
77
+ listOrderingPage.steps.expandScoringTypeDropdown();
78
+ listOrderingPage.steps.selectOptionFromScoringTypeDropdown('Non scored');
79
+ listOrderingPage.steps.switchToPreviewTab();
80
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '1' }, { optionIndex: 2, position: '3' }, { optionIndex: 3, position: '4' }])
81
+ listOrderingPage.steps.switchToGradingView();
82
+ listOrderingPage.steps.verifyAnswerStatusBannerNotExist();
83
+ listOrderingPage.steps.verifyCorrectAnswerSectionNotExist();
84
+ });
85
+ });
86
+ });
@@ -38,15 +38,13 @@ describe('Create Item page - List ordering: Manually and non scored', () => {
38
38
  listOrderingPage.steps.selectListOptionPositionDropdown('1');
39
39
  });
40
40
 
41
- it('The user should be able to select an option from the position dropdown. When the user has not set position in all dropdowns, an alert message "All options need to have a value assigned to them from the dropdown." should be displayed', () => {
41
+ it('The user should be able to select an option from the position dropdown', () => {
42
42
  listOrderingPage.steps.selectOptionPositionPreviewTab(0, '2');
43
43
  utilities.verifyElementVisibilityState(listOrderingPage.dropdownList(), 'notExist');
44
- listOrderingPage.steps.verifyAssignValueToAllDropdownAlertMessage();
45
44
  });
46
45
 
47
- it('User should be able to reorder options using position dropdowns. On setting position for all options, the alert message should get removed', () => {
46
+ it('User should be able to reorder options using position dropdowns', () => {
48
47
  listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '1' }, { optionIndex: 2, position: '3' }, { optionIndex: 3, position: '4' }])
49
- listOrderingPage.steps.verifyAlertMessageNotExists();
50
48
  });
51
49
 
52
50
  listOrderingPage.tests.verifyGradingStudentViewRadioButtonAndScoringTypeInPreviewTab('Manually scored');
@@ -138,7 +138,7 @@ describe('Create Item page - List ordering: Partial equal weights', () => {
138
138
  listOrderingPage.steps.allotMinimumPoints(2);
139
139
  listOrderingPage.steps.switchToPreviewTab();
140
140
  listOrderingPage.steps.switchToGradingView();
141
- listOrderingPage.steps.verifyPreviewScore(0, 20);
141
+ listOrderingPage.steps.verifyPreviewScore(2, 20); //Expected 2 after save as you go
142
142
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
143
143
  });
144
144
 
@@ -43,6 +43,7 @@ describe('Create item page - List ordering: All or nothing ', () => {
43
43
  });
44
44
  };
45
45
 
46
+ //Failing due to https://weldnorthed.atlassian.net/browse/IEI-5582
46
47
  views.forEach((view) => {
47
48
  describe(`${view}: Auto scored - All or nothing scoring`, { tags: 'smoke' }, () => {
48
49
  abortEarlySetup();
@@ -179,6 +180,241 @@ describe('Create item page - List ordering: All or nothing ', () => {
179
180
  });
180
181
  });
181
182
 
183
+ views.forEach((view) => {
184
+ describe(`${view}: List ordering (Dropdown) - Manually scored`, { tags: 'smoke' }, () => {
185
+ abortEarlySetup();
186
+ before(() => {
187
+ switch (view) {
188
+ case 'Question preview':
189
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
190
+ cy.barsPreLoaderWait();
191
+ listOrderingPage.steps.selectOrderingLayoutOption('Dropdown menu');
192
+ listOrderingPage.steps.addTextInQuestionInstructionsInputField('Arrange the items in the correct order.');
193
+ listOrderingPage.steps.expandScoringTypeDropdown();
194
+ listOrderingPage.steps.selectOptionFromScoringTypeDropdown('Manually scored');
195
+ listOrderingPage.steps.addInputToOptionsInputField(['sprout', 'plant', 'flower', 'seed']);
196
+ listOrderingPage.steps.allotPoints(20);
197
+ listOrderingPage.steps.switchToPreviewTab();
198
+ break;
199
+ case 'Item preview':
200
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
201
+ itemPreviewPage.steps.switchToPreviewTab();
202
+ break;
203
+ case 'Grading view':
204
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
205
+ break;
206
+ };
207
+ });
208
+
209
+ beforeEach(() => {
210
+ switch (view) {
211
+ case 'Question preview':
212
+ listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
213
+ listOrderingPage.steps.resetQuestionPreview();
214
+ break;
215
+ case 'Item preview':
216
+ listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
217
+ itemPreviewPage.steps.resetQuestionPreview();
218
+ break;
219
+ case 'Grading view':
220
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
221
+ break;
222
+ }
223
+ });
224
+
225
+ if (view === 'Question preview') {
226
+ after(() => {
227
+ listOrderingPage.steps.clickOnSaveQuestionButton();
228
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
229
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
230
+ });
231
+ };
232
+
233
+ it('Question instructions should be visible', () => {
234
+ listOrderingPage.steps.verifyQuestionInstructionsTextPreviewTab('Arrange the items in the correct order.');
235
+ listOrderingPage.steps.verifyVisibityOfQuestionInstructionsText();
236
+ });
237
+
238
+ 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', () => {
239
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([
240
+ { optionIndex: 0, position: '2' },
241
+ { optionIndex: 1, position: '3' },
242
+ { optionIndex: 2, position: '4' },
243
+ { optionIndex: 3, position: '1' },
244
+ ]);
245
+ if (view === 'Grading view') {
246
+ studentViewPage.steps.submitResponse();
247
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
248
+ studentViewPage.steps.clickOnGoToGradingViewButton();
249
+ gradingViewPage.steps.verifyGradingViewScore('', 20);
250
+ };
251
+ if (view === 'Question preview' || view === 'Item preview') {
252
+ listOrderingPage.steps.checkManuallyScoredScoringLabel();
253
+ };
254
+ listOrderingPage.steps.verifyCorrectIncorrectOptionIconDropdownLayoutNotExists(0);
255
+ listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
256
+ });
257
+ });
258
+ });
259
+
260
+ views.forEach((view) => {
261
+ describe(`${view}: List ordering (Dropdown) - Non scored`, { tags: 'smoke' }, () => {
262
+ abortEarlySetup();
263
+ before(() => {
264
+ switch (view) {
265
+ case 'Question preview':
266
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
267
+ cy.barsPreLoaderWait();
268
+ listOrderingPage.steps.selectOrderingLayoutOption('Dropdown menu');
269
+ listOrderingPage.steps.addTextInQuestionInstructionsInputField('Arrange the items in the correct order.');
270
+ listOrderingPage.steps.expandScoringTypeDropdown();
271
+ listOrderingPage.steps.selectOptionFromScoringTypeDropdown('Non scored');
272
+ listOrderingPage.steps.addInputToOptionsInputField(['sprout', 'plant', 'flower', 'seed']);
273
+ listOrderingPage.steps.selectPositionForAllOptionsSpecifyCorrectAnswerSection([
274
+ { optionIndex: 0, position: '2' },
275
+ { optionIndex: 1, position: '3' },
276
+ { optionIndex: 2, position: '4' },
277
+ { optionIndex: 3, position: '1' },
278
+ ]);
279
+ listOrderingPage.steps.switchToPreviewTab();
280
+ break;
281
+ case 'Item preview':
282
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
283
+ itemPreviewPage.steps.switchToPreviewTab();
284
+ break;
285
+ case 'Grading view':
286
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
287
+ break;
288
+ };
289
+ });
290
+
291
+ beforeEach(() => {
292
+ switch (view) {
293
+ case 'Question preview':
294
+ listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
295
+ listOrderingPage.steps.resetQuestionPreview();
296
+ break;
297
+ case 'Item preview':
298
+ listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
299
+ itemPreviewPage.steps.resetQuestionPreview();
300
+ break;
301
+ case 'Grading view':
302
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
303
+ break;
304
+ }
305
+ });
306
+
307
+ if (view === 'Question preview') {
308
+ after(() => {
309
+ listOrderingPage.steps.clickOnSaveQuestionButton();
310
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
311
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
312
+ });
313
+ };
314
+
315
+ it('When the user selects "Grading" view without attempting the question, non-scoring label should be displayed, correct/incorrect status message should not be displayed, correct answers section with a label "Correct answers" should be displayed with correct answers and correct/incorrect icons should not be displayed', () => {
316
+ if (view === 'Grading view') {
317
+ utilities.verifyElementDisabledClass(studentViewPage.submitButton());
318
+ };
319
+ if (view === 'Question preview' || view === 'Item preview') {
320
+ listOrderingPage.steps.checkNonScoredScoringLabel();
321
+ listOrderingPage.steps.switchToGradingView();
322
+ listOrderingPage.steps.verifyCorrectIncorrectOptionIconDropdownLayoutNotExists(0);
323
+ listOrderingPage.steps.verifyCorrectIncorrectOptionIconDropdownLayoutNotExists(1);
324
+ listOrderingPage.steps.verifyCorrectIncorrectOptionIconDropdownLayoutNotExists(2);
325
+ listOrderingPage.steps.verifyCorrectIncorrectOptionIconDropdownLayoutNotExists(3);
326
+ listOrderingPage.steps.verifyCorrectIncorrectAnswerLabelNotExist();
327
+ utilities.verifyInnerText(listOrderingPage.correctAnswersLabel(), 'Correct answers');
328
+ listOrderingPage.steps.verifyOptionsPositionInCorrectAnswerSection(['sprout', 'plant', 'flower', 'seed'], ['2', '3', '4', '1']);
329
+ };
330
+ });
331
+
332
+ 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', () => {
333
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([
334
+ { optionIndex: 0, position: '1' },
335
+ { optionIndex: 1, position: '2' },
336
+ { optionIndex: 2, position: '3' },
337
+ { optionIndex: 3, position: '4' },
338
+ ]);
339
+ if (view === 'Grading view') {
340
+ studentViewPage.steps.submitResponse();
341
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
342
+ studentViewPage.steps.clickOnGoToGradingViewButton();
343
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
344
+ };
345
+ if (view === 'Question preview' || view === 'Item preview') {
346
+ listOrderingPage.steps.checkNonScoredScoringLabel();
347
+ listOrderingPage.steps.switchToGradingView();
348
+ };
349
+ //Remove the if block and keep the steps common for all views after https://weldnorthed.atlassian.net/browse/IEI-6058 is fixed
350
+ if (view === 'Question preview') {
351
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(0);
352
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(1);
353
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(2);
354
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(3);
355
+ }
356
+ listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
357
+ listOrderingPage.steps.verifyOptionsPositionInCorrectAnswerSection(['sprout', 'plant', 'flower', 'seed'], ['2', '3', '4', '1']);
358
+ });
359
+
360
+ 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', () => {
361
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([
362
+ { optionIndex: 0, position: '2' },
363
+ { optionIndex: 1, position: '1' },
364
+ { optionIndex: 2, position: '4' },
365
+ { optionIndex: 3, position: '3' },
366
+ ]);
367
+ if (view === 'Grading view') {
368
+ studentViewPage.steps.submitResponse();
369
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
370
+ studentViewPage.steps.clickOnGoToGradingViewButton();
371
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
372
+ };
373
+ if (view === 'Question preview' || view === 'Item preview') {
374
+ listOrderingPage.steps.checkNonScoredScoringLabel();
375
+ listOrderingPage.steps.switchToGradingView();
376
+ };
377
+ //Remove the if block and keep the steps common for all views after https://weldnorthed.atlassian.net/browse/IEI-6058 is fixed
378
+ if (view === 'Question preview') {
379
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(0);
380
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(1);
381
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(2);
382
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(3);
383
+ }
384
+ listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
385
+ listOrderingPage.steps.verifyOptionsPositionInCorrectAnswerSection(['sprout', 'plant', 'flower', 'seed'], ['2', '3', '4', '1']);
386
+ });
387
+
388
+ 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', () => {
389
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([
390
+ { optionIndex: 0, position: '2' },
391
+ { optionIndex: 1, position: '3' },
392
+ { optionIndex: 2, position: '4' },
393
+ { optionIndex: 3, position: '1' },
394
+ ]);
395
+ if (view === 'Grading view') {
396
+ studentViewPage.steps.submitResponse();
397
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
398
+ studentViewPage.steps.clickOnGoToGradingViewButton();
399
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
400
+ };
401
+ if (view === 'Question preview' || view === 'Item preview') {
402
+ listOrderingPage.steps.checkNonScoredScoringLabel();
403
+ listOrderingPage.steps.switchToGradingView();
404
+ };
405
+ //Remove the if block and keep the steps common for all views after https://weldnorthed.atlassian.net/browse/IEI-6058 is fixed
406
+ if (view === 'Question preview') {
407
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(0);
408
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(1);
409
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(2);
410
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(3);
411
+ }
412
+ listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
413
+ listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
414
+ });
415
+ });
416
+ });
417
+
182
418
  if (!grepTags || !grepTags.includes('smoke')) {
183
419
  describe('Question preview: Auto scored - All or nothing: Minimum scoring', () => {
184
420
  abortEarlySetup();
@@ -216,7 +452,7 @@ describe('Create item page - List ordering: All or nothing ', () => {
216
452
  listOrderingPage.steps.allotMinimumPoints(2);
217
453
  listOrderingPage.steps.switchToPreviewTab();
218
454
  listOrderingPage.steps.switchToGradingView();
219
- listOrderingPage.steps.verifyPreviewScore(0, 20);
455
+ listOrderingPage.steps.verifyPreviewScore(2, 20);
220
456
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
221
457
  });
222
458
 
@@ -0,0 +1,35 @@
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 : Dropdown menu', () => {
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('Dropdown menu');
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.selectPositionForAllOptionsSpecifyCorrectAnswerSection([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '3' }, { optionIndex: 2, position: '4' }, { optionIndex: 3, position: '1' }]);
27
+ listOrderingPage.steps.checkAlternativeButtonEnabled();
28
+ });
29
+
30
+ 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', () => {
31
+ listOrderingPage.steps.clickOnAddAlternativeAnswerButton();
32
+ listOrderingPage.steps.expandCorrectAnswerAccordion();
33
+ });
34
+ });
35
+ });
@@ -219,4 +219,28 @@ describe('Create Item page - List ordering: Dropdown menu ordering layout: Edit
219
219
  }
220
220
  });
221
221
  });
222
+
223
+ describe('User should be able to edit incomplete authored question', () => {
224
+ abortEarlySetup();
225
+ before(() => {
226
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
227
+ cy.barsPreLoaderWait();
228
+ listOrderingPage.steps.selectOrderingLayoutOption('Dropdown menu');
229
+ listOrderingPage.steps.saveAQuestionWithIncompleteAuthoring();
230
+ listOrderingPage.steps.editItem();
231
+ });
232
+
233
+ it('Warning icons should be displayed on the required input fields', () => {
234
+ listOrderingPage.steps.verifyWarningIconOnRequiredFields([
235
+ 'Please enter all option values.', 'Please set points.',
236
+ ]);
237
+ });
238
+
239
+ it('When required input fields are filled then warning icons should disappear', () => {
240
+ listOrderingPage.steps.addInputToOptionsInputField(options);
241
+ listOrderingPage.steps.allotPoints(10);
242
+ listOrderingPage.steps.verifyErrorMessageIsNotDisplayed();
243
+ listOrderingPage.steps.verifySpecifyCorrectAnswerErrorIconNotExists();
244
+ });
245
+ });
222
246
  });
@@ -0,0 +1,108 @@
1
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
2
+ import { dialogBoxBase, itemPreviewPage, listOrderingPage } from "../../../pages";
3
+ import utilities from "../../../support/helpers/utilities";
4
+ import { browseItemsPage } from "../../../pages/components";
5
+ const options = ['sprout', 'plant', 'flower', 'seed'];
6
+ let itemReferenceID = "";
7
+
8
+ describe('Create item page - Matching : Header section and Saving question', () => {
9
+ before(() => {
10
+ cy.loginAs('admin');
11
+ });
12
+
13
+ describe('Header section contents', () => {
14
+ abortEarlySetup();
15
+ before(() => {
16
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
17
+ });
18
+
19
+ listOrderingPage.tests.verifyCreateQuestionPageQuestionTypeHeader('List ordering');
20
+ });
21
+
22
+ describe('Tabs section', () => {
23
+ abortEarlySetup();
24
+ before(() => {
25
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
26
+ });
27
+
28
+ listOrderingPage.tests.verifyTabsSection();
29
+ });
30
+
31
+ describe('Cancel button', () => {
32
+ abortEarlySetup();
33
+ before(() => {
34
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
35
+ });
36
+
37
+ listOrderingPage.tests.verifyCancelButton('list ordering')
38
+ });
39
+
40
+ describe('Save Question button', () => {
41
+ abortEarlySetup();
42
+ before(() => {
43
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
44
+ cy.barsPreLoaderWait();
45
+ listOrderingPage.steps.selectOrderingLayoutOption('Dropdown menu');
46
+ cy.wait(1000);
47
+ });
48
+
49
+ describe('Validation error messages', () => {
50
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please enter all option values.', 'Please set points.']);
51
+
52
+ it('Validation error messages should be displayed below required input fields', () => {
53
+ listOrderingPage.steps.verifyQuestionInstructionsErrorMessageIsNotDisplayed();
54
+ listOrderingPage.steps.verifyWarningIconOnRequiredFields(['Please enter all option values.', 'Please set points.']);
55
+ });
56
+
57
+ it('Validation error messages should disappear when required input fields are filled', () => {
58
+ listOrderingPage.steps.addTextInQuestionInstructionsInputField('list ordering');
59
+ listOrderingPage.steps.addInputToOptionsInputField(options);
60
+ listOrderingPage.steps.selectPositionForAllOptionsSpecifyCorrectAnswerSection([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '3' }, { optionIndex: 2, position: '4' }, { optionIndex: 3, position: '1' }])
61
+ listOrderingPage.steps.allotPoints(10);
62
+ listOrderingPage.steps.verifyErrorMessageIsNotDisplayed();
63
+ listOrderingPage.steps.verifySpecifyCorrectAnswerErrorIconNotExists();
64
+ });
65
+
66
+ listOrderingPage.tests.verifyCreateItemWrapperContentsA11y();
67
+ });
68
+
69
+ describe('Saving a question', () => {
70
+ it('Clicking on Save Question button the question should get saved and a snackbar with text \'Saved successfully!\' should be displayed', () => {
71
+ listOrderingPage.steps.saveAQuestionAndVerifySnackbar();
72
+ });
73
+ listOrderingPage.tests.verifySavedSuccessfullySnackbarCSSAndA11y();
74
+ });
75
+
76
+ describe('Saving a question with incomplete authoring', () => {
77
+ abortEarlySetup();
78
+ before(() => {
79
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
80
+ cy.barsPreLoaderWait();
81
+ listOrderingPage.steps.selectOrderingLayoutOption('Dropdown menu');
82
+ });
83
+
84
+ 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', () => {
85
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please enter all option values.', 'Please set points.']);
86
+ listOrderingPage.steps.saveAQuestionWithIncompleteAuthoring();
87
+ });
88
+ listOrderingPage.tests.verifySavedSuccessfullySnackbarCSSAndA11y();
89
+ });
90
+ });
91
+
92
+ describe('Save as you go - Browse item page contents', () => {
93
+ abortEarlySetup();
94
+ before(() => {
95
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
96
+ cy.barsPreLoaderWait();
97
+ listOrderingPage.steps.selectOrderingLayoutOption('Dropdown menu');
98
+ listOrderingPage.steps.saveAQuestionWithIncompleteAuthoring();
99
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
100
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
101
+ browseItemsPage.steps.navigateToBrowseItemsPage();
102
+ });
103
+
104
+ it('When user saves an incompletely authored question then a warning icon should be visible in browse items page', () => {
105
+ browseItemsPage.steps.verifyWarningIconInBrowseItemPage(`${itemReferenceID}`);
106
+ });
107
+ });
108
+ });
@@ -13,9 +13,9 @@ describe('Create Item page - List ordering: Scoring cases', () => {
13
13
  before(() => {
14
14
  listOrderingPage.steps.navigateToCreateQuestion('list ordering');
15
15
  cy.barsPreLoaderWait();
16
+ listOrderingPage.steps.addTextInQuestionInstructionsInputField('Arrange options in correct order.');
16
17
  listOrderingPage.steps.selectOrderingLayoutOption('Dropdown menu');
17
18
  listOrderingPage.steps.addInputToOptionsInputField(options);
18
- listOrderingPage.steps.addTextInQuestionInstructionsInputField('Arrange options in correct order.');
19
19
  });
20
20
 
21
21
  it('When the user selects \'Manually scored\' option from the scoring Type dropdown then the \'Specify correct answer\' section should not be displayed; \'Points\' and \'Minimum scoring\' label and dropdown should be displayed', () => {
@@ -47,6 +47,7 @@ describe('Create Item page - List ordering: Scoring cases', () => {
47
47
  before(() => {
48
48
  listOrderingPage.steps.navigateToCreateQuestion('list ordering');
49
49
  cy.barsPreLoaderWait();
50
+ listOrderingPage.steps.addTextInQuestionInstructionsInputField('Arrange options in correct order.');
50
51
  listOrderingPage.steps.selectOrderingLayoutOption('Dropdown menu');
51
52
  });
52
53