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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. package/Dockerfile +1 -0
  2. package/cypress/e2e/GradingGridView/gradingGridView.js +156 -0
  3. package/cypress/e2e/ILC/AudioResponseNew/barRecorderStyle.smoke.js +2 -0
  4. package/cypress/e2e/ILC/AudioResponseNew/compactRecorderStyle.smoke.js +4 -0
  5. package/cypress/e2e/ILC/AudioResponseNew/editTabBasicSection.js +4 -16
  6. package/cypress/e2e/ILC/BrainingCampManipulative/editTabBasicSection.js +1 -1
  7. package/cypress/e2e/ILC/BrowseItems/browseReviewItems.js +3 -3
  8. package/cypress/e2e/ILC/BrowseItems/browseReviewItemsMobileView.js +3 -3
  9. package/cypress/e2e/ILC/BrowseItems/browseThinkSphereItems.js +6 -6
  10. package/cypress/e2e/ILC/BrowseItems/browseThinkSphereItemsMobileView.js +6 -6
  11. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/allOrNothingScoringForAllViews.smoke.js +356 -0
  12. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/gradingViewAndCorrectAnswerView.smoke.js +1 -1
  13. package/cypress/e2e/ILC/ChartsBar/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +33 -0
  14. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightBasic.js +27 -27
  15. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +37 -37
  16. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +37 -37
  17. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +37 -37
  18. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightBasic.js +26 -25
  19. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +39 -38
  20. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +31 -30
  21. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +35 -34
  22. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePointsLocked.js +247 -0
  23. package/cypress/e2e/ILC/ChartsBar/allOrNothingScoringForAllViews.smoke.js +287 -0
  24. package/cypress/e2e/ILC/ChartsBar/editQuestion.smoke.js +1 -1
  25. package/cypress/e2e/ILC/ChartsBar/editTabBasicSection.js +37 -0
  26. package/cypress/e2e/ILC/ChartsBar/headerSection.js +50 -2
  27. package/cypress/e2e/ILC/ChartsBar/specifyCorrectAnswerSection.js +92 -0
  28. package/cypress/e2e/ILC/ChartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePointsLocked.js +220 -0
  29. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightBasic.js +25 -26
  30. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +47 -47
  31. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +25 -25
  32. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +25 -25
  33. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightBasic.js +25 -25
  34. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +24 -23
  35. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +21 -20
  36. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +48 -46
  37. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePointsLocked.js +249 -0
  38. package/cypress/e2e/ILC/ChartsLine/allOrNothingScoringForAllViews.smoke.js +247 -0
  39. package/cypress/e2e/ILC/ChartsLine/editQuestion.smoke.js +3 -1
  40. package/cypress/e2e/ILC/ChartsLine/headerSection.js +18 -1
  41. package/cypress/e2e/ILC/ChartsLine/specifyCorrectAnswerSection.js +94 -0
  42. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddTranscriptRadioButton .js +2 -2
  43. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerHeaderSectionAndButtons.js +2 -2
  44. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTab.js +1 -1
  45. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabSupportedFileTypes.js +6 -0
  46. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabTranscript.js +2 -3
  47. package/cypress/e2e/ILC/CkEditorEquationEditor/selectModeEditorBasic.js +4 -1
  48. package/cypress/e2e/ILC/CkEditorInsertImage/imageInfo.js +4 -3
  49. package/cypress/e2e/ILC/CkEditorInsertImage/insertImageBasicFile.js +2 -0
  50. package/cypress/e2e/ILC/CkEditorInsertTable/tableDimension&FooterProperties.js +8 -8
  51. package/cypress/e2e/ILC/CkEditorInsertTable/tableStyle.js +11 -11
  52. package/cypress/e2e/ILC/CkEditorLink/linkPreview.js +2 -1
  53. package/cypress/e2e/ILC/CkEditorLink/uploadSection.js +1 -1
  54. package/cypress/e2e/ILC/ContentBlocks/editTabBasics.js +63 -4
  55. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +116 -7
  56. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabBasicSection.js +3 -3
  57. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabScoring.js +1 -0
  58. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/headerSection.js +3 -3
  59. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/pagination.js +1 -1
  60. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/studentViewSettingsForGroupedLayout.js +3 -0
  61. package/cypress/e2e/ILC/DrawingResponse/drawingResponseEditTabBasicSection.js +11 -3
  62. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +210 -0
  63. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/draggableOptions.js +2 -0
  64. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/editTabBasicSection.js +1 -1
  65. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/headerSection.js +3 -3
  66. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViewInIncompleteAuthoring.smoke.js +7 -7
  67. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViews.smoke.js +15 -16
  68. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editQuestion.smoke.js +40 -0
  69. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editTabBasicSection.js +1 -1
  70. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/headerSection.js +3 -3
  71. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +216 -0
  72. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/editTabBasicSection.js +2 -2
  73. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/headerSection.js +3 -3
  74. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editQuestion.smoke.js +45 -0
  75. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editTabBasicSection.js +1 -1
  76. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/headerSection.js +4 -4
  77. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/HeaderSection.js +4 -4
  78. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/editQuestion.smoke.js +1 -1
  79. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/responseAnswersAndAcceptedStudentInput.js +4 -0
  80. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/supportedFileTypes.js +3 -1
  81. package/cypress/e2e/ILC/FillInTheGapsTextNew/editTabBasicSection.js +1 -1
  82. package/cypress/e2e/ILC/FillInTheGapsTextNew/headerSection.js +3 -3
  83. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +73 -0
  84. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +38 -0
  85. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +38 -0
  86. package/cypress/e2e/ILC/Graphing/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +87 -0
  87. package/cypress/e2e/ILC/Graphing/allOrNothingForAllViews.smoke.js +213 -2
  88. package/cypress/e2e/ILC/Graphing/checkAddAlternativeButton.js +35 -0
  89. package/cypress/e2e/ILC/Graphing/editQuestion.smoke.js +28 -0
  90. package/cypress/e2e/ILC/Graphing/editTabBasicSection.js +38 -0
  91. package/cypress/e2e/ILC/Graphing/editTabScoringSection.js +1 -0
  92. package/cypress/e2e/ILC/Graphing/headerSection.js +37 -4
  93. package/cypress/e2e/ILC/Graphing/specifyCorrectAnswerSection.js +28 -0
  94. package/cypress/e2e/ILC/GridFill/addAlternateButton.js +40 -0
  95. package/cypress/e2e/ILC/GridFill/allOrNothingBasicForAllViews.smoke.js +210 -0
  96. package/cypress/e2e/ILC/GridFill/customizeLayoutFillImageBackgroundImage.js +2 -2
  97. package/cypress/e2e/ILC/GridFill/headerSection.js +4 -4
  98. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +39 -0
  99. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  100. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +39 -0
  101. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountAllOrNothingCorrectPointsGreaterThanAlternativePoints.js +37 -0
  102. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountallOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  103. package/cypress/e2e/ILC/GridFill/scoring/cellshadeCountAllOrNothingAlternativePointsGreaterThanCorrectPoints.js +36 -0
  104. package/cypress/e2e/ILC/GridFill/scoring/checkLabelSaveAsYouGo.js +75 -0
  105. package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +2 -1
  106. package/cypress/e2e/ILC/ImageHighlight/additionalSettingsBasic.js +1 -0
  107. package/cypress/e2e/ILC/ImageHighlight/allOrNothingForAllViews.smoke.js +212 -0
  108. package/cypress/e2e/ILC/ImageHighlight/customiseHighlightStyle.js +29 -0
  109. package/cypress/e2e/ILC/ImageHighlight/editTabBasicSection.js +1 -1
  110. package/cypress/e2e/ILC/ImageHighlight/headerSection.js +3 -3
  111. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +24 -0
  112. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +24 -0
  113. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +24 -0
  114. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +86 -0
  115. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/manuallyAndNonScored.js +2 -4
  116. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +1 -1
  117. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +237 -1
  118. package/cypress/e2e/ILC/ListOrderingDropdown/checkAddAlternativeButton.js +35 -0
  119. package/cypress/e2e/ILC/ListOrderingDropdown/editTabBasicSection.js +26 -0
  120. package/cypress/e2e/ILC/ListOrderingDropdown/headerSection.js +108 -0
  121. package/cypress/e2e/ILC/ListOrderingDropdown/manuallyAndNonScoredEditTab.js +2 -1
  122. package/cypress/e2e/ILC/ListOrderingDropdown/previewContentsForAllViews.smoke.js +2 -4
  123. package/cypress/e2e/ILC/ListOrderingDropdown/specifyCorrectAnswerSection.js +7 -12
  124. package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/specifyCorrectAnswerSection.js +10 -14
  125. package/cypress/e2e/ILC/ListOrderingNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +52 -0
  126. package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +215 -0
  127. package/cypress/e2e/ILC/ListOrderingNew/editTabBasicSection.js +23 -0
  128. package/cypress/e2e/ILC/ListOrderingNew/headerSection.js +36 -9
  129. package/cypress/e2e/ILC/ListOrderingNew/manuallyAndNonScoredEditTab.js +2 -0
  130. package/cypress/e2e/ILC/ListOrderingNew/specifyCorrectAnswerSection.js +7 -23
  131. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +41 -0
  132. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +30 -0
  133. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +50 -0
  134. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +101 -0
  135. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/allOrNothingForAllViews.smoke.js +309 -0
  136. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/checkAddAlternativeButton.js +38 -0
  137. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabBasicSection.js +24 -0
  138. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabScoring.js +4 -1
  139. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/headerSection.js +38 -3
  140. package/cypress/e2e/ILC/Matching/Scoring/blankResponseScoring.js +38 -41
  141. package/cypress/e2e/ILC/Matching/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +98 -0
  142. package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +210 -0
  143. package/cypress/e2e/ILC/Matching/checkAlternativeButton.js +38 -0
  144. package/cypress/e2e/ILC/Matching/clickAndDrop.js +5 -5
  145. package/cypress/e2e/ILC/Matching/draggableOptions.js +7 -0
  146. package/cypress/e2e/ILC/Matching/editQuestion.smoke.js +3 -2
  147. package/cypress/e2e/ILC/Matching/editTabBasicSection.js +41 -0
  148. package/cypress/e2e/ILC/Matching/headerSection.js +38 -12
  149. package/cypress/e2e/ILC/Matching/questionInstructionsAndPromptSection.js +2 -15
  150. package/cypress/e2e/ILC/Matching/studentViewSettings.js +3 -1
  151. package/cypress/e2e/ILC/Matching/studentViewSettingsForGroupedLayout.js +1 -1
  152. package/cypress/e2e/ILC/MatchingDropdown/Scoring/blankResponseScoring.js +7 -6
  153. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsScoringBasic.js +6 -6
  154. package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +208 -0
  155. package/cypress/e2e/ILC/MultipleSelection/allOrNothingBasicForAllViews.smoke.js +2 -1
  156. package/cypress/e2e/ILC/MultipleSelection/editTabBasicSection.js +1 -1
  157. package/cypress/e2e/ILC/MultipleSelection/headerSection.js +3 -3
  158. package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswer.js +1 -0
  159. package/cypress/e2e/ILC/MultipleSelectionGridNew/editTabBasicSection.js +2 -2
  160. package/cypress/e2e/ILC/MultipleSelectionGridNew/headerSection.js +3 -3
  161. package/cypress/e2e/ILC/MultipleSelectionGridNew/previewContentsForAllViews.smoke.js +100 -69
  162. package/cypress/e2e/ILC/MultipleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +1 -0
  163. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +79 -0
  164. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +42 -0
  165. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +42 -0
  166. package/cypress/e2e/ILC/NumberLine/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +75 -0
  167. package/cypress/e2e/ILC/NumberLine/allOrNothingScoringForAllViews.smoke.js +213 -0
  168. package/cypress/e2e/ILC/NumberLine/checkAddAlternativeButton.js +32 -0
  169. package/cypress/e2e/ILC/NumberLine/editTabSection.js +38 -0
  170. package/cypress/e2e/ILC/NumberLine/headerSection.js +34 -4
  171. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/allOrNothingScoringForAllViews.smoke.js +249 -0
  172. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +81 -0
  173. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +43 -0
  174. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +43 -0
  175. package/cypress/e2e/ILC/NumberLineLabel/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +76 -0
  176. package/cypress/e2e/ILC/NumberLineLabel/additionalSettingsBasic.js +0 -1
  177. package/cypress/e2e/ILC/NumberLineLabel/allOrNothingForAllViews.smoke.js +266 -0
  178. package/cypress/e2e/ILC/NumberLineLabel/checkAddAlternativeButton.js +34 -0
  179. package/cypress/e2e/ILC/NumberLineLabel/editTabSection.js +38 -0
  180. package/cypress/e2e/ILC/NumberLineLabel/headerSection.js +37 -4
  181. package/cypress/e2e/ILC/NumberLineLabel/manuallyAndNonScoredEditTab.js +2 -1
  182. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/allOrNothingForAllViews.smoke.js +268 -0
  183. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/editQuestion.smoke.js +1 -1
  184. package/cypress/e2e/ILC/ShortTextResponseNew/allOrNothingBasicForAllViews.smoke.js +186 -0
  185. package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +4 -3
  186. package/cypress/e2e/ILC/ShortTextResponseNew/headerSection.js +2 -4
  187. package/cypress/e2e/ILC/SingleSelection/editTabBasicSection.js +1 -1
  188. package/cypress/e2e/ILC/SingleSelection/headerSection.js +2 -2
  189. package/cypress/e2e/ILC/SingleSelectionGridNew/editTabBasicSection.js +2 -2
  190. package/cypress/e2e/ILC/SingleSelectionGridNew/headerSection.js +3 -3
  191. package/cypress/e2e/ILC/SingleSelectionGridNew/previewContentsForAllViews.smoke.js +101 -70
  192. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +86 -0
  193. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +86 -0
  194. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  195. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +4 -2
  196. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  197. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  198. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsScoringBasic.js +9 -2
  199. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +4 -2
  200. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +3 -1
  201. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  202. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsScoringBasic.js +4 -0
  203. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +64 -0
  204. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAddEvaluation.js +2 -0
  205. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAlternateAnswer.js +2 -0
  206. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +64 -0
  207. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  208. package/cypress/e2e/ILC/TextEntryMath/Scoring/blankResponseScoring.js +2 -2
  209. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  210. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  211. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  212. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsScoringBasic.js +8 -0
  213. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  214. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  215. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  216. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasic.js +1 -0
  217. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasicForAlternateAnswer.js +2 -0
  218. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViews.smoke.js +263 -0
  219. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +219 -0
  220. package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +27 -3
  221. package/cypress/e2e/ILC/TextEntryMath/equationEditor.smoke.js +1 -1
  222. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodEquivalentStructures.smoke.js +3 -3
  223. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchValue.smoke.js +310 -1
  224. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodSymbolsAreEquivalent.smoke.js +205 -1
  225. package/cypress/e2e/ILC/TextEntryMath/headerSection.js +43 -0
  226. package/cypress/e2e/ILC/TextEntryMathWithImage/allOrNothingScoringForAllViews.smoke.js +263 -0
  227. package/cypress/e2e/ILC/TextEntryMathWithImage/backgroundImageAndCanvasProperties.js +0 -1
  228. package/cypress/e2e/ILC/TextEntryMathWithImage/styleAndLayoutCustomization.js +1 -1
  229. package/cypress/e2e/ILC/TextSelection/additionalSettings.js +1 -0
  230. package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +231 -0
  231. package/cypress/e2e/ILC/TextSelection/editTabBasicSection.js +2 -2
  232. package/cypress/e2e/ILC/TextSelection/headerSection.js +3 -3
  233. package/cypress/e2e/ILC/TextSelection/minimumScoringPenaltyPointsAndRoundingDropdown.js +1 -0
  234. package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyPossibleOptionsSection.js +1 -0
  235. package/cypress/e2e/ILC/ThinkSphere/createReviewItem.js +1 -1
  236. package/cypress/e2e/ILC/ThinkSphere/editTabBasicSection.js +1 -1
  237. package/cypress/e2e/ILC/ThinkSphere/editThinkSphereQuestion.smoke.js +145 -54
  238. package/cypress/e2e/ILC/ThinkSphere/equationEditorEditCategoryFlyOut.js +2 -0
  239. package/cypress/e2e/ILC/ThinkSphere/gradingViewPlanTabSection.js +334 -0
  240. package/cypress/e2e/ILC/ThinkSphere/gradingViewReviewTabSection.js +140 -0
  241. package/cypress/e2e/ILC/ThinkSphere/gradingViewSolveTabSection.js +65 -0
  242. package/cypress/e2e/ILC/ThinkSphere/planPhase.js +45 -5
  243. package/cypress/e2e/ILC/ThinkSphere/previewTabPlanSection.js +8 -8
  244. package/cypress/e2e/ILC/ThinkSphere/previewTabReviewSection.js +102 -0
  245. package/cypress/e2e/ILC/ThinkSphere/previewTabSolveSection.js +41 -0
  246. package/cypress/e2e/ILC/ThinkSphere/solvePhase.js +3 -3
  247. package/cypress/e2e/ILC/ThinkSphere/studentViewPlanTabSection.js +393 -0
  248. package/cypress/e2e/ILC/ThinkSphere/studentViewReviewTabSection.js +146 -0
  249. package/cypress/e2e/ILC/ThinkSphere/studentViewSolveSection.js +53 -0
  250. package/cypress/e2e/ILC/ToolAudioPlayerNew/headerSection.js +90 -2
  251. package/cypress/e2e/ILC/UploadResponse/editTabBasicSection.js +34 -0
  252. package/cypress/e2e/ILC/UploadResponse/headerSection.js +38 -1
  253. package/cypress/e2e/ILC/UploadResponse/uploadResponsePreview.js +50 -13
  254. package/cypress/e2e/ILC/VideoResponseNew/editTabBasicSection.js +14 -29
  255. package/cypress/e2e/ILC/chartsDotsPlot/allOrNothingForAllViews.smoke.js +248 -0
  256. package/cypress/e2e/ILC/chartsDotsPlot/headerSection.js +16 -1
  257. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsBasic.js +27 -28
  258. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +31 -30
  259. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +24 -24
  260. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +39 -37
  261. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsBasic.js +22 -23
  262. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +31 -30
  263. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +25 -24
  264. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +31 -31
  265. package/cypress/e2e/ILC/chartsDotsPlot/scoring/toleranceThresholdScoring.js +18 -19
  266. package/cypress/e2e/ILC/chartsDotsPlot/specifyCorrectAnswerSection.js +96 -0
  267. package/cypress/e2e/Sessions/fetchResponses.js +3 -3
  268. package/cypress/e2e/Sessions/saveResponseScores.js +2 -2
  269. package/cypress/fixtures/thinkSphereWhiteboardTools.js +66 -0
  270. package/cypress/pages/audioPlayerPage.js +25 -0
  271. package/cypress/pages/brainingCampManipulativePage.js +1 -1
  272. package/cypress/pages/chartsBarPage.js +45 -0
  273. package/cypress/pages/chartsDotPlotPage.js +25 -0
  274. package/cypress/pages/chartsLinePage.js +29 -2
  275. package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +5 -1
  276. package/cypress/pages/components/chartsCommonComponent.js +21 -2
  277. package/cypress/pages/components/ckEditorEquationEditorComponent.js +1 -0
  278. package/cypress/pages/components/ckEditorInsertImageComponent.js +3 -3
  279. package/cypress/pages/components/ckEditorInsertTableComponent.js +3 -3
  280. package/cypress/pages/components/ckEditorLinkComponent.js +8 -9
  281. package/cypress/pages/components/colorPopupComponent.js +6 -0
  282. package/cypress/pages/components/createQuestionBasePage.js +19 -6
  283. package/cypress/pages/components/desmosToolComponent.js +1 -1
  284. package/cypress/pages/components/draggableOptionsSectionComponent.js +2 -0
  285. package/cypress/pages/components/equationEditorSectionCommonComponent.js +4 -4
  286. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +31 -3
  287. package/cypress/pages/components/fillInTheGapsTextCommonComponent.js +1 -1
  288. package/cypress/pages/components/gridQuestionCommonComponent.js +55 -2
  289. package/cypress/pages/components/imageCanvasComponent.js +11 -5
  290. package/cypress/pages/components/playbackControlsBaseComponent.js +6 -3
  291. package/cypress/pages/components/questionInstructionsComponent.js +2 -0
  292. package/cypress/pages/components/scoringSectionBaseEditTab.js +3 -0
  293. package/cypress/pages/components/specifyRowsAndColumnsComponent.js +16 -0
  294. package/cypress/pages/contentBlocksPage.js +2 -0
  295. package/cypress/pages/desmos3DGraphingPage.js +149 -4
  296. package/cypress/pages/desmosGeometryPage.js +184 -4
  297. package/cypress/pages/drawingResponsePage.js +9 -2
  298. package/cypress/pages/fillInTheGapsDragAndDropPage.js +3 -8
  299. package/cypress/pages/gradingGridViewPage.js +64 -0
  300. package/cypress/pages/graphingPage.js +28 -5
  301. package/cypress/pages/gridFillPage.js +24 -9
  302. package/cypress/pages/imageHighlightPage.js +115 -15
  303. package/cypress/pages/index.js +1 -0
  304. package/cypress/pages/listOrderingPage.js +46 -2
  305. package/cypress/pages/matchingPage.js +29 -10
  306. package/cypress/pages/numberLineLabelPage.js +26 -0
  307. package/cypress/pages/numberLinePage.js +15 -0
  308. package/cypress/pages/singleSelectionPage.js +30 -1
  309. package/cypress/pages/textEntryMathPage.js +29 -10
  310. package/cypress/pages/textSelectionPage.js +2 -2
  311. package/cypress/pages/thinkSpherePage.js +1118 -87
  312. package/cypress/pages/uploadResponsePage.js +17 -1
  313. package/cypress/pages/videoResponsePage.js +3 -0
  314. package/cypress/support/commands.js +9 -0
  315. package/cypress/support/helpers/createItem.js +22 -3
  316. package/cypress/support/helpers/utilities.js +14 -1
  317. package/package.json +1 -1
  318. /package/cypress/e2e/ILC/{ChartsDotsPlot → chartsDotsPlot}/checkAnswerFunctionalityForAllViews.js +0 -0
  319. /package/cypress/e2e/ILC/{ChartsDotsPlot → chartsDotsPlot}/editQuestion.smoke.js +0 -0
@@ -1,5 +1,6 @@
1
1
  import utilities from "../support/helpers/utilities";
2
2
  import { questionInstructionsComponent, createQuestionBasePage, scoringSectionBaseEditTab, autoScoredScoringPreviewTab, autoScoredStudentViewSettings, autoScoredSpecifyCorrectAnswerSection, commonComponents, backgroundImageUploadComponent, imageCanvasComponent, opacityComponent, autoScoredScoringSectionMultiResponseType, additionalSettingsPanel, additionalSettingsAccessibilitySectionComponent, toolsAndControlsComponent, resetPopupComponent, defaultToolDropdown } from "./components";
3
+ import { createItemPage } from "./createItemPage";
3
4
  const css = Cypress.env('css');
4
5
 
5
6
  const selectors = {
@@ -262,6 +263,7 @@ const steps = {
262
263
  ...toolsAndControlsComponent.steps,
263
264
  ...resetPopupComponent.steps,
264
265
  ...defaultToolDropdown.steps,
266
+ ...createItemPage.steps,
265
267
 
266
268
  //Edit tab
267
269
  checkPatternBackground: () => {
@@ -547,7 +549,8 @@ const steps = {
547
549
  enterTextInXMinInputField: (xMinValue) => {
548
550
  graphingPage.xMinInputField()
549
551
  .clear()
550
- .type(xMinValue);
552
+ .type(xMinValue)
553
+ .blur();
551
554
  cy.wait(2000);
552
555
  graphingPage.xMinInputField()
553
556
  .should('have.value', xMinValue)
@@ -1767,7 +1770,27 @@ const steps = {
1767
1770
  verifyAcceptRepeatedPointsToggleChecked: () => {
1768
1771
  graphingPage.acceptRepeatedPointsToggle()
1769
1772
  .should('have.attr', 'aria-pressed', 'true');
1770
- }
1773
+ },
1774
+
1775
+ verifyAnswerStatusBannerNotExist: () => {
1776
+ graphingPage.correctIncorrectStatusMessageText()
1777
+ .should('not.exist');
1778
+ },
1779
+
1780
+ verifyAnswerStatusBannerExist: () => {
1781
+ graphingPage.correctIncorrectStatusMessageText()
1782
+ .should('be.visible');
1783
+ },
1784
+
1785
+ verifyCorrectAnswerSectionExist: () => {
1786
+ graphingPage.correctAnswerLabel()
1787
+ .should('be.visible');
1788
+ },
1789
+
1790
+ verifyCorrectAnswerSectionNotExist: () => {
1791
+ graphingPage.correctAnswerLabel()
1792
+ .should('not.exist');
1793
+ },
1771
1794
  }
1772
1795
 
1773
1796
  const tests = {
@@ -1806,12 +1829,12 @@ const tests = {
1806
1829
  graphingPage.steps.verifyPointsPlottedOnSpecifyCorrectAnswerSection([{ x: 0, xRange: 20, y: 1, yRange: 20 }, { x: 0, xRange: 20, y: 2, yRange: 20 }]);
1807
1830
  });
1808
1831
 
1809
- it(`When the user resets the graph in the ${accordionName} accordion, error message not should be thrown`, () => {
1832
+ it(`When the user resets the graph in the ${accordionName} accordion, error message should not be thrown along with an error icon on the '${accordionName}' accordion`, () => {
1810
1833
  graphingPage.graphControlOptionSpecifyCorrectAnswer('Reset')
1811
1834
  .click();
1812
1835
  graphingPage.resetPopupConfirmResetButton()
1813
1836
  .click();
1814
- utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'notExist')
1837
+ utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'notExist');
1815
1838
  if (accordionName == 'Correct') {
1816
1839
  autoScoredSpecifyCorrectAnswerSection.correctAnswerAccordion()
1817
1840
  .within(() => {
@@ -1825,7 +1848,7 @@ const tests = {
1825
1848
  };
1826
1849
  });
1827
1850
 
1828
- it('User should be able to plot on the graph', () => {
1851
+ it('When the user plots on the graph then the error message should disappear', () => {
1829
1852
  graphingPage.steps.selectGraphToolOptionSpecifyCorrectAnswer('Circle');
1830
1853
  graphingPage.steps.plotPointsOnGraphSpecifyCorrectAnswerSection([{ x: 0, xRange: 20, y: 1, yRange: 20 }, { x: 0, xRange: 20, y: 2, yRange: 20 }]);
1831
1854
  graphingPage.steps.verifyPointsPlottedOnSpecifyCorrectAnswerSection([{ x: 0, xRange: 20, y: 1, yRange: 20 }, { x: 0, xRange: 20, y: 2, yRange: 20 }]);
@@ -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,17 @@ 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("${Cypress.config().baseUrl}/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([`url("${Cypress.config().baseUrl}/item-engine/demo/create-item")`, 'url("")']);
2558
2562
  });
2559
2563
  },
2560
2564
 
@@ -2564,7 +2568,10 @@ const steps = {
2564
2568
  const win = $element[0].ownerDocument.defaultView
2565
2569
  const CSSStyleDeclaration = win.getComputedStyle($element[0], 'before')
2566
2570
  const CSSStyleDeclarationValue = CSSStyleDeclaration.getPropertyValue('background-image')
2567
- expect(CSSStyleDeclarationValue).to.deep.eq('url("")');
2571
+ expect(CSSStyleDeclarationValue).to.be.oneOf([
2572
+ `url("${Cypress.config().baseUrl}/item-engine/demo/create-item")`,
2573
+ 'url("")'
2574
+ ]);
2568
2575
  });
2569
2576
  },
2570
2577
 
@@ -2850,6 +2857,15 @@ const steps = {
2850
2857
  scoringSectionBaseEditTab.pointsInputField()
2851
2858
  .eq(0)
2852
2859
  .should('have.value', points)
2860
+ },
2861
+
2862
+ /**
2863
+ * @param {String} ScoringType - Scoring Type to check label with.
2864
+ * @description - It will check the parameter scoring type string with the scoring type on top left of tab.
2865
+ */
2866
+ checkScoringLabel: (scoringType) => {
2867
+ autoScoredScoringPreviewTab.scoringTypeLabelPreviewTab()
2868
+ .should('have.text', scoringType);
2853
2869
  }
2854
2870
  }
2855
2871
 
@@ -2917,16 +2933,15 @@ const tests = {
2917
2933
  'background-color': css.color.gridCellHoverStateBg
2918
2934
  });
2919
2935
  utilities.hoverAwayFromElement(utilities.getNthElement(gridFillPage.cellInSpecifyCorrectAnswerSection(), 9));
2920
- utilities.triggerMouseout(utilities.getNthElement(gridFillPage.cellInSpecifyCorrectAnswerSection(), 9));
2921
2936
  });
2922
2937
 
2923
2938
  it('User should be able to select the cells of the grid by clicking on them', () => {
2924
2939
  gridFillPage.steps.selectCellSpecifyCorrectAnswerSection(0, 0);
2925
2940
  });
2926
2941
 
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`, () => {
2942
+ 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
2943
  gridFillPage.steps.deselectCellSpecifyCorrectAnswerSection(0, 0);
2929
- gridFillPage.steps.verifyErrorMessageIsNotDisplayed();
2944
+ commonComponents.steps.verifyErrorMessageIsNotDisplayed();
2930
2945
  if (accordionName == 'Correct') {
2931
2946
  autoScoredSpecifyCorrectAnswerSection.correctAnswerAccordion()
2932
2947
  .within(() => {
@@ -2980,9 +2995,9 @@ const tests = {
2980
2995
  utilities.verifyInputFieldValue(gridFillPage.cellShadeCountInputField(), '6');
2981
2996
  });
2982
2997
 
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`, () => {
2998
+ it(`When user clears the value in \'Cell shade count\' input field, then error message should not be thrown on the \'${accordionName}\' accordion`, () => {
2984
2999
  gridFillPage.steps.clearCellShadeCountInputField();
2985
- gridFillPage.steps.verifyErrorMessageIsNotDisplayed();
3000
+ utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'notExist')
2986
3001
  });
2987
3002
 
2988
3003
  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'),
@@ -253,7 +255,7 @@ const steps = {
253
255
  break;
254
256
  case 'none':
255
257
  dragIcon
256
- .should('not.be.visible');
258
+ .should('not.exist');
257
259
  break;
258
260
  default:
259
261
  throw new Error('Invalid drag handle option');
@@ -753,6 +755,7 @@ const steps = {
753
755
  ///Dropdown menu steps
754
756
  expandDropdownMenuOptionsDropdown: () => {
755
757
  listOrderingPage.dropdownMenuOptionsDropdown()
758
+ .trigger('mouseover')
756
759
  .click();
757
760
  },
758
761
 
@@ -771,6 +774,7 @@ const steps = {
771
774
  */
772
775
  expandPositionDropdownSpecifyCorrectAnswerSection: (dropdownIndex) => {
773
776
  utilities.getNthElement(listOrderingPage.positionDropdownSpecifyCorrectAnswerSection(), dropdownIndex)
777
+ .trigger('mouseover')
774
778
  .click();
775
779
  },
776
780
 
@@ -782,6 +786,7 @@ const steps = {
782
786
  selectOptionPositionSpecifyCorrectAnswerSection: (optionIndex, position) => {
783
787
  steps.expandPositionDropdownSpecifyCorrectAnswerSection(optionIndex);
784
788
  listOrderingPage.positionDropdownListOption(position)
789
+ .trigger('mouseover')
785
790
  .click();
786
791
  },
787
792
 
@@ -803,6 +808,7 @@ const steps = {
803
808
  */
804
809
  expandPositionDropdownPreviewTab: (dropdownIndex) => {
805
810
  utilities.getNthElement(listOrderingPage.positionDropdownPreviewTab(), dropdownIndex)
811
+ .trigger('mouseover')
806
812
  .click();
807
813
  },
808
814
 
@@ -824,6 +830,7 @@ const steps = {
824
830
  selectOptionPositionPreviewTab: (optionIndex, position) => {
825
831
  steps.expandPositionDropdownPreviewTab(optionIndex);
826
832
  listOrderingPage.positionDropdownListOption(position)
833
+ .trigger('mouseover')
827
834
  .click();
828
835
  },
829
836
 
@@ -1488,6 +1495,14 @@ const steps = {
1488
1495
  utilities.verifyInnerText(utilities.getNthElement(listOrderingPage.dropzoneSeperateList().find('[class*="MultipleDroppedItemstyles__FlexWrapper"]'), index), option);
1489
1496
  });
1490
1497
  },
1498
+ /**
1499
+ * Verifies the number of options in the dropzone of order as separate list.
1500
+ * @param {number} expectedCount - The expected number of options in the dropzone.
1501
+ */
1502
+ verifyNumberOfOptionsInDropzoneOrderAsSeperateList: (expectedCount) => {
1503
+ listOrderingPage.dropzoneSeperateList().find('[class*="MultipleDroppedItemstyles__FlexWrapper"]')
1504
+ .should('have.length', expectedCount);
1505
+ },
1491
1506
 
1492
1507
  /**
1493
1508
  * Verifies the order of options in seperate list.
@@ -1532,6 +1547,15 @@ const steps = {
1532
1547
  .click();
1533
1548
  },
1534
1549
 
1550
+ clickAndResetDropOptionSeperateList: (optionsText) => {
1551
+ listOrderingPage.dropzoneSeperateList()
1552
+ .contains(optionsText)
1553
+ .click();
1554
+ listOrderingPage.emptyDropzoneList()
1555
+ .first()
1556
+ .click();
1557
+ },
1558
+
1535
1559
  clickAndUnDropOptionSeperateList: (optionsText) => {
1536
1560
  listOrderingPage.dropzoneSeperateList()
1537
1561
  .contains(optionsText)
@@ -1761,7 +1785,27 @@ const steps = {
1761
1785
  optionsTextArray.forEach((option, optionIndex) => {
1762
1786
  utilities.verifyTextContent(utilities.getNthElement(listOrderingPage.optionsInputFieldInQuestionPreviewTab(), optionIndex * 2), option);
1763
1787
  });
1764
- }
1788
+ },
1789
+
1790
+ verifyAnswerStatusBannerNotExist: () => {
1791
+ listOrderingPage.correctIncorrectStatusMessageText()
1792
+ .should('not.exist');
1793
+ },
1794
+
1795
+ verifyAnswerStatusBannerExist: () => {
1796
+ listOrderingPage.correctIncorrectStatusMessageText()
1797
+ .should('be.visible');
1798
+ },
1799
+
1800
+ verifyCorrectAnswerSectionExist: () => {
1801
+ listOrderingPage.correctAnswersLabel()
1802
+ .should('be.visible');
1803
+ },
1804
+
1805
+ verifyCorrectAnswerSectionNotExist: () => {
1806
+ listOrderingPage.correctAnswersLabel()
1807
+ .should('not.exist');
1808
+ },
1765
1809
  }
1766
1810
 
1767
1811
  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.
@@ -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.