itemengine-cypress-automation 1.0.383-Ckeditir-audioplayer-fixes-0bf8855.0 → 1.0.383-task-IEI-4672-6b2395e.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 (306) 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/audioPlayerEditTabAddTranscriptRadioButton .js +2 -2
  38. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerHeaderSectionAndButtons.js +2 -2
  39. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTab.js +1 -1
  40. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabSupportedFileTypes.js +6 -0
  41. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabTranscript.js +2 -3
  42. package/cypress/e2e/ILC/CkEditorInsertImage/imageInfo.js +3 -3
  43. package/cypress/e2e/ILC/CkEditorInsertTable/tableDimension&FooterProperties.js +3 -3
  44. package/cypress/e2e/ILC/CkEditorInsertTable/tableStyle.js +11 -11
  45. package/cypress/e2e/ILC/CkEditorLink/uploadSection.js +1 -1
  46. package/cypress/e2e/ILC/ContentBlocks/editTabBasics.js +63 -4
  47. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +116 -7
  48. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabBasicSection.js +1 -1
  49. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabScoring.js +1 -0
  50. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/headerSection.js +3 -3
  51. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/pagination.js +1 -1
  52. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/studentViewSettingsForGroupedLayout.js +3 -0
  53. package/cypress/e2e/ILC/DrawingResponse/drawingResponseAdditionalSettings.js +1 -0
  54. package/cypress/e2e/ILC/DrawingResponse/drawingResponseBackground.js +2 -8
  55. package/cypress/e2e/ILC/DrawingResponse/drawingResponseCustomizeAdditionalOptions.js +1 -0
  56. package/cypress/e2e/ILC/DrawingResponse/drawingResponsePreviewTabContents.smoke.js +1 -3
  57. package/cypress/e2e/ILC/EssayResponse/editTabBasicSections.js +23 -37
  58. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +210 -0
  59. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/draggableOptions.js +2 -0
  60. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/editTabBasicSection.js +1 -1
  61. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/headerSection.js +3 -3
  62. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViewInIncompleteAuthoring.smoke.js +7 -7
  63. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViews.smoke.js +11 -11
  64. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editQuestion.smoke.js +40 -0
  65. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editTabBasicSection.js +1 -1
  66. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/headerSection.js +3 -3
  67. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +216 -0
  68. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/headerSection.js +3 -3
  69. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editQuestion.smoke.js +45 -0
  70. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editTabBasicSection.js +1 -1
  71. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/headerSection.js +4 -4
  72. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/HeaderSection.js +4 -4
  73. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/editQuestion.smoke.js +1 -1
  74. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/responseAnswersAndAcceptedStudentInput.js +4 -0
  75. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/supportedFileTypes.js +3 -1
  76. package/cypress/e2e/ILC/FillInTheGapsTextNew/editTabBasicSection.js +1 -1
  77. package/cypress/e2e/ILC/FillInTheGapsTextNew/headerSection.js +3 -3
  78. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +73 -0
  79. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +38 -0
  80. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +38 -0
  81. package/cypress/e2e/ILC/Graphing/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +87 -0
  82. package/cypress/e2e/ILC/Graphing/allOrNothingForAllViews.smoke.js +2 -2
  83. package/cypress/e2e/ILC/Graphing/checkAddAlternativeButton.js +35 -0
  84. package/cypress/e2e/ILC/Graphing/editQuestion.smoke.js +28 -0
  85. package/cypress/e2e/ILC/Graphing/editTabBasicSection.js +38 -0
  86. package/cypress/e2e/ILC/Graphing/editTabScoringSection.js +1 -0
  87. package/cypress/e2e/ILC/Graphing/headerSection.js +36 -4
  88. package/cypress/e2e/ILC/Graphing/layoutAndGridOptions.js +6 -3
  89. package/cypress/e2e/ILC/Graphing/specifyCorrectAnswerSection.js +28 -0
  90. package/cypress/e2e/ILC/GridFill/addAlternateButton.js +40 -0
  91. package/cypress/e2e/ILC/GridFill/allOrNothingBasicForAllViews.smoke.js +210 -0
  92. package/cypress/e2e/ILC/GridFill/customizeLayoutFillImageBackgroundImage.js +2 -2
  93. package/cypress/e2e/ILC/GridFill/headerSection.js +4 -4
  94. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +39 -0
  95. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  96. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +39 -0
  97. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountAllOrNothingCorrectPointsGreaterThanAlternativePoints.js +37 -0
  98. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountallOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  99. package/cypress/e2e/ILC/GridFill/scoring/cellshadeCountAllOrNothingAlternativePointsGreaterThanCorrectPoints.js +36 -0
  100. package/cypress/e2e/ILC/GridFill/scoring/checkLabelSaveAsYouGo.js +75 -0
  101. package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +2 -1
  102. package/cypress/e2e/ILC/ImageHighlight/additionalSettingsBasic.js +1 -0
  103. package/cypress/e2e/ILC/ImageHighlight/allOrNothingForAllViews.smoke.js +212 -0
  104. package/cypress/e2e/ILC/ImageHighlight/customiseHighlightStyle.js +29 -0
  105. package/cypress/e2e/ILC/ImageHighlight/editTabBasicSection.js +1 -1
  106. package/cypress/e2e/ILC/ImageHighlight/headerSection.js +3 -3
  107. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +24 -0
  108. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +24 -0
  109. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +24 -0
  110. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +86 -0
  111. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/manuallyAndNonScored.js +2 -4
  112. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +1 -1
  113. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +237 -1
  114. package/cypress/e2e/ILC/ListOrderingDropdown/checkAddAlternativeButton.js +35 -0
  115. package/cypress/e2e/ILC/ListOrderingDropdown/editTabBasicSection.js +26 -0
  116. package/cypress/e2e/ILC/ListOrderingDropdown/headerSection.js +108 -0
  117. package/cypress/e2e/ILC/ListOrderingDropdown/manuallyAndNonScoredEditTab.js +2 -1
  118. package/cypress/e2e/ILC/ListOrderingDropdown/previewContentsForAllViews.smoke.js +2 -4
  119. package/cypress/e2e/ILC/ListOrderingDropdown/specifyCorrectAnswerSection.js +7 -12
  120. package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/specifyCorrectAnswerSection.js +10 -14
  121. package/cypress/e2e/ILC/ListOrderingNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +52 -0
  122. package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +215 -0
  123. package/cypress/e2e/ILC/ListOrderingNew/editTabBasicSection.js +23 -0
  124. package/cypress/e2e/ILC/ListOrderingNew/headerSection.js +36 -9
  125. package/cypress/e2e/ILC/ListOrderingNew/manuallyAndNonScoredEditTab.js +2 -0
  126. package/cypress/e2e/ILC/ListOrderingNew/specifyCorrectAnswerSection.js +7 -23
  127. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +41 -0
  128. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +30 -0
  129. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +50 -0
  130. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +101 -0
  131. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/allOrNothingForAllViews.smoke.js +309 -0
  132. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/checkAddAlternativeButton.js +38 -0
  133. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabBasicSection.js +24 -0
  134. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabScoring.js +4 -1
  135. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/headerSection.js +38 -3
  136. package/cypress/e2e/ILC/Matching/Scoring/blankResponseScoring.js +38 -41
  137. package/cypress/e2e/ILC/Matching/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +98 -0
  138. package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +210 -0
  139. package/cypress/e2e/ILC/Matching/checkAlternativeButton.js +38 -0
  140. package/cypress/e2e/ILC/Matching/clickAndDrop.js +5 -5
  141. package/cypress/e2e/ILC/Matching/draggableOptions.js +7 -0
  142. package/cypress/e2e/ILC/Matching/editQuestion.smoke.js +3 -2
  143. package/cypress/e2e/ILC/Matching/editTabBasicSection.js +41 -0
  144. package/cypress/e2e/ILC/Matching/headerSection.js +38 -12
  145. package/cypress/e2e/ILC/Matching/questionInstructionsAndPromptSection.js +2 -15
  146. package/cypress/e2e/ILC/Matching/studentViewSettings.js +3 -1
  147. package/cypress/e2e/ILC/Matching/studentViewSettingsForGroupedLayout.js +1 -1
  148. package/cypress/e2e/ILC/MatchingDropdown/Scoring/blankResponseScoring.js +7 -6
  149. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsScoringBasic.js +6 -6
  150. package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +208 -0
  151. package/cypress/e2e/ILC/MultipleSelection/allOrNothingBasicForAllViews.smoke.js +2 -1
  152. package/cypress/e2e/ILC/MultipleSelection/editTabBasicSection.js +1 -1
  153. package/cypress/e2e/ILC/MultipleSelection/headerSection.js +3 -3
  154. package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswer.js +1 -0
  155. package/cypress/e2e/ILC/MultipleSelectionGridNew/editTabBasicSection.js +2 -2
  156. package/cypress/e2e/ILC/MultipleSelectionGridNew/headerSection.js +3 -3
  157. package/cypress/e2e/ILC/MultipleSelectionGridNew/previewContentsForAllViews.smoke.js +100 -69
  158. package/cypress/e2e/ILC/MultipleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +1 -0
  159. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +79 -0
  160. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +42 -0
  161. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +42 -0
  162. package/cypress/e2e/ILC/NumberLine/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +75 -0
  163. package/cypress/e2e/ILC/NumberLine/allOrNothingScoringForAllViews.smoke.js +213 -0
  164. package/cypress/e2e/ILC/NumberLine/checkAddAlternativeButton.js +32 -0
  165. package/cypress/e2e/ILC/NumberLine/editTabSection.js +38 -0
  166. package/cypress/e2e/ILC/NumberLine/headerSection.js +33 -4
  167. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/allOrNothingScoringForAllViews.smoke.js +249 -0
  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/allOrNothingForAllViews.smoke.js +266 -0
  174. package/cypress/e2e/ILC/NumberLineLabel/checkAddAlternativeButton.js +34 -0
  175. package/cypress/e2e/ILC/NumberLineLabel/editTabSection.js +38 -0
  176. package/cypress/e2e/ILC/NumberLineLabel/headerSection.js +37 -5
  177. package/cypress/e2e/ILC/NumberLineLabel/manuallyAndNonScoredEditTab.js +2 -1
  178. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/allOrNothingForAllViews.smoke.js +268 -0
  179. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/editQuestion.smoke.js +1 -1
  180. package/cypress/e2e/ILC/ShortTextResponseNew/allOrNothingBasicForAllViews.smoke.js +186 -0
  181. package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +33 -49
  182. package/cypress/e2e/ILC/ShortTextResponseNew/headerSection.js +2 -4
  183. package/cypress/e2e/ILC/SingleSelection/editTabBasicSection.js +1 -1
  184. package/cypress/e2e/ILC/SingleSelection/headerSection.js +2 -2
  185. package/cypress/e2e/ILC/SingleSelectionGridNew/editTabBasicSection.js +2 -2
  186. package/cypress/e2e/ILC/SingleSelectionGridNew/headerSection.js +3 -3
  187. package/cypress/e2e/ILC/SingleSelectionGridNew/previewContentsForAllViews.smoke.js +101 -70
  188. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +86 -0
  189. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +86 -0
  190. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  191. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +4 -2
  192. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  193. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  194. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsScoringBasic.js +9 -2
  195. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +4 -2
  196. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +3 -1
  197. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  198. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsScoringBasic.js +4 -0
  199. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +64 -0
  200. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAddEvaluation.js +2 -0
  201. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAlternateAnswer.js +2 -0
  202. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +64 -0
  203. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  204. package/cypress/e2e/ILC/TextEntryMath/Scoring/blankResponseScoring.js +2 -2
  205. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  206. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  207. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  208. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsScoringBasic.js +8 -0
  209. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  210. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  211. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  212. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasic.js +1 -0
  213. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasicForAlternateAnswer.js +2 -0
  214. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViews.smoke.js +263 -0
  215. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +219 -0
  216. package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +27 -3
  217. package/cypress/e2e/ILC/TextEntryMath/equationEditor.smoke.js +1 -1
  218. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodEquivalentStructures.smoke.js +3 -3
  219. package/cypress/e2e/ILC/TextEntryMath/headerSection.js +43 -0
  220. package/cypress/e2e/ILC/TextEntryMathWithImage/allOrNothingScoringForAllViews.smoke.js +263 -0
  221. package/cypress/e2e/ILC/TextEntryMathWithImage/backgroundImageAndCanvasProperties.js +0 -1
  222. package/cypress/e2e/ILC/TextEntryMathWithImage/styleAndLayoutCustomization.js +1 -1
  223. package/cypress/e2e/ILC/TextSelection/additionalSettings.js +1 -0
  224. package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +231 -0
  225. package/cypress/e2e/ILC/TextSelection/editTabBasicSection.js +2 -2
  226. package/cypress/e2e/ILC/TextSelection/headerSection.js +3 -3
  227. package/cypress/e2e/ILC/TextSelection/minimumScoringPenaltyPointsAndRoundingDropdown.js +1 -0
  228. package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyPossibleOptionsSection.js +1 -0
  229. package/cypress/e2e/ILC/ThinkSphere/createReviewItem.js +1 -1
  230. package/cypress/e2e/ILC/ThinkSphere/editTabBasicSection.js +1 -1
  231. package/cypress/e2e/ILC/ThinkSphere/editThinkSphereQuestion.smoke.js +145 -54
  232. package/cypress/e2e/ILC/ThinkSphere/equationEditorEditCategoryFlyOut.js +2 -0
  233. package/cypress/e2e/ILC/ThinkSphere/planPhase.js +45 -5
  234. package/cypress/e2e/ILC/ThinkSphere/previewTabPlanSection.js +8 -8
  235. package/cypress/e2e/ILC/ThinkSphere/previewTabReviewSection.js +97 -0
  236. package/cypress/e2e/ILC/ThinkSphere/previewTabSolveSection.js +36 -0
  237. package/cypress/e2e/ILC/ThinkSphere/solvePhase.js +3 -3
  238. package/cypress/e2e/ILC/ThinkSphere/studentViewPlanTabSection.js +393 -0
  239. package/cypress/e2e/ILC/ThinkSphere/studentViewReviewTabSection.js +141 -0
  240. package/cypress/e2e/ILC/ToolAudioPlayerNew/headerSection.js +90 -2
  241. package/cypress/e2e/ILC/UploadResponse/editTabBasicSection.js +34 -0
  242. package/cypress/e2e/ILC/UploadResponse/headerSection.js +38 -1
  243. package/cypress/e2e/ILC/UploadResponse/uploadResponsePreview.js +50 -13
  244. package/cypress/e2e/ILC/VideoResponseNew/editTabBasicSection.js +14 -29
  245. package/cypress/e2e/ILC/chartsDotsPlot/headerSection.js +16 -1
  246. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsBasic.js +27 -28
  247. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +31 -30
  248. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +24 -24
  249. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +39 -37
  250. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsBasic.js +22 -23
  251. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +31 -30
  252. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +25 -24
  253. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +31 -31
  254. package/cypress/e2e/ILC/chartsDotsPlot/scoring/toleranceThresholdScoring.js +18 -19
  255. package/cypress/e2e/ILC/chartsDotsPlot/specifyCorrectAnswerSection.js +96 -0
  256. package/cypress/e2e/Sessions/fetchResponses.js +3 -3
  257. package/cypress/e2e/Sessions/saveResponseScores.js +2 -2
  258. package/cypress/fixtures/thinkSphereWhiteboardTools.js +66 -0
  259. package/cypress/pages/audioPlayerPage.js +27 -2
  260. package/cypress/pages/brainingCampManipulativePage.js +1 -1
  261. package/cypress/pages/chartsBarPage.js +45 -0
  262. package/cypress/pages/chartsDotPlotPage.js +25 -0
  263. package/cypress/pages/chartsLinePage.js +28 -3
  264. package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +5 -1
  265. package/cypress/pages/components/chartsCommonComponent.js +6 -2
  266. package/cypress/pages/components/ckEditorEquationEditorComponent.js +1 -0
  267. package/cypress/pages/components/ckEditorInsertImageComponent.js +3 -3
  268. package/cypress/pages/components/ckEditorInsertTableComponent.js +3 -3
  269. package/cypress/pages/components/ckEditorLinkComponent.js +8 -9
  270. package/cypress/pages/components/colorPopupComponent.js +6 -0
  271. package/cypress/pages/components/createQuestionBasePage.js +19 -6
  272. package/cypress/pages/components/desmosToolComponent.js +1 -1
  273. package/cypress/pages/components/draggableOptionsSectionComponent.js +2 -0
  274. package/cypress/pages/components/equationEditorSectionCommonComponent.js +14 -29
  275. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +31 -3
  276. package/cypress/pages/components/gridQuestionCommonComponent.js +55 -2
  277. package/cypress/pages/components/imageCanvasComponent.js +11 -5
  278. package/cypress/pages/components/questionInstructionsComponent.js +2 -0
  279. package/cypress/pages/components/scoringSectionBaseEditTab.js +3 -0
  280. package/cypress/pages/components/specifyRowsAndColumnsComponent.js +16 -0
  281. package/cypress/pages/contentBlocksPage.js +2 -0
  282. package/cypress/pages/desmos3DGraphingPage.js +149 -4
  283. package/cypress/pages/desmosGeometryPage.js +184 -4
  284. package/cypress/pages/drawingResponsePage.js +10 -1
  285. package/cypress/pages/fillInTheGapsDragAndDropPage.js +3 -8
  286. package/cypress/pages/gradingGridViewPage.js +64 -0
  287. package/cypress/pages/graphingPage.js +27 -8
  288. package/cypress/pages/gridFillPage.js +27 -9
  289. package/cypress/pages/imageHighlightPage.js +115 -15
  290. package/cypress/pages/index.js +1 -0
  291. package/cypress/pages/listOrderingPage.js +46 -2
  292. package/cypress/pages/matchingPage.js +29 -10
  293. package/cypress/pages/numberLineLabelPage.js +31 -8
  294. package/cypress/pages/numberLinePage.js +19 -7
  295. package/cypress/pages/singleSelectionPage.js +30 -1
  296. package/cypress/pages/textEntryMathPage.js +27 -8
  297. package/cypress/pages/textSelectionPage.js +2 -2
  298. package/cypress/pages/thinkSpherePage.js +928 -87
  299. package/cypress/pages/uploadResponsePage.js +17 -1
  300. package/cypress/pages/videoResponsePage.js +3 -0
  301. package/cypress/support/commands.js +9 -0
  302. package/cypress/support/helpers/createItem.js +22 -3
  303. package/cypress/support/helpers/utilities.js +14 -1
  304. package/package.json +1 -1
  305. /package/cypress/e2e/ILC/{ChartsDotsPlot → chartsDotsPlot}/checkAnswerFunctionalityForAllViews.js +0 -0
  306. /package/cypress/e2e/ILC/{ChartsDotsPlot → chartsDotsPlot}/editQuestion.smoke.js +0 -0
@@ -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
 
@@ -103,10 +103,9 @@ describe('Create item page - List ordering - Preview contents in all views', ()
103
103
  }
104
104
  });
105
105
 
106
- 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', () => {
106
+ it('The user should be able to select an option from the position dropdown', () => {
107
107
  listOrderingPage.steps.selectListOptionPositionDropdown('2');
108
108
  utilities.verifyElementVisibilityState(listOrderingPage.dropdownList(), 'notExist');
109
- listOrderingPage.steps.verifyAssignValueToAllDropdownAlertMessage();
110
109
  });
111
110
 
112
111
  it('When the user tries to set position of an option such that the same position has already been assigned to another option, then the selected position from the previous option dropdown should reset', () => {
@@ -114,9 +113,8 @@ describe('Create item page - List ordering - Preview contents in all views', ()
114
113
  listOrderingPage.steps.verifySelectedOptionPositionDropdown(0, '');
115
114
  });
116
115
 
117
- it(`User should be able to reorder options containing image, bold text and equation options in the list using position dropdowns. On setting position for all options, the alert message should get removed`, () => {
116
+ it(`User should be able to reorder options containing image, bold text and equation options in the list using position dropdowns`, () => {
118
117
  listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '1' }, { optionIndex: 2, position: '3' }, { optionIndex: 3, position: '4' }])
119
- listOrderingPage.steps.verifyAlertMessageNotExists();
120
118
  });
121
119
  } else if (view === 'Grading view') {
122
120
  it(`The order of the responses should be as per the submitted response`, () => {
@@ -53,22 +53,19 @@ describe('Create item page - List ordering: Specify correct answer, Alternative
53
53
  listOrderingPage.steps.selectOrderingLayoutOption('Dropdown menu');
54
54
  listOrderingPage.steps.addInputToOptionsInputField(options);
55
55
  });
56
+
57
+ listOrderingPage.tests.verifyAutoScoredAddAlternativeAnswerButtonAndValidation();
56
58
 
57
- // Uncomment below code once https://redmine.zeuslearning.com/issues/577520 is Resolved
58
- // listOrderingPage.tests.verifyAutoScoredAddAlternativeAnswerButtonAndValidation('list ordering');
59
-
60
- it('When user tries to \'+Add alternative answer\' after allotting points without re-ordering the options then the warning popup should appear and on closing the warning popup, an error message should be displayed in the \'Specify correct answer\' section', () => {
61
- listOrderingPage.steps.clickOnAddAlternativeAnswerButton();
62
- dialogBoxBase.steps.closeWarningPopup();
59
+ it('When user tries to \'+Add alternative answer\' after allotting points without re-ordering the options then the \'+Add alternative answer\' button is disable state', () => {
60
+ utilities.verifyElementDisabled(autoScoredSpecifyCorrectAnswerSection.alternativeAnswerButton());
63
61
  utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'notExist');
64
- utilities.verifyInnerText(listOrderingPage.errorMessage(), 'Error: All options need to have a value assigned to them from the dropdown.');
65
- utilities.verifyElementVisibilityState(listOrderingPage.errorMessage(), 'visible');
62
+ commonComponents.steps.verifyErrorMessageIsNotDisplayed();
66
63
  });
67
64
 
68
65
 
69
- it('When the user checks \'Randomize options\' then the error message should persist', () => {
66
+ it('When the user checks \'Randomize options\' then the error message should not persist', () => {
70
67
  listOrderingPage.steps.checkRandomizeOptionsCheckbox();
71
- utilities.verifyElementVisibilityState(listOrderingPage.errorMessage(), 'visible');
68
+ commonComponents.steps.verifyErrorMessageIsNotDisplayed();
72
69
  });
73
70
 
74
71
  it('When the user sets options order in the dropdowns, then the error message should disappear', () => {
@@ -99,8 +96,6 @@ describe('Create item page - List ordering: Specify correct answer, Alternative
99
96
  listOrderingPage.steps.addAlternativeAnswerAccordion(2);
100
97
  });
101
98
 
102
- listOrderingPage.tests.verifyWarningPopupAndAccordionNavigationWhenNoPointsAddedInAlternativeAccordion();
103
-
104
99
  it('User should be able to remove alternative correct answer by clicking on the \'Delete\' icon button alongside alternative answer accordion and the name of the alternative answer accordions should get updated accordingly', () => {
105
100
  cy.log('Set correct answer in alternative 2 accordion, then switch to alternative 1 accordion and click delete icon button');
106
101
  listOrderingPage.steps.selectPositionForAllOptionsSpecifyCorrectAnswerSection([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '3' }, { optionIndex: 2, position: '4' }, { optionIndex: 3, position: '1' }]);
@@ -38,29 +38,24 @@ describe('Create item page - List ordering: Specify correct answer, Alternative
38
38
  listOrderingPage.steps.selectOptionOrientation('Horizontal');
39
39
  });
40
40
 
41
- //need to remove comment after https://redmine.zeuslearning.com/issues/577520 + https://redmine.zeuslearning.com/issues/569608 is resolved
42
- // listOrderingPage.tests.verifyAutoScoredAddAlternativeAnswerButtonAndValidation('list ordering');
41
+ listOrderingPage.tests.verifyAutoScoredAddAlternativeAnswerButtonAndValidation('list ordering');
43
42
 
44
- it('When user tries to \'+Add alternative answer\' after allotting points without re-ordering the options then the warning popup should appear and on closing the warning popup, an error message should be displayed in the \'Specify correct answer\' section', () => {
43
+ it('When user tries to \'+Add alternative answer\' after allotting points then the alternative answer should be added, an error message should not be displayed in the \'Specify correct answer\' section', () => {
45
44
  listOrderingPage.steps.clickOnAddAlternativeAnswerButton();
46
- utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'notExist');
47
- utilities.verifyInnerText(listOrderingPage.errorMessage(), 'Error: The correct answer sequence matches the option sequence. Please either rearrange the options or select \'Randomize options\' to continue.');
48
- utilities.verifyElementVisibilityState(listOrderingPage.errorMessage(), 'visible');
49
- listOrderingPage.steps.verifySpecifyCorrectAnswerErrorIconNotExists();
45
+ listOrderingPage.steps.verifyAlternativeAnswerAccordionLabel(0);
46
+ listOrderingPage.steps.verifyErrorMessageIsNotDisplayed();
50
47
  });
51
48
 
52
- listOrderingPage.tests.verifyErrorMessageCSSAndA11y();
53
-
54
- it('When the user checks \'Randomize options\' then the error message should disappear', () => {
49
+ it('When the user checks \'Randomize options\' then the error message should not be displayed', () => {
55
50
  listOrderingPage.steps.checkRandomizeOptionsCheckbox();
56
51
  listOrderingPage.steps.verifyErrorMessageIsNotDisplayed();
57
52
  listOrderingPage.steps.verifySpecifyCorrectAnswerErrorIconNotExists();
58
53
  });
59
54
 
60
- it('When the user unchecks the \'Randomize options\' checkbox and clicks on \'+Add alternative answer\' the error message should be displayed and on re-ordering the options the error message should disappear', () => {
55
+ it('When the user unchecks the \'Randomize options\' checkbox and clicks on \'+Add alternative answer\' the error message should not be displayed and user should be able to reorder them', () => {
61
56
  listOrderingPage.steps.uncheckRandomizeOptionsCheckbox();
62
57
  listOrderingPage.steps.clickOnAddAlternativeAnswerButton();
63
- utilities.verifyElementVisibilityState(listOrderingPage.errorMessage(), 'visible');
58
+ listOrderingPage.steps.verifyErrorMessageIsNotDisplayed();
64
59
  listOrderingPage.steps.clickAndReorderHorizontalOptionInSpecifyCorrectAnswerSection('seed', 0);
65
60
  listOrderingPage.steps.clickAndReorderHorizontalOptionInSpecifyCorrectAnswerSection('sprout', 1);
66
61
  listOrderingPage.steps.verifyHorizontalOptionsOrderInSpecifyCorrectAnswerSection(['seed', 'sprout', 'plant', 'flower']);
@@ -75,7 +70,9 @@ describe('Create item page - List ordering: Specify correct answer, Alternative
75
70
 
76
71
  it('When user has added an alternative answer accordion, then the newly added alternative answer accordion should be in expanded state and the correct answer accordion should be in collapsed state', () => {
77
72
  listOrderingPage.steps.verifyCorrectAnswerAccordionIsCollapsed();
78
- listOrderingPage.steps.verifyAlternateAnswerAccordionIsExpanded(0);
73
+ listOrderingPage.steps.verifyAlternateAnswerAccordionIsCollapsed(0);
74
+ listOrderingPage.steps.verifyAlternateAnswerAccordionIsCollapsed(1);
75
+ listOrderingPage.steps.verifyAlternateAnswerAccordionIsExpanded(2);
79
76
  });
80
77
 
81
78
  it('By default, 4 options should be displayed with Drag handle in the correct accordion', () => {
@@ -90,7 +87,6 @@ describe('Create item page - List ordering: Specify correct answer, Alternative
90
87
  listOrderingPage.steps.clickAndReorderHorizontalOptionInSpecifyCorrectAnswerSection('seed', 2);
91
88
  listOrderingPage.steps.clickAndReorderHorizontalOptionInSpecifyCorrectAnswerSection('sprout', 3);
92
89
  listOrderingPage.steps.allotPoints(5);
93
- listOrderingPage.steps.addAlternativeAnswerAccordion(2);
94
90
  });
95
91
 
96
92
  listOrderingPage.tests.verifyWarningPopupAndAccordionNavigationWhenNoPointsAddedInAlternativeAccordion();
@@ -0,0 +1,52 @@
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 Without Points', () => {
12
+ abortEarlySetup();
13
+ before(() => {
14
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
15
+ cy.barsPreLoaderWait();
16
+ listOrderingPage.steps.addInputToOptionsInputField(options);
17
+ listOrderingPage.steps.switchToPreviewTab();
18
+ });
19
+
20
+ it('In Preview tab, manually scored scoring label should be displayed', () => {
21
+ listOrderingPage.steps.checkManuallyScoredScoringLabel();
22
+ });
23
+
24
+ it('In Preview tab, when user switches to grading view then no banner and correct answer should displayed', () => {
25
+ listOrderingPage.steps.clickAndReorderOptionInPreviewTab('flower', 0);
26
+ listOrderingPage.steps.clickAndReorderOptionInPreviewTab('sprout', 1);
27
+ listOrderingPage.steps.switchToGradingView();
28
+ listOrderingPage.steps.verifyAnswerStatusBannerExist();
29
+ listOrderingPage.steps.verifyCorrectAnswerSectionExist();
30
+ });
31
+ });
32
+
33
+ describe('Question Preview: Non Scored', () => {
34
+ abortEarlySetup();
35
+ before(() => {
36
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
37
+ cy.barsPreLoaderWait();
38
+ });
39
+
40
+ it('When the user selects \'Grading\' view without setting the answer, correct answers section and answer status banner should be displayed', () => {
41
+ listOrderingPage.steps.addInputToOptionsInputField(options);
42
+ listOrderingPage.steps.expandScoringTypeDropdown();
43
+ listOrderingPage.steps.selectOptionFromScoringTypeDropdown('Non scored');
44
+ listOrderingPage.steps.switchToPreviewTab();
45
+ listOrderingPage.steps.clickAndReorderOptionInPreviewTab('flower', 0);
46
+ listOrderingPage.steps.clickAndReorderOptionInPreviewTab('sprout', 1);
47
+ listOrderingPage.steps.switchToGradingView();
48
+ listOrderingPage.steps.verifyAnswerStatusBannerExist();
49
+ listOrderingPage.steps.verifyCorrectAnswerSectionExist();
50
+ });
51
+ });
52
+ });
@@ -196,6 +196,221 @@ describe('Create item page - List ordering: All or nothing ', () => {
196
196
  });
197
197
  });
198
198
 
199
+ views.forEach((view) => {
200
+ describe(`${view}: List ordering - Manually scored`, { tags: 'smoke' }, () => {
201
+ abortEarlySetup();
202
+ before(() => {
203
+ switch (view) {
204
+ case 'Question preview':
205
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
206
+ cy.barsPreLoaderWait();
207
+ listOrderingPage.steps.addTextInQuestionInstructionsInputField('Arrange the items in the correct order.');
208
+ listOrderingPage.steps.expandScoringTypeDropdown();
209
+ listOrderingPage.steps.selectOptionFromScoringTypeDropdown('Manually scored');
210
+ listOrderingPage.steps.addInputToOptionsInputField(['seed', 'sprout', 'plant', 'flower']);
211
+ listOrderingPage.steps.allotPoints(20);
212
+ listOrderingPage.steps.switchToPreviewTab();
213
+ break;
214
+ case 'Item preview':
215
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
216
+ itemPreviewPage.steps.switchToPreviewTab();
217
+ break;
218
+ case 'Grading view':
219
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
220
+ break;
221
+ };
222
+ });
223
+
224
+ beforeEach(() => {
225
+ switch (view) {
226
+ case 'Question preview':
227
+ listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
228
+ listOrderingPage.steps.resetQuestionPreview();
229
+ break;
230
+ case 'Item preview':
231
+ listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
232
+ itemPreviewPage.steps.resetQuestionPreview();
233
+ break;
234
+ case 'Grading view':
235
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
236
+ break;
237
+ }
238
+ });
239
+
240
+ if (view === 'Question preview') {
241
+ after(() => {
242
+ listOrderingPage.steps.clickOnSaveQuestionButton();
243
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
244
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
245
+ });
246
+ };
247
+
248
+ it('Question instructions should be visible', () => {
249
+ listOrderingPage.steps.verifyQuestionInstructionsTextPreviewTab('Arrange the items in the correct order.');
250
+ listOrderingPage.steps.verifyVisibityOfQuestionInstructionsText();
251
+ });
252
+
253
+ 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', () => {
254
+ listOrderingPage.steps.clickAndReorderOptionInPreviewTab('seed', 0);
255
+ listOrderingPage.steps.clickAndReorderOptionInPreviewTab('sprout', 1);
256
+ if (view === 'Grading view') {
257
+ studentViewPage.steps.submitResponse();
258
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
259
+ studentViewPage.steps.clickOnGoToGradingViewButton();
260
+ gradingViewPage.steps.verifyGradingViewScore('', 20);
261
+ };
262
+ if (view === 'Question preview' || view === 'Item preview') {
263
+ listOrderingPage.steps.checkManuallyScoredScoringLabel();
264
+ };
265
+ listOrderingPage.steps.verifyCorrectIncorrectIconsNotExist();
266
+ listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
267
+ });
268
+ });
269
+ });
270
+
271
+ views.forEach((view) => {
272
+ describe(`${view}: List ordering - Non scored`, { tags: 'smoke' }, () => {
273
+ abortEarlySetup();
274
+ before(() => {
275
+ switch (view) {
276
+ case 'Question preview':
277
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
278
+ cy.barsPreLoaderWait();
279
+ listOrderingPage.steps.addTextInQuestionInstructionsInputField('Arrange the items in the correct order.');
280
+ listOrderingPage.steps.expandScoringTypeDropdown();
281
+ listOrderingPage.steps.selectOptionFromScoringTypeDropdown('Non scored');
282
+ listOrderingPage.steps.addInputToOptionsInputField(['seed', 'plant', 'sprout', 'flower']);
283
+ listOrderingPage.steps.clickAndReorderOptionInSpecifyCorrectAnswerSection('seed', 0);
284
+ listOrderingPage.steps.clickAndReorderOptionInSpecifyCorrectAnswerSection('sprout', 1);
285
+ listOrderingPage.steps.clickAndReorderOptionInSpecifyCorrectAnswerSection('plant', 2);
286
+ listOrderingPage.steps.clickAndReorderOptionInSpecifyCorrectAnswerSection('flower', 3);
287
+ listOrderingPage.steps.switchToPreviewTab();
288
+ break;
289
+ case 'Item preview':
290
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
291
+ itemPreviewPage.steps.switchToPreviewTab();
292
+ break;
293
+ case 'Grading view':
294
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
295
+ break;
296
+ };
297
+ });
298
+
299
+ beforeEach(() => {
300
+ switch (view) {
301
+ case 'Question preview':
302
+ listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
303
+ listOrderingPage.steps.resetQuestionPreview();
304
+ break;
305
+ case 'Item preview':
306
+ listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
307
+ itemPreviewPage.steps.resetQuestionPreview();
308
+ break;
309
+ case 'Grading view':
310
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
311
+ break;
312
+ }
313
+ });
314
+
315
+ if (view === 'Question preview') {
316
+ after(() => {
317
+ listOrderingPage.steps.clickOnSaveQuestionButton();
318
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
319
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
320
+ });
321
+ };
322
+
323
+ 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', () => {
324
+ if (view === 'Grading view') {
325
+ studentViewPage.steps.submitResponse();
326
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
327
+ studentViewPage.steps.clickOnGoToGradingViewButton();
328
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
329
+ };
330
+ if (view === 'Question preview' || view === 'Item preview') {
331
+ listOrderingPage.steps.checkNonScoredScoringLabel();
332
+ listOrderingPage.steps.switchToGradingView();
333
+ };
334
+ listOrderingPage.steps.verifyCorrectOptionIcon('seed');
335
+ listOrderingPage.steps.verifyIncorrectOptionIcon('plant');
336
+ listOrderingPage.steps.verifyIncorrectOptionIcon('sprout');
337
+ listOrderingPage.steps.verifyCorrectOptionIcon('flower');
338
+ listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
339
+ utilities.verifyInnerText(listOrderingPage.correctAnswersLabel(), 'Correct answers');
340
+ listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(['seed', 'sprout', 'plant', 'flower']);
341
+ });
342
+
343
+ 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', () => {
344
+ listOrderingPage.steps.clickAndReorderOptionInPreviewTab('flower', 0);
345
+ listOrderingPage.steps.clickAndReorderOptionInPreviewTab('seed', 3);
346
+ if (view === 'Grading view') {
347
+ studentViewPage.steps.submitResponse();
348
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
349
+ studentViewPage.steps.clickOnGoToGradingViewButton();
350
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
351
+ };
352
+ if (view === 'Question preview' || view === 'Item preview') {
353
+ listOrderingPage.steps.checkNonScoredScoringLabel();
354
+ listOrderingPage.steps.switchToGradingView();
355
+ };
356
+ listOrderingPage.steps.verifyIncorrectOptionIcon('flower');
357
+ listOrderingPage.steps.verifyIncorrectOptionIcon('seed');
358
+ listOrderingPage.steps.verifyIncorrectOptionIcon('sprout');
359
+ listOrderingPage.steps.verifyIncorrectOptionIcon('plant');
360
+ listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
361
+ utilities.verifyInnerText(listOrderingPage.correctAnswersLabel(), 'Correct answers');
362
+ listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(['seed', 'sprout', 'plant', 'flower']);
363
+ });
364
+
365
+ it('When the user attempts the question partially correct, then non-scoring label should be displayed and on switching to "Grading" view, correct icons should be displayed beside the correct responses, incorrect icons 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', () => {
366
+ listOrderingPage.steps.clickAndReorderOptionInPreviewTab('seed', 0);
367
+ listOrderingPage.steps.clickAndReorderOptionInPreviewTab('flower', 1);
368
+ listOrderingPage.steps.clickAndReorderOptionInPreviewTab('sprout', 2);
369
+ listOrderingPage.steps.clickAndReorderOptionInPreviewTab('plant', 3);
370
+ if (view === 'Grading view') {
371
+ studentViewPage.steps.submitResponse();
372
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
373
+ studentViewPage.steps.clickOnGoToGradingViewButton();
374
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
375
+ };
376
+ if (view === 'Question preview' || view === 'Item preview') {
377
+ listOrderingPage.steps.checkNonScoredScoringLabel();
378
+ listOrderingPage.steps.switchToGradingView();
379
+ };
380
+ listOrderingPage.steps.verifyCorrectOptionIcon('seed');
381
+ listOrderingPage.steps.verifyIncorrectOptionIcon('flower');
382
+ listOrderingPage.steps.verifyIncorrectOptionIcon('sprout');
383
+ listOrderingPage.steps.verifyIncorrectOptionIcon('plant');
384
+ listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
385
+ utilities.verifyInnerText(listOrderingPage.correctAnswersLabel(), 'Correct answers');
386
+ listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(['seed', 'sprout', 'plant', 'flower']);
387
+ });
388
+
389
+ 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', () => {
390
+ listOrderingPage.steps.clickAndReorderOptionInPreviewTab('seed', 0);
391
+ listOrderingPage.steps.clickAndReorderOptionInPreviewTab('sprout', 1);
392
+ listOrderingPage.steps.clickAndReorderOptionInPreviewTab('plant', 2);
393
+ listOrderingPage.steps.clickAndReorderOptionInPreviewTab('flower', 3);
394
+ if (view === 'Grading view') {
395
+ studentViewPage.steps.submitResponse();
396
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
397
+ studentViewPage.steps.clickOnGoToGradingViewButton();
398
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
399
+ };
400
+ if (view === 'Question preview' || view === 'Item preview') {
401
+ listOrderingPage.steps.checkNonScoredScoringLabel();
402
+ listOrderingPage.steps.switchToGradingView();
403
+ };
404
+ listOrderingPage.steps.verifyCorrectOptionIcon('seed');
405
+ listOrderingPage.steps.verifyCorrectOptionIcon('sprout');
406
+ listOrderingPage.steps.verifyCorrectOptionIcon('plant');
407
+ listOrderingPage.steps.verifyCorrectOptionIcon('flower');
408
+ listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
409
+ listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
410
+ });
411
+ });
412
+ });
413
+
199
414
  if (!grepTags || !grepTags.includes('smoke')) {
200
415
  describe('Question preview: Auto scored - All or nothing: Minimum scoring', () => {
201
416
  abortEarlySetup();
@@ -152,4 +152,27 @@ describe('Create Item page - List ordering : Question instructions and prompt se
152
152
  utilities.verifyElementCount(listOrderingPage.optionWrapperPreviewTab(), 4);
153
153
  });
154
154
  });
155
+
156
+ describe('User should be able to edit incomplete authored question', () => {
157
+ abortEarlySetup();
158
+ before(() => {
159
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
160
+ cy.barsPreLoaderWait();
161
+ listOrderingPage.steps.saveAQuestionWithIncompleteAuthoring();
162
+ listOrderingPage.steps.editItem();
163
+ });
164
+
165
+ it('Warning icons should be displayed on the required input fields', () => {
166
+ listOrderingPage.steps.verifyWarningIconOnRequiredFields([
167
+ 'Please enter all option values.', 'Please set points.',
168
+ ]);
169
+ });
170
+
171
+ it('When required input fields are filled then warning icons should disappear', () => {
172
+ listOrderingPage.steps.addInputToOptionsInputField(options);
173
+ listOrderingPage.steps.allotPoints(10);
174
+ listOrderingPage.steps.verifyErrorMessageIsNotDisplayed();
175
+ listOrderingPage.steps.verifySpecifyCorrectAnswerErrorIconNotExists();
176
+ });
177
+ });
155
178
  });
@@ -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,20 +42,15 @@ 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
  });
44
47
 
45
48
  describe('Validation error messages', () => {
46
- dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton();
49
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please enter all option values.', 'Please set points.']);
47
50
 
48
51
  it('Validation error messages should be displayed below required input fields', () => {
49
52
  listOrderingPage.steps.verifyQuestionInstructionsErrorMessageIsNotDisplayed();
50
- for (let index = 0; index < 4; index++) {
51
- listOrderingPage.steps.verifyOptionsInputFieldErrorMessage(index);
52
- }
53
- listOrderingPage.steps.verifyPointsFieldErrorMessageIsNotDisplayed();
54
- //need to remove comment after https://redmine.zeuslearning.com/issues/577520 is resolved
55
- //listOrderingPage.steps.verifySpecifyCorrectAnswerErrorIconIsVisible();
56
- utilities.verifyInnerText(utilities.getNthElement(listOrderingPage.errorMessage(), -1), 'Error: The correct answer sequence matches the option sequence. Please either rearrange the options or select \'Randomize options\' to continue.');
53
+ listOrderingPage.steps.verifyWarningIconOnRequiredFields(['Please enter all option values.', 'Please set points.']);
57
54
  });
58
55
 
59
56
  it('Validation error messages should disappear when required input fields are filled', () => {
@@ -75,5 +72,35 @@ describe('Create item page - Matching : Header section and Saving question', ()
75
72
  });
76
73
  listOrderingPage.tests.verifySavedSuccessfullySnackbarCSSAndA11y();
77
74
  });
75
+
76
+ describe('Saving a question with incomplete authoring', () => {
77
+ abortEarlySetup();
78
+ before(() => {
79
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
80
+ cy.barsPreLoaderWait();
81
+ });
82
+
83
+ 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', () => {
84
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please enter all option values.', 'Please set points.']);
85
+ listOrderingPage.steps.saveAQuestionWithIncompleteAuthoring();
86
+ });
87
+ listOrderingPage.tests.verifySavedSuccessfullySnackbarCSSAndA11y();
88
+ });
89
+ });
90
+
91
+ describe('Save as you go - Browse item page contents', () => {
92
+ abortEarlySetup();
93
+ before(() => {
94
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
95
+ cy.barsPreLoaderWait();
96
+ listOrderingPage.steps.saveAQuestionWithIncompleteAuthoring();
97
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
98
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
99
+ browseItemsPage.steps.navigateToBrowseItemsPage();
100
+ });
101
+
102
+ it('When user saves an incompletely authored question then a warning icon should be visible in browse items page', () => {
103
+ browseItemsPage.steps.verifyWarningIconInBrowseItemPage(`${itemReferenceID}`);
104
+ });
78
105
  });
79
106
  });
@@ -47,6 +47,7 @@ describe('Create Item page - List ordering: Scoring cases', () => {
47
47
  listOrderingPage.steps.navigateToCreateQuestion('list ordering');
48
48
  cy.barsPreLoaderWait();
49
49
  listOrderingPage.steps.selectOrderingLayoutOption('Dropdown menu');
50
+ listOrderingPage.steps.addTextInQuestionInstructionsInputField('Arrange options in correct order.');
50
51
  });
51
52
 
52
53
  it('User should be able to select \'Non scored\' scoring type from scoring type dropdown', () => {
@@ -62,6 +63,7 @@ describe('Create Item page - List ordering: Scoring cases', () => {
62
63
  before(() => {
63
64
  listOrderingPage.steps.navigateToCreateQuestion('list ordering');
64
65
  cy.barsPreLoaderWait();
66
+ listOrderingPage.steps.addTextInQuestionInstructionsInputField('Arrange options in correct order.');
65
67
  listOrderingPage.steps.addInputToOptionsInputField(options);
66
68
  listOrderingPage.steps.expandScoringTypeDropdown();
67
69
  listOrderingPage.steps.selectOptionFromScoringTypeDropdown('Non scored');