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
@@ -174,7 +174,8 @@ const selectors = {
174
174
  correctAnswerLabel: () => cy.get('[class*="GridFillResponsestyles__CorrectAnswerLabel"]'),
175
175
  warningMessageContainer: () => cy.get('.disabled-wrapper-cls'),
176
176
  warningMessage: () => cy.get('.disabled-wrapper-cls [class*="DisabledTextWrapper"]'),
177
- resetButton: () => cy.get('[class*="reset-color-wrapper"] button')
177
+ resetButton: () => cy.get('[class*="reset-color-wrapper"] button'),
178
+ scoringTypeLabelPreviewTab: () => cy.get('[class*="ScoringPreviewBandstyles__ScoreWrapper"]'),
178
179
  }
179
180
 
180
181
  const steps = {
@@ -2547,14 +2548,20 @@ const steps = {
2547
2548
  const win = $element[0].ownerDocument.defaultView
2548
2549
  const CSSStyleDeclaration = win.getComputedStyle($element[0], 'before')
2549
2550
  const CSSStyleDeclarationValue = CSSStyleDeclaration.getPropertyValue('background-image')
2550
- expect(CSSStyleDeclarationValue).to.deep.eq('url("")');
2551
+ expect(CSSStyleDeclarationValue).to.be.oneOf([
2552
+ 'url("https://sandbox.itemengine-staging.il-apps.com/item-engine/demo/create-item")',
2553
+ 'url("")'
2554
+ ]);
2551
2555
  });
2552
2556
  gridFillPage.gridSpecifyCorrectAnswerSection()
2553
2557
  .then(($element) => {
2554
2558
  const win = $element[0].ownerDocument.defaultView
2555
2559
  const CSSStyleDeclaration = win.getComputedStyle($element[0], 'before')
2556
2560
  const CSSStyleDeclarationValue = CSSStyleDeclaration.getPropertyValue('background-image')
2557
- expect(CSSStyleDeclarationValue).to.deep.eq('url("")');
2561
+ expect(CSSStyleDeclarationValue).to.be.oneOf([
2562
+ 'url("https://sandbox.itemengine-staging.il-apps.com/item-engine/demo/create-item")',
2563
+ 'url("")'
2564
+ ]);
2558
2565
  });
2559
2566
  },
2560
2567
 
@@ -2564,7 +2571,10 @@ const steps = {
2564
2571
  const win = $element[0].ownerDocument.defaultView
2565
2572
  const CSSStyleDeclaration = win.getComputedStyle($element[0], 'before')
2566
2573
  const CSSStyleDeclarationValue = CSSStyleDeclaration.getPropertyValue('background-image')
2567
- expect(CSSStyleDeclarationValue).to.deep.eq('url("")');
2574
+ expect(CSSStyleDeclarationValue).to.be.oneOf([
2575
+ 'url("https://sandbox.itemengine-staging.il-apps.com/item-engine/demo/create-item")',
2576
+ 'url("")'
2577
+ ]);
2568
2578
  });
2569
2579
  },
2570
2580
 
@@ -2850,6 +2860,15 @@ const steps = {
2850
2860
  scoringSectionBaseEditTab.pointsInputField()
2851
2861
  .eq(0)
2852
2862
  .should('have.value', points)
2863
+ },
2864
+
2865
+ /**
2866
+ * @param {String} ScoringType - Scoring Type to check label with.
2867
+ * @description - It will check the parameter scoring type string with the scoring type on top left of tab.
2868
+ */
2869
+ checkScoringLabel: (scoringType) => {
2870
+ autoScoredScoringPreviewTab.scoringTypeLabelPreviewTab()
2871
+ .should('have.text', scoringType);
2853
2872
  }
2854
2873
  }
2855
2874
 
@@ -2917,16 +2936,15 @@ const tests = {
2917
2936
  'background-color': css.color.gridCellHoverStateBg
2918
2937
  });
2919
2938
  utilities.hoverAwayFromElement(utilities.getNthElement(gridFillPage.cellInSpecifyCorrectAnswerSection(), 9));
2920
- utilities.triggerMouseout(utilities.getNthElement(gridFillPage.cellInSpecifyCorrectAnswerSection(), 9));
2921
2939
  });
2922
2940
 
2923
2941
  it('User should be able to select the cells of the grid by clicking on them', () => {
2924
2942
  gridFillPage.steps.selectCellSpecifyCorrectAnswerSection(0, 0);
2925
2943
  });
2926
2944
 
2927
- it(`When user deselect all the cells in the grid in the ${accordionName} accordion, error message and error icons should not be displayed on \'${accordionName}\' accordion`, () => {
2945
+ it(`When user deselect all the cells in the grid in the ${accordionName} accordion, \'Error: Please set a correct answer.\' error message should not be displayed \'${accordionName}\' accordion`, () => {
2928
2946
  gridFillPage.steps.deselectCellSpecifyCorrectAnswerSection(0, 0);
2929
- gridFillPage.steps.verifyErrorMessageIsNotDisplayed();
2947
+ commonComponents.steps.verifyErrorMessageIsNotDisplayed();
2930
2948
  if (accordionName == 'Correct') {
2931
2949
  autoScoredSpecifyCorrectAnswerSection.correctAnswerAccordion()
2932
2950
  .within(() => {
@@ -2980,9 +2998,9 @@ const tests = {
2980
2998
  utilities.verifyInputFieldValue(gridFillPage.cellShadeCountInputField(), '6');
2981
2999
  });
2982
3000
 
2983
- it(`When user clears the value in \'Cell shade count\' input field, then error message should not be thrown along with an error icon on the \'${accordionName}\' accordion`, () => {
3001
+ it(`When user clears the value in \'Cell shade count\' input field, then error message should not be thrown on the \'${accordionName}\' accordion`, () => {
2984
3002
  gridFillPage.steps.clearCellShadeCountInputField();
2985
- gridFillPage.steps.verifyErrorMessageIsNotDisplayed();
3003
+ utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'notExist')
2986
3004
  });
2987
3005
 
2988
3006
  it('CSS of \'Cell shade count\' input field error message', { tags: 'css' }, () => {
@@ -1296,9 +1296,16 @@ const steps = {
1296
1296
  * @description this function is used to verify in the selected color block of the color popup
1297
1297
  */
1298
1298
  verifySelectedColorBlock: (color) => {
1299
- utilities.verifyCSS(imageHighlightPage.selectedColorBlock(), {
1300
- 'background-color': color
1301
- });
1299
+ imageHighlightPage.selectedColorBlock()
1300
+ .then(($element) => {
1301
+ cy.wrap($element)
1302
+ .invoke('css', 'background-color')
1303
+ .then(actualColor => {
1304
+ expect(steps.colorsAreClose(actualColor, color, 2)).to.be.true;
1305
+ console.log(`Selected color: ${actualColor}`);
1306
+ console.log(`Expected color: ${color}`);
1307
+ });
1308
+ });
1302
1309
  },
1303
1310
 
1304
1311
  /**
@@ -1310,9 +1317,16 @@ const steps = {
1310
1317
  imageHighlightPage.specifyCorrectAnswerSectionCustomizedPolygon()
1311
1318
  .eq(index)
1312
1319
  .within(() => {
1313
- utilities.verifyCSS(imageHighlightPage.specifyCorrectAnswerDiamondPattern(), {
1314
- 'fill': color
1315
- });
1320
+ imageHighlightPage.specifyCorrectAnswerDiamondPattern()
1321
+ .then(($element) => {
1322
+ cy.wrap($element)
1323
+ .invoke('css', 'fill')
1324
+ .then(actualColor => {
1325
+ console.log(`Selected color: ${actualColor}`);
1326
+ console.log(`Expected color: ${color}`);
1327
+ expect(steps.colorsAreClose(actualColor, color, 2)).to.be.true;
1328
+ });
1329
+ });
1316
1330
  });
1317
1331
  },
1318
1332
 
@@ -1327,9 +1341,16 @@ const steps = {
1327
1341
  imageHighlightPage.specifyCorrectAnswerSectionCustomizedPolygon()
1328
1342
  .eq(index)
1329
1343
  .within(() => {
1330
- utilities.verifyCSS(imageHighlightPage.specifyCorrectAnswerDiamondPattern(), {
1331
- 'fill': color
1332
- });
1344
+ imageHighlightPage.specifyCorrectAnswerDiamondPattern()
1345
+ .then(($element) => {
1346
+ cy.wrap($element)
1347
+ .invoke('css', 'fill')
1348
+ .then(actualColor => {
1349
+ expect(steps.colorsAreClose(actualColor, color, 2)).to.be.true;
1350
+ console.log(`Selected color: ${actualColor}`);
1351
+ console.log(`Expected color: ${color}`);
1352
+ });
1353
+ });
1333
1354
  });
1334
1355
  });
1335
1356
  },
@@ -1343,9 +1364,38 @@ const steps = {
1343
1364
  imageHighlightPage.specifyCorrectAnswerSectionHighlight()
1344
1365
  .eq(index)
1345
1366
  .within(() => {
1346
- utilities.verifyCSS(imageHighlightPage.specifyCorrectAnswerSectionHighlightPolygon(), {
1347
- 'stroke': color
1348
- });
1367
+ imageHighlightPage.specifyCorrectAnswerSectionHighlightPolygon()
1368
+ .then(($element) => {
1369
+ cy.wrap($element)
1370
+ .invoke('css', 'stroke')
1371
+ .then(actualColor => {
1372
+ expect(steps.colorsAreClose(actualColor, color, 2)).to.be.true;
1373
+ console.log(`Selected color: ${actualColor}`);
1374
+ console.log(`Expected color: ${color}`);
1375
+ });
1376
+ });
1377
+ });
1378
+ },
1379
+
1380
+ /**
1381
+ * @param {number} index index of highlight region
1382
+ * @param {string} colorWithOpacity color to be checked in rgba format
1383
+ * @description this function verifiies the border color of highlight regions in specify correct answer section.
1384
+ */
1385
+ verifyEditedBorderOpacityInSpecifyCorrectAnswerSection: (index, colorWithOpacity) => {
1386
+ imageHighlightPage.specifyCorrectAnswerSectionHighlight()
1387
+ .eq(index)
1388
+ .within(() => {
1389
+ imageHighlightPage.specifyCorrectAnswerSectionHighlightPolygon()
1390
+ .then(($element) => {
1391
+ cy.wrap($element)
1392
+ .invoke('css', 'stroke')
1393
+ .then(actualColor => {
1394
+ expect(steps.colorsAreClose(actualColor, colorWithOpacity, 2)).to.be.true;
1395
+ console.log(`Selected color: ${actualColor}`);
1396
+ console.log(`Expected color: ${colorWithOpacity}`);
1397
+ });
1398
+ });
1349
1399
  });
1350
1400
  },
1351
1401
 
@@ -1360,9 +1410,41 @@ const steps = {
1360
1410
  imageHighlightPage.previewSectionHighlight()
1361
1411
  .eq(index)
1362
1412
  .within(() => {
1363
- utilities.verifyCSS(imageHighlightPage.specifyCorrectAnswerSectionHighlightPolygon(), {
1364
- 'stroke': color
1365
- });
1413
+ imageHighlightPage.specifyCorrectAnswerSectionHighlightPolygon()
1414
+ .then(($element) => {
1415
+ cy.wrap($element)
1416
+ .invoke('css', 'stroke')
1417
+ .then(actualColor => {
1418
+ expect(steps.colorsAreClose(actualColor, color, 2)).to.be.true;
1419
+ console.log(`Selected color: ${actualColor}`);
1420
+ console.log(`Expected color: ${color}`);
1421
+ });
1422
+ });
1423
+ });
1424
+ })
1425
+ },
1426
+
1427
+ /**
1428
+ * @param {number} index index of highlight region
1429
+ * @param {string} colorWithOpacity color to be checked in rgba format
1430
+ * @description this function verifies the border color of highlight regions in preview tab.
1431
+ */
1432
+ verifyEditedBorderOpacityInPreviewtabSection: (index, colorWithOpacity) => {
1433
+ imageHighlightPage.previewTabQuestionWrapper()
1434
+ .within(() => {
1435
+ imageHighlightPage.previewSectionHighlight()
1436
+ .eq(index)
1437
+ .within(() => {
1438
+ imageHighlightPage.specifyCorrectAnswerSectionHighlightPolygon()
1439
+ .then(($element) => {
1440
+ cy.wrap($element)
1441
+ .invoke('css', 'stroke')
1442
+ .then(actualColor => {
1443
+ expect(steps.colorsAreClose(actualColor, colorWithOpacity, 2)).to.be.true;
1444
+ console.log(`Selected color: ${actualColor}`);
1445
+ console.log(`Expected color: ${colorWithOpacity}`);
1446
+ });
1447
+ });
1366
1448
  });
1367
1449
  });
1368
1450
  },
@@ -1536,6 +1618,24 @@ const steps = {
1536
1618
  imageHighlightPage.correctAnswerSection()
1537
1619
  .should('not.exist');
1538
1620
  },
1621
+
1622
+ /**
1623
+ *
1624
+ * @param {string} actual color
1625
+ * @param {string} expected color
1626
+ * @param {string} tolerance allowed difference in RGB values
1627
+ * @returns
1628
+ */
1629
+ colorsAreClose: (actual, expected, tolerance = 2) => {
1630
+ const extract = str => str.match(/\d+/g).map(Number);
1631
+ const [ar, ag, ab] = extract(actual);
1632
+ const [er, eg, eb] = extract(expected);
1633
+ return (
1634
+ Math.abs(ar - er) <= tolerance &&
1635
+ Math.abs(ag - eg) <= tolerance &&
1636
+ Math.abs(ab - eb) <= tolerance
1637
+ );
1638
+ }
1539
1639
  }
1540
1640
 
1541
1641
  const tests = {
@@ -54,3 +54,4 @@ export * from './numberLineLabelPage';
54
54
  export * from './chartsDotPlotPage';
55
55
  export * from './imageHighlightPage';
56
56
  export * from './compassPage';
57
+ export * from './gradingGridViewPage';
@@ -40,6 +40,7 @@ const selectors = {
40
40
  questionDropdownBorderPreviewTab: () => cy.get('[class*="ListOrderingResponsestyles__DroppableDiv"]'),
41
41
  //grading view and correct answer view
42
42
  optionGradingView: () => cy.get('[class*="DraggableItemsWrapper"] [class*="OptionTextWrapper"]'),
43
+ correctIncorrectStatusMessageText: () => cy.get('[class*="AnswerStatusText"]'),
43
44
  optionWrapperGradingView: () => cy.get('[class*="DraggableItemsWrapper"] [class*="OptionsWrapper"]'),
44
45
  //Orientation and layout
45
46
  orderingLayoutLabel: () => cy.get('.list-ordering-order-layout .options-label'),
@@ -105,6 +106,7 @@ const selectors = {
105
106
  optionOrientationSeparateList: () => cy.get('[class*="ClozeWithDragAndDropstyles__DraggableItemsGrid"]'),
106
107
  specifyCorrectAnswerSectionMyListLabel: () => cy.get('[class*="ReorderAsSeparatestyles__TitleContainer"]'),
107
108
  outerBorderPreviewSeparateList: () => cy.get('[class*="ReorderAsSeparatestyles__ReorderSeparateWrapper"]'),
109
+ emptyDropzoneList: () => cy.get('[class*="ClozeWithDragAndDropstyles__PlaceHolderDiv"]:not(:has(*))'),
108
110
 
109
111
  //Style and layout
110
112
  optionsLabel: () => cy.get('.draggable-options-label'),
@@ -1488,6 +1490,14 @@ const steps = {
1488
1490
  utilities.verifyInnerText(utilities.getNthElement(listOrderingPage.dropzoneSeperateList().find('[class*="MultipleDroppedItemstyles__FlexWrapper"]'), index), option);
1489
1491
  });
1490
1492
  },
1493
+ /**
1494
+ * Verifies the number of options in the dropzone of order as separate list.
1495
+ * @param {number} expectedCount - The expected number of options in the dropzone.
1496
+ */
1497
+ verifyNumberOfOptionsInDropzoneOrderAsSeperateList: (expectedCount) => {
1498
+ listOrderingPage.dropzoneSeperateList().find('[class*="MultipleDroppedItemstyles__FlexWrapper"]')
1499
+ .should('have.length', expectedCount);
1500
+ },
1491
1501
 
1492
1502
  /**
1493
1503
  * Verifies the order of options in seperate list.
@@ -1532,6 +1542,15 @@ const steps = {
1532
1542
  .click();
1533
1543
  },
1534
1544
 
1545
+ clickAndResetDropOptionSeperateList: (optionsText) => {
1546
+ listOrderingPage.dropzoneSeperateList()
1547
+ .contains(optionsText)
1548
+ .click();
1549
+ listOrderingPage.emptyDropzoneList()
1550
+ .first()
1551
+ .click();
1552
+ },
1553
+
1535
1554
  clickAndUnDropOptionSeperateList: (optionsText) => {
1536
1555
  listOrderingPage.dropzoneSeperateList()
1537
1556
  .contains(optionsText)
@@ -1761,7 +1780,27 @@ const steps = {
1761
1780
  optionsTextArray.forEach((option, optionIndex) => {
1762
1781
  utilities.verifyTextContent(utilities.getNthElement(listOrderingPage.optionsInputFieldInQuestionPreviewTab(), optionIndex * 2), option);
1763
1782
  });
1764
- }
1783
+ },
1784
+
1785
+ verifyAnswerStatusBannerNotExist: () => {
1786
+ listOrderingPage.correctIncorrectStatusMessageText()
1787
+ .should('not.exist');
1788
+ },
1789
+
1790
+ verifyAnswerStatusBannerExist: () => {
1791
+ listOrderingPage.correctIncorrectStatusMessageText()
1792
+ .should('be.visible');
1793
+ },
1794
+
1795
+ verifyCorrectAnswerSectionExist: () => {
1796
+ listOrderingPage.correctAnswersLabel()
1797
+ .should('be.visible');
1798
+ },
1799
+
1800
+ verifyCorrectAnswerSectionNotExist: () => {
1801
+ listOrderingPage.correctAnswersLabel()
1802
+ .should('not.exist');
1803
+ },
1765
1804
  }
1766
1805
 
1767
1806
  const tests = {
@@ -194,6 +194,7 @@ const selectors = {
194
194
  connectorLineTypeLabel: () => cy.get('[class*="__SubSectionLabel"]').eq(2),
195
195
  connectorLine: () => cy.get('[class*="ClozeWithDragAndDropstyles__ShowIconWrapper"]:visible'),
196
196
  optionsInputFieldInQuestionPreviewTab: () => cy.get('.draggable-selected-item'),
197
+ correctAnswerSection: () => cy.get('[class*=CorrectAnswerWrapperDND]'),
197
198
  }
198
199
 
199
200
  const steps = {
@@ -1593,17 +1594,17 @@ const steps = {
1593
1594
 
1594
1595
  verifyWarningIconOnRequiredFields: (requiredFieldsArray) => {
1595
1596
  requiredFieldsArray.forEach((field) => {
1596
- if (field === 'Please set points') {
1597
+ if (field === 'Please set points.') {
1597
1598
  scoringSectionBaseEditTab.pointsWrapper()
1598
1599
  .within(() => {
1599
1600
  utilities.verifyElementVisibilityState(commonComponents.warningIcon(), 'exist');
1600
1601
  });
1601
- } else if (field === 'Please enter all option values') {
1602
+ } else if (field === 'Please enter all option values.') {
1602
1603
  matchingPage.optionsLabel()
1603
1604
  .within(() => {
1604
1605
  utilities.verifyElementVisibilityState(commonComponents.warningIcon(), 'exist');
1605
1606
  });
1606
- } else if (field === 'Please enter all prompts') {
1607
+ } else if (field === 'Please enter all prompts.') {
1607
1608
  matchingPage.promptLabel()
1608
1609
  .within(() => {
1609
1610
  utilities.verifyElementVisibilityState(commonComponents.warningIcon(), 'exist');
@@ -2648,7 +2649,27 @@ const steps = {
2648
2649
  optionsTextArray.forEach((option, optionIndex) => {
2649
2650
  utilities.verifyTextContent(utilities.getNthElement(matchingPage.optionsInputFieldInQuestionPreviewTab(), optionIndex), option);
2650
2651
  });
2651
- }
2652
+ },
2653
+
2654
+ verifyAnswerStatusBannerNotExist: () => {
2655
+ matchingPage.correctIncorrectAnswerLabel()
2656
+ .should('not.exist');
2657
+ },
2658
+
2659
+ verifyAnswerStatusBannerExist: () => {
2660
+ matchingPage.correctIncorrectAnswerLabel()
2661
+ .should('be.visible');
2662
+ },
2663
+
2664
+ verifyCorrectAnswerSectionExist: () => {
2665
+ matchingPage.correctAnswerSection()
2666
+ .should('be.visible');
2667
+ },
2668
+
2669
+ verifyCorrectAnswerSectionNotExist: () => {
2670
+ matchingPage.correctAnswerSection()
2671
+ .should('not.exist');
2672
+ },
2652
2673
  }
2653
2674
 
2654
2675
  const tests = {
@@ -2760,7 +2781,7 @@ const tests = {
2760
2781
  .eq(inputFieldIndex)
2761
2782
  .click()
2762
2783
  .blur();
2763
- utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'exist');
2784
+ utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'notExist');
2764
2785
  });
2765
2786
 
2766
2787
  it('User should be able to enter text in options input field', () => {
@@ -3061,14 +3082,13 @@ const tests = {
3061
3082
  matchingPage.steps.clickAndDropOptionInDropzoneSpecifyCorrectAnswerSection([{ optionText: 'Petals', dropzoneIndex: 0 }]);
3062
3083
  });
3063
3084
 
3064
- it(`When the user has removed all the options from the dropzone in the ${accordionName} accordion, \'Error: Please set a correct answer.\' error message should be thrown along with an error icon on the \'${accordionName}\' accordion`, () => {
3085
+ it(`When the user has removed all the options from the dropzone in the ${accordionName} accordion, should not be thrown any error in '${accordionName}' accordion`, () => {
3065
3086
  matchingPage.steps.clickAndDropOptionInOptionsContainerInSpecifyCorrectAnswerSection('Petals');
3066
- utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'visible')
3067
- utilities.verifyInnerText(commonComponents.errorMessage(), 'Error: Please set a correct answer.');
3087
+ commonComponents.steps.verifyErrorMessageIsNotDisplayed();
3068
3088
  if (accordionName == 'Correct') {
3069
3089
  autoScoredSpecifyCorrectAnswerSection.correctAnswerAccordion()
3070
3090
  .within(() => {
3071
- utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'visible');
3091
+ utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'notExist');
3072
3092
  });
3073
3093
  } else {
3074
3094
  autoScoredSpecifyCorrectAnswerSection.alternativeAnswerAccordion()
@@ -3078,7 +3098,6 @@ const tests = {
3078
3098
  };
3079
3099
  });
3080
3100
 
3081
- autoScoredSpecifyCorrectAnswerSection.tests.verifyAutoScoredCorrectAnswerErrorMessageCSSAndA11y();
3082
3101
 
3083
3102
  it('CSS of the dropzone border', { tags: 'css' }, () => {
3084
3103
  utilities.verifyCSS(matchingPage.dropzoneSpecifyCorrectAnswerSection().eq(0), {
@@ -36,6 +36,7 @@ const selectors = {
36
36
  draggableLabelsPreviewTab: () => cy.get('[class*="question-preview-wrapper"] .label-tool'),
37
37
  labelContainerPreviewTab: () => cy.get('[class*="question-preview-wrapper"] .items-container'),
38
38
  numberLinePointPreviewTab: () => cy.get('[class*="question-preview-wrapper"] .ngie-jxgbox').eq(0).find('svg ellipse[display="inline"]:visible'),
39
+ correctIncorrectStatusMessageText: () => cy.get('[class*="NumberLinestyles__CorrectIncorrectWrapper"]'),
39
40
 
40
41
  //Correct answer section
41
42
  numberLineCorrectAnswerSection: () => cy.get('[class*="question-preview-wrapper"] .ngie-jxgbox svg').eq(2),
@@ -296,6 +297,17 @@ const steps = {
296
297
  numberLineLabelPage.labelContainerSpecifyCorrectAnswer()
297
298
  .click({ force: true });
298
299
  },
300
+ /**
301
+ * This function clicks and drops the label back in the container for previewTab
302
+ * @param {string} label to be clicked and dropped
303
+ */
304
+ clickAndDropLabelInContainerPreviewTab: (label) => {
305
+ numberLineLabelPage.draggableLabelsPreviewTab()
306
+ .contains(label)
307
+ .click();
308
+ numberLineLabelPage.labelContainerPreviewTab()
309
+ .click({ force: true });
310
+ },
299
311
 
300
312
  /**
301
313
  * This function verifies plotted points on the number line on the Edit tab.
@@ -641,6 +653,20 @@ const steps = {
641
653
  utilities.verifyElementVisibilityState(numberLineLabelPage.numberLineCorrectAnswerSection(), 'notExist');
642
654
  },
643
655
 
656
+ verifyCorrectAnswerSectionExist: () => {
657
+ utilities.verifyElementVisibilityState(numberLineLabelPage.numberLineCorrectAnswerSection(), 'exist');
658
+ },
659
+
660
+ verifyAnswerStatusBannerNotExist: () => {
661
+ numberLineLabelPage.correctIncorrectStatusMessageText()
662
+ .should('not.exist');
663
+ },
664
+
665
+ verifyAnswerStatusBannerExist: () => {
666
+ numberLineLabelPage.correctIncorrectStatusMessageText()
667
+ .should('be.visible');
668
+ },
669
+
644
670
  /**
645
671
  * @param {number} points - The points to be allotted.
646
672
  * @description - Allots points in the scoring section.
@@ -1024,26 +1050,23 @@ const tests = {
1024
1050
  numberLineLabelPage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [9]);
1025
1051
  });
1026
1052
 
1027
- it(`When the user resets the number line in the ${accordionName} accordion, error message should not be thrown along with an error icon on the \'${accordionName}\' accordion`, () => {
1053
+ it(`When the user resets the number line in the ${accordionName} accordion, error message should not be thrown`, () => {
1028
1054
  numberLineLabelPage.steps.clickAndDropLabelInContainerSpecifyCorrectAnswer('Label 2');
1029
- utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'exist');
1030
- utilities.verifyInnerText(commonComponents.errorMessage(), 'Error: Please set a correct answer.');
1055
+ utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'notExist');
1031
1056
  if (accordionName == 'Correct') {
1032
1057
  autoScoredSpecifyCorrectAnswerSection.correctAnswerAccordion()
1033
1058
  .within(() => {
1034
- utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'visible');
1059
+ utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'notExist');
1035
1060
  });
1036
1061
  } else {
1037
1062
  autoScoredSpecifyCorrectAnswerSection.alternativeAnswerAccordion()
1038
1063
  .within(() => {
1039
- utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'visible');
1064
+ utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'notExist');
1040
1065
  });
1041
1066
  };
1042
1067
  });
1043
1068
 
1044
- autoScoredSpecifyCorrectAnswerSection.tests.verifyAutoScoredCorrectAnswerErrorMessageCSSAndA11y();
1045
-
1046
- it('When the user plots on the number line then the error message should disappear', () => {
1069
+ it('User should be able to attempt the labels on the number line', () => {
1047
1070
  numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 2', 'horizontal', range, 9);
1048
1071
  numberLineLabelPage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [9]);
1049
1072
  });
@@ -56,6 +56,7 @@ const selectors = {
56
56
  return cy.get('[class*="question-preview-wrapper"] [class*="ControlsWrapper"] button')
57
57
  }
58
58
  },
59
+ correctIncorrectStatusMessageText: () => cy.get('[class*="NumberLinestyles__CorrectIncorrectWrapper"]'),
59
60
 
60
61
  //Correct answer section
61
62
  numberLineCorrectAnswerSection: () => cy.get('[class*="question-preview-wrapper"] .ngie-jxgbox svg:visible').eq(1),
@@ -758,6 +759,20 @@ const steps = {
758
759
  utilities.verifyElementVisibilityState(numberLinePage.numberLineCorrectAnswerSection(), 'notExist');
759
760
  },
760
761
 
762
+ verifyCorrectAnswerSectionExist: () => {
763
+ utilities.verifyElementVisibilityState(numberLinePage.numberLineCorrectAnswerSection(), 'exist');
764
+ },
765
+
766
+ verifyAnswerStatusBannerNotExist: () => {
767
+ numberLinePage.correctIncorrectStatusMessageText()
768
+ .should('not.exist');
769
+ },
770
+
771
+ verifyAnswerStatusBannerExist: () => {
772
+ numberLinePage.correctIncorrectStatusMessageText()
773
+ .should('be.visible');
774
+ },
775
+
761
776
  /**
762
777
  * @param {("correct" | "incorrect")} answerStatus - The status of the answer.
763
778
  * @description Verifies the visibility and content of the correct/incorrect answer label block.
@@ -1451,26 +1466,23 @@ const tests = {
1451
1466
  numberLinePage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [0, 1]);
1452
1467
  });
1453
1468
 
1454
- it(`When the user resets the number line in the ${accordionName} accordion, 'Error: Please set a correct answer.' error message should be thrown along with an error icon on the '${accordionName}' accordion`, () => {
1469
+ it(`When the user resets the number line in the ${accordionName} accordion, error message should not be thrown`, () => {
1455
1470
  numberLinePage.steps.selectNumberLineControlOptionSpecifyCorrectAnswerSection('Reset');
1456
1471
  numberLinePage.steps.confirmReset();
1457
- utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'visible');
1458
- utilities.verifyInnerText(commonComponents.errorMessage(), 'Error: Please set a correct answer.');
1472
+ utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'notExist');
1459
1473
  if (accordionName == 'Correct') {
1460
1474
  autoScoredSpecifyCorrectAnswerSection.correctAnswerAccordion()
1461
1475
  .within(() => {
1462
- utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'visible');
1476
+ utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'notExist');
1463
1477
  });
1464
1478
  } else {
1465
1479
  autoScoredSpecifyCorrectAnswerSection.alternativeAnswerAccordion()
1466
1480
  .within(() => {
1467
- utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'visible');
1481
+ utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'notExist');
1468
1482
  });
1469
1483
  };
1470
1484
  });
1471
1485
 
1472
- autoScoredSpecifyCorrectAnswerSection.tests.verifyAutoScoredCorrectAnswerErrorMessageCSSAndA11y();
1473
-
1474
1486
  it('When the user plots on the number line then the error message should disappear', () => {
1475
1487
  numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("horizontal", range, 0);
1476
1488
  numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("horizontal", range, 1);
@@ -704,7 +704,36 @@ const steps = {
704
704
  optionsTextArray.forEach((option, optionIndex) => {
705
705
  utilities.verifyTextContent(utilities.getNthElement(singleSelectionPage.optionsInputFieldInQuestionPreviewTab(), optionIndex), option);
706
706
  });
707
- }
707
+ },
708
+
709
+ /**
710
+ * @description. Checks the options checkbox in the 'Specify correct answer' section for single selection questions.
711
+ * @param {number} optionIndex - The index of the option checkbox to be checked.
712
+ * @throws {Error} Will throw an error if the checkbox is not checked after the operation.
713
+ * @example - checkOptionsCheckboxInSpecifyCorrectAnswerSection(0);
714
+ */
715
+ setCorrectAnswer: (optionIndex) => {
716
+ singleSelectionPage.optionWrapperCorrectAnswerSection()
717
+ .eq(optionIndex)
718
+ .click()
719
+ },
720
+
721
+ /**
722
+ * Creates a basic single selection question
723
+ * @param {Object} params - Parameters for the question.
724
+ * @param {string} params.questionInstruction - The question text.
725
+ * @param {Array<string>} params.options - The list of options.
726
+ * @param {number} params.points - The points allotted for the question.
727
+ * @param {number} params.correctAnswer - Index of the correct answer.
728
+ */
729
+ createBasicSingleSelectionQuestion: ({questionInstruction, options, points, correctAnswer}) => {
730
+ cy.barsPreLoaderWait();
731
+ singleSelectionPage.steps.addTextInQuestionInstructionsInputField(questionInstruction);
732
+ singleSelectionPage.steps.addInputToOptionsInputField(options);
733
+ singleSelectionPage.steps.allotPoints(points);
734
+ singleSelectionPage.steps.setCorrectAnswer(correctAnswer);
735
+ singleSelectionPage.saveQuestionButton().click();
736
+ },
708
737
  };
709
738
 
710
739
  const tests = {