itemengine-cypress-automation 1.0.381-fixes-r1-4b1054a.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 (294) 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/drawingResponsePreviewTabContents.smoke.js +1 -3
  59. package/cypress/e2e/ILC/EssayResponse/editTabBasicSections.js +23 -37
  60. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +210 -0
  61. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/draggableOptions.js +2 -0
  62. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/editTabBasicSection.js +1 -1
  63. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/headerSection.js +3 -3
  64. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViewInIncompleteAuthoring.smoke.js +7 -7
  65. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViews.smoke.js +11 -11
  66. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editQuestion.smoke.js +40 -0
  67. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editTabBasicSection.js +1 -1
  68. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/headerSection.js +3 -3
  69. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +216 -0
  70. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/headerSection.js +3 -3
  71. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editQuestion.smoke.js +45 -0
  72. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editTabBasicSection.js +1 -1
  73. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/headerSection.js +4 -4
  74. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/HeaderSection.js +4 -4
  75. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/editQuestion.smoke.js +1 -1
  76. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/responseAnswersAndAcceptedStudentInput.js +4 -0
  77. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/supportedFileTypes.js +3 -1
  78. package/cypress/e2e/ILC/FillInTheGapsTextNew/editTabBasicSection.js +1 -1
  79. package/cypress/e2e/ILC/FillInTheGapsTextNew/headerSection.js +3 -3
  80. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +73 -0
  81. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +38 -0
  82. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +38 -0
  83. package/cypress/e2e/ILC/Graphing/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +87 -0
  84. package/cypress/e2e/ILC/Graphing/allOrNothingForAllViews.smoke.js +2 -2
  85. package/cypress/e2e/ILC/Graphing/checkAddAlternativeButton.js +35 -0
  86. package/cypress/e2e/ILC/Graphing/editQuestion.smoke.js +28 -0
  87. package/cypress/e2e/ILC/Graphing/editTabBasicSection.js +38 -0
  88. package/cypress/e2e/ILC/Graphing/editTabScoringSection.js +1 -0
  89. package/cypress/e2e/ILC/Graphing/headerSection.js +36 -4
  90. package/cypress/e2e/ILC/Graphing/layoutAndGridOptions.js +6 -3
  91. package/cypress/e2e/ILC/GridFill/addAlternateButton.js +40 -0
  92. package/cypress/e2e/ILC/GridFill/allOrNothingBasicForAllViews.smoke.js +210 -0
  93. package/cypress/e2e/ILC/GridFill/customizeLayoutFillImageBackgroundImage.js +2 -2
  94. package/cypress/e2e/ILC/GridFill/headerSection.js +4 -4
  95. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +39 -0
  96. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  97. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +39 -0
  98. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountAllOrNothingCorrectPointsGreaterThanAlternativePoints.js +37 -0
  99. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountallOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  100. package/cypress/e2e/ILC/GridFill/scoring/cellshadeCountAllOrNothingAlternativePointsGreaterThanCorrectPoints.js +36 -0
  101. package/cypress/e2e/ILC/GridFill/scoring/checkLabelSaveAsYouGo.js +75 -0
  102. package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +2 -1
  103. package/cypress/e2e/ILC/ImageHighlight/additionalSettingsBasic.js +1 -0
  104. package/cypress/e2e/ILC/ImageHighlight/allOrNothingForAllViews.smoke.js +212 -0
  105. package/cypress/e2e/ILC/ImageHighlight/customiseHighlightStyle.js +29 -0
  106. package/cypress/e2e/ILC/ImageHighlight/editTabBasicSection.js +1 -1
  107. package/cypress/e2e/ILC/ImageHighlight/headerSection.js +3 -3
  108. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +24 -0
  109. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +24 -0
  110. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +24 -0
  111. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +86 -0
  112. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/manuallyAndNonScored.js +2 -4
  113. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +1 -1
  114. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +237 -1
  115. package/cypress/e2e/ILC/ListOrderingDropdown/checkAddAlternativeButton.js +35 -0
  116. package/cypress/e2e/ILC/ListOrderingDropdown/editTabBasicSection.js +24 -0
  117. package/cypress/e2e/ILC/ListOrderingDropdown/headerSection.js +108 -0
  118. package/cypress/e2e/ILC/ListOrderingDropdown/manuallyAndNonScoredEditTab.js +2 -1
  119. package/cypress/e2e/ILC/ListOrderingDropdown/previewContentsForAllViews.smoke.js +2 -4
  120. package/cypress/e2e/ILC/ListOrderingDropdown/specifyCorrectAnswerSection.js +7 -12
  121. package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/specifyCorrectAnswerSection.js +10 -14
  122. package/cypress/e2e/ILC/ListOrderingNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +52 -0
  123. package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +215 -0
  124. package/cypress/e2e/ILC/ListOrderingNew/editTabBasicSection.js +23 -0
  125. package/cypress/e2e/ILC/ListOrderingNew/headerSection.js +36 -9
  126. package/cypress/e2e/ILC/ListOrderingNew/manuallyAndNonScoredEditTab.js +2 -0
  127. package/cypress/e2e/ILC/ListOrderingNew/specifyCorrectAnswerSection.js +7 -23
  128. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +41 -0
  129. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +30 -0
  130. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +50 -0
  131. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +101 -0
  132. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/allOrNothingForAllViews.smoke.js +309 -0
  133. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/checkAddAlternativeButton.js +38 -0
  134. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabBasicSection.js +24 -0
  135. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabScoring.js +4 -1
  136. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/headerSection.js +38 -3
  137. package/cypress/e2e/ILC/Matching/Scoring/blankResponseScoring.js +38 -41
  138. package/cypress/e2e/ILC/Matching/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +98 -0
  139. package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +210 -0
  140. package/cypress/e2e/ILC/Matching/checkAlternativeButton.js +38 -0
  141. package/cypress/e2e/ILC/Matching/clickAndDrop.js +5 -5
  142. package/cypress/e2e/ILC/Matching/draggableOptions.js +7 -0
  143. package/cypress/e2e/ILC/Matching/editQuestion.smoke.js +3 -2
  144. package/cypress/e2e/ILC/Matching/editTabBasicSection.js +41 -0
  145. package/cypress/e2e/ILC/Matching/headerSection.js +38 -12
  146. package/cypress/e2e/ILC/Matching/questionInstructionsAndPromptSection.js +2 -15
  147. package/cypress/e2e/ILC/Matching/studentViewSettings.js +2 -0
  148. package/cypress/e2e/ILC/Matching/studentViewSettingsForGroupedLayout.js +1 -1
  149. package/cypress/e2e/ILC/MatchingDropdown/Scoring/blankResponseScoring.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/checkAddAlternativeButton.js +32 -0
  164. package/cypress/e2e/ILC/NumberLine/editTabSection.js +38 -0
  165. package/cypress/e2e/ILC/NumberLine/headerSection.js +33 -4
  166. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +81 -0
  167. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +43 -0
  168. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +43 -0
  169. package/cypress/e2e/ILC/NumberLineLabel/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +76 -0
  170. package/cypress/e2e/ILC/NumberLineLabel/additionalSettingsBasic.js +1 -1
  171. package/cypress/e2e/ILC/NumberLineLabel/checkAddAlternativeButton.js +34 -0
  172. package/cypress/e2e/ILC/NumberLineLabel/editTabSection.js +38 -0
  173. package/cypress/e2e/ILC/NumberLineLabel/headerSection.js +37 -5
  174. package/cypress/e2e/ILC/NumberLineLabel/manuallyAndNonScoredEditTab.js +2 -1
  175. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/editQuestion.smoke.js +1 -1
  176. package/cypress/e2e/ILC/ShortTextResponseNew/allOrNothingBasicForAllViews.smoke.js +186 -0
  177. package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +33 -49
  178. package/cypress/e2e/ILC/ShortTextResponseNew/headerSection.js +2 -4
  179. package/cypress/e2e/ILC/SingleSelection/editTabBasicSection.js +1 -1
  180. package/cypress/e2e/ILC/SingleSelection/headerSection.js +2 -2
  181. package/cypress/e2e/ILC/SingleSelectionGridNew/editTabBasicSection.js +2 -2
  182. package/cypress/e2e/ILC/SingleSelectionGridNew/headerSection.js +3 -3
  183. package/cypress/e2e/ILC/SingleSelectionGridNew/previewContentsForAllViews.smoke.js +101 -70
  184. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +86 -0
  185. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +86 -0
  186. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  187. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +3 -1
  188. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  189. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  190. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsScoringBasic.js +10 -3
  191. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +4 -2
  192. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +5 -3
  193. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  194. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsScoringBasic.js +4 -0
  195. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +64 -0
  196. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAddEvaluation.js +2 -0
  197. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAlternateAnswer.js +2 -0
  198. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +64 -0
  199. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  200. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  201. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  202. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  203. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsScoringBasic.js +8 -0
  204. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  205. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  206. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  207. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasic.js +1 -0
  208. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasicForAlternateAnswer.js +2 -0
  209. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +2 -0
  210. package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +27 -3
  211. package/cypress/e2e/ILC/TextEntryMath/headerSection.js +43 -0
  212. package/cypress/e2e/ILC/TextSelection/additionalSettings.js +1 -0
  213. package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +231 -0
  214. package/cypress/e2e/ILC/TextSelection/editTabBasicSection.js +2 -2
  215. package/cypress/e2e/ILC/TextSelection/headerSection.js +3 -3
  216. package/cypress/e2e/ILC/TextSelection/minimumScoringPenaltyPointsAndRoundingDropdown.js +1 -0
  217. package/cypress/e2e/ILC/ThinkSphere/createReviewItem.js +1 -1
  218. package/cypress/e2e/ILC/ThinkSphere/editTabBasicSection.js +1 -1
  219. package/cypress/e2e/ILC/ThinkSphere/editThinkSphereQuestion.smoke.js +145 -54
  220. package/cypress/e2e/ILC/ThinkSphere/equationEditorEditCategoryFlyOut.js +2 -0
  221. package/cypress/e2e/ILC/ThinkSphere/planPhase.js +45 -5
  222. package/cypress/e2e/ILC/ThinkSphere/previewTabPlanSection.js +8 -8
  223. package/cypress/e2e/ILC/ThinkSphere/previewTabReviewSection.js +97 -0
  224. package/cypress/e2e/ILC/ThinkSphere/previewTabSolveSection.js +36 -0
  225. package/cypress/e2e/ILC/ThinkSphere/solvePhase.js +3 -3
  226. package/cypress/e2e/ILC/ThinkSphere/studentViewPlanTabSection.js +393 -0
  227. package/cypress/e2e/ILC/ThinkSphere/studentViewReviewTabSection.js +141 -0
  228. package/cypress/e2e/ILC/ToolAudioPlayerNew/headerSection.js +90 -2
  229. package/cypress/e2e/ILC/UploadResponse/editTabBasicSection.js +34 -0
  230. package/cypress/e2e/ILC/UploadResponse/headerSection.js +38 -1
  231. package/cypress/e2e/ILC/UploadResponse/uploadResponsePreview.js +50 -13
  232. package/cypress/e2e/ILC/VideoResponseNew/editTabBasicSection.js +14 -29
  233. package/cypress/e2e/ILC/chartsDotsPlot/headerSection.js +16 -1
  234. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsBasic.js +27 -28
  235. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +31 -30
  236. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +24 -24
  237. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +39 -37
  238. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsBasic.js +22 -23
  239. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +31 -30
  240. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +25 -24
  241. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +31 -31
  242. package/cypress/e2e/ILC/chartsDotsPlot/scoring/toleranceThresholdScoring.js +18 -19
  243. package/cypress/e2e/ILC/chartsDotsPlot/specifyCorrectAnswerSection.js +96 -0
  244. package/cypress/e2e/Sessions/fetchResponses.js +3 -3
  245. package/cypress/e2e/Sessions/saveResponseScores.js +2 -2
  246. package/cypress/fixtures/thinkSphereWhiteboardTools.js +66 -0
  247. package/cypress/pages/audioPlayerPage.js +47 -22
  248. package/cypress/pages/brainingCampManipulativePage.js +1 -1
  249. package/cypress/pages/chartsBarPage.js +45 -0
  250. package/cypress/pages/chartsDotPlotPage.js +25 -0
  251. package/cypress/pages/chartsLinePage.js +28 -3
  252. package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +5 -1
  253. package/cypress/pages/components/chartsCommonComponent.js +6 -2
  254. package/cypress/pages/components/ckEditorEquationEditorComponent.js +1 -0
  255. package/cypress/pages/components/ckEditorInsertImageComponent.js +3 -3
  256. package/cypress/pages/components/ckEditorInsertTableComponent.js +3 -3
  257. package/cypress/pages/components/ckEditorLinkComponent.js +8 -9
  258. package/cypress/pages/components/colorPopupComponent.js +6 -0
  259. package/cypress/pages/components/createQuestionBasePage.js +19 -6
  260. package/cypress/pages/components/desmosToolComponent.js +1 -1
  261. package/cypress/pages/components/draggableOptionsSectionComponent.js +2 -0
  262. package/cypress/pages/components/equationEditorSectionCommonComponent.js +10 -25
  263. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +31 -3
  264. package/cypress/pages/components/gridQuestionCommonComponent.js +55 -2
  265. package/cypress/pages/components/imageCanvasComponent.js +11 -5
  266. package/cypress/pages/components/questionInstructionsComponent.js +2 -0
  267. package/cypress/pages/components/scoringSectionBaseEditTab.js +3 -0
  268. package/cypress/pages/components/specifyRowsAndColumnsComponent.js +16 -0
  269. package/cypress/pages/contentBlocksPage.js +2 -0
  270. package/cypress/pages/desmos3DGraphingPage.js +149 -4
  271. package/cypress/pages/desmosGeometryPage.js +184 -4
  272. package/cypress/pages/drawingResponsePage.js +10 -1
  273. package/cypress/pages/fillInTheGapsDragAndDropPage.js +3 -8
  274. package/cypress/pages/gradingGridViewPage.js +64 -0
  275. package/cypress/pages/graphingPage.js +27 -8
  276. package/cypress/pages/gridFillPage.js +27 -9
  277. package/cypress/pages/imageHighlightPage.js +115 -15
  278. package/cypress/pages/index.js +1 -0
  279. package/cypress/pages/listOrderingPage.js +40 -1
  280. package/cypress/pages/matchingPage.js +29 -10
  281. package/cypress/pages/numberLineLabelPage.js +31 -8
  282. package/cypress/pages/numberLinePage.js +19 -7
  283. package/cypress/pages/singleSelectionPage.js +30 -1
  284. package/cypress/pages/textEntryMathPage.js +24 -1
  285. package/cypress/pages/textSelectionPage.js +2 -2
  286. package/cypress/pages/thinkSpherePage.js +928 -87
  287. package/cypress/pages/uploadResponsePage.js +17 -1
  288. package/cypress/pages/videoResponsePage.js +3 -0
  289. package/cypress/support/commands.js +9 -0
  290. package/cypress/support/helpers/createItem.js +22 -3
  291. package/cypress/support/helpers/utilities.js +14 -1
  292. package/package.json +2 -2
  293. /package/cypress/e2e/ILC/{ChartsDotsPlot → chartsDotsPlot}/checkAnswerFunctionalityForAllViews.js +0 -0
  294. /package/cypress/e2e/ILC/{ChartsDotsPlot → chartsDotsPlot}/editQuestion.smoke.js +0 -0
@@ -23,8 +23,8 @@ describe('Insert Table: Edit tab', () => {
23
23
  it('\'Table style\' label, \'Border\' label and \'Clear all\' button should be displayed.', () => {
24
24
  utilities.verifyInnerText(multipleSelectionPage.tableStyleLabel(), 'Table style');
25
25
  utilities.verifyElementVisibilityState(multipleSelectionPage.tableStyleLabel(), 'visible');
26
- utilities.verifyInnerText(multipleSelectionPage.borderLabel(), 'Border');
27
- utilities.verifyElementVisibilityState(multipleSelectionPage.borderLabel(), 'visible');
26
+ utilities.verifyInnerText(multipleSelectionPage.tableBorderLabel(), 'Border');
27
+ utilities.verifyElementVisibilityState(multipleSelectionPage.tableBorderLabel(), 'visible');
28
28
  utilities.verifyInnerText(multipleSelectionPage.clearAllTableStyle(), 'Clear all');
29
29
  utilities.verifyElementVisibilityState(multipleSelectionPage.clearAllTableStyle(), 'visible');
30
30
  });
@@ -35,7 +35,7 @@ describe('Insert Table: Edit tab', () => {
35
35
  'font-size': '12px',
36
36
  'font-weight': '700'
37
37
  });
38
- utilities.verifyCSS(multipleSelectionPage.borderLabel(), {
38
+ utilities.verifyCSS(multipleSelectionPage.tableBorderLabel(), {
39
39
  'color': 'rgb(0, 0, 0)',
40
40
  'font-size': '12px',
41
41
  'font-weight': '400'
@@ -82,16 +82,16 @@ describe('Insert Table: Edit tab', () => {
82
82
  it('\'Border size\' label and input field with default value 1, \'Striped\' label and 3 strip options with default value none and \'Add hover state\' label and dropdown with default value none should be displayed.', () => {
83
83
  multipleSelectionPage.steps.scrollingDownInInsertTablePopUp();
84
84
  utilities.verifyInnerText(multipleSelectionPage.borderSizeLabel(), 'Border size');
85
- utilities.verifyElementVisibilityState(multipleSelectionPage.borderSizeLabel(), 'visible');
86
- utilities.verifyElementVisibilityState(multipleSelectionPage.borderSizeInputField(), 'visible');
85
+ utilities.verifyElementVisibilityState(multipleSelectionPage.borderSizeLabel(), 'exist');
86
+ utilities.verifyElementVisibilityState(multipleSelectionPage.borderSizeInputField(), 'exist');
87
87
  utilities.verifyInnerText(multipleSelectionPage.stripedLabel(), 'Striped');
88
- utilities.verifyElementVisibilityState(multipleSelectionPage.stripedLabel(), 'visible');
89
- utilities.verifyElementVisibilityState(multipleSelectionPage.clearStripes(), 'visible');
90
- utilities.verifyElementVisibilityState(multipleSelectionPage.horizontalStripes(), 'visible');
91
- utilities.verifyElementVisibilityState(multipleSelectionPage.verticalStripes(), 'visible');
88
+ utilities.verifyElementVisibilityState(multipleSelectionPage.stripedLabel(), 'exist');
89
+ utilities.verifyElementVisibilityState(multipleSelectionPage.clearStripes(), 'exist');
90
+ utilities.verifyElementVisibilityState(multipleSelectionPage.horizontalStripes(), 'exist');
91
+ utilities.verifyElementVisibilityState(multipleSelectionPage.verticalStripes(), 'exist');
92
92
  utilities.verifyInnerText(multipleSelectionPage.addHoverStateLabel(), 'Add hover state');
93
- utilities.verifyElementVisibilityState(multipleSelectionPage.addHoverStateLabel(), 'visible');
94
- utilities.verifyElementVisibilityState(multipleSelectionPage.addHoverStateDropDown(), 'visible');
93
+ utilities.verifyElementVisibilityState(multipleSelectionPage.addHoverStateLabel(), 'exist');
94
+ utilities.verifyElementVisibilityState(multipleSelectionPage.addHoverStateDropDown(), 'exist');
95
95
  });
96
96
 
97
97
  it('CSS of \'Border size\' label and input field, \'Striped\' label and strip options and \'Add hover state\' label and dropdown', { tags: 'css' }, () => {
@@ -24,7 +24,7 @@ describe('Link Ck Editor: Edit tab', () => {
24
24
  utilities.verifyElementVisibilityState(multipleSelectionPage.uploadSectionTitle(), 'visible');
25
25
  utilities.verifyInnerText(multipleSelectionPage.uploadTitle(), 'Upload');
26
26
  utilities.verifyElementVisibilityState(multipleSelectionPage.uploadTitle(), 'visible');
27
- utilities.verifyElementVisibilityState(multipleSelectionPage.insertImageChooseFileButton(), 'visible');
27
+ utilities.verifyElementVisibilityState(multipleSelectionPage.insertImageChooseFileButton(), 'exist');
28
28
  utilities.verifyInnerText(multipleSelectionPage.sendItToServerButton(), 'Send it to the Server');
29
29
  utilities.verifyElementVisibilityState(multipleSelectionPage.sendItToServerButton(), 'visible');
30
30
  });
@@ -1,8 +1,12 @@
1
- import { contentBlocksPage } from "../../../pages";
1
+ import { contentBlocksPage, dialogBoxBase, itemPreviewPage } from "../../../pages";
2
+ import { browseItemsPage } from "../../../pages/components";
2
3
  import abortEarlySetup from "../../../support/helpers/abortEarly";
3
4
  import utilities from "../../../support/helpers/utilities";
4
5
  const css = Cypress.env('css');
5
6
 
7
+ var itemReferenceID = "";
8
+
9
+ //Failing due to https://weldnorthed.atlassian.net/browse/IEI-6190
6
10
  describe('Content blocks - Edit tab', () => {
7
11
  before(() => {
8
12
  cy.loginAs('admin');
@@ -82,6 +86,62 @@ describe('Content blocks - Edit tab', () => {
82
86
  it('Accessibility of header section', { tags: 'a11y' }, () => {
83
87
  cy.checkAccessibility(contentBlocksPage.headerLabel().parents('content-blocks'));
84
88
  });
89
+
90
+ describe('Saving a question with incomplete authoring', () => {
91
+ abortEarlySetup();
92
+ before(() => {
93
+ contentBlocksPage.steps.navigateToCreateResource('content blocks');
94
+ });
95
+
96
+ it('User should be able to save the resource with incomplete authoring and display a snackbar with the text "Saved successfully!" when the Save button is clicked', () => {
97
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please enter text block.']);
98
+ contentBlocksPage.steps.saveAQuestionWithIncompleteAuthoring();
99
+ });
100
+ contentBlocksPage.tests.verifySavedSuccessfullySnackbarCSSAndA11y();
101
+ });
102
+
103
+ describe('User should be able to edit incomplete authored resource', () => {
104
+ abortEarlySetup();
105
+ before(() => {
106
+ contentBlocksPage.steps.navigateToCreateResource('content blocks');
107
+ contentBlocksPage.steps.saveAQuestionWithIncompleteAuthoring();
108
+ contentBlocksPage.steps.editItem();
109
+ });
110
+
111
+ it('Warning icons should be displayed on the required input fields', () => {
112
+ contentBlocksPage.steps.verifyWarningIconOnRequiredFields([
113
+ 'Please enter text block.',
114
+ ]);
115
+ });
116
+
117
+ it('When required input fields are filled then warning icons should disappear', () => {
118
+ contentBlocksPage.steps.enterTextInTextBlockInputField(0, 'Text block text');
119
+ contentBlocksPage.steps.verifyErrorMessageIsNotDisplayed();
120
+ });
121
+
122
+ it('Clicking on Save button the question should get saved and a snackbar with text \'Saved successfully!\' should be displayed', () => {
123
+ contentBlocksPage.steps.saveAQuestionAndVerifySnackbar();
124
+ });
125
+
126
+ it('Warning icon should not be visible', () => {
127
+ contentBlocksPage.steps.verifyWarningIconNotExist();
128
+ });
129
+ });
130
+
131
+ describe('Save as you go - Browse item page contents', () => {
132
+ abortEarlySetup();
133
+ before(() => {
134
+ contentBlocksPage.steps.navigateToCreateResource('content blocks');
135
+ contentBlocksPage.steps.saveAQuestionWithIncompleteAuthoring();
136
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
137
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
138
+ browseItemsPage.steps.navigateToBrowseItemsPage();
139
+ });
140
+
141
+ it('When user saves an incompletely authored resource then a warning icon should be visible in browse items page', () => {
142
+ browseItemsPage.steps.verifyWarningIconInBrowseItemPage(`${itemReferenceID}`);
143
+ });
144
+ });
85
145
  });
86
146
 
87
147
  describe('Body section', () => {
@@ -113,10 +173,9 @@ describe('Content blocks - Edit tab', () => {
113
173
  contentBlocksPage.steps.verifyTextBlockInputFieldPlaceholderTextNotExist(contentBlocksPage.verifyTextBlockInputFieldPlaceholderText);
114
174
  });
115
175
 
116
- it('When user clears text and focuses out of text block input field, then error message \'Error: Text block is required.\' should be displayed', () => {
176
+ it('When user clears text and focuses out of text block input field, then error message should not be displayed', () => {
117
177
  contentBlocksPage.steps.clearAndFocusOutOfTextBlockInputField();
118
- utilities.verifyInnerText(contentBlocksPage.errorMessage(), 'Error: Text block is required.');
119
- utilities.verifyElementVisibilityState(contentBlocksPage.errorMessage(), 'visible');
178
+ utilities.verifyElementVisibilityState(contentBlocksPage.errorMessage(), 'notExist');
120
179
  });
121
180
 
122
181
  it('When user enters text again then error message should not be displayed', () => {
@@ -251,12 +251,15 @@ describe('Create item page - Drag and drop into categories: All or nothing ', ()
251
251
  case 'Question preview':
252
252
  dragAndDropIntoCategoriesPage.steps.navigateToCreateQuestion('drag and drop into categories');
253
253
  cy.barsPreLoaderWait();
254
+ dragAndDropIntoCategoriesPage.steps.addTextInQuestionInstructionsInputField('Drag and drop options in correct categories.');
254
255
  dragAndDropIntoCategoriesPage.steps.expandScoringTypeDropdown();
255
256
  dragAndDropIntoCategoriesPage.steps.selectOptionFromScoringTypeDropdown('Manually scored');
256
257
  utilities.verifyInnerText(dragAndDropIntoCategoriesPage.scoringTypeDropdown(), 'Manually scored');
257
258
  cy.log('Adding wait to ensure Manually scored is selected');
258
259
  cy.wait(2000);
260
+ dragAndDropIntoCategoriesPage.steps.allotPoints(20);
259
261
  dragAndDropIntoCategoriesPage.steps.addInputToOptionsInputField(['Parrot', 'Whale']);
262
+ dragAndDropIntoCategoriesPage.steps.switchToPreviewTab();
260
263
  break;
261
264
  case 'Grading view':
262
265
  cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
@@ -282,6 +285,11 @@ describe('Create item page - Drag and drop into categories: All or nothing ', ()
282
285
  });
283
286
  };
284
287
 
288
+ it('Question instructions should be visible', () => {
289
+ dragAndDropIntoCategoriesPage.steps.verifyQuestionInstructionsTextPreviewTab('Drag and drop options in correct categories.');
290
+ dragAndDropIntoCategoriesPage.steps.verifyVisibityOfQuestionInstructionsText();
291
+ });
292
+
285
293
  it('When the user selects \'Grading\' view, correct answer section should not be displayed', () => {
286
294
  if (view === 'Grading view') {
287
295
  studentViewPage.steps.submitResponse();
@@ -290,6 +298,23 @@ describe('Create item page - Drag and drop into categories: All or nothing ', ()
290
298
  dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerSectionNotExists();
291
299
  };
292
300
  });
301
+
302
+ 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', () => {
303
+ dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Parrot': 0, 'Whale': 1 });
304
+ if (view === 'Grading view') {
305
+ studentViewPage.steps.submitResponse();
306
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
307
+ studentViewPage.steps.clickOnGoToGradingViewButton();
308
+ gradingViewPage.steps.verifyGradingViewScore('', 20);
309
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectIncorrectIconsNotExist();
310
+ dragAndDropIntoCategoriesPage.steps.verifyAnswerStatusBannerNotExist();
311
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerSectionNotExist();
312
+ };
313
+ if (view === 'Question preview' || view === 'Item preview') {
314
+ dragAndDropIntoCategoriesPage.steps.switchToPreviewTab();
315
+ dragAndDropIntoCategoriesPage.steps.checkManuallyScoredScoringLabel();
316
+ };
317
+ });
293
318
  });
294
319
  });
295
320
 
@@ -398,8 +423,8 @@ describe('Create item page - Drag and drop into categories: All or nothing ', ()
398
423
  };
399
424
 
400
425
  views.forEach((view) => {
401
- //https://weldnorthed.atlassian.net/browse/IEI-5151
402
- describe(`${view}: Drag and drop into categories - Auto Scored with 0 points`, { tags: 'smoke' }, () => {
426
+ //Failing due to https://weldnorthed.atlassian.net/browse/IEI-5151
427
+ describe.skip(`${view}: Drag and drop into categories - Auto Scored with 0 points`, { tags: 'smoke' }, () => {
403
428
  abortEarlySetup();
404
429
  before(() => {
405
430
  switch (view) {
@@ -447,18 +472,20 @@ describe('Create item page - Drag and drop into categories: All or nothing ', ()
447
472
  })
448
473
 
449
474
  views.forEach((view) => {
450
- //https://weldnorthed.atlassian.net/browse/IEI-5151
451
- describe(`${view}: Drag and drop into categories - Non Scored`, { tags: 'smoke' }, () => {
475
+ //Failing due to https://weldnorthed.atlassian.net/browse/IEI-5151
476
+ describe.skip(`${view}: Drag and drop into categories - Non Scored`, { tags: 'smoke' }, () => {
452
477
  abortEarlySetup();
453
478
  before(() => {
454
479
  switch (view) {
455
480
  case 'Question preview':
456
481
  dragAndDropIntoCategoriesPage.steps.navigateToCreateQuestion('drag and drop into categories');
457
482
  cy.barsPreLoaderWait();
458
- dragAndDropIntoCategoriesPage.steps.addInputToOptionsInputField(['Bat', 'Eagle']);
459
- dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzoneSpecifyCorrectAnswerSection({ 'Bat': 0, 'Eagle': 1 });
460
483
  dragAndDropIntoCategoriesPage.steps.expandScoringTypeDropdown();
461
484
  dragAndDropIntoCategoriesPage.steps.selectOptionFromScoringTypeDropdown('Non scored');
485
+ dragAndDropIntoCategoriesPage.steps.addMultipleOptionFields(7);
486
+ dragAndDropIntoCategoriesPage.steps.addInputToOptionsInputField(['Bat', 'Eagle', 'Parrot', 'Whale', 'Platypus', 'Ostrich', 'Flying squirrel', 'Peacock', 'Kite']);
487
+ dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzoneSpecifyCorrectAnswerSection({ 'Bat': 0, 'Eagle': 1, 'Parrot': 2, 'Platypus': 3, 'Ostrich': 4, 'Whale': 5, 'Flying squirrel': 6, 'Peacock': 7, 'Kite': 8 });
488
+ dragAndDropIntoCategoriesPage.steps.switchToPreviewTab();
462
489
  break;
463
490
  case 'Grading view':
464
491
  cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
@@ -484,15 +511,97 @@ describe('Create item page - Drag and drop into categories: All or nothing ', ()
484
511
  });
485
512
  };
486
513
 
514
+ 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', () => {
515
+ if (view === 'Grading view') {
516
+ studentViewPage.steps.submitResponse();
517
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
518
+ studentViewPage.steps.clickOnGoToGradingViewButton();
519
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
520
+ };
521
+ if (view === 'Question preview' || view === 'Item preview') {
522
+ dragAndDropIntoCategoriesPage.steps.switchToPreviewTab();
523
+ dragAndDropIntoCategoriesPage.steps.switchToGradingView();
524
+ dragAndDropIntoCategoriesPage.steps.checkNonScoredScoringLabel();
525
+ dragAndDropIntoCategoriesPage.steps.verifyPreviewTabPointsBackgroundForIncorrectOrPartiallyCorrectAnswer();
526
+ };
527
+ utilities.verifyInnerText(dragAndDropIntoCategoriesPage.correctAnswersLabel(), 'Correct answers');
528
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectIncorrectIconsNotExist();
529
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bat'], ['Eagle'], ['Parrot'], ['Platypus'], ['Ostrich'], ['Whale'], ['Flying squirrel'], ['Peacock'], ['Kite']], ['1', '2', '3', '4', '5', '6', '7', '8', '9']);
530
+ });
531
+
487
532
  it('When the user attempts the question incorrectly for a non scored Question, then the incorrect Answer label and correct answer section should not be displayed', () => {
488
533
  if (view === 'Grading view') {
489
- dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Bat': 0, 'Eagle': 7 });
534
+ dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Bat': 8, 'Eagle': 7, 'Parrot': 3, 'Platypus': 2, 'Ostrich': 8, 'Whale': 6, 'Ostrich': 0, 'Flying squirrel': 5, 'Peacock': 4, 'Kite': 1 });
490
535
  studentViewPage.steps.submitResponse();
491
536
  utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
492
537
  studentViewPage.steps.clickOnGoToGradingViewButton();
493
538
  dragAndDropIntoCategoriesPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
539
+ dragAndDropIntoCategoriesPage.steps.verifyIncorrectOptionIcon(0);
540
+ dragAndDropIntoCategoriesPage.steps.verifyIncorrectOptionIcon(1);
541
+ dragAndDropIntoCategoriesPage.steps.verifyIncorrectOptionIcon(2);
542
+ dragAndDropIntoCategoriesPage.steps.verifyIncorrectOptionIcon(3);
543
+ dragAndDropIntoCategoriesPage.steps.verifyIncorrectOptionIcon(4);
544
+ dragAndDropIntoCategoriesPage.steps.verifyIncorrectOptionIcon(5);
545
+ dragAndDropIntoCategoriesPage.steps.verifyIncorrectOptionIcon(6);
546
+ dragAndDropIntoCategoriesPage.steps.verifyIncorrectOptionIcon(7);
547
+ dragAndDropIntoCategoriesPage.steps.verifyIncorrectOptionIcon(8);
548
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bat'], ['Eagle'], ['Parrot'], ['Platypus'], ['Ostrich'], ['Whale'], ['Flying squirrel'], ['Peacock'], ['Kite']], ['1', '2', '3', '4', '5', '6', '7', '8', '9']);
494
549
  };
495
550
  });
551
+
552
+ it('hen the user attempts the question partially correct, then the user should be awarded 0 points and on switching to "Grading" view, correct icon should be displayed beside the correct answer responses, incorrect icon should be displayed beside incorrect answer responses, a status message with text "Your answer is incorrect" and correct answer section with all correct answers should be displayed', () => {
553
+ if (view === 'Grading view') {
554
+ studentViewPage.steps.clearResponses();
555
+ };
556
+ dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Bat': 0, 'Eagle': 1, 'Parrot': 2, 'Platypus': 4 });
557
+ if (view === 'Grading view') {
558
+ studentViewPage.steps.submitResponse();
559
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
560
+ studentViewPage.steps.clickOnGoToGradingViewButton();
561
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
562
+ };
563
+ if (view === 'Question preview' || view === 'Item preview') {
564
+ dragAndDropIntoCategoriesPage.steps.checkNonScoredScoringLabel();
565
+ dragAndDropIntoCategoriesPage.steps.switchToGradingView();
566
+ };
567
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(0);
568
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(1);
569
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(2);
570
+ dragAndDropIntoCategoriesPage.steps.verifyIncorrectOptionIcon(3);
571
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
572
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bat'], ['Eagle'], ['Parrot'], ['Platypus'], ['Ostrich'], ['Whale'], ['Flying squirrel'], ['Peacock'], ['Kite']], ['1', '2', '3', '4', '5', '6', '7', '8', '9']);
573
+ });
574
+
575
+ 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', () => {
576
+ if (view === 'Question preview' || view === 'Item preview') {
577
+ dragAndDropIntoCategoriesPage.steps.resetQuestionPreview();
578
+ };
579
+ if (view === 'Grading view') {
580
+ studentViewPage.steps.clearResponses();
581
+ };
582
+ dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Bat': 0, 'Eagle': 1, 'Parrot': 2, 'Platypus': 3, 'Ostrich': 4, 'Whale': 5, 'Flying squirrel': 6, 'Peacock': 7, 'Kite': 8 });
583
+ if (view === 'Grading view') {
584
+ studentViewPage.steps.submitResponse();
585
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
586
+ studentViewPage.steps.clickOnGoToGradingViewButton();
587
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
588
+ };
589
+ if (view === 'Question preview' || view === 'Item preview') {
590
+ dragAndDropIntoCategoriesPage.steps.checkNonScoredScoringLabel();
591
+ dragAndDropIntoCategoriesPage.steps.switchToGradingView();
592
+ };
593
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(0);
594
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(1);
595
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(2);
596
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(3);
597
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(4);
598
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(5);
599
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(6);
600
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(7);
601
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(8);
602
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
603
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerSectionNotExists();
604
+ });
496
605
  });
497
606
 
498
607
  })
@@ -92,7 +92,7 @@ describe('Create item page - Drag and drop into categories: Question instruction
92
92
  });
93
93
 
94
94
  it('When the user gives an input value lower than 1 i.e. 0 in the rows input stepper, then the columns value should be reset to 1', () => {
95
- dragAndDropIntoCategoriesPage.steps.addInputToRowInputStepper(0);
95
+ dragAndDropIntoCategoriesPage.steps.enterInputToRowInputStepper(0);
96
96
  dragAndDropIntoCategoriesPage.steps.verifyRowsInputStepperCountInputFieldValue(1);
97
97
  });
98
98
 
@@ -92,6 +92,7 @@ describe('Create item page - Drag and drop into categories: Scoring section', ()
92
92
  before(() => {
93
93
  dragAndDropIntoCategoriesPage.steps.navigateToCreateQuestion('drag and drop into categories');
94
94
  cy.barsPreLoaderWait();
95
+ dragAndDropIntoCategoriesPage.steps.addTextInQuestionInstructionsInputField('Drag and drop into categories');
95
96
  });
96
97
 
97
98
 
@@ -48,11 +48,11 @@ describe('Create item page - Drag and drop into categories: Header section and S
48
48
  });
49
49
 
50
50
  describe('Validation error messages', () => {
51
- dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please enter all option values', 'Please set points']);
51
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please enter all option values.', 'Please set points.']);
52
52
 
53
53
  it('Validation error messages should be displayed below required input fields', () => {
54
54
  dragAndDropIntoCategoriesPage.steps.verifyQuestionInstructionsErrorMessageIsNotDisplayed();
55
- dragAndDropIntoCategoriesPage.steps.verifyWarningIconOnRequiredFields(['Please enter all option values', 'Please set points']);
55
+ dragAndDropIntoCategoriesPage.steps.verifyWarningIconOnRequiredFields(['Please enter all option values.', 'Please set points.']);
56
56
  });
57
57
 
58
58
  it('Validation error messages should disappear when required input fields are filled', () => {
@@ -81,7 +81,7 @@ describe('Create item page - Drag and drop into categories: Header section and S
81
81
  });
82
82
 
83
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']);
84
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please enter all option values.', 'Please set points.']);
85
85
  dragAndDropIntoCategoriesPage.steps.saveAQuestionWithIncompleteAuthoring();
86
86
  });
87
87
  dragAndDropIntoCategoriesPage.tests.verifySavedSuccessfullySnackbarCSSAndA11y();
@@ -36,7 +36,7 @@ describe('Create Item page - Drag and drop into categories: Pagination cases - E
36
36
 
37
37
  it('When user clicks on the right arrow navigation button, then the table should be scrolled by one column towards its right and the left and right arrow navigation button should now be enabled', () => {
38
38
  cy.log('Pre-step: Setting number of columns to 15');
39
- dragAndDropIntoCategoriesPage.steps.addInputToColumnInputStepper(15);
39
+ dragAndDropIntoCategoriesPage.steps.addInputToColumnInputStepper(16);
40
40
  dragAndDropIntoCategoriesPage.steps.clickOnRightArrowNavigationButtonSpecifyCorrectAnswerSection();
41
41
  dragAndDropIntoCategoriesPage.steps.clickOnRightArrowNavigationButtonSpecifyCorrectAnswerSection();
42
42
  dragAndDropIntoCategoriesPage.steps.verifyColumnIsVisibleInTableSpecifyCorrectAnswer(7);
@@ -110,6 +110,7 @@ describe('Create Item page - drag and drop into categories: Student view setting
110
110
  before(() => {
111
111
  dragAndDropIntoCategoriesPage.steps.navigateToCreateQuestion('drag and drop into categories');
112
112
  cy.barsPreLoaderWait();
113
+ dragAndDropIntoCategoriesPage.steps.addTextInQuestionInstructionsInputField('Navigating to drag and drop into categories');
113
114
  utilities.verifyElementCount(dragAndDropIntoCategoriesPage.optionsInputField(), 2);
114
115
  dragAndDropIntoCategoriesPage.steps.expandDraggableOptionsLayoutDropdown();
115
116
  dragAndDropIntoCategoriesPage.steps.selectOptionFromDraggableOptionsLayoutDropdown('Grouped');
@@ -163,6 +164,7 @@ describe('Create Item page - drag and drop into categories: Student view setting
163
164
  dragAndDropIntoCategoriesPage.steps.navigateToCreateQuestion('drag and drop into categories');
164
165
  cy.barsPreLoaderWait();
165
166
  utilities.verifyElementCount(dragAndDropIntoCategoriesPage.optionsInputField(), 2);
167
+ dragAndDropIntoCategoriesPage.steps.addTextInQuestionInstructionsInputField('Navigating to drag and drop into categories');
166
168
  dragAndDropIntoCategoriesPage.steps.expandDraggableOptionsLayoutDropdown();
167
169
  dragAndDropIntoCategoriesPage.steps.selectOptionFromDraggableOptionsLayoutDropdown('Grouped');
168
170
  dragAndDropIntoCategoriesPage.steps.addGroupTitle(groupTitles[0]);
@@ -217,6 +219,7 @@ describe('Create Item page - drag and drop into categories: Student view setting
217
219
  dragAndDropIntoCategoriesPage.steps.navigateToCreateQuestion('drag and drop into categories');
218
220
  cy.barsPreLoaderWait();
219
221
  utilities.verifyElementCount(dragAndDropIntoCategoriesPage.optionsInputField(), 2);
222
+ dragAndDropIntoCategoriesPage.steps.addTextInQuestionInstructionsInputField('Navigating to drag and drop into categories');
220
223
  dragAndDropIntoCategoriesPage.steps.expandDraggableOptionsLayoutDropdown();
221
224
  dragAndDropIntoCategoriesPage.steps.selectOptionFromDraggableOptionsLayoutDropdown('Grouped');
222
225
  dragAndDropIntoCategoriesPage.steps.addGroupTitle(groupTitles[0]);
@@ -137,6 +137,7 @@ describe('Drawing response - Additional settings', () => {
137
137
  before(() => {
138
138
  drawingResponsePage.steps.navigateToCreateQuestion('Drawing Response');
139
139
  cy.barsPreLoaderWait();
140
+ drawingResponsePage.steps.switchToEditTab();
140
141
  drawingResponsePage.steps.expandAdditionalSettings();
141
142
  });
142
143
 
@@ -273,7 +273,6 @@ describe('Create item page - Drawing response: Background: Blank canvas, Image,
273
273
 
274
274
  it('When the user adds an image file and file upload is inprogress, file name and progress bar should be displayed below \'File name\' label. Progress bar should disappear once file is uploaded', () => {
275
275
  drawingResponsePage.steps.uploadFile('uploads/image.png');
276
- utilities.verifyElementVisibilityState(drawingResponsePage.fileUploadProgressBar(), 'visible');
277
276
  utilities.verifyInnerText(drawingResponsePage.uploadedFileNameLabel(), 'image.png');
278
277
  utilities.verifyElementVisibilityState(drawingResponsePage.uploadedFileNameLabel(), 'visible');
279
278
  utilities.verifyElementVisibilityState(drawingResponsePage.fileUploadProgressBar(), 'notExist');
@@ -285,7 +284,6 @@ describe('Create item page - Drawing response: Background: Blank canvas, Image,
285
284
 
286
285
  //upload the same file again
287
286
  drawingResponsePage.steps.uploadFile('uploads/image.png');
288
- utilities.verifyElementVisibilityState(drawingResponsePage.fileUploadProgressBar(), 'visible');
289
287
  utilities.verifyInnerText(drawingResponsePage.uploadedFileNameLabel(), 'image.png');
290
288
  utilities.verifyElementVisibilityState(drawingResponsePage.uploadedFileNameLabel(), 'visible');
291
289
  utilities.verifyElementVisibilityState(drawingResponsePage.fileUploadProgressBar(), 'notExist');
@@ -307,17 +305,13 @@ describe('Create item page - Drawing response: Background: Blank canvas, Image,
307
305
  utilities.verifyElementVisibilityState(drawingResponsePage.uploadedFileNameLabel(), 'visible');
308
306
  });
309
307
 
310
- it('When the user uploads a file that is not supported, following error message should be displayed: \'Error: The file type is not supported. Please upload a file with the following supported formats: JPG, PNG, GIF, SVG.\'', () => {
308
+ it('When the user uploads a file that is not supported, following error message should not be displayed', () => {
311
309
  drawingResponsePage.steps.uploadFile('uploads/sample.mp4')
312
- utilities.verifyInnerText(drawingResponsePage.errorMessage(), 'Error: The file type is not supported. Please upload a file with the following supported formats: JPG, PNG, GIF, SVG.');
313
- utilities.verifyElementVisibilityState(drawingResponsePage.errorMessage(), 'visible');
310
+ utilities.verifyElementVisibilityState(drawingResponsePage.errorMessage(), 'notExist');
314
311
  });
315
312
 
316
- drawingResponsePage.tests.verifyErrorMessageCSSAndA11y();
317
-
318
313
  it('When the user uploads supported format of image file, error message should disappear', () => {
319
314
  drawingResponsePage.steps.uploadFile('uploads/sample2.jpg');
320
- utilities.verifyElementVisibilityState(drawingResponsePage.errorMessage(), 'notExist');
321
315
  });
322
316
 
323
317
  //Failing due to https://redmine.zeuslearning.com/issues/555227
@@ -585,6 +585,7 @@ describe('Create item page - Drawing response: Customize special characters, Cus
585
585
  it('When the user has modified contents in the \'Fill color\' section in the edit tab, the updates should be displayed in the \'Fill color\' popup in the preview tab', () => {
586
586
  drawingResponsePage.steps.switchToPreviewTab();
587
587
  drawingResponsePage.steps.selectPreviewTabToolbarOption(`${drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[11].displayName}`);
588
+ drawingResponsePage.steps.selectPreviewTabToolbarOption(`${drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[11].displayName}`);
588
589
  drawingResponsePage.steps.selectPreviewTabSecondaryToolbarOption('Fill color');
589
590
  drawingResponsePage.steps.verifyCSSOfSecondaryOptionPopupOptions(0, 'rgb(255, 0, 0)');
590
591
  drawingResponsePage.steps.verifyCSSOfSecondaryOptionPopupOptions(1, 'rgb(6, 255, 172)');
@@ -266,9 +266,7 @@ describe('Preview tab contents - primary toolbar options, secondary toolbar opti
266
266
  });
267
267
 
268
268
  it('When user clicks on \'Capture Image\' then display Capture Image container should be visible', () => {
269
- drawingResponsePage.steps.selectPreviewTabToolbarOption(
270
- drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[4].displayName
271
- );
269
+ drawingResponsePage.steps.selectPreviewTabToolbarOption(drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[4].displayName);
272
270
  drawingResponsePage.steps.verifyCaptureImageContainerIsVisible();
273
271
  });
274
272
 
@@ -73,55 +73,45 @@ describe('Create question page - Essay Response: Question Instructions, Set limi
73
73
  essayResponsePage.steps.setMaximumLimit(500);
74
74
  });
75
75
 
76
- it('When the user clears the minimum word limit input field and focuses out of it, then error message \'Error: Minimum word limit is required\' should be displayed below the input field', () => {
76
+ it('When the user clears the minimum word limit input field and focuses out of it, then the error message should not be displayed', () => {
77
77
  essayResponsePage.steps.clearAndFocusOutOfMinimumLimitInputField();
78
- utilities.verifyInnerText(essayResponsePage.errorMessage(), 'Error: Minimum word limit is required.');
79
- utilities.verifyElementVisibilityState(essayResponsePage.errorMessage(), 'visible');
78
+ utilities.verifyElementVisibilityState(essayResponsePage.errorMessage(), 'notExist');
80
79
  });
81
80
 
82
- essayResponsePage.tests.verifyErrorMessageCSSAndA11y();
83
-
84
- it('When the user enters value in minimum word limit input field then the error message should disappear', () => {
81
+ it('When the user enters value 0 in the minimum word limit input field, it should be accepted', () => {
85
82
  essayResponsePage.steps.setMinimumLimit(0);
86
- utilities.verifyElementVisibilityState(essayResponsePage.errorMessage(), 'notExist');
87
83
  });
88
84
 
89
- it('When the user clears the maximum word limit input field and focuses out of it, then error message \'Error: Maximum word limit is required.\' should be displayed below the input field', () => {
85
+ it('When the user clears the maximum word limit input field and focuses out of it, then the error message should not be displayed', () => {
90
86
  essayResponsePage.steps.clearAndFocusOutOfMaximumLimitInputField();
91
- utilities.verifyInnerText(essayResponsePage.errorMessage(), 'Error: Maximum word limit is required.');
92
- utilities.verifyElementVisibilityState(essayResponsePage.errorMessage(), 'visible');
87
+ utilities.verifyElementVisibilityState(essayResponsePage.errorMessage(), 'notExist');
93
88
  });
94
89
 
95
- it('When the user enters value in maximum word limit input field then the error message should disappear', () => {
90
+ it('When the user enters a value in the maximum word limit input field, it should be accepted', () => {
96
91
  essayResponsePage.steps.setMaximumLimit(500);
97
- utilities.verifyElementVisibilityState(essayResponsePage.errorMessage(), 'notExist');
98
92
  });
99
93
 
100
- it('When the user sets minimum limit input field value greater than maximum limit input field value then error message \'Error: Minimum limit must be less than or equal to maximum limit.\' and \'Error: Maximum limit must be greater than or equal to minimum limit.\'should be displayed below the minimum and maximum input field respectively', () => {
94
+ it('When the user sets the minimum limit input field value greater than the maximum limit input field value, then error messages should not be displayed below both input fields', () => {
101
95
  essayResponsePage.steps.setMinimumLimit(700);
102
- essayResponsePage.steps.verifyMaximumLimitErrorMessage();
103
- essayResponsePage.steps.verifyMinimumLimitErrorMessage();
96
+ utilities.verifyElementVisibilityState(essayResponsePage.errorMessage(), 'notExist');
104
97
  });
105
98
 
106
- essayResponsePage.tests.verifyErrorMessageCSSAndA11y();
107
-
108
- it('When the user sets minimum limit input field value less than or equal to maximum limit input field value then error message should disappear', () => {
99
+ it('When the user sets the minimum limit input field value less than or equal to the maximum limit input field value, then the error messages should disappear', () => {
109
100
  essayResponsePage.steps.setMinimumLimit(500);
110
101
  utilities.verifyElementVisibilityState(essayResponsePage.errorMessage(), 'notExist');
111
102
  });
112
103
 
113
- it('When the user sets maximum limit input field value less than minimum limit input field value then error message \'Error: Minimum limit must be less than or equal to maximum limit.\' and \'Error: Maximum limit must be greater than or equal to minimum limit.\'should be displayed below the minimum and maximum input field respectively', () => {
104
+ it('When the user sets the maximum limit input field value less than the minimum limit input field value, then error messages not be displayed below both input fields', () => {
114
105
  essayResponsePage.steps.setMaximumLimit(400);
115
- essayResponsePage.steps.verifyMaximumLimitErrorMessage();
116
- essayResponsePage.steps.verifyMinimumLimitErrorMessage();
106
+ utilities.verifyElementVisibilityState(essayResponsePage.errorMessage(), 'notExist');
117
107
  });
118
108
 
119
- it('When the user sets maximum limit input field value greater than or equal to minimum limit input field value then error message should disappear', () => {
109
+ it('When the user sets the maximum limit input field value greater than or equal to the minimum limit input field value, then the error messages should disappear', () => {
120
110
  essayResponsePage.steps.setMaximumLimit(800);
121
111
  utilities.verifyElementVisibilityState(essayResponsePage.errorMessage(), 'notExist');
122
112
  });
123
113
 
124
- it('\'Always show maximum limit\' and \'Always show minimum limit\' labels and checkbox should be displayed and by default \'Always show maximum limit\' should be checked', () => {
114
+ it('\'Always show maximum limit\' and \'Always show minimum limit\' labels and checkboxes should be displayed, and by default, \'Always show maximum limit\' should be checked', () => {
125
115
  utilities.verifyInnerText(essayResponsePage.alwaysShowMaxLimitLabel(), 'Always show maximum limit');
126
116
  utilities.verifyElementVisibilityState(essayResponsePage.alwaysShowMaxLimitLabel(), 'visible');
127
117
  utilities.verifyInnerText(essayResponsePage.alwaysShowMinLimitLabel(), 'Always show minimum limit');
@@ -129,44 +119,40 @@ describe('Create question page - Essay Response: Question Instructions, Set limi
129
119
  essayResponsePage.steps.verifyAlwaysShowMaximumLimitCheckboxIsChecked();
130
120
  });
131
121
 
132
- it('When the user selects \'Character\' radio button then labels should change to \'Minimum character limit\' and \'Maximum character limit\'', () => {
122
+ it('When the user selects the \'Character\' radio button, the labels should change to \'Minimum character limit\' and \'Maximum character limit\'', () => {
133
123
  essayResponsePage.steps.checkCharacterRadioButton();
134
124
  utilities.verifyInnerText(essayResponsePage.minimumLimitLabel(), 'Minimum character limit');
135
125
  utilities.verifyInnerText(essayResponsePage.maximumLimitLabel(), 'Maximum character limit');
136
126
  });
137
127
 
138
128
  it('\'Minimum character limit\' and \'Maximum character limit\' input fields should be updated to 0 and 20000 by default', () => {
139
- essayResponsePage.steps.verifyMinimumLimitInputField(0)
140
- essayResponsePage.steps.verifyMaximumLimitInputField(20000)
129
+ essayResponsePage.steps.verifyMinimumLimitInputField(0);
130
+ essayResponsePage.steps.verifyMaximumLimitInputField(20000);
141
131
  });
142
132
 
143
- it('User should be able to update values in both the input fields', () => {
133
+ it('User should be able to update values in both the input fields for character limits', () => {
144
134
  essayResponsePage.steps.setMinimumLimit(750);
145
135
  essayResponsePage.steps.setMaximumLimit(12000);
146
136
  });
147
137
 
148
- it('When the user clears the minimum character limit input field and focuses out of it, then error message \'Error: Minimum character limit is required\' should be displayed below the input field', () => {
138
+ it('When the user clears the minimum character limit input field and focuses out of it, then the error message should not be displayed', () => {
149
139
  essayResponsePage.steps.clearAndFocusOutOfMinimumLimitInputField();
150
- utilities.verifyInnerText(essayResponsePage.errorMessage(), 'Error: Minimum character limit is required.');
151
- utilities.verifyElementVisibilityState(essayResponsePage.errorMessage(), 'visible');
140
+ utilities.verifyElementVisibilityState(essayResponsePage.errorMessage(), 'notExist');
152
141
  });
153
142
 
154
143
  essayResponsePage.tests.verifyErrorMessageCSSAndA11y();
155
144
 
156
- it('When the user enters value in minimum character limit input field then the error message should disappear', () => {
145
+ it('When the user enters a value in the minimum character limit input field, the error message should disappear', () => {
157
146
  essayResponsePage.steps.setMinimumLimit(0);
158
- utilities.verifyElementVisibilityState(essayResponsePage.errorMessage(), 'notExist');
159
147
  });
160
148
 
161
- it('When the user clears the maximum character limit input field and focuses out of it, then error message \'Error: Maximum character limit is required.\' should be displayed below the input field', () => {
149
+ it('When the user clears the maximum character limit input field and focuses out of it, then the error message should not be displayed', () => {
162
150
  essayResponsePage.steps.clearAndFocusOutOfMaximumLimitInputField();
163
- utilities.verifyInnerText(essayResponsePage.errorMessage(), 'Error: Maximum character limit is required.');
164
- utilities.verifyElementVisibilityState(essayResponsePage.errorMessage(), 'visible');
151
+ utilities.verifyElementVisibilityState(essayResponsePage.errorMessage(), 'notExist');
165
152
  });
166
153
 
167
- it('When the user enters value in maximum character limit input field then the error message should disappear', () => {
154
+ it('When the user enters a value in the maximum character limit input field, the error message should disappear', () => {
168
155
  essayResponsePage.steps.setMaximumLimit(500);
169
- utilities.verifyElementVisibilityState(essayResponsePage.errorMessage(), 'notExist');
170
156
  });
171
157
 
172
158
  it('CSS of \'Set word limit\' sections', { tags: 'css' }, () => {