itemengine-cypress-automation 1.0.372 → 1.0.373-IEI-5907-gradingViewPlanPhase-298efc8.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 (275) hide show
  1. package/Dockerfile +1 -0
  2. package/cypress/e2e/ILC/AudioResponseNew/editTabBasicSection.js +4 -16
  3. package/cypress/e2e/ILC/BrainingCampManipulative/editTabBasicSection.js +1 -1
  4. package/cypress/e2e/ILC/BrowseItems/browseReviewItems.js +39 -7
  5. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/gradingViewAndCorrectAnswerView.smoke.js +1 -1
  6. package/cypress/e2e/ILC/ChartsBar/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +33 -0
  7. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightBasic.js +25 -25
  8. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +37 -36
  9. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +37 -36
  10. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +37 -36
  11. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -0
  12. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightBasic.js +26 -25
  13. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +39 -38
  14. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +31 -30
  15. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +35 -34
  16. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePointsLocked.js +247 -0
  17. package/cypress/e2e/ILC/ChartsBar/editTabBasicSection.js +37 -0
  18. package/cypress/e2e/ILC/ChartsBar/headerSection.js +50 -2
  19. package/cypress/e2e/ILC/ChartsBar/specifyCorrectAnswerSection.js +92 -0
  20. package/cypress/e2e/ILC/ChartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePointsLocked.js +220 -0
  21. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightBasic.js +25 -25
  22. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +47 -46
  23. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +25 -24
  24. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +25 -24
  25. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -0
  26. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightBasic.js +25 -25
  27. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +24 -23
  28. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +21 -20
  29. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +48 -46
  30. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePointsLocked.js +249 -0
  31. package/cypress/e2e/ILC/ChartsLine/editQuestion.smoke.js +3 -1
  32. package/cypress/e2e/ILC/ChartsLine/headerSection.js +18 -1
  33. package/cypress/e2e/ILC/ChartsLine/specifyCorrectAnswerSection.js +94 -0
  34. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddFeatureRadioButton.js +2 -3
  35. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddTranscriptRadioButton .js +2 -4
  36. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabStudentViewSettings.js +3 -3
  37. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerHeaderSectionAndButtons.js +2 -2
  38. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTab.js +1 -1
  39. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabSupportedFileTypes.js +6 -0
  40. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabTranscript.js +2 -3
  41. package/cypress/e2e/ILC/CkEditorEquationEditor/equationEditorBasicFile.js +4 -4
  42. package/cypress/e2e/ILC/CkEditorInsertImage/imageInfo.js +4 -4
  43. package/cypress/e2e/ILC/CkEditorInsertTable/tableDimension&FooterProperties.js +3 -3
  44. package/cypress/e2e/ILC/CkEditorInsertTable/tableStyle.js +11 -11
  45. package/cypress/e2e/ILC/CkEditorLink/uploadSection.js +1 -1
  46. package/cypress/e2e/ILC/ContentBlocks/editTabBasics.js +62 -4
  47. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +119 -10
  48. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabScoring.js +1 -0
  49. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/headerSection.js +2 -0
  50. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/manuallyAndNonScoredScoringEditTab.js +4 -1
  51. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +3 -0
  52. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/pagination.js +1 -1
  53. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/studentViewSettingsForGroupedLayout.js +3 -0
  54. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/styleAndLayoutCustomizationLayoutProperties.js +3 -0
  55. package/cypress/e2e/ILC/DrawingResponse/drawingResponseAdditionalSettings.js +1 -0
  56. package/cypress/e2e/ILC/DrawingResponse/drawingResponseBackground.js +2 -8
  57. package/cypress/e2e/ILC/DrawingResponse/drawingResponseCustomizeAdditionalOptions.js +1 -0
  58. package/cypress/e2e/ILC/DrawingResponse/drawingResponseEditTabBasicSection.js +3 -3
  59. package/cypress/e2e/ILC/DrawingResponse/drawingResponsePreviewTabContents.smoke.js +1 -3
  60. package/cypress/e2e/ILC/EssayResponse/createCustomCategory.smoke.js +2 -2
  61. package/cypress/e2e/ILC/EssayResponse/editCategoryFlyout.js +0 -1
  62. package/cypress/e2e/ILC/EssayResponse/editTabBasicSections.js +23 -37
  63. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +210 -0
  64. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/draggableOptions.js +2 -0
  65. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editQuestion.smoke.js +40 -0
  66. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +216 -0
  67. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editQuestion.smoke.js +45 -0
  68. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/allOrNothingForAllViews.smoke.js +213 -0
  69. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/backgroundImageAndCanvasProperties.js +1 -0
  70. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/supportedFileTypes.js +3 -1
  71. package/cypress/e2e/ILC/FillInTheGapsTextNew/allOrNothingForAllViews.smoke.js +207 -0
  72. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +73 -0
  73. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +38 -0
  74. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +38 -0
  75. package/cypress/e2e/ILC/Graphing/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +87 -0
  76. package/cypress/e2e/ILC/Graphing/checkAddAlternativeButton.js +35 -0
  77. package/cypress/e2e/ILC/Graphing/editQuestion.smoke.js +28 -0
  78. package/cypress/e2e/ILC/Graphing/editTabBasicSection.js +38 -0
  79. package/cypress/e2e/ILC/Graphing/editTabScoringSection.js +1 -0
  80. package/cypress/e2e/ILC/Graphing/headerSection.js +36 -4
  81. package/cypress/e2e/ILC/Graphing/layoutAndGridOptions.js +6 -3
  82. package/cypress/e2e/ILC/GridFill/addAlternateButton.js +40 -0
  83. package/cypress/e2e/ILC/GridFill/allOrNothingBasicForAllViews.smoke.js +210 -0
  84. package/cypress/e2e/ILC/GridFill/customizeLayoutFillImageBackgroundImage.js +5 -6
  85. package/cypress/e2e/ILC/GridFill/customizeLayoutSectionShadeCellsGridBorders.js +2 -0
  86. package/cypress/e2e/ILC/GridFill/editTabScoringSection.js +3 -0
  87. package/cypress/e2e/ILC/GridFill/headerSection.js +1 -3
  88. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +39 -0
  89. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  90. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +39 -0
  91. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountAllOrNothingCorrectPointsGreaterThanAlternativePoints.js +37 -0
  92. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountallOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  93. package/cypress/e2e/ILC/GridFill/scoring/cellshadeCountAllOrNothingAlternativePointsGreaterThanCorrectPoints.js +36 -0
  94. package/cypress/e2e/ILC/GridFill/scoring/checkLabelSaveAsYouGo.js +75 -0
  95. package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +2 -1
  96. package/cypress/e2e/ILC/GridFill/specifyCorrectAnswerSection.js +2 -4
  97. package/cypress/e2e/ILC/ImageHighlight/Scoring/partialDifferentWeightsScoring.js +2 -1
  98. package/cypress/e2e/ILC/ImageHighlight/allOrNothingForAllViews.smoke.js +212 -0
  99. package/cypress/e2e/ILC/ImageHighlight/customiseHighlightStyle.js +29 -0
  100. package/cypress/e2e/ILC/ImageHighlight/headerSection.js +2 -1
  101. package/cypress/e2e/ILC/ImageHighlight/studentViewSettings.js +2 -2
  102. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +24 -0
  103. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +24 -0
  104. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +24 -0
  105. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +86 -0
  106. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/manuallyAndNonScored.js +2 -4
  107. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +1 -1
  108. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +237 -1
  109. package/cypress/e2e/ILC/ListOrderingDropdown/checkAddAlternativeButton.js +35 -0
  110. package/cypress/e2e/ILC/ListOrderingDropdown/editTabBasicSection.js +24 -0
  111. package/cypress/e2e/ILC/ListOrderingDropdown/headerSection.js +108 -0
  112. package/cypress/e2e/ILC/ListOrderingDropdown/manuallyAndNonScoredEditTab.js +2 -1
  113. package/cypress/e2e/ILC/ListOrderingDropdown/previewContentsForAllViews.smoke.js +2 -4
  114. package/cypress/e2e/ILC/ListOrderingDropdown/specifyCorrectAnswerSection.js +7 -12
  115. package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/specifyCorrectAnswerSection.js +10 -14
  116. package/cypress/e2e/ILC/ListOrderingNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +52 -0
  117. package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +215 -0
  118. package/cypress/e2e/ILC/ListOrderingNew/editTabBasicSection.js +23 -0
  119. package/cypress/e2e/ILC/ListOrderingNew/headerSection.js +36 -9
  120. package/cypress/e2e/ILC/ListOrderingNew/manuallyAndNonScoredEditTab.js +2 -0
  121. package/cypress/e2e/ILC/ListOrderingNew/specifyCorrectAnswerSection.js +7 -23
  122. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +41 -0
  123. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +30 -0
  124. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +50 -0
  125. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +101 -0
  126. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/allOrNothingForAllViews.smoke.js +309 -0
  127. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/checkAddAlternativeButton.js +38 -0
  128. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabBasicSection.js +24 -0
  129. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabScoring.js +4 -1
  130. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/headerSection.js +36 -1
  131. package/cypress/e2e/ILC/Matching/Scoring/blankResponseScoring.js +38 -41
  132. package/cypress/e2e/ILC/Matching/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +98 -0
  133. package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +210 -0
  134. package/cypress/e2e/ILC/Matching/checkAlternativeButton.js +38 -0
  135. package/cypress/e2e/ILC/Matching/clickAndDrop.js +5 -5
  136. package/cypress/e2e/ILC/Matching/draggableOptions.js +7 -0
  137. package/cypress/e2e/ILC/Matching/editQuestion.smoke.js +3 -2
  138. package/cypress/e2e/ILC/Matching/editTabBasicSection.js +41 -0
  139. package/cypress/e2e/ILC/Matching/headerSection.js +38 -12
  140. package/cypress/e2e/ILC/Matching/questionInstructionsAndPromptSection.js +2 -15
  141. package/cypress/e2e/ILC/Matching/studentViewSettings.js +2 -0
  142. package/cypress/e2e/ILC/Matching/studentViewSettingsForGroupedLayout.js +1 -1
  143. package/cypress/e2e/ILC/MatchingDropdown/Scoring/blankResponseScoring.js +6 -6
  144. package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +208 -0
  145. package/cypress/e2e/ILC/MultipleSelection/allOrNothingBasicForAllViews.smoke.js +2 -1
  146. package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswer.js +1 -0
  147. package/cypress/e2e/ILC/MultipleSelectionGridNew/previewContentsForAllViews.smoke.js +100 -69
  148. package/cypress/e2e/ILC/MultipleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +1 -0
  149. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +79 -0
  150. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +42 -0
  151. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +42 -0
  152. package/cypress/e2e/ILC/NumberLine/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +75 -0
  153. package/cypress/e2e/ILC/NumberLine/checkAddAlternativeButton.js +32 -0
  154. package/cypress/e2e/ILC/NumberLine/editTabSection.js +38 -0
  155. package/cypress/e2e/ILC/NumberLine/headerSection.js +33 -4
  156. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +81 -0
  157. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +43 -0
  158. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +43 -0
  159. package/cypress/e2e/ILC/NumberLineLabel/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +76 -0
  160. package/cypress/e2e/ILC/NumberLineLabel/additionalSettingsBasic.js +1 -1
  161. package/cypress/e2e/ILC/NumberLineLabel/checkAddAlternativeButton.js +34 -0
  162. package/cypress/e2e/ILC/NumberLineLabel/editTabSection.js +38 -0
  163. package/cypress/e2e/ILC/NumberLineLabel/headerSection.js +37 -5
  164. package/cypress/e2e/ILC/NumberLineLabel/manuallyAndNonScoredEditTab.js +2 -1
  165. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/editQuestion.smoke.js +1 -1
  166. package/cypress/e2e/ILC/ShortTextResponseNew/allOrNothingBasicForAllViews.smoke.js +186 -0
  167. package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +35 -51
  168. package/cypress/e2e/ILC/ShortTextResponseNew/headerSection.js +2 -4
  169. package/cypress/e2e/ILC/SingleSelectionGridNew/editTabScoringSection.js +4 -1
  170. package/cypress/e2e/ILC/SingleSelectionGridNew/previewContentsForAllViews.smoke.js +101 -70
  171. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +86 -0
  172. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +86 -0
  173. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  174. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +3 -1
  175. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  176. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  177. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsScoringBasic.js +10 -3
  178. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +4 -2
  179. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +5 -3
  180. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  181. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsScoringBasic.js +4 -0
  182. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +64 -0
  183. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAddEvaluation.js +2 -0
  184. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAlternateAnswer.js +2 -0
  185. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +64 -0
  186. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  187. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  188. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  189. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  190. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsScoringBasic.js +8 -0
  191. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  192. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  193. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  194. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasic.js +1 -0
  195. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasicForAlternateAnswer.js +2 -0
  196. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +2 -0
  197. package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +27 -3
  198. package/cypress/e2e/ILC/TextEntryMath/headerSection.js +43 -0
  199. package/cypress/e2e/ILC/TextSelection/ScoringParagraph/checkScoringLabelBannerAndCorrectAnswerSection.js +0 -1
  200. package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +231 -0
  201. package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyPossibleOptionsSection.js +7 -12
  202. package/cypress/e2e/ILC/ThinkSphere/createReviewItem.js +54 -1
  203. package/cypress/e2e/ILC/ThinkSphere/editTabBasicSection.js +53 -2
  204. package/cypress/e2e/ILC/ThinkSphere/editThinkSphereQuestion.smoke.js +145 -54
  205. package/cypress/e2e/ILC/ThinkSphere/equationEditorCreateCustomCategory.smoke.js +417 -0
  206. package/cypress/e2e/ILC/ThinkSphere/equationEditorEditCategoryFlyOut.js +291 -0
  207. package/cypress/e2e/ILC/ThinkSphere/planPhase.js +91 -9
  208. package/cypress/e2e/ILC/ThinkSphere/previewTabPlanSection.js +12 -12
  209. package/cypress/e2e/ILC/ThinkSphere/previewTabReviewSection.js +97 -0
  210. package/cypress/e2e/ILC/ThinkSphere/solvePhase.js +35 -2
  211. package/cypress/e2e/ILC/ThinkSphere/studentViewPlanTabSection.js +393 -0
  212. package/cypress/e2e/ILC/ThinkSphere/studentViewReviewTabSection.js +141 -0
  213. package/cypress/e2e/ILC/ToolAudioPlayerNew/headerSection.js +90 -2
  214. package/cypress/e2e/ILC/UploadResponse/editTabBasicSection.js +34 -0
  215. package/cypress/e2e/ILC/UploadResponse/headerSection.js +38 -1
  216. package/cypress/e2e/ILC/UploadResponse/uploadResponsePreview.js +50 -13
  217. package/cypress/e2e/ILC/VideoResponseNew/editTabBasicSection.js +14 -29
  218. package/cypress/e2e/ILC/chartsDotsPlot/headerSection.js +16 -1
  219. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsBasic.js +27 -28
  220. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +31 -30
  221. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +24 -24
  222. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +39 -37
  223. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsBasic.js +22 -23
  224. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +31 -30
  225. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +25 -24
  226. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +31 -31
  227. package/cypress/e2e/ILC/chartsDotsPlot/scoring/toleranceThresholdScoring.js +18 -19
  228. package/cypress/e2e/ILC/chartsDotsPlot/specifyCorrectAnswerSection.js +96 -0
  229. package/cypress/e2e/Sessions/fetchResponses.js +6 -6
  230. package/cypress/e2e/Sessions/saveResponseScores.js +2 -2
  231. package/cypress/pages/audioPlayerPage.js +47 -22
  232. package/cypress/pages/brainingCampManipulativePage.js +1 -1
  233. package/cypress/pages/chartsBarPage.js +45 -0
  234. package/cypress/pages/chartsDotPlotPage.js +25 -0
  235. package/cypress/pages/chartsLinePage.js +28 -3
  236. package/cypress/pages/components/additionalSettingsPanel.js +1 -0
  237. package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +5 -1
  238. package/cypress/pages/components/browseItemsPage.js +109 -2
  239. package/cypress/pages/components/chartsCommonComponent.js +6 -2
  240. package/cypress/pages/components/ckEditorEquationEditorComponent.js +5 -4
  241. package/cypress/pages/components/ckEditorInsertImageComponent.js +2 -2
  242. package/cypress/pages/components/ckEditorInsertTableComponent.js +3 -3
  243. package/cypress/pages/components/ckEditorLinkComponent.js +8 -9
  244. package/cypress/pages/components/colorPopupComponent.js +6 -0
  245. package/cypress/pages/components/commonComponents.js +4 -0
  246. package/cypress/pages/components/createQuestionBasePage.js +14 -1
  247. package/cypress/pages/components/defaultToolDropdown.js +1 -1
  248. package/cypress/pages/components/draggableOptionsSectionComponent.js +2 -0
  249. package/cypress/pages/components/editCategoryFlyout.js +2 -2
  250. package/cypress/pages/components/equationEditorSectionCommonComponent.js +10 -25
  251. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +28 -0
  252. package/cypress/pages/components/gridQuestionCommonComponent.js +50 -0
  253. package/cypress/pages/components/questionInstructionsComponent.js +2 -0
  254. package/cypress/pages/components/scoringSectionBaseEditTab.js +3 -0
  255. package/cypress/pages/contentBlocksPage.js +2 -0
  256. package/cypress/pages/desmos3DGraphingPage.js +149 -4
  257. package/cypress/pages/desmosGeometryPage.js +184 -4
  258. package/cypress/pages/drawingResponsePage.js +2 -0
  259. package/cypress/pages/graphingPage.js +27 -8
  260. package/cypress/pages/gridFillPage.js +15 -6
  261. package/cypress/pages/imageHighlightPage.js +32 -0
  262. package/cypress/pages/listOrderingPage.js +40 -1
  263. package/cypress/pages/matchingPage.js +26 -7
  264. package/cypress/pages/numberLineLabelPage.js +31 -8
  265. package/cypress/pages/numberLinePage.js +19 -7
  266. package/cypress/pages/textEntryMathPage.js +24 -1
  267. package/cypress/pages/thinkSpherePage.js +692 -11
  268. package/cypress/pages/uploadResponsePage.js +17 -1
  269. package/cypress/pages/videoResponsePage.js +3 -0
  270. package/cypress/support/commands.js +9 -0
  271. package/cypress/support/helpers/createItem.js +22 -3
  272. package/cypress/support/helpers/utilities.js +14 -1
  273. package/package.json +3 -3
  274. /package/cypress/e2e/ILC/{ChartsDotsPlot → chartsDotsPlot}/checkAnswerFunctionalityForAllViews.js +0 -0
  275. /package/cypress/e2e/ILC/{ChartsDotsPlot → chartsDotsPlot}/editQuestion.smoke.js +0 -0
@@ -1,15 +1,19 @@
1
1
  import utilities from "../support/helpers/utilities";
2
2
  import { browseItemsPage } from "../pages/components/browseItemsPage";
3
+ import { editCategoryFlyout } from "../pages/components/editCategoryFlyout";
3
4
  import { dialogBoxBase } from "../pages/dialogBoxBase";
4
- import { backgroundImageUploadComponent, createQuestionBasePage, scoringSectionBaseEditTab, commonComponents, additionalSettingsPanel, additionalSettingsAccessibilitySectionComponent, toolSettingsComponent, questionInstructionsComponent, studentViewSettingsLabelComponent, defaultToolDropdown, essayResponseCommonComponents, equationEditorSectionCommonComponent, equationEditorFlyout } from "./components"
5
+ import { backgroundImageUploadComponent, createQuestionBasePage, scoringSectionBaseEditTab, commonComponents, additionalSettingsPanel, additionalSettingsAccessibilitySectionComponent, toolSettingsComponent, questionInstructionsComponent, studentViewSettingsLabelComponent, defaultToolDropdown, essayResponseCommonComponents, equationEditorSectionCommonComponent, equationEditorFlyout, createCustomCategoryFlyout } from "./components"
5
6
  import { drawingResponsePage } from "./drawingResponsePage";
6
7
  import { optionsWrapperComponent } from "../pages/components/optionsWrapperComponent";
7
8
  import { selectQuestionResourceToolPage } from "./selectQuestionResourceToolPage";
8
9
  import { videoResponsePage } from "./videoResponsePage";
9
10
  import { singleSelectionPage } from "./singleSelectionPage";
11
+ import { essayResponsePage } from "./essayResponsePage";
12
+ import { equationEditorCategoriesAndSymbols } from "../fixtures/equationEditorCategoriesAndSymbols ";
10
13
  const css = Cypress.env('css');
11
14
 
12
15
  const selectors = {
16
+ ...essayResponsePage,
13
17
  ...backgroundImageUploadComponent,
14
18
  ...questionInstructionsComponent,
15
19
  ...commonComponents,
@@ -24,6 +28,10 @@ const selectors = {
24
28
  ...browseItemsPage,
25
29
  ...videoResponsePage,
26
30
  ...dialogBoxBase,
31
+ ...editCategoryFlyout,
32
+ ...createCustomCategoryFlyout,
33
+ ...createQuestionBasePage,
34
+
27
35
  editQuestionPencil: () => cy.get('[class*="Widgetstyles__HeaderContainer"] button.icon-pencil'),
28
36
  widgetHeaderQuestionTitle: () => cy.get('[class*="Widgetstyles__HeaderContainer"] [class*="Widgetstyles__QuestionTypeText"]'),
29
37
  imageUploadSection: () => cy.get('[class*="TabsComponentstyles__ImageUploadComponentWrapper"]'),
@@ -72,7 +80,7 @@ const selectors = {
72
80
  planStrategyListResetToDefault: () => cy.get('[class*="Planstyles__StrategiesWrapper"] [class*="Planstyles__DefaultResetWrapper"]'),
73
81
  planStrategyAddItemButton: () => cy.get('[class*="Planstyles__StrategiesWrapper"] [class*="ListOptionsComponentstyles__AddItemWrapper"] [role="button"]'),
74
82
  planStrategyCheckbox: () => cy.get('[class*="Planstyles__StrategiesWrapper"] .thinksphere-option-text-field-wrapper [data-ngie-testid*="-checkbox"]'),
75
- videoLinkComponent: () => utilities.getNthElement(cy.get('[class*="ListOptionsComponentstyles__UploadVideoWrapper"]'), 0),
83
+ videoLinkComponent: (nthElement = 0) => utilities.getNthElement(cy.get('[class*="ListOptionsComponentstyles__UploadVideoWrapper"]'), nthElement),
76
84
  uploadVideoLinkButton: () => cy.get('[class*="ListOptionsComponentstyles__UploadVideoTextWrapper"]'),
77
85
  planSentenceStarterSection: () => cy.get('[class*="Planstyles__SentenceFramesWrapper"]'),
78
86
  planSentenceStarterListHeader: () => cy.get('[class*="Planstyles__SentenceFramesWrapper"] [class*="Planstyles__HeadingTextWrapper"]'),
@@ -90,7 +98,7 @@ const selectors = {
90
98
  editVideoButton: () => cy.get('[aria-label*="Change video"]'),
91
99
  deleteVideoButton: () => cy.get('[aria-label*="Delete video"]'),
92
100
  listInputField: () => cy.get('.option-component textarea[placeholder]'),
93
- deleteButton: () => cy.get('button[aria-label*="Delete"]'),
101
+ deleteButton: () => cy.get('button[aria-label*="Delete"].ngie-icon-btn-cls'),
94
102
  optionNumeration: () => cy.get('[class*="MuiInputAdornment-positionStart"]'),
95
103
  iconPencil: () => cy.get('div[class*="icon-pencil"]'),
96
104
  iconXCircle: () => cy.get('div[class*="icon-x-circle"]'),
@@ -103,6 +111,7 @@ const selectors = {
103
111
  addCheckMathQuestionButton: () => cy.get('.ngie-btn-typography').contains(`Add 'Check your math' question`),
104
112
  firstAvailableItemLink: () => utilities.getNthElement(cy.get('.browse-item-styled-link'), 0),
105
113
  saveButton: () => cy.get('.ngie-btn-typography').contains('save',{matchCase: false}),
114
+ cancelButton: () => cy.get('.ngie-btn-typography').contains('cancel',{matchCase: false}),
106
115
  AddCheckMathQuestionHeader: () => cy.get('.browse-title-wrapper').contains(`Add 'Check your math' question`),
107
116
  singleOptionTextFieldWrapper: () => cy.get('[class*="SingleOptionstyle__TextFieldWrapper"]'),
108
117
  customizeStampComponent: () => cy.get('[class*="CustomizeStampstyles__CustomizeStampWrapper"]'),
@@ -127,7 +136,7 @@ const selectors = {
127
136
  imageUploadSectionQuestionImageCrossIcon: () => thinkSpherePage.imageUploadSection().find('div[class*="QuestionImageComponentstyle__CrossIcon"]'),
128
137
  imageRadioButtonParentSvg: () => thinkSpherePage.imageRadioButton().parent().find('svg'),
129
138
  solvePhaseAccordionSvg: () => thinkSpherePage.solvePhaseAccordion().find('svg'),
130
- customizeToolsAndControlsSvg: () => thinkSpherePage.customizeToolsAndControls().find('svg'),
139
+ customizeToolsAndControlsPath: () => thinkSpherePage.customizeToolsAndControls().find('path'),
131
140
  solvePhaseToolsAndControlsOptionsTilesFeatherCheckIcon: () => thinkSpherePage.solveToolsAndControlsOptionsTiles('Text').find('[data-name="Icon feather-check"]'),
132
141
  solvePhaseToolsAndControlsOptionsTilesRectangle: () => thinkSpherePage.solveToolsAndControlsOptionsTiles('Text').find('[data-name*="Rectangle"]'),
133
142
  solvePhaseToolsAndControlsOptionsTilesDragItemFlexWrapperSvg: () => thinkSpherePage.solveToolsAndControlsOptionsTiles('Text').find('.drag-item-flex-wrapper svg'),
@@ -181,9 +190,44 @@ const selectors = {
181
190
  gridItemsWrapper: (number) => cy.get('[class*="DragAndDropGridstyles__GridItemsWrapper"]').eq(number),
182
191
  dragButton: (number) => cy.get('[type="button"]').eq(number),
183
192
  customizeStampsButton: (customizeStampPosition) => cy.get(`button[aria-label="Stamp ${customizeStampPosition}"]`),
193
+ buttonSave: () => cy.get('.action-btn-wrapper button').eq(1),
194
+ buttonCancel: () => cy.get('.action-btn-wrapper button').eq(0),
195
+ nextGenThinkSphereCreateItemWrapper: () => cy.get('#nextgen-thinkshpere-create-item'),
196
+ equationEditorSectionTitle: () => cy.get('.equation-editor-text-title'),
197
+ referenceIdWrapper: () => cy.get('.edit-item-reference-id-wrapper'),
198
+ editBoxWrapper: () => cy.get('.edit-box-wrapper'),
199
+ editBoxText: () => cy.get('.edit-box-text'),
200
+ editBoxTextInput: () => thinkSpherePage.editBoxWrapper().find('input'),
201
+ editIconPencil: () => cy.get('.icon-pencil'),
202
+ thinkSphereQuestionHeader: () => cy.get('.edit-question-header-title'),
203
+ filterSectionQuestionTypesAccordion: () => cy.get('.filter-section-expansion-panel-summary-root'),
204
+ filterSectionQuestionAccordion: () => cy.get('.expansion-item-expansion-panel-summary-content'),
205
+ checkBox: () => cy.get('.MuiCheckbox-root'),
206
+ browseItemQuestionItem: () => cy.get('.browse-item-question-item'),
207
+ ErrorMessageContainer: () => cy.get('.ErrorMessageContainer'),
208
+ categoriesDropDown: () => cy.get('.dropdown-form-control[label="Categories"]'),
209
+ categoriesDropDownLabelText: () => cy.get('.dropdown-label-text'),
210
+ categoriesDropDownMenuItem: () => cy.get('.dropdown-menu-item .dropdown-label-text'),
211
+ categoriesDropDownParent: () => cy.get('.drop-down-parent'),
212
+ cardWrapper: () => cy.get('.card-wrapper'),
213
+ cardLabel: () => cy.get('.widget-card-label'),
214
+ thinkSphereQuestionInstructionCKEditor: () => cy.get('div.cke_editable[contenteditable="true"]'),
215
+ reviewTab: () => cy.get('div[aria-label="Review tab"]'),
216
+ planTab: () => cy.get('div[aria-label="Plan tab"]'),
217
+ checkYourMathHeading: () => utilities.getNthElement(cy.get('div[class*="ReviewTabstyles__CheckYourMathTextWrapper"]'), 0),
218
+ problemAskingToMeTextWrapper: () => utilities.getNthElement(cy.get('div[class*="ReviewTabstyles__ProblemAskingToMeTextWrapper"]'), 0),
219
+ reviewQuestionWrapper: () => utilities.getNthElement(cy.get('div[class*="ReviewTabstyles__QuestionWrapper"]'), 0),
220
+ reviewComponentWrapper: () => utilities.getNthElement(cy.get('div[class*="ReviewTabstyles__ComponentWrapper"]'), 0),
221
+ problemStatementWrapper: () => utilities.getNthElement(cy.get('div[class*="ReviewTabstyles__ProblemStatementWrapper"]'), 0),
222
+ gradingViewRadioButton: () => cy.get('label[aria-label="Grading View"]'),
223
+ studentViewRadioButton: () => cy.get('label[aria-label="Student View"]'),
224
+ correctAnswerLabelWrapper: () => cy.get('div[class*="CorrectAnswerLabelWrapper"]'),
225
+ submitButton: () => cy.get('button[aria-label="Submit"]'),
226
+ goToGradingViewButton: () => cy.contains('button', 'GO TO GRADING VIEW'),
184
227
  };
185
228
 
186
229
  const steps = {
230
+ ...essayResponsePage.steps,
187
231
  ...backgroundImageUploadComponent.steps,
188
232
  ...questionInstructionsComponent.steps,
189
233
  ...scoringSectionBaseEditTab.steps,
@@ -200,6 +244,7 @@ const steps = {
200
244
  ...browseItemsPage.steps,
201
245
  ...videoResponsePage.steps,
202
246
  ...createQuestionBasePage.steps,
247
+ ...createCustomCategoryFlyout.steps,
203
248
 
204
249
  /**
205
250
  * Navigates to the ThinkSphere create question page.
@@ -271,12 +316,24 @@ const steps = {
271
316
  cy.wait('@setItem');
272
317
  },
273
318
 
319
+ clickOnCancelButton: () => {
320
+ cy.interceptGraphql('setItem');
321
+ thinkSpherePage.cancelButton()
322
+ .click();
323
+ },
324
+
274
325
  clickOnSwapButton: () => {
275
326
  thinkSpherePage.ThinkSphereMathQuestionHeaderSwapIcon()
276
327
  .click();
277
328
  cy.wait(2000);
278
329
  },
279
330
 
331
+ clickOnEditButton: () => {
332
+ thinkSpherePage.ThinkSphereMathQuestionHeaderPencilIcon()
333
+ .click();
334
+ cy.wait(2000);
335
+ },
336
+
280
337
  clickOnDeleteButton: () => {
281
338
  thinkSpherePage.thinkSphereMathQuestionHeaderDeleteIcon()
282
339
  .click();
@@ -543,7 +600,8 @@ const steps = {
543
600
  .click();
544
601
  } else {
545
602
  thinkSpherePage.planSentenceStarterAddItemButton()
546
- .click();
603
+ .click()
604
+ .trigger('mouseout', { force: true });
547
605
  }
548
606
  },
549
607
 
@@ -574,14 +632,14 @@ const steps = {
574
632
  .within(() => {
575
633
  utilities.getNthElement(thinkSpherePage.listInputField(), optionCount)
576
634
  .clear()
577
- .type(text);
635
+ .type(text, { delay: 500 });
578
636
  });
579
637
  } else {
580
638
  thinkSpherePage.planSentenceStarterSection()
581
639
  .within(() => {
582
640
  utilities.getNthElement(thinkSpherePage.listInputField(), optionCount)
583
641
  .clear()
584
- .type(text);
642
+ .type(text, { delay: 500 });
585
643
  });
586
644
  }
587
645
  },
@@ -729,10 +787,11 @@ const steps = {
729
787
  clickOnEditQuestionIcon: () => {
730
788
  utilities.getNthElement(thinkSpherePage.editQuestionPencil(), 0)
731
789
  .click();
790
+ cy.wait(1000);
732
791
  },
733
792
 
734
793
  clickOnQuestionInstructionExpandImageButton: () => {
735
- thinkSpherePage.questionInstructionPreviewImageExpandButton()
794
+ utilities.getNthElement(thinkSpherePage.questionInstructionPreviewImageExpandButton(), 0)
736
795
  .click();
737
796
  },
738
797
 
@@ -855,9 +914,503 @@ const steps = {
855
914
  verifyCustomizeStampSelectedUnselected: (selected, customizeStampPosition) => {
856
915
  utilities.verifyElementAttribute(thinkSpherePage.customizeStampsButton(customizeStampPosition), 'aria-checked', selected ? 'true' : 'false');
857
916
  },
917
+
918
+ saveCustomCategory: () => {
919
+ thinkSpherePage.buttonSave()
920
+ .click();
921
+ },
922
+
923
+ cancelCustomCategory: () => {
924
+ thinkSpherePage.buttonCancel()
925
+ .click();
926
+ },
927
+
928
+ createCustomCategoryWithMultipleCategoryCharacters: () => {
929
+ cy.log('Creating a custom category by selecting \'Keypad\' category, partially selecting \'Basic\' and \'Greek\' categories')
930
+ createCustomCategoryFlyout.steps.openCreateCustomCategoryFlyout();
931
+ createCustomCategoryFlyout.steps.checkCategoryAccordionCheckbox(`${equationEditorCategoriesAndSymbols['primary'].displayName}`);
932
+ cy.wait(2000);
933
+ createCustomCategoryFlyout.steps.verifyPartiallyCheckedStateOfCategoryAccordionCheckbox(`${equationEditorCategoriesAndSymbols['matrices'].displayName}`);
934
+ createCustomCategoryFlyout.steps.expandCategoryAccordion(`Greek Symbols`);
935
+ createCustomCategoryFlyout.steps.selectASymbolInCreateCustomCategoryFlyout(`${equationEditorCategoriesAndSymbols['greek'].displayName}`, `${equationEditorCategoriesAndSymbols.greek.symbols.gamma.ariaLabel}`);
936
+ createCustomCategoryFlyout.steps.selectASymbolInCreateCustomCategoryFlyout(`${equationEditorCategoriesAndSymbols['greek'].displayName}`, `${equationEditorCategoriesAndSymbols.greek.symbols.delta.ariaLabel}`);
937
+ createCustomCategoryFlyout.steps.addInputToCustomCategoryNameInputField('Custom category with name.');
938
+ thinkSpherePage.steps.saveCustomCategory();
939
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'notExist');
940
+ },
941
+
942
+ createCustomCategoryWithNameAndIcon: () => {
943
+ cy.log('Creating a category by selecting \'Arrows\' category')
944
+ createCustomCategoryFlyout.steps.openCreateCustomCategoryFlyout();
945
+ createCustomCategoryFlyout.steps.checkCategoryAccordionCheckbox(`${equationEditorCategoriesAndSymbols['geo'].displayName}`);
946
+ createCustomCategoryFlyout.steps.addInputToCustomCategoryNameInputField('Custom category with name and icon.');
947
+ createCustomCategoryFlyout.steps.addInputToCategoryIconInputField('#');
948
+ thinkSpherePage.steps.saveCustomCategory();
949
+ },
950
+
951
+ verifyCategoryCharactersAndUnSelectedState: (arrayOfSymbolsAriaLabel) => {
952
+ thinkSpherePage.categoryCharacters()
953
+ .then(($symbols) => {
954
+ for (let index = 10; index < $symbols.length - 1; index++) {
955
+ editCategoryFlyout.categoryCharacters()
956
+ .eq(index)
957
+ .should('not.have.class', 'Mui-selected')
958
+ .invoke('attr', 'aria-label')
959
+ .then((ariaLabel) => {
960
+ const tooltipText = ariaLabel.split(' ').slice(0, -1).join(' ');
961
+ editCategoryFlyout.categoryCharacters()
962
+ .eq(index)
963
+ .verifyTooltip(tooltipText);
964
+ });
965
+ }
966
+ });
967
+ },
968
+
969
+ verifyCategoryCharactersAndSelectedState: (arrayOfSymbolsAriaLabel) => {
970
+ editCategoryFlyout.categoryCharacters()
971
+ .then(($symbols) => {
972
+ for (let index = 0; index < arrayOfSymbolsAriaLabel.length - 1; index++) {
973
+ editCategoryFlyout.categoryCharacters()
974
+ .eq(index)
975
+ .should('have.class', 'Mui-selected')
976
+ .invoke('attr', 'aria-label')
977
+ .then((ariaLabel) => {
978
+ const tooltipText = ariaLabel.split(' ').slice(0, -1).join(' ');
979
+ editCategoryFlyout.categoryCharacters()
980
+ .eq(index)
981
+ .verifyTooltip(tooltipText);
982
+ });
983
+ }
984
+ });
985
+ },
986
+
987
+ expandDropdown: () => {
988
+ thinkSpherePage.categoriesDropDownParent()
989
+ .click();
990
+ },
991
+
992
+ verifyDropdownOptions: (dropDownListArray) => {
993
+ thinkSpherePage.categoriesDropDownMenuItem().should('have.length', dropDownListArray.length).each(($item) => {
994
+ cy.wrap($item)
995
+ .invoke('text')
996
+ .then((text) => {
997
+ const trimmedText = text.trim();
998
+ expect(dropDownListArray).to.include(trimmedText);
999
+ });
1000
+ });
1001
+ },
1002
+
1003
+ clickOnDropDownCategory: (index) => {
1004
+ thinkSpherePage.categoriesDropDownMenuItem().eq(index).click();
1005
+ },
1006
+
1007
+ clickOnQuestionTypesAccordion: () => {
1008
+ thinkSpherePage.filterSectionQuestionTypesAccordion()
1009
+ .click()
1010
+ },
1011
+
1012
+ typeInSearchBar: (input) => {
1013
+ thinkSpherePage.searchBar()
1014
+ .clear()
1015
+ .type(input)
1016
+ .should('have.value', input);
1017
+ },
1018
+
1019
+ searchInSearchBar: (input) => {
1020
+ thinkSpherePage.searchBar()
1021
+ .clear()
1022
+ .type(input)
1023
+ .should('have.value', input)
1024
+ .type('{enter}');
1025
+ },
1026
+
1027
+ clickOnSolvePhaseAccordionIcon: (element) => {
1028
+ thinkSpherePage.solvePhaseAccordionExpandIcon()
1029
+ .click();
1030
+ },
1031
+
1032
+ verifyElementDoesNotHaveExpandedClass: (element) => {
1033
+ element.should('not.have.class', 'Mui-expanded');
1034
+ },
1035
+
1036
+ verifyElementDoesNotHaveCheckedClass: (element) => {
1037
+ element.should('not.have.class', 'Mui-checked');
1038
+ },
1039
+
1040
+ verifyThinkSphereSearchBarPlaceholder: () => {
1041
+ thinkSpherePage.searchBar().should('have.attr', 'placeholder', 'Search by title, tags and content');
1042
+ },
1043
+
1044
+ verifyReviewItemSearchBarPlaceholder: () => {
1045
+ thinkSpherePage.searchBar().should('have.attr', 'placeholder', 'Search by question type');
1046
+ },
1047
+
1048
+ verifyEquationEditorSectionCategoryNotPressed: () => {
1049
+ thinkSpherePage.equationEditorSectionCategories().eq(1).should('have.attr', 'data-aria-pressed', 'false');
1050
+ },
1051
+
1052
+ verifyEquationEditorSectionCategoryIsPressed: () => {
1053
+ thinkSpherePage.equationEditorSectionCategories().eq(10).should('have.attr', 'data-aria-pressed', 'true');
1054
+ },
1055
+
1056
+ verifyTypeCheckBoxStrategy: () => {
1057
+ utilities.getNthElement(thinkSpherePage.planStrategyCheckbox(), 5)
1058
+ .find('input').should('have.attr', 'type', 'checkbox');
1059
+ },
1060
+
1061
+ verifyTypeCheckBoxSentenceStarter: () => {
1062
+ utilities.getNthElement(thinkSpherePage.planSentenceStarterCheckbox(), 5)
1063
+ .find('input').should('have.attr', 'type', 'checkbox');
1064
+ },
1065
+
1066
+ verifyStrategyCheckBoxNotChecked: () => {
1067
+ utilities.getNthElement(thinkSpherePage.planStrategyCheckbox(), 5)
1068
+ .find('input').should('not.have.attr', 'checked');
1069
+ },
1070
+
1071
+ verifySentenceStrategyCheckBoxNotChecked: () => {
1072
+ utilities.getNthElement(thinkSpherePage.planSentenceStarterCheckbox(), 5)
1073
+ .find('input').should('not.have.attr', 'checked');
1074
+ },
1075
+
1076
+ verifyTextIsNotEmpty: (element) => {
1077
+ element.invoke('text')
1078
+ .should('not.be.empty');
1079
+ },
1080
+
1081
+ verifyLength: (element, length) => {
1082
+ element.should('have.length', length);
1083
+ },
1084
+
1085
+ verifyFilterSectionExpanded: () => {
1086
+ thinkSpherePage.filterSectionQuestionTypesAccordion().should('have.class', 'Mui-expanded');
1087
+ },
1088
+
1089
+ verifyFilterSectionCollapsed: () => {
1090
+ thinkSpherePage.filterSectionQuestionTypesAccordion().should('not.have.class', 'Mui-expanded');
1091
+ },
1092
+
1093
+ verifySolvePhaseAccordionExpanded: () => {
1094
+ thinkSpherePage.solvePhaseAccordionExpandIcon().should('have.class', 'Mui-expanded');
1095
+ },
1096
+
1097
+ verifySolvePhaseAccordionCollapsed: () => {
1098
+ thinkSpherePage.solvePhaseAccordionExpandIcon().should('not.have.class', 'Mui-expanded');
1099
+ },
1100
+
1101
+ addQuestionInstructionInnerHTML: (innerHTML) => {
1102
+ thinkSpherePage.thinkSphereQuestionInstructionCKEditor()
1103
+ .invoke('html', innerHTML);
1104
+ },
1105
+
1106
+ verifyQuestionInstructionIncreasedHeightAndScrollBar: () => {
1107
+ thinkSpherePage.thinkSphereQuestionInstructionCKEditor()
1108
+ .invoke('height') // Get the height of the element
1109
+ .should('be.gt', 198);
1110
+
1111
+ thinkSpherePage.thinkSphereQuestionInstructionCKEditor()
1112
+ .should(($el) => {
1113
+ const scrollWidth = $el[0].scrollWidth;
1114
+ const clientWidth = $el[0].clientWidth;
1115
+
1116
+ // Assert that horizontal scroll is present
1117
+ expect(scrollWidth).to.be.greaterThan(clientWidth);
1118
+ });
1119
+ },
1120
+
1121
+ verifyQuestionImagePopup: () => {
1122
+ thinkSpherePage.dialogBoxRoot()
1123
+ .within(() => {
1124
+ utilities.verifyElementVisibilityState(thinkSpherePage.questionInstructionImagePopup(), 'visible');
1125
+ utilities.verifyElementVisibilityState(thinkSpherePage.closeExpandImagePopupButton(), 'visible');
1126
+ });
1127
+ },
1128
+
1129
+ verifyAddNewStrategyPopupCloseFunctionality: () => {
1130
+ let countBeforeOpeningPopup, countAfterClosingPopup;
1131
+ cy.get(thinkSpherePage.strategiesBoxPreviewTab())
1132
+ .its('length')
1133
+ .then((count) => {
1134
+ countBeforeOpeningPopup = count;
1135
+ cy.log('Count before opening popup:', countBeforeOpeningPopup);
1136
+ });
1137
+ thinkSpherePage.addNewStrategyButton().click();
1138
+ thinkSpherePage.addStrategyPopupCancelButton().click();
1139
+ cy.get(thinkSpherePage.strategiesBoxPreviewTab())
1140
+ .its('length')
1141
+ .then((count) => {
1142
+ countAfterClosingPopup = count;
1143
+ cy.log('Count after closing popup:', countAfterClosingPopup);
1144
+ expect(countAfterClosingPopup).to.equal(countBeforeOpeningPopup);
1145
+ });
1146
+ },
1147
+
1148
+ verifyAddNewStrategyPopupSaveFunctionality: () => {
1149
+ let countBeforeOpeningPopup, countAfterClosingPopup;
1150
+ thinkSpherePage.strategiesBoxPreviewTab()
1151
+ .its('length')
1152
+ .then((count) => {
1153
+ countBeforeOpeningPopup = count;
1154
+ cy.log('Count before opening popup:', countBeforeOpeningPopup);
1155
+ });
1156
+ thinkSpherePage.addNewStrategyButton().click();
1157
+ thinkSpherePage.strategyNameInputField().type('Test Strategy');
1158
+ thinkSpherePage.addStrategyPopupSaveButton().click();
1159
+ thinkSpherePage.strategiesBoxPreviewTab()
1160
+ .its('length')
1161
+ .then((count) => {
1162
+ countAfterClosingPopup = count;
1163
+ cy.log('Count after closing popup:', countAfterClosingPopup);
1164
+ expect(countAfterClosingPopup).to.equal(countBeforeOpeningPopup + 1);
1165
+ });
1166
+ },
1167
+
1168
+ verifyVideoPopupDialogBox: () => {
1169
+ thinkSpherePage.dialogBoxRoot()
1170
+ .within(() => {
1171
+ utilities.verifyElementVisibilityState(thinkSpherePage.dialogBoxTitle(), 'visible');
1172
+ utilities.verifyInnerText(thinkSpherePage.dialogBoxTitle(), 'Create_a_model');
1173
+ utilities.verifyElementVisibilityState(thinkSpherePage.buttonClose(), 'visible');
1174
+ });
1175
+ },
1176
+
1177
+ verifySentenceStartersDropdown: () => {
1178
+ thinkSpherePage.chooseStarterTextIconWrapper()
1179
+ .within(() => {
1180
+ utilities.verifyElementVisibilityState(thinkSpherePage.starterIocn(), 'visible');
1181
+ utilities.verifyInnerText(thinkSpherePage.starterTextWrapper(), 'Starters');
1182
+ });
1183
+ thinkSpherePage.chooseStarterDropdown()
1184
+ .verifyPseudoClassBeforeProperty('content', '""');
1185
+ },
1186
+
1187
+ verifySentenceStartersDropdownOptions: (sentenceStartersTextDefault) => {
1188
+ sentenceStartersTextDefault.forEach((label, index) => {
1189
+ utilities.verifyInnerText(utilities.getNthElement(thinkSpherePage.chooseStartersListOptionLabels(), index), label);
1190
+ });
1191
+ },
1192
+
1193
+ verifySentenceStartersDropdownFunctionality: () => {
1194
+ thinkSpherePage.writePlanWrapper()
1195
+ .within(() => {
1196
+ thinkSpherePage.contentEditableDiv().clear();
1197
+ });
1198
+ thinkSpherePage.steps.expandChooseStarterDropdown();
1199
+ utilities.getNthElement(thinkSpherePage.chooseStartersListOptions(), 1).click();
1200
+ thinkSpherePage.writePlanWrapper()
1201
+ .within(() => {
1202
+ thinkSpherePage.contentEditableDiv().should('have.value', 'First, I will ');
1203
+ thinkSpherePage.contentEditableDiv().clear();
1204
+ });
1205
+ },
1206
+
1207
+ verifyProblemAskingHeading: () => {
1208
+ thinkSpherePage.problemAskingWrapper()
1209
+ .within(() => {
1210
+ utilities.verifyInnerText(thinkSpherePage.subheadingWrapper(), 'The problem is asking me to');
1211
+ utilities.verifyElementVisibilityState(thinkSpherePage.subheadingWrapper(), 'visible');
1212
+ });
1213
+ },
1214
+
1215
+ verifyProblemAskingTextArea: () => {
1216
+ thinkSpherePage.problemAskingWrapper()
1217
+ .within(() => {
1218
+ utilities.verifyElementVisibilityState(thinkSpherePage.contentEditableDiv(), 'visible');
1219
+ utilities.verifyElementAttribute(thinkSpherePage.contentEditableDiv(), 'placeholder', 'Enter your text here');
1220
+ });
1221
+ },
1222
+
1223
+ verifyProblemAskingMicSection: (isGrading=false) => {
1224
+ thinkSpherePage.problemAskingWrapper()
1225
+ .within(() => {
1226
+ utilities.verifyElementVisibilityState(thinkSpherePage.micIconWrapper(), 'visible');
1227
+ utilities.verifyElementAttribute(thinkSpherePage.micIconWrapper(), 'role', 'button');
1228
+ utilities.verifyElementAttribute(thinkSpherePage.micIconWrapper(), 'aria-label', 'Mic button');
1229
+ if(isGrading) {
1230
+ utilities.verifyElementAttribute(thinkSpherePage.micIconWrapper(), 'tabindex', -1);
1231
+ }
1232
+ });
1233
+ },
1234
+
1235
+ verifyProblemAskingTextAreaFunctionality: (textToEnter) => {
1236
+ thinkSpherePage.problemAskingWrapper()
1237
+ .within(() => {
1238
+ thinkSpherePage.contentEditableDiv().type(textToEnter);
1239
+ thinkSpherePage.contentEditableDiv().should('have.value', textToEnter);
1240
+ });
1241
+ },
1242
+
1243
+ verifyStrategiesToPlanHeading: () => {
1244
+ thinkSpherePage.strategiesToPlanWrapper()
1245
+ .within(() => {
1246
+ utilities.verifyInnerText(thinkSpherePage.subheadingWrapper(), 'Add strategies to plan');
1247
+ utilities.verifyElementVisibilityState(thinkSpherePage.subheadingWrapper(), 'visible');
1248
+ });
1249
+ },
1250
+
1251
+ verifyWritePlanHeading: () => {
1252
+ thinkSpherePage.writePlanWrapper()
1253
+ .within(() => {
1254
+ utilities.verifyInnerText(thinkSpherePage.subheadingWrapper(), 'Write your plan');
1255
+ utilities.verifyElementVisibilityState(thinkSpherePage.subheadingWrapper(), 'visible');
1256
+ });
1257
+ },
1258
+
1259
+ verifyWritePlanTextArea: () => {
1260
+ thinkSpherePage.writePlanWrapper()
1261
+ .within(() => {
1262
+ utilities.verifyElementVisibilityState(thinkSpherePage.contentEditableDiv(), 'visible');
1263
+ utilities.verifyElementAttribute(thinkSpherePage.contentEditableDiv(), 'placeholder', 'Enter your plan here');
1264
+ });
1265
+ },
1266
+
1267
+ verifyWritePlanMicSection: (isGrading=false) => {
1268
+ thinkSpherePage.writePlanWrapper()
1269
+ .within(() => {
1270
+ utilities.verifyElementVisibilityState(thinkSpherePage.micIconWrapper(), 'visible');
1271
+ utilities.verifyElementAttribute(thinkSpherePage.micIconWrapper(), 'role', 'button');
1272
+ utilities.verifyElementAttribute(thinkSpherePage.micIconWrapper(), 'aria-label', 'Mic button');
1273
+ if(isGrading) {
1274
+ utilities.verifyElementAttribute(thinkSpherePage.micIconWrapper(), 'tabindex', -1);
1275
+ }
1276
+ });
1277
+ },
1278
+
1279
+ verifyWritePlanTextAreaFunctionality: (planTextToEnter) => {
1280
+ thinkSpherePage.writePlanWrapper()
1281
+ .within(() => {
1282
+ thinkSpherePage.contentEditableDiv().type(planTextToEnter);
1283
+ thinkSpherePage.contentEditableDiv().should('have.value', planTextToEnter);
1284
+ thinkSpherePage.contentEditableDiv().clear();
1285
+ });
1286
+ },
1287
+
1288
+ verifyStrategyChipClickFunctionality: () => {
1289
+ thinkSpherePage.writePlanWrapper()
1290
+ .within(() => {
1291
+ thinkSpherePage.contentEditableDiv().clear();
1292
+ });
1293
+ thinkSpherePage.strategyChip().click();
1294
+ thinkSpherePage.writePlanWrapper()
1295
+ .within(() => {
1296
+ thinkSpherePage.contentEditableDiv().should('have.value', 'look for a pattern ');
1297
+ });
1298
+ },
1299
+ clickUploadVideoButton: () => {
1300
+ thinkSpherePage.uploadVideoLinkButton()
1301
+ .click();
1302
+ },
1303
+
1304
+ verifyPreAuthoredVideoTitles: (defaultStrategyTexts) => {
1305
+ defaultStrategyTexts.forEach((text,index) => {
1306
+ thinkSpherePage.videoLinkComponent(index)
1307
+ .within(() => {
1308
+ utilities.verifyInnerText(thinkSpherePage.uploadVideoLinkButton(), text);
1309
+ })
1310
+ });
1311
+ },
1312
+
1313
+ verifyPreAuthoredVideos: (preAuthoredVideos) => {
1314
+ preAuthoredVideos.forEach(({duration}, optionIndex) => {
1315
+ thinkSpherePage.videoLinkComponent(optionIndex)
1316
+ .within(thinkSpherePage.steps.clickUploadVideoButton);
1317
+ thinkSpherePage.steps.startPlayback();
1318
+ thinkSpherePage.steps.waitForPlaybackToBegin();
1319
+ thinkSpherePage.playerTimer()
1320
+ .should('contain', `/${duration}`);
1321
+ thinkSpherePage.steps.closeVideoPopup();
1322
+ })
1323
+ },
1324
+
1325
+ clickOnReviewTab: () => {
1326
+ thinkSpherePage.reviewTab()
1327
+ .click();
1328
+ },
1329
+
1330
+ clickOnPlanTab: () => {
1331
+ thinkSpherePage.planTab()
1332
+ .click();
1333
+ },
1334
+
1335
+ switchToGradingView: () => {
1336
+ thinkSpherePage.gradingViewRadioButton()
1337
+ .click();
1338
+ },
1339
+
1340
+ switchToStudentView: () => {
1341
+ thinkSpherePage.studentViewRadioButton()
1342
+ .click();
1343
+ },
1344
+
1345
+ verifyCorrectAnswerLabel: () => {
1346
+ utilities.verifyElementVisibilityState(thinkSpherePage.correctAnswerLabelWrapper(), 'visible');
1347
+ },
1348
+
1349
+ addImageAlternativeTextInputFieldText: (alternateTextForImage) => {
1350
+ thinkSpherePage.imageAlternativeTextInputField().type(alternateTextForImage);
1351
+ cy.wait(2000);
1352
+ },
1353
+
1354
+ stepsBeforeGradingView: () => {
1355
+ thinkSpherePage.steps.expandChooseStarterDropdown();
1356
+ utilities.getNthElement(thinkSpherePage.chooseStartersListOptions(), 1).click();
1357
+ thinkSpherePage.problemAskingWrapper().first()
1358
+ .within(() => {
1359
+ thinkSpherePage.contentEditableDiv().type('This is a test text for the problem.');
1360
+ });
1361
+ thinkSpherePage.strategyChip().click();
1362
+ thinkSpherePage.submitButton().click();
1363
+ thinkSpherePage.goToGradingViewButton().click();
1364
+ },
1365
+
1366
+ verifyAddStrategiesButtonDisabled: () => {
1367
+ thinkSpherePage.addNewStrategyButton().should('have.attr', 'tabindex', '-1');
1368
+ thinkSpherePage.addNewStrategyButton().click({ force: true });
1369
+ utilities.verifyElementVisibilityState(thinkSpherePage.popupTitle(), 'notExist');
1370
+ },
1371
+
1372
+ verifyStrategiesListButtonDisabled: () => {
1373
+ utilities.getNthElement(thinkSpherePage.strategiesPreviewListLI(), 0).should('have.attr', 'tabindex', '-1');
1374
+ utilities.getNthElement(thinkSpherePage.strategiesPreviewListLI(), 0).should('have.attr', 'aria-disabled', 'true');
1375
+ },
1376
+
1377
+ verifySentenceStarterDropDownDisabled: () => {
1378
+ thinkSpherePage.chooseStarterDropdown().should('have.attr', 'aria-disabled', 'true');
1379
+ },
1380
+
1381
+ verifyDisabledProblemTextContainer: (textToEnter) => {
1382
+ thinkSpherePage.problemAskingWrapper()
1383
+ .within(() => {
1384
+ thinkSpherePage.contentEditableDiv().should('have.attr', 'readonly');
1385
+ thinkSpherePage.contentEditableDiv().should('have.value', textToEnter);
1386
+ });
1387
+ },
1388
+
1389
+ verifyDisabledWriteYourPlanTextContainer: (textToEnter) => {
1390
+ thinkSpherePage.writePlanWrapper()
1391
+ .within(() => {
1392
+ thinkSpherePage.contentEditableDiv().should('have.attr', 'readonly');
1393
+ thinkSpherePage.contentEditableDiv().should('have.value', textToEnter);
1394
+ });
1395
+ },
1396
+
1397
+ verifyDisabledStrategyChip: () => {
1398
+ thinkSpherePage.strategyChip().should('have.attr', 'tabindex', -1);
1399
+ },
1400
+
1401
+ verifyQuestionInstructionPreviewTexWrapperVisibility: (instructionText) => {
1402
+ utilities.verifyElementVisibilityState(thinkSpherePage.questionInstructionPreviewTexWrapper(), 'visible');
1403
+ utilities.verifyInnerText(thinkSpherePage.questionInstructionPreviewTexWrapper(), instructionText);
1404
+ },
1405
+
1406
+ verifyQuestionInstructionPreviewImageWrapperVisibility: () => {
1407
+ utilities.verifyElementVisibilityState(thinkSpherePage.questionInstructionPreviewImageWrapper(), 'visible');
1408
+ utilities.verifyElementVisibilityState(thinkSpherePage.questionInstructionPreviewImageExpandButton(), 'visible');
1409
+ },
858
1410
  };
859
1411
 
860
1412
  const tests = {
1413
+ ...essayResponsePage.tests,
861
1414
  ...createQuestionBasePage.tests,
862
1415
  ...backgroundImageUploadComponent.tests,
863
1416
  ...questionInstructionsComponent.tests,
@@ -869,6 +1422,7 @@ const tests = {
869
1422
  ...studentViewSettingsLabelComponent.tests,
870
1423
  ...defaultToolDropdown.tests,
871
1424
  ...optionsWrapperComponent.tests,
1425
+ ...equationEditorFlyout.tests,
872
1426
 
873
1427
  /**
874
1428
  * Verifies the ThinkSphere cancel button functionality.
@@ -1362,9 +1916,12 @@ const tests = {
1362
1916
  it('When user clicks on \'Reset to default\' button then the sentence starter list should be reset to default', () => {
1363
1917
  thinkSpherePage.planSentenceStarterListResetToDefault()
1364
1918
  .click();
1365
- optionList.forEach((option, index) => {
1366
- thinkSpherePage.steps.verifyOptionsContents(index, option, 'Enter sentence starter name');
1367
- });
1919
+ thinkSpherePage.planSentenceStarterSection()
1920
+ .within(() => {
1921
+ optionList.forEach((option, index) => {
1922
+ thinkSpherePage.steps.verifyOptionsContents(index, option, 'Enter sentence starter name');
1923
+ });
1924
+ })
1368
1925
  });
1369
1926
  }
1370
1927
  },
@@ -1550,6 +2107,130 @@ const tests = {
1550
2107
  cy.checkAccessibility(thinkSpherePage.singleOptionTextFieldWrapper());
1551
2108
  });
1552
2109
  },
2110
+
2111
+ verifyErrorMessageCSSAndA11y: () => {
2112
+ it('CSS of error message', { tags: 'css' }, () => {
2113
+ utilities.verifyCSS(commonComponents.errorMessage(), {
2114
+ 'color': css.color.errorText,
2115
+ 'font-size': css.fontSize.small,
2116
+ 'font-weight': css.fontWeight.regular
2117
+ });
2118
+ });
2119
+
2120
+ it('Accessibility of error message', { tags: 'a11y' }, () => {
2121
+ cy.checkAccessibility(thinkSpherePage.nextGenThinkSphereCreateItemWrapper());
2122
+ });
2123
+ },
2124
+
2125
+ verifyQuestionAccordion: () => {
2126
+ it('Author should be able to expand and collapse the question accordion by clicking on the expand icon', () => {
2127
+ thinkSpherePage.filterSectionQuestionAccordion().each(($accordion) => {
2128
+ cy.wrap($accordion).find('.expansion-item-icon-wrapper').click();
2129
+ cy.wrap($accordion).should('have.class', 'Mui-expanded');
2130
+ });
2131
+
2132
+ thinkSpherePage.filterSectionQuestionAccordion().each(($accordion) => {
2133
+ cy.wrap($accordion).find('.expansion-item-icon-wrapper').click();
2134
+ cy.wrap($accordion).should('not.have.class', 'Mui-expanded');
2135
+ });
2136
+ });
2137
+ },
2138
+
2139
+ verifyCreateItemHeaderSection: () => {
2140
+ it('The page displays a unique Reference ID at the top left corner in the format "Ref ID:"', () => {
2141
+ utilities.verifyElementVisibilityState(thinkSpherePage.referenceIdWrapper(), 'visible');
2142
+ utilities.verifyInnerText(thinkSpherePage.referenceIdWrapper().children('div').first(), 'Ref ID:\u00A0');
2143
+ const initialRefId = thinkSpherePage.referenceIdWrapper().children('div').eq(1).invoke('text');
2144
+ initialRefId.then((refId) => {
2145
+ expect(refId).to.be.a('string').and.not.be.empty;
2146
+ cy.reload();
2147
+ thinkSpherePage.referenceIdWrapper().children('div').eq(1).invoke('text').should((newRefId) => {
2148
+ expect(newRefId).to.be.a('string').and.not.be.empty;
2149
+ expect(newRefId).to.not.equal(refId);
2150
+ });
2151
+ });
2152
+ });
2153
+
2154
+ it('Edit text box and edit icon pencil should exist, and on clicking the edit input field with placeholder \'Enter title\ should allow the user to add title' , () => {
2155
+ utilities.verifyElementVisibilityState(thinkSpherePage.editBoxTextInput(), 'visible');
2156
+ thinkSpherePage.editBoxTextInput().blur();
2157
+ utilities.verifyElementVisibilityState(thinkSpherePage.editIconPencil(), 'visible');
2158
+ thinkSpherePage.editIconPencil().click();
2159
+ thinkSpherePage.editBoxTextInput().should('have.attr', 'placeholder', 'Enter title');
2160
+ thinkSpherePage.editBoxTextInput().type('Test Title');
2161
+ thinkSpherePage.editBoxTextInput().blur();
2162
+ utilities.verifyInnerText(thinkSpherePage.editBoxText(),'Test Title');
2163
+ });
2164
+ },
2165
+
2166
+ verifyDefaultTab: () => {
2167
+ it('By default edit tab should be selected', () => {
2168
+ thinkSpherePage.editTab().should('have.class', 'Mui-selected');
2169
+ });
2170
+ },
2171
+
2172
+ /**
2173
+ * Verifies the functionality of editing, selecting, and unselecting strategies and sentence starters.
2174
+ * Ensures that changes are saved successfully and reflected in the preview section.
2175
+ *
2176
+ * @param {Object} sentenceStartersObject - The object containing strategies and sentence starters data.
2177
+ * @param {Array<string>} sentenceStartersObject.editedStrategies - The list of edited strategies to verify.
2178
+ * @param {Array<string>} sentenceStartersObject.editedSentenceStarters - The list of edited sentence starters to verify.
2179
+ * @param {Array<string>} sentenceStartersObject.selectStrategies - The list of strategies to select and verify.
2180
+ * @param {Array<string>} sentenceStartersObject.selectSentenceStarters - The list of sentence starters to select and verify.
2181
+ */
2182
+ verifyStrategiesAndSentenceStartersSection: (sentenceStartersObject) => {
2183
+ const {
2184
+ editedStrategies, editedSentenceStarters, selectStrategies, selectSentenceStarters
2185
+ } = sentenceStartersObject || {};
2186
+ it('When user edits the strategies and sentence starers, then the changes should be saved successfully and edited strategies and sentence starers should get displayed in preview side', () => {
2187
+ thinkSpherePage.steps.switchToEditTab();
2188
+ thinkSpherePage.steps.clickOnEditQuestionIcon();
2189
+ editedStrategies.forEach((strategy, index) => {
2190
+ thinkSpherePage.steps.addOptionText('strategy', index, strategy);
2191
+ });
2192
+ editedSentenceStarters.forEach((sentenceStarter, index) => {
2193
+ thinkSpherePage.steps.addOptionText('sentenceStarter', index, sentenceStarter);
2194
+ });
2195
+ thinkSpherePage.steps.saveAQuestionAndVerifySnackbar();
2196
+ thinkSpherePage.steps.switchToPreviewTab();
2197
+ editedStrategies.forEach((label, index) => {
2198
+ utilities.verifyInnerText(utilities.getNthElement(thinkSpherePage.strategyTextWrapper(), index), label);
2199
+ });
2200
+ thinkSpherePage.steps.expandChooseStarterDropdown();
2201
+ editedSentenceStarters.forEach((label, index) => {
2202
+ utilities.verifyInnerText(utilities.getNthElement(thinkSpherePage.chooseStartersListOptionLabels(), index), label);
2203
+ });
2204
+ utilities.clickOnBody();
2205
+ });
2206
+
2207
+ it('When user select unselect the strategies and sentence starers, then the changes should be saved successfully and selected strategies and sentence starers should get displayed in preview side', () => {
2208
+ thinkSpherePage.steps.switchToEditTab();
2209
+ thinkSpherePage.steps.clickOnEditQuestionIcon();
2210
+ editedStrategies.forEach((strategy, index) => {
2211
+ if(!selectStrategies.includes(strategy)){
2212
+ thinkSpherePage.steps.selectOption('strategy', index);
2213
+ }
2214
+ });
2215
+ cy.wait(2000);
2216
+ editedSentenceStarters.forEach((sentenceStarter, index) => {
2217
+ if(!selectSentenceStarters.includes(sentenceStarter)){
2218
+ thinkSpherePage.steps.selectOption('sentenceStarter', index);
2219
+ }
2220
+ });
2221
+ cy.wait(2000);
2222
+ thinkSpherePage.steps.saveAQuestionAndVerifySnackbar();
2223
+ thinkSpherePage.steps.switchToPreviewTab();
2224
+ selectStrategies.forEach((label, index) => {
2225
+ utilities.verifyInnerText(utilities.getNthElement(thinkSpherePage.strategyTextWrapper(), index), label);
2226
+ });
2227
+ thinkSpherePage.steps.expandChooseStarterDropdown();
2228
+ selectSentenceStarters.forEach((label, index) => {
2229
+ utilities.verifyInnerText(utilities.getNthElement(thinkSpherePage.chooseStartersListOptionLabels(), index), label);
2230
+ });
2231
+ utilities.clickOnBody();
2232
+ });
2233
+ },
1553
2234
  };
1554
2235
 
1555
2236
  export const thinkSpherePage = {