itemengine-cypress-automation 1.0.355 → 1.0.356-capture-image-8b4830c.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 (250) 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 +49 -11
  5. package/cypress/e2e/ILC/BrowseItems/browseThinkSphereItems.js +4 -3
  6. package/cypress/e2e/ILC/BrowseItems/browseThinkSphereItemsMobileView.js +4 -3
  7. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/gradingViewAndCorrectAnswerView.smoke.js +1 -1
  8. package/cypress/e2e/ILC/ChartsBar/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +33 -0
  9. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightBasic.js +2 -2
  10. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +1 -0
  11. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +1 -0
  12. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +1 -0
  13. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -0
  14. package/cypress/e2e/ILC/ChartsBar/editTabBasicSection.js +37 -0
  15. package/cypress/e2e/ILC/ChartsBar/headerSection.js +50 -2
  16. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightBasic.js +1 -0
  17. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +1 -0
  18. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +1 -0
  19. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +1 -0
  20. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -0
  21. package/cypress/e2e/ILC/ChartsLine/editQuestion.smoke.js +3 -1
  22. package/cypress/e2e/ILC/ChartsLine/headerSection.js +18 -1
  23. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddFeatureRadioButton.js +2 -3
  24. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddTranscriptRadioButton .js +2 -4
  25. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabStudentViewSettings.js +3 -3
  26. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerHeaderSectionAndButtons.js +2 -2
  27. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTab.js +1 -1
  28. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabSupportedFileTypes.js +6 -0
  29. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabTranscript.js +2 -3
  30. package/cypress/e2e/ILC/CkEditorEquationEditor/equationEditorBasicFile.js +4 -4
  31. package/cypress/e2e/ILC/CkEditorInsertImage/imageInfo.js +4 -4
  32. package/cypress/e2e/ILC/CkEditorInsertTable/tableDimension&FooterProperties.js +3 -3
  33. package/cypress/e2e/ILC/CkEditorInsertTable/tableStyle.js +11 -11
  34. package/cypress/e2e/ILC/CkEditorLink/uploadSection.js +1 -1
  35. package/cypress/e2e/ILC/ContentBlocks/editTabBasics.js +62 -4
  36. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +119 -10
  37. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabScoring.js +1 -0
  38. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/headerSection.js +2 -0
  39. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/manuallyAndNonScoredScoringEditTab.js +4 -1
  40. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +3 -0
  41. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/pagination.js +1 -1
  42. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/styleAndLayoutCustomizationLayoutProperties.js +3 -0
  43. package/cypress/e2e/ILC/DrawingResponse/drawingResponseAdditionalSettings.js +1 -0
  44. package/cypress/e2e/ILC/DrawingResponse/drawingResponseBackground.js +2 -8
  45. package/cypress/e2e/ILC/DrawingResponse/drawingResponseCustomizeAdditionalOptions.js +1 -0
  46. package/cypress/e2e/ILC/DrawingResponse/drawingResponseEditTabBasicSection.js +3 -3
  47. package/cypress/e2e/ILC/DrawingResponse/drawingResponsePreviewTabContents.smoke.js +1 -3
  48. package/cypress/e2e/ILC/EssayResponse/createCustomCategory.smoke.js +1 -1
  49. package/cypress/e2e/ILC/EssayResponse/editCategoryFlyout.js +0 -1
  50. package/cypress/e2e/ILC/EssayResponse/editTabBasicSections.js +23 -37
  51. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +210 -0
  52. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editQuestion.smoke.js +40 -0
  53. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +216 -0
  54. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editQuestion.smoke.js +45 -0
  55. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/allOrNothingForAllViews.smoke.js +213 -0
  56. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/backgroundImageAndCanvasProperties.js +1 -0
  57. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/supportedFileTypes.js +3 -1
  58. package/cypress/e2e/ILC/FillInTheGapsTextNew/allOrNothingForAllViews.smoke.js +207 -0
  59. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +73 -0
  60. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +38 -0
  61. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +38 -0
  62. package/cypress/e2e/ILC/Graphing/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +87 -0
  63. package/cypress/e2e/ILC/Graphing/checkAddAlternativeButton.js +35 -0
  64. package/cypress/e2e/ILC/Graphing/editQuestion.smoke.js +28 -0
  65. package/cypress/e2e/ILC/Graphing/editTabBasicSection.js +38 -0
  66. package/cypress/e2e/ILC/Graphing/editTabScoringSection.js +1 -0
  67. package/cypress/e2e/ILC/Graphing/headerSection.js +36 -4
  68. package/cypress/e2e/ILC/Graphing/layoutAndGridOptions.js +6 -3
  69. package/cypress/e2e/ILC/GridFill/addAlternateButton.js +40 -0
  70. package/cypress/e2e/ILC/GridFill/customizeLayoutFillImageBackgroundImage.js +5 -6
  71. package/cypress/e2e/ILC/GridFill/customizeLayoutSectionShadeCellsGridBorders.js +2 -0
  72. package/cypress/e2e/ILC/GridFill/editTabScoringSection.js +3 -0
  73. package/cypress/e2e/ILC/GridFill/headerSection.js +1 -3
  74. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +39 -0
  75. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  76. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +39 -0
  77. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountAllOrNothingCorrectPointsGreaterThanAlternativePoints.js +37 -0
  78. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountallOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  79. package/cypress/e2e/ILC/GridFill/scoring/cellshadeCountAllOrNothingAlternativePointsGreaterThanCorrectPoints.js +36 -0
  80. package/cypress/e2e/ILC/GridFill/scoring/checkLabelSaveAsYouGo.js +75 -0
  81. package/cypress/e2e/ILC/GridFill/specifyCorrectAnswerSection.js +2 -4
  82. package/cypress/e2e/ILC/ImageHighlight/Scoring/partialDifferentWeightsScoring.js +2 -1
  83. package/cypress/e2e/ILC/ImageHighlight/headerSection.js +2 -1
  84. package/cypress/e2e/ILC/ImageHighlight/studentViewSettings.js +2 -2
  85. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +24 -0
  86. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +24 -0
  87. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +24 -0
  88. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +86 -0
  89. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +1 -1
  90. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +1 -1
  91. package/cypress/e2e/ILC/ListOrderingDropdown/checkAddAlternativeButton.js +35 -0
  92. package/cypress/e2e/ILC/ListOrderingDropdown/editTabBasicSection.js +24 -0
  93. package/cypress/e2e/ILC/ListOrderingDropdown/headerSection.js +108 -0
  94. package/cypress/e2e/ILC/ListOrderingDropdown/specifyCorrectAnswerSection.js +6 -10
  95. package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/specifyCorrectAnswerSection.js +2 -1
  96. package/cypress/e2e/ILC/ListOrderingNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +52 -0
  97. package/cypress/e2e/ILC/ListOrderingNew/editTabBasicSection.js +23 -0
  98. package/cypress/e2e/ILC/ListOrderingNew/headerSection.js +35 -9
  99. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +41 -0
  100. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +30 -0
  101. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +50 -0
  102. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +101 -0
  103. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/checkAddAlternativeButton.js +38 -0
  104. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabBasicSection.js +24 -0
  105. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabScoring.js +4 -1
  106. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/headerSection.js +35 -1
  107. package/cypress/e2e/ILC/Matching/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +98 -0
  108. package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +210 -0
  109. package/cypress/e2e/ILC/Matching/checkAlternativeButton.js +38 -0
  110. package/cypress/e2e/ILC/Matching/clickAndDrop.js +3 -5
  111. package/cypress/e2e/ILC/Matching/draggableOptions.js +4 -0
  112. package/cypress/e2e/ILC/Matching/editTabBasicSection.js +41 -0
  113. package/cypress/e2e/ILC/Matching/headerSection.js +36 -11
  114. package/cypress/e2e/ILC/Matching/questionInstructionsAndPromptSection.js +2 -15
  115. package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +208 -0
  116. package/cypress/e2e/ILC/MultipleSelection/allOrNothingBasicForAllViews.smoke.js +227 -0
  117. package/cypress/e2e/ILC/MultipleSelection/checkScoringLabelBannerAndCorrectAnswer.js +2 -0
  118. package/cypress/e2e/ILC/MultipleSelection/editTabScoringSection.js +1 -0
  119. package/cypress/e2e/ILC/MultipleSelection/partialDifferentWeightsWithAlternativeAnswer.js +69 -67
  120. package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswer.js +1 -0
  121. package/cypress/e2e/ILC/MultipleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +220 -0
  122. package/cypress/e2e/ILC/MultipleSelectionGridNew/editTabScoringSection.js +6 -0
  123. package/cypress/e2e/ILC/MultipleSelectionGridNew/previewContentsForAllViews.smoke.js +100 -69
  124. package/cypress/e2e/ILC/MultipleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +1 -0
  125. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +79 -0
  126. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +42 -0
  127. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +42 -0
  128. package/cypress/e2e/ILC/NumberLine/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +75 -0
  129. package/cypress/e2e/ILC/NumberLine/checkAddAlternativeButton.js +32 -0
  130. package/cypress/e2e/ILC/NumberLine/editTabSection.js +38 -0
  131. package/cypress/e2e/ILC/NumberLine/headerSection.js +33 -4
  132. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +81 -0
  133. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +43 -0
  134. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +43 -0
  135. package/cypress/e2e/ILC/NumberLineLabel/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +76 -0
  136. package/cypress/e2e/ILC/NumberLineLabel/additionalSettingsBasic.js +1 -1
  137. package/cypress/e2e/ILC/NumberLineLabel/checkAddAlternativeButton.js +34 -0
  138. package/cypress/e2e/ILC/NumberLineLabel/editTabSection.js +38 -0
  139. package/cypress/e2e/ILC/NumberLineLabel/headerSection.js +37 -5
  140. package/cypress/e2e/ILC/NumberLineLabel/manuallyAndNonScoredEditTab.js +2 -1
  141. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/editQuestion.smoke.js +1 -1
  142. package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +35 -51
  143. package/cypress/e2e/ILC/ShortTextResponseNew/headerSection.js +2 -4
  144. package/cypress/e2e/ILC/SingleSelection/allOrNothingBasicForAllViews.smoke.js +192 -0
  145. package/cypress/e2e/ILC/SingleSelection/checkScoringLabelBannerAndCorrectAnswer.js +2 -0
  146. package/cypress/e2e/ILC/SingleSelection/manuallyAndNonScoredScoring.js +94 -88
  147. package/cypress/e2e/ILC/SingleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +3 -1
  148. package/cypress/e2e/ILC/SingleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +209 -0
  149. package/cypress/e2e/ILC/SingleSelectionGridNew/editTabScoringSection.js +5 -0
  150. package/cypress/e2e/ILC/SingleSelectionGridNew/previewContentsForAllViews.smoke.js +101 -70
  151. package/cypress/e2e/ILC/SingleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +8 -2
  152. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +86 -0
  153. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +86 -0
  154. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  155. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +3 -1
  156. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  157. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  158. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsScoringBasic.js +10 -3
  159. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +4 -2
  160. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +5 -3
  161. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  162. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsScoringBasic.js +4 -0
  163. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +64 -0
  164. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAddEvaluation.js +2 -0
  165. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAlternateAnswer.js +2 -0
  166. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +64 -0
  167. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  168. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  169. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  170. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  171. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsScoringBasic.js +8 -0
  172. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  173. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  174. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  175. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasic.js +1 -0
  176. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasicForAlternateAnswer.js +2 -0
  177. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +2 -0
  178. package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +27 -3
  179. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodEquivalentStructures.smoke.js +86 -0
  180. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchExact.smoke.js +97 -0
  181. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchValue.smoke.js +97 -0
  182. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodSymbolsAreEquivalent.smoke.js +167 -0
  183. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodValueIsEquivalent.smoke.js +167 -1
  184. package/cypress/e2e/ILC/TextEntryMath/headerSection.js +43 -0
  185. package/cypress/e2e/ILC/TextSelection/ScoringParagraph/checkScoringLabelBannerAndCorrectAnswerSection.js +0 -1
  186. package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyPossibleOptionsSection.js +7 -12
  187. package/cypress/e2e/ILC/ThinkSphere/additionalSettings.js +1 -1
  188. package/cypress/e2e/ILC/ThinkSphere/createReviewItem.js +58 -4
  189. package/cypress/e2e/ILC/ThinkSphere/editTabBasicSection.js +208 -13
  190. package/cypress/e2e/ILC/ThinkSphere/editThinkSphereQuestion.smoke.js +259 -9
  191. package/cypress/e2e/ILC/ThinkSphere/equationEditorCreateCustomCategory.smoke.js +417 -0
  192. package/cypress/e2e/ILC/ThinkSphere/equationEditorEditCategoryFlyOut.js +291 -0
  193. package/cypress/e2e/ILC/ThinkSphere/planPhase.js +409 -4
  194. package/cypress/e2e/ILC/ThinkSphere/previewTabPlanSection.js +541 -0
  195. package/cypress/e2e/ILC/ThinkSphere/previewTabReviewSection.js +97 -0
  196. package/cypress/e2e/ILC/ThinkSphere/solvePhase.js +39 -6
  197. package/cypress/e2e/ILC/ThinkSphere/studentViewPlanTabSection.js +393 -0
  198. package/cypress/e2e/ILC/ThinkSphere/studentViewReviewTabSection.js +141 -0
  199. package/cypress/e2e/ILC/ToolAudioPlayerNew/headerSection.js +90 -2
  200. package/cypress/e2e/ILC/UploadResponse/editTabBasicSection.js +34 -0
  201. package/cypress/e2e/ILC/UploadResponse/headerSection.js +38 -1
  202. package/cypress/e2e/ILC/UploadResponse/uploadResponsePreview.js +50 -13
  203. package/cypress/e2e/ILC/VideoResponseNew/editTabBasicSection.js +14 -29
  204. package/cypress/e2e/ILC/chartsDotsPlot/headerSection.js +16 -1
  205. package/cypress/e2e/Sessions/fetchResponses.js +3 -3
  206. package/cypress/e2e/applitools.config.js +3 -3
  207. package/cypress/fixtures/theme/ilc.json +5 -1
  208. package/cypress/fixtures/uploads/sample.webm +0 -0
  209. package/cypress/fixtures/uploads/sample.wmv +0 -0
  210. package/cypress/fixtures/uploads/sample30MB.mp4 +0 -0
  211. package/cypress/pages/audioPlayerPage.js +47 -22
  212. package/cypress/pages/brainingCampManipulativePage.js +1 -1
  213. package/cypress/pages/chartsBarPage.js +20 -0
  214. package/cypress/pages/components/additionalSettingsPanel.js +3 -2
  215. package/cypress/pages/components/autoScoredScoringSectionMultiResponseType.js +2 -0
  216. package/cypress/pages/components/browseItemsPage.js +109 -2
  217. package/cypress/pages/components/ckEditorEquationEditorComponent.js +5 -4
  218. package/cypress/pages/components/ckEditorInsertImageComponent.js +2 -2
  219. package/cypress/pages/components/ckEditorInsertTableComponent.js +3 -3
  220. package/cypress/pages/components/ckEditorLinkComponent.js +8 -9
  221. package/cypress/pages/components/commonComponents.js +4 -0
  222. package/cypress/pages/components/createQuestionBasePage.js +14 -1
  223. package/cypress/pages/components/defaultToolDropdown.js +1 -1
  224. package/cypress/pages/components/editCategoryFlyout.js +2 -2
  225. package/cypress/pages/components/equationEditorSectionCommonComponent.js +10 -25
  226. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +28 -0
  227. package/cypress/pages/components/gridQuestionCommonComponent.js +56 -0
  228. package/cypress/pages/components/mcqAdditionalSettingsBase.js +4 -0
  229. package/cypress/pages/components/questionInstructionsComponent.js +9 -0
  230. package/cypress/pages/components/scoringSectionBaseEditTab.js +4 -0
  231. package/cypress/pages/contentBlocksPage.js +2 -0
  232. package/cypress/pages/desmos3DGraphingPage.js +149 -4
  233. package/cypress/pages/desmosGeometryPage.js +184 -4
  234. package/cypress/pages/drawingResponsePage.js +2 -0
  235. package/cypress/pages/gradingViewPage.js +8 -0
  236. package/cypress/pages/graphingPage.js +27 -8
  237. package/cypress/pages/gridFillPage.js +15 -6
  238. package/cypress/pages/listOrderingPage.js +32 -1
  239. package/cypress/pages/matchingPage.js +26 -7
  240. package/cypress/pages/multipleSelectionPage.js +9 -1
  241. package/cypress/pages/numberLineLabelPage.js +31 -8
  242. package/cypress/pages/numberLinePage.js +19 -7
  243. package/cypress/pages/textEntryMathPage.js +24 -1
  244. package/cypress/pages/thinkSpherePage.js +925 -47
  245. package/cypress/pages/uploadResponsePage.js +17 -1
  246. package/cypress/pages/videoResponsePage.js +3 -0
  247. package/cypress/support/commands.js +9 -0
  248. package/cypress/support/helpers/createItem.js +668 -19
  249. package/cypress/support/helpers/utilities.js +35 -2
  250. package/package.json +3 -3
@@ -1,13 +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";
9
+ import { videoResponsePage } from "./videoResponsePage";
10
+ import { singleSelectionPage } from "./singleSelectionPage";
11
+ import { essayResponsePage } from "./essayResponsePage";
12
+ import { equationEditorCategoriesAndSymbols } from "../fixtures/equationEditorCategoriesAndSymbols ";
8
13
  const css = Cypress.env('css');
9
14
 
10
15
  const selectors = {
16
+ ...essayResponsePage,
11
17
  ...backgroundImageUploadComponent,
12
18
  ...questionInstructionsComponent,
13
19
  ...commonComponents,
@@ -20,10 +26,17 @@ const selectors = {
20
26
  ...equationEditorSectionCommonComponent,
21
27
  ...selectQuestionResourceToolPage,
22
28
  ...browseItemsPage,
29
+ ...videoResponsePage,
30
+ ...dialogBoxBase,
31
+ ...editCategoryFlyout,
32
+ ...createCustomCategoryFlyout,
33
+ ...createQuestionBasePage,
34
+
23
35
  editQuestionPencil: () => cy.get('[class*="Widgetstyles__HeaderContainer"] button.icon-pencil'),
24
36
  widgetHeaderQuestionTitle: () => cy.get('[class*="Widgetstyles__HeaderContainer"] [class*="Widgetstyles__QuestionTypeText"]'),
25
37
  imageUploadSection: () => cy.get('[class*="TabsComponentstyles__ImageUploadComponentWrapper"]'),
26
38
  addThinkSphereQuestionButton: () => cy.get('.ngie-btn-contained').contains('add ThinkSphere question'),
39
+ whiteBoardCanvasAndControls: () => cy.get('[class*="WhiteboardPagesstyles__WhiteboardPagesWrapper"]'),
27
40
  whiteBoardImageProperties: () => cy.get('[class*="WhiteBoardImagePropertiesstyles__ImagePropertiesWrapper"]'),
28
41
  whiteBoardImagePropertiesInputTypeFile: () => cy.get('[class*="WhiteBoardImagePropertiesstyles__ImagePropertiesWrapper"] input[type="file"]'),
29
42
  topLeftButton: () => utilities.getNthElement(cy.get('button[class*="WhiteBoardImagePropertiesstyles__StyledButton"]'), 0),
@@ -31,8 +44,15 @@ const selectors = {
31
44
  topRightButton: () => utilities.getNthElement(cy.get('button[class*="WhiteBoardImagePropertiesstyles__StyledButton"]'), 2),
32
45
  opacityLabel: () => utilities.getNthElement(cy.get('h2[class*="WhiteBoardImagePropertiesstyles__LayoutLabel"]'), 1),
33
46
  imageAlternativeTextLabel: () => cy.get('div[class*="InlineTextFieldWithDebouncestyles__PropertyLabel"]'),
34
- imageAlternativeTextInputField: () => cy.get('[class*="WhiteBoardImagePropertiesstyles__AltTextWrapper"] input'),
47
+ imageAlternativeTextInputField: () => cy.get('input.text-field'),
35
48
  imageRadioButton: () => cy.get('div[data-value="image"]'),
49
+ manageWhiteBoardTitle: () => cy.get('[class*="WhiteboardPagesstyles__HeadingLabel"]'),
50
+ whiteBoardPreviousButton: () => cy.get('[class*="whiteboard-pagination-prev-button"]'),
51
+ whiteBoardPageLabel: () => cy.get('[class*="WhiteboardPagesstyles__PageLabel"]'),
52
+ whiteBoardPageCounter: () => cy.get('[class*="WhiteboardPagesstyles__PageCounter"]'),
53
+ whiteBoardNextButton: () => cy.get('[class*="whiteboard-pagination-next-button"]'),
54
+ whiteBoardDeleteButton: () => cy.get('[class*="whiteboard-delete-page-button"]'),
55
+ whiteBoardAddNewPageButton: () => cy.get('[class*="whiteboard-add-new-page-button"]'),
36
56
  imageRadioInput: () => cy.get('div[data-value="image"] input[type="radio"]'),
37
57
  pageImageTitle: () => cy.get('div[class*="WhiteBoardImagePropertiesstyles__PageImageTitle"]'),
38
58
  radioGroupWrapper: () => cy.get('div[class*="ngie-radio-group-wrapper"]'),
@@ -60,7 +80,7 @@ const selectors = {
60
80
  planStrategyListResetToDefault: () => cy.get('[class*="Planstyles__StrategiesWrapper"] [class*="Planstyles__DefaultResetWrapper"]'),
61
81
  planStrategyAddItemButton: () => cy.get('[class*="Planstyles__StrategiesWrapper"] [class*="ListOptionsComponentstyles__AddItemWrapper"] [role="button"]'),
62
82
  planStrategyCheckbox: () => cy.get('[class*="Planstyles__StrategiesWrapper"] .thinksphere-option-text-field-wrapper [data-ngie-testid*="-checkbox"]'),
63
- videoLinkComponent: () => utilities.getNthElement(cy.get('[class*="ListOptionsComponentstyles__UploadVideoWrapper"]'), 0),
83
+ videoLinkComponent: (nthElement = 0) => utilities.getNthElement(cy.get('[class*="ListOptionsComponentstyles__UploadVideoWrapper"]'), nthElement),
64
84
  uploadVideoLinkButton: () => cy.get('[class*="ListOptionsComponentstyles__UploadVideoTextWrapper"]'),
65
85
  planSentenceStarterSection: () => cy.get('[class*="Planstyles__SentenceFramesWrapper"]'),
66
86
  planSentenceStarterListHeader: () => cy.get('[class*="Planstyles__SentenceFramesWrapper"] [class*="Planstyles__HeadingTextWrapper"]'),
@@ -71,13 +91,14 @@ const selectors = {
71
91
  solvePhaseAccordianLabel: () => cy.get('[class*="Solvestyles__AccordionLabel"]'),
72
92
  inputTypeVideoFile: () => cy.get('[class*="Planstyles__StrategiesWrapper"] input[type="file"]'),
73
93
  inputTypeFile: () => cy.get('[class*="TabsComponentstyles__ImageUploadComponentWrapper"] input[type="file"]'),
94
+ whiteBoardInputTypeFile: () => cy.get('[class*="UploadImagestyles__UploadWrapper"] input[type="file"]'),
74
95
  warningPopupTitle: () => cy.get('.dialog-title-wrapper'),
75
96
  warningPopupContentText: () => cy.get('.upload-question-preview-popup-error-msg'),
76
97
  warningPopupOkButton: () => cy.get('.upload-question-preview-popup-ok-btn'),
77
- editVideoButton: () => cy.get('[aria-label*="Edit video"]'),
98
+ editVideoButton: () => cy.get('[aria-label*="Change video"]'),
78
99
  deleteVideoButton: () => cy.get('[aria-label*="Delete video"]'),
79
100
  listInputField: () => cy.get('.option-component textarea[placeholder]'),
80
- deleteButton: () => cy.get('button[aria-label*="Delete item"]'),
101
+ deleteButton: () => cy.get('button[aria-label*="Delete"].ngie-icon-btn-cls'),
81
102
  optionNumeration: () => cy.get('[class*="MuiInputAdornment-positionStart"]'),
82
103
  iconPencil: () => cy.get('div[class*="icon-pencil"]'),
83
104
  iconXCircle: () => cy.get('div[class*="icon-x-circle"]'),
@@ -90,11 +111,12 @@ const selectors = {
90
111
  addCheckMathQuestionButton: () => cy.get('.ngie-btn-typography').contains(`Add 'Check your math' question`),
91
112
  firstAvailableItemLink: () => utilities.getNthElement(cy.get('.browse-item-styled-link'), 0),
92
113
  saveButton: () => cy.get('.ngie-btn-typography').contains('save',{matchCase: false}),
114
+ cancelButton: () => cy.get('.ngie-btn-typography').contains('cancel',{matchCase: false}),
93
115
  AddCheckMathQuestionHeader: () => cy.get('.browse-title-wrapper').contains(`Add 'Check your math' question`),
94
116
  singleOptionTextFieldWrapper: () => cy.get('[class*="SingleOptionstyle__TextFieldWrapper"]'),
95
117
  customizeStampComponent: () => cy.get('[class*="CustomizeStampstyles__CustomizeStampWrapper"]'),
96
118
  customizeStampHeading: () => cy.get('[class*="CustomizeStampstyles__CustomizeStampHeading"]'),
97
- customizeStampCard: (ariaLabel) => cy.get(`[class*="CustomizeStampstyles__StampCard"]${ariaLabel ? ('[aria-label="' + ariaLabel + '"]') : ''}`),
119
+ customizeStampCard: (ariaLabel, checked) => cy.get(`[class*="CustomizeStampstyles__StampCard"]${ariaLabel ? ('[aria-label="' + ariaLabel + '"]') : ''}${checked ? ('[aria-checked="' + checked + '"]') : ''}`),
98
120
  customizeStampCardImg: (ariaLabel) => cy.get('[class*="CustomizeStampstyles__QuestionImage"]'),
99
121
  questionImage: () => cy.get('img[class*="QuestionImageComponentstyle__QuestionImage"]'),
100
122
  stampsToolButton: () => cy.get('#stamps button[aria-label*="Stamps"]'),
@@ -114,16 +136,96 @@ const selectors = {
114
136
  imageUploadSectionQuestionImageCrossIcon: () => thinkSpherePage.imageUploadSection().find('div[class*="QuestionImageComponentstyle__CrossIcon"]'),
115
137
  imageRadioButtonParentSvg: () => thinkSpherePage.imageRadioButton().parent().find('svg'),
116
138
  solvePhaseAccordionSvg: () => thinkSpherePage.solvePhaseAccordion().find('svg'),
117
- customizeToolsAndControlsSvg: () => thinkSpherePage.customizeToolsAndControls().find('svg'),
139
+ customizeToolsAndControlsPath: () => thinkSpherePage.customizeToolsAndControls().find('path'),
118
140
  solvePhaseToolsAndControlsOptionsTilesFeatherCheckIcon: () => thinkSpherePage.solveToolsAndControlsOptionsTiles('Text').find('[data-name="Icon feather-check"]'),
119
141
  solvePhaseToolsAndControlsOptionsTilesRectangle: () => thinkSpherePage.solveToolsAndControlsOptionsTiles('Text').find('[data-name*="Rectangle"]'),
120
142
  solvePhaseToolsAndControlsOptionsTilesDragItemFlexWrapperSvg: () => thinkSpherePage.solveToolsAndControlsOptionsTiles('Text').find('.drag-item-flex-wrapper svg'),
121
143
  solvePhaseToolsAndControlsOptionsTilesTextDragIconSvgPath: () => thinkSpherePage.solveToolsAndControlsOptionsTiles('Text').find('.drag-icon-button-custom-format svg path'),
122
- solvePhaseToolsAndControlsOptionsTilesArrayDragIconSvgPath: () => thinkSpherePage.solveToolsAndControlsOptionsTiles('Array').find('.drag-icon-button-custom-format svg path')
144
+ solvePhaseToolsAndControlsOptionsTilesArrayDragIconSvgPath: () => thinkSpherePage.solveToolsAndControlsOptionsTiles('Array').find('.drag-icon-button-custom-format svg path'),
145
+ playerTimer: () => cy.get('[class*="VideoPlayerstyles__PlayerTimerWrapper"]'),
146
+ strategiesPreviewHeader: () => cy.get('[class*="StrategiesPreviewstyles__HeadingWrapper"]'),
147
+ addNewStrategyButton: () => cy.get('[class*="StrategiesPreviewstyles__AddStrategyButton"]'),
148
+ strategiesInputBoxEditTab: () => cy.get('.video-upload-support-wrapper .edit-mcq-option-wrapper'),
149
+ strategiesBoxPreviewTab: () => cy.get('[class*="StrategiesPreviewstyles__ListWrapper"]'),
150
+ popupTitle: () => cy.get('[class*="dialog-title-wrapper"]'),
151
+ strategyNameLabel: () => cy.get('[class*="ThinkSpherePreviewstyles__StrategyNameTextWrapper"]'),
152
+ strategyNameInputField: () => cy.get('[class*="new-strategy-name-field"]'),
153
+ addStrategyPopupCancelButton: () =>
154
+ cy.get('.dialog-content').contains('Cancel'),
155
+ addStrategyPopupSaveButton: () =>
156
+ cy.get('.dialog-content').contains('Save'),
157
+ // preview tab plan section selection
158
+ questionInstructionPreviewTexWrapper: () => cy.get('.question-instruction.question-text-wrapper'),
159
+ questionInstructionPreviewImageWrapper: () => cy.get('[class*="ThinkSpherePreviewstyles__ImageWrapper"]'),
160
+ questionInstructionPreviewImageExpandButton: () => cy.get('[class*="ThinkSpherePreviewstyles__ExpandImageIconWrapper"]'),
161
+ questionInstructionImagePopup: () => cy.get('[class*="QuestionTextstyle__ImagePopupDiv"]'),
162
+ closeExpandImagePopupButton: () => cy.get('.close-popup-btn'),
163
+ PlanningPreviewWrapper : () => cy.get('[class*="PlanningPreviewstyles__PlanningPreviewWrapper"]'),
164
+ planningPreviewHeading: () => cy.get('[class*="PlanningPreviewstyles__HeadingWrapper"]'),
165
+ planningWriteWrapper : () => cy.get('[class*="PlanningPreviewstyles__WriteWrapper"]'),
166
+ problemAskingWrapper: () => cy.get('[class*="PlanningPreviewstyles__ProblemAskingWrapper"]'),
167
+ contentEditableDiv: () => cy.get('[class*="PlanningPreviewstyles__ContentEditableDiv"]'),
168
+ micIconWrapper: () => cy.get('[class*="PlanningPreviewstyles__MicIconWrapper"]'),
169
+ strategiesToPlanWrapper: () => cy.get('[class*="PlanningPreviewstyles__StrategiesToPlanWrapper"]'),
170
+ subheadingWrapper: () => cy.get('[class*="PlanningPreviewstyles__SubHeadingWrapper"]'),
171
+ writePlanWrapper: () => cy.get('[class*="PlanningPreviewstyles__WritePlanWrapper"]'),
172
+ strategyChipWrapper: () => cy.get('[class*="PlanningPreviewstyles__StrategyChipWrapper"]'),
173
+ strategyChip: () => cy.get('[class*="PlanningPreviewstyles__StrategyChip-"]'),
174
+ strategiesPreviewListLI: () => cy.get('[class*="StrategiesPreviewstyles__ListLI"]'),
175
+ chooseStarterLabel: () => cy.get('[class*="ThinkSpherePreviewstyles__DropDownLabel"]'),
176
+ chooseStarterDropdown: () => cy.get('[class*="drop-down-parent"]'),
177
+ chooseStarterTextIconWrapper: () => cy.get('[class*="DropDownstyles__StarterTextIconWrapper"]'),
178
+ chooseStartersListOptions: () => cy.get('.ngie-popover-container.dropdown-list-container li[role="option"]'),
179
+ chooseStartersListOptionLabels: () => cy.get('.ngie-popover-container.dropdown-list-container li[role="option"] .dropdown-label-text'),
180
+ starterTextWrapper: () => cy.get('.starter-text-wrapper'),
181
+ starterIocn: () => cy.get('[class*="DropDownstyles__StarterIconWrapper"]'),
182
+ addNewStrategyTextWrapper: () => cy.get('[class*="StrategiesPreviewstyles__AddStrategyTextWrapper"]'),
183
+ strategyTextWrapper: () => cy.get('[class*="StrategiesPreviewstyles__StrategyTextWrapper"]'),
184
+ videoIconWrapper: () => cy.get('[class*="StrategiesPreviewstyles__VideoIconWrapper"]'),
185
+ whiteBoardCanvas: () => cy.get('[class*="WhiteboardPagesstyles__Canvas"]'),
186
+ whiteBoardImage: () => cy.get('[class*="WhiteboardPagesstyles__BackgroundImage"]'),
187
+ videoPopupTitle: () => cy.get('[class*="dialog-title-wrapper"]'),
188
+ videoPopupCloseButton: () => cy.get('[class*="dialog-close-button"]'),
189
+ videoPreviewPopup: () => cy.get('[class*="video-preview-popup"]'),
190
+ gridItemsWrapper: (number) => cy.get('[class*="DragAndDropGridstyles__GridItemsWrapper"]').eq(number),
191
+ dragButton: (number) => cy.get('[type="button"]').eq(number),
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"]'),
123
225
  };
124
226
 
125
227
  const steps = {
126
- ...createQuestionBasePage.steps,
228
+ ...essayResponsePage.steps,
127
229
  ...backgroundImageUploadComponent.steps,
128
230
  ...questionInstructionsComponent.steps,
129
231
  ...scoringSectionBaseEditTab.steps,
@@ -138,6 +240,9 @@ const steps = {
138
240
  ...equationEditorSectionCommonComponent.steps,
139
241
  ...selectQuestionResourceToolPage.steps,
140
242
  ...browseItemsPage.steps,
243
+ ...videoResponsePage.steps,
244
+ ...createQuestionBasePage.steps,
245
+ ...createCustomCategoryFlyout.steps,
141
246
 
142
247
  /**
143
248
  * Navigates to the ThinkSphere create question page.
@@ -209,12 +314,24 @@ const steps = {
209
314
  cy.wait('@setItem');
210
315
  },
211
316
 
317
+ clickOnCancelButton: () => {
318
+ cy.interceptGraphql('setItem');
319
+ thinkSpherePage.cancelButton()
320
+ .click();
321
+ },
322
+
212
323
  clickOnSwapButton: () => {
213
324
  thinkSpherePage.ThinkSphereMathQuestionHeaderSwapIcon()
214
325
  .click();
215
326
  cy.wait(2000);
216
327
  },
217
328
 
329
+ clickOnEditButton: () => {
330
+ thinkSpherePage.ThinkSphereMathQuestionHeaderPencilIcon()
331
+ .click();
332
+ cy.wait(2000);
333
+ },
334
+
218
335
  clickOnDeleteButton: () => {
219
336
  thinkSpherePage.thinkSphereMathQuestionHeaderDeleteIcon()
220
337
  .click();
@@ -246,13 +363,32 @@ const steps = {
246
363
  cy.wait(4000);
247
364
  },
248
365
 
366
+ uploadWhiteBoardImage: (file) => {
367
+ thinkSpherePage.whiteBoardInputTypeFile()
368
+ .attachFile(file);
369
+ cy.wait(4000);
370
+ },
371
+
249
372
  /**
250
373
  * Uploads a video file.
251
374
  * @param {string} file - The file to upload.
252
375
  */
253
376
  uploadVideoFile: (file) => {
254
- thinkSpherePage.inputTypeVideoFile()
255
- .attachFile(file);
377
+ const fileName = file.split('/').pop(); // Extracts only 'sample.mp4'
378
+
379
+ cy.fixture(file, 'binary') // Read the file as binary
380
+ .then(Cypress.Blob.binaryStringToBlob)
381
+ .then((blob) => {
382
+ const fileObj = new File([blob], fileName, { type: 'video/mp4' });
383
+ const dataTransfer = new DataTransfer();
384
+ dataTransfer.items.add(fileObj);
385
+
386
+ thinkSpherePage.inputTypeVideoFile().then(($input) => {
387
+ $input[0].files = dataTransfer.files;
388
+ cy.wrap($input).trigger('change', { force: true });
389
+ });
390
+ });
391
+
256
392
  cy.wait(4000);
257
393
  },
258
394
 
@@ -278,11 +414,6 @@ const steps = {
278
414
  thinkSpherePage.addThinkSphereQuestionButton()
279
415
  .click();
280
416
  },
281
-
282
- navigateToThinkSphereCreateQuestion: () => {
283
- thinkSpherePage.steps.navigateToThinkSphereCreateItem();
284
- thinkSpherePage.steps.clickOnAddThinkSphereQuestion();
285
- },
286
417
 
287
418
  verifyCenterOptionAlignmentIsSelected: () => {
288
419
  thinkSpherePage.centerButton()
@@ -386,17 +517,7 @@ const steps = {
386
517
  thinkSpherePage.solveToolsAndControlsOptionsTiles(option)
387
518
  .should('have.attr', 'data-aria-pressed', 'false');
388
519
  },
389
- navigateToThinkSphereCreateItem: () => {
390
- cy.visit('/item-engine/thinksphere/create-item');
391
- },
392
- clickOnAddThinkSphereQuestion: () => {
393
- thinkSpherePage.addThinkSphereQuestionButton()
394
- .click();
395
- },
396
- navigateToThinkSphereCreateQuestion: () => {
397
- thinkSpherePage.steps.navigateToThinkSphereCreateItem();
398
- thinkSpherePage.steps.clickOnAddThinkSphereQuestion();
399
- },
520
+
400
521
  /**
401
522
  * Verifies the options contents.
402
523
  * @param {number} index - The index of the option.
@@ -477,7 +598,8 @@ const steps = {
477
598
  .click();
478
599
  } else {
479
600
  thinkSpherePage.planSentenceStarterAddItemButton()
480
- .click();
601
+ .click()
602
+ .trigger('mouseout', { force: true });
481
603
  }
482
604
  },
483
605
 
@@ -508,14 +630,14 @@ const steps = {
508
630
  .within(() => {
509
631
  utilities.getNthElement(thinkSpherePage.listInputField(), optionCount)
510
632
  .clear()
511
- .type(text);
633
+ .type(text, { delay: 500 });
512
634
  });
513
635
  } else {
514
636
  thinkSpherePage.planSentenceStarterSection()
515
637
  .within(() => {
516
638
  utilities.getNthElement(thinkSpherePage.listInputField(), optionCount)
517
639
  .clear()
518
- .type(text);
640
+ .type(text, { delay: 500 });
519
641
  });
520
642
  }
521
643
  },
@@ -550,7 +672,7 @@ const steps = {
550
672
  thinkSpherePage.customizeStampCard()
551
673
  .should('have.length', defaultStamps.length);
552
674
  defaultStamps.forEach((ele) => {
553
- utilities.verifyElementVisibilityState(thinkSpherePage.customizeStampCard(`${ele} selected`), 'visible');
675
+ utilities.verifyElementVisibilityState(thinkSpherePage.customizeStampCard(ele, 'true'), 'visible');
554
676
  });
555
677
  });
556
678
  },
@@ -575,9 +697,9 @@ const steps = {
575
697
  thinkSpherePage.customizeStampComponent()
576
698
  .within(() => {
577
699
  thinkSpherePage.steps.clickOnCustomizeCard(0);
578
- utilities.verifyElementVisibilityState(thinkSpherePage.customizeStampCard('Stamp 1 not selected'), 'visible');
700
+ utilities.verifyElementVisibilityState(thinkSpherePage.customizeStampCard('Stamp 1', 'false'), 'visible');
579
701
  thinkSpherePage.steps.clickOnCustomizeCard(0);
580
- utilities.verifyElementVisibilityState(thinkSpherePage.customizeStampCard('Stamp 1 selected'), 'visible');
702
+ utilities.verifyElementVisibilityState(thinkSpherePage.customizeStampCard('Stamp 1', 'true'), 'visible');
581
703
  });
582
704
  },
583
705
 
@@ -597,7 +719,7 @@ const steps = {
597
719
  utilities.verifyCSS(
598
720
  utilities.getNthElement(thinkSpherePage.customizeStampCard(), 0),
599
721
  {
600
- border: `1px solid ${css.color.figDefaultComponentBorder}`,
722
+ border: `1px solid ${css.color.secondaryBtnDisabled}`,
601
723
  },
602
724
  );
603
725
  utilities.getNthElement(thinkSpherePage.customizeStampCard(), 0)
@@ -609,18 +731,631 @@ const steps = {
609
731
  });
610
732
  });
611
733
  },
612
- createReviewQuestion: (questionType = 'Drawing Response') => {
734
+ createReviewQuestion: () => {
735
+ const questionType = 'single selection'
736
+ const options = ['Animal', 'Vehicle', 'Birds', 'Insects'];
613
737
  thinkSpherePage.steps.clickOnCreateItemButton();
614
738
  thinkSpherePage.steps.selectQuestionType(questionType);
739
+ singleSelectionPage.steps.addQuestionInstructions();
740
+ singleSelectionPage.steps.addInputToOptionsInputField(options);
741
+ singleSelectionPage.steps.allotPoints(20);
742
+ singleSelectionPage.steps.checkOptionInSpecifyCorrectAnswerSection(1);
615
743
  thinkSpherePage.steps.clickOnSaveButton();
616
744
  },
745
+
746
+ clickOnVideoLink: () => {
747
+ thinkSpherePage.videoLinkComponent()
748
+ .click();
749
+ },
750
+
751
+ verifyVideoPlaybackTimer: (elapsedTime, totalTime) => {
752
+ thinkSpherePage.playerTimer()
753
+ .should('have.text', `${elapsedTime}/${totalTime}`);
754
+ },
755
+
756
+ waitForPlaybackToBegin: () => {
757
+ thinkSpherePage.playerTimer()
758
+ .should('contain', '0:01/');
759
+ },
760
+
761
+ expandChooseStarterDropdown: () => {
762
+ thinkSpherePage.chooseStarterDropdown()
763
+ .click();
764
+ },
765
+
766
+ verifyOptionAlignmentIsSelected: (direction) => {
767
+ if(direction === 'topLeft') {
768
+ thinkSpherePage.whiteBoardCanvas()
769
+ .should('not.have.css', 'justify-content', 'start');
770
+ } else {
771
+ thinkSpherePage.whiteBoardCanvas()
772
+ .should('have.css', 'justify-content', (direction === 'center' || direction === 'flex-end') ? 'normal' : direction);
773
+ if (direction === 'center') {
774
+ thinkSpherePage.whiteBoardCanvas()
775
+ .should('have.css', 'align-items', 'normal');
776
+ }
777
+ }
778
+ },
779
+
617
780
  clickOnImageRadioButton: () => {
618
781
  thinkSpherePage.imageRadioButton()
619
782
  .click();
620
- }
783
+ },
784
+
785
+ clickOnEditQuestionIcon: () => {
786
+ utilities.getNthElement(thinkSpherePage.editQuestionPencil(), 0)
787
+ .click();
788
+ cy.wait(1000);
789
+ },
790
+
791
+ clickOnQuestionInstructionExpandImageButton: () => {
792
+ utilities.getNthElement(thinkSpherePage.questionInstructionPreviewImageExpandButton(), 0)
793
+ .click();
794
+ },
795
+
796
+ clickOnCloseExpandImagePopupButton: () => {
797
+ thinkSpherePage.dialogBoxRoot()
798
+ .within(() => {
799
+ thinkSpherePage.closeExpandImagePopupButton()
800
+ .click();
801
+ });
802
+ },
803
+
804
+ clickOnStrategiesPreviewListLI: () => {
805
+ utilities.getNthElement(thinkSpherePage.strategiesPreviewListLI(), 1)
806
+ .click();
807
+ },
808
+
809
+ clickOnVideoIcon: () => {
810
+ utilities.getNthElement(thinkSpherePage.videoIconWrapper(), 0)
811
+ .click();
812
+ },
813
+
814
+ closeVideoPopup: () => {
815
+ thinkSpherePage.dialogBoxRoot()
816
+ .within(() => {
817
+ thinkSpherePage.buttonClose()
818
+ .click();
819
+ });
820
+ },
821
+
822
+ hoverOnVolumeControlButton: () => {
823
+ thinkSpherePage.volumeControlButton()
824
+ .realHover({ position: 'bottom' });
825
+ },
826
+
827
+ verifyPlaybackElapsedTime: (time) => {
828
+ const playbackTimeElement = thinkSpherePage.playerTimer();
829
+ playbackTimeElement
830
+ .invoke('text')
831
+ .then((text) => {
832
+ let elapsedTime = text.split('/')[0];
833
+ let currentElapsedTimerMinutes = Number(elapsedTime.split(':')[0]);
834
+ let currentElapsedTimerSeconds = Number(elapsedTime.split(':')[1]);
835
+ let currentTotalElapsedTimerSeconds = currentElapsedTimerMinutes * 60 + currentElapsedTimerSeconds;
836
+ expect(currentTotalElapsedTimerSeconds).to.eq(time);
837
+ });
838
+ },
839
+
840
+ getToolbarOptionCount: (number) => {
841
+ return thinkSpherePage.gridItemsWrapper(number).find('button').its('length');
842
+ },
843
+
844
+ selectTools: (array, number) => {
845
+ thinkSpherePage.steps.getToolbarOptionCount(number).then((count) => {
846
+ thinkSpherePage.gridItemsWrapper(number).within(() => {
847
+ for (let i = 0; i < count; i++) {
848
+ thinkSpherePage.dragButton(i)
849
+ .invoke('attr', 'aria-label')
850
+ .then((attr) => {
851
+ if (attr.includes('not-selected')) {
852
+ const toolName = attr.split(' ').slice(0, -1).join(' ');
853
+ if (array.includes(toolName)) {
854
+ thinkSpherePage.dragButton(i)
855
+ .click();
856
+ }
857
+ } else {
858
+ const toolName = attr.split(' ').slice(0, -1).join(' ');
859
+ if (!array.includes(toolName)) {
860
+ thinkSpherePage.dragButton(i)
861
+ .click();
862
+ }
863
+ }
864
+ })
865
+ }
866
+ });
867
+ });
868
+ },
869
+
870
+ verifySelectTools: (array, number) => {
871
+ thinkSpherePage.steps.getToolbarOptionCount(number).then((count) => {
872
+ thinkSpherePage.gridItemsWrapper(number).within(() => {
873
+ for (let i = 0; i < count; i++) {
874
+ thinkSpherePage.dragButton(i)
875
+ .invoke('attr', 'aria-label')
876
+ .then((attr) => {
877
+ const toolName = attr.split(' ').slice(0, -1).join(' ');
878
+ if (array.includes(toolName)) {
879
+ thinkSpherePage.dragButton(i)
880
+ .invoke('attr', 'aria-label')
881
+ .should('contain', ' selected');
882
+ } else {
883
+ thinkSpherePage.dragButton(i)
884
+ .invoke('attr', 'aria-label')
885
+ .should('contain', ' not-selected');
886
+ }
887
+ })
888
+ }
889
+ });
890
+ });
891
+ },
892
+
893
+ verifyUploadedImage: () => {
894
+ thinkSpherePage.whiteBoardImage()
895
+ .should('exist')
896
+ .and('have.attr', 'src')
897
+ .and('not.be.empty');
898
+ },
899
+
900
+ visitThinksphereBrowseItemsPage: () => {
901
+ cy.visit('/item-engine/thinksphere/browse-items');
902
+ cy.interceptGraphql('getItems');
903
+ cy.wait('@getItems');
904
+ },
905
+
906
+ clickOnCustomizeStamp: (customizeStampPosition) => {
907
+ thinkSpherePage.customizeStampsButton(customizeStampPosition)
908
+ .click();
909
+ cy.wait(1000);
910
+ },
911
+
912
+ verifyCustomizeStampSelectedUnselected: (selected, customizeStampPosition) => {
913
+ utilities.verifyElementAttribute(thinkSpherePage.customizeStampsButton(customizeStampPosition), 'aria-checked', selected ? 'true' : 'false');
914
+ },
915
+
916
+ saveCustomCategory: () => {
917
+ thinkSpherePage.buttonSave()
918
+ .click();
919
+ },
920
+
921
+ cancelCustomCategory: () => {
922
+ thinkSpherePage.buttonCancel()
923
+ .click();
924
+ },
925
+
926
+ createCustomCategoryWithMultipleCategoryCharacters: () => {
927
+ cy.log('Creating a custom category by selecting \'Keypad\' category, partially selecting \'Basic\' and \'Greek\' categories')
928
+ createCustomCategoryFlyout.steps.openCreateCustomCategoryFlyout();
929
+ createCustomCategoryFlyout.steps.checkCategoryAccordionCheckbox(`${equationEditorCategoriesAndSymbols['primary'].displayName}`);
930
+ cy.wait(2000);
931
+ createCustomCategoryFlyout.steps.verifyPartiallyCheckedStateOfCategoryAccordionCheckbox(`${equationEditorCategoriesAndSymbols['matrices'].displayName}`);
932
+ createCustomCategoryFlyout.steps.expandCategoryAccordion(`Greek Symbols`);
933
+ createCustomCategoryFlyout.steps.selectASymbolInCreateCustomCategoryFlyout(`${equationEditorCategoriesAndSymbols['greek'].displayName}`, `${equationEditorCategoriesAndSymbols.greek.symbols.gamma.ariaLabel}`);
934
+ createCustomCategoryFlyout.steps.selectASymbolInCreateCustomCategoryFlyout(`${equationEditorCategoriesAndSymbols['greek'].displayName}`, `${equationEditorCategoriesAndSymbols.greek.symbols.delta.ariaLabel}`);
935
+ createCustomCategoryFlyout.steps.addInputToCustomCategoryNameInputField('Custom category with name.');
936
+ thinkSpherePage.steps.saveCustomCategory();
937
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'notExist');
938
+ },
939
+
940
+ createCustomCategoryWithNameAndIcon: () => {
941
+ cy.log('Creating a category by selecting \'Arrows\' category')
942
+ createCustomCategoryFlyout.steps.openCreateCustomCategoryFlyout();
943
+ createCustomCategoryFlyout.steps.checkCategoryAccordionCheckbox(`${equationEditorCategoriesAndSymbols['geo'].displayName}`);
944
+ createCustomCategoryFlyout.steps.addInputToCustomCategoryNameInputField('Custom category with name and icon.');
945
+ createCustomCategoryFlyout.steps.addInputToCategoryIconInputField('#');
946
+ thinkSpherePage.steps.saveCustomCategory();
947
+ },
948
+
949
+ verifyCategoryCharactersAndUnSelectedState: (arrayOfSymbolsAriaLabel) => {
950
+ thinkSpherePage.categoryCharacters()
951
+ .then(($symbols) => {
952
+ for (let index = 10; index < $symbols.length - 1; index++) {
953
+ editCategoryFlyout.categoryCharacters()
954
+ .eq(index)
955
+ .should('not.have.class', 'Mui-selected')
956
+ .invoke('attr', 'aria-label')
957
+ .then((ariaLabel) => {
958
+ const tooltipText = ariaLabel.split(' ').slice(0, -1).join(' ');
959
+ editCategoryFlyout.categoryCharacters()
960
+ .eq(index)
961
+ .verifyTooltip(tooltipText);
962
+ });
963
+ }
964
+ });
965
+ },
966
+
967
+ verifyCategoryCharactersAndSelectedState: (arrayOfSymbolsAriaLabel) => {
968
+ editCategoryFlyout.categoryCharacters()
969
+ .then(($symbols) => {
970
+ for (let index = 0; index < arrayOfSymbolsAriaLabel.length - 1; index++) {
971
+ editCategoryFlyout.categoryCharacters()
972
+ .eq(index)
973
+ .should('have.class', 'Mui-selected')
974
+ .invoke('attr', 'aria-label')
975
+ .then((ariaLabel) => {
976
+ const tooltipText = ariaLabel.split(' ').slice(0, -1).join(' ');
977
+ editCategoryFlyout.categoryCharacters()
978
+ .eq(index)
979
+ .verifyTooltip(tooltipText);
980
+ });
981
+ }
982
+ });
983
+ },
984
+
985
+ expandDropdown: () => {
986
+ thinkSpherePage.categoriesDropDownParent()
987
+ .click();
988
+ },
989
+
990
+ verifyDropdownOptions: (dropDownListArray) => {
991
+ thinkSpherePage.categoriesDropDownMenuItem().should('have.length', dropDownListArray.length).each(($item) => {
992
+ cy.wrap($item)
993
+ .invoke('text')
994
+ .then((text) => {
995
+ const trimmedText = text.trim();
996
+ expect(dropDownListArray).to.include(trimmedText);
997
+ });
998
+ });
999
+ },
1000
+
1001
+ clickOnDropDownCategory: (index) => {
1002
+ thinkSpherePage.categoriesDropDownMenuItem().eq(index).click();
1003
+ },
1004
+
1005
+ clickOnQuestionTypesAccordion: () => {
1006
+ thinkSpherePage.filterSectionQuestionTypesAccordion()
1007
+ .click()
1008
+ },
1009
+
1010
+ typeInSearchBar: (input) => {
1011
+ thinkSpherePage.searchBar()
1012
+ .clear()
1013
+ .type(input)
1014
+ .should('have.value', input);
1015
+ },
1016
+
1017
+ searchInSearchBar: (input) => {
1018
+ thinkSpherePage.searchBar()
1019
+ .clear()
1020
+ .type(input)
1021
+ .should('have.value', input)
1022
+ .type('{enter}');
1023
+ },
1024
+
1025
+ clickOnSolvePhaseAccordionIcon: (element) => {
1026
+ thinkSpherePage.solvePhaseAccordionExpandIcon()
1027
+ .click();
1028
+ },
1029
+
1030
+ verifyElementDoesNotHaveExpandedClass: (element) => {
1031
+ element.should('not.have.class', 'Mui-expanded');
1032
+ },
1033
+
1034
+ verifyElementDoesNotHaveCheckedClass: (element) => {
1035
+ element.should('not.have.class', 'Mui-checked');
1036
+ },
1037
+
1038
+ verifyThinkSphereSearchBarPlaceholder: () => {
1039
+ thinkSpherePage.searchBar().should('have.attr', 'placeholder', 'Search by title, tags and content');
1040
+ },
1041
+
1042
+ verifyReviewItemSearchBarPlaceholder: () => {
1043
+ thinkSpherePage.searchBar().should('have.attr', 'placeholder', 'Search by question type');
1044
+ },
1045
+
1046
+ verifyEquationEditorSectionCategoryNotPressed: () => {
1047
+ thinkSpherePage.equationEditorSectionCategories().eq(1).should('have.attr', 'data-aria-pressed', 'false');
1048
+ },
1049
+
1050
+ verifyEquationEditorSectionCategoryIsPressed: () => {
1051
+ thinkSpherePage.equationEditorSectionCategories().eq(10).should('have.attr', 'data-aria-pressed', 'true');
1052
+ },
1053
+
1054
+ verifyTypeCheckBoxStrategy: () => {
1055
+ utilities.getNthElement(thinkSpherePage.planStrategyCheckbox(), 5)
1056
+ .find('input').should('have.attr', 'type', 'checkbox');
1057
+ },
1058
+
1059
+ verifyTypeCheckBoxSentenceStarter: () => {
1060
+ utilities.getNthElement(thinkSpherePage.planSentenceStarterCheckbox(), 5)
1061
+ .find('input').should('have.attr', 'type', 'checkbox');
1062
+ },
1063
+
1064
+ verifyStrategyCheckBoxNotChecked: () => {
1065
+ utilities.getNthElement(thinkSpherePage.planStrategyCheckbox(), 5)
1066
+ .find('input').should('not.have.attr', 'checked');
1067
+ },
1068
+
1069
+ verifySentenceStrategyCheckBoxNotChecked: () => {
1070
+ utilities.getNthElement(thinkSpherePage.planSentenceStarterCheckbox(), 5)
1071
+ .find('input').should('not.have.attr', 'checked');
1072
+ },
1073
+
1074
+ verifyTextIsNotEmpty: (element) => {
1075
+ element.invoke('text')
1076
+ .should('not.be.empty');
1077
+ },
1078
+
1079
+ verifyLength: (element, length) => {
1080
+ element.should('have.length', length);
1081
+ },
1082
+
1083
+ verifyFilterSectionExpanded: () => {
1084
+ thinkSpherePage.filterSectionQuestionTypesAccordion().should('have.class', 'Mui-expanded');
1085
+ },
1086
+
1087
+ verifyFilterSectionCollapsed: () => {
1088
+ thinkSpherePage.filterSectionQuestionTypesAccordion().should('not.have.class', 'Mui-expanded');
1089
+ },
1090
+
1091
+ verifySolvePhaseAccordionExpanded: () => {
1092
+ thinkSpherePage.solvePhaseAccordionExpandIcon().should('have.class', 'Mui-expanded');
1093
+ },
1094
+
1095
+ verifySolvePhaseAccordionCollapsed: () => {
1096
+ thinkSpherePage.solvePhaseAccordionExpandIcon().should('not.have.class', 'Mui-expanded');
1097
+ },
1098
+
1099
+ addQuestionInstructionInnerHTML: (innerHTML) => {
1100
+ thinkSpherePage.thinkSphereQuestionInstructionCKEditor()
1101
+ .invoke('html', innerHTML);
1102
+ },
1103
+
1104
+ verifyQuestionInstructionIncreasedHeightAndScrollBar: () => {
1105
+ thinkSpherePage.thinkSphereQuestionInstructionCKEditor()
1106
+ .invoke('height') // Get the height of the element
1107
+ .should('be.gt', 198);
1108
+
1109
+ thinkSpherePage.thinkSphereQuestionInstructionCKEditor()
1110
+ .should(($el) => {
1111
+ const scrollWidth = $el[0].scrollWidth;
1112
+ const clientWidth = $el[0].clientWidth;
1113
+
1114
+ // Assert that horizontal scroll is present
1115
+ expect(scrollWidth).to.be.greaterThan(clientWidth);
1116
+ });
1117
+ },
1118
+
1119
+ verifyQuestionImagePopup: () => {
1120
+ thinkSpherePage.dialogBoxRoot()
1121
+ .within(() => {
1122
+ utilities.verifyElementVisibilityState(thinkSpherePage.questionInstructionImagePopup(), 'visible');
1123
+ utilities.verifyElementVisibilityState(thinkSpherePage.closeExpandImagePopupButton(), 'visible');
1124
+ });
1125
+ },
1126
+
1127
+ verifyAddNewStrategyPopupCloseFunctionality: () => {
1128
+ let countBeforeOpeningPopup, countAfterClosingPopup;
1129
+ cy.get(thinkSpherePage.strategiesBoxPreviewTab())
1130
+ .its('length')
1131
+ .then((count) => {
1132
+ countBeforeOpeningPopup = count;
1133
+ cy.log('Count before opening popup:', countBeforeOpeningPopup);
1134
+ });
1135
+ thinkSpherePage.addNewStrategyButton().click();
1136
+ thinkSpherePage.addStrategyPopupCancelButton().click();
1137
+ cy.get(thinkSpherePage.strategiesBoxPreviewTab())
1138
+ .its('length')
1139
+ .then((count) => {
1140
+ countAfterClosingPopup = count;
1141
+ cy.log('Count after closing popup:', countAfterClosingPopup);
1142
+ expect(countAfterClosingPopup).to.equal(countBeforeOpeningPopup);
1143
+ });
1144
+ },
1145
+
1146
+ verifyAddNewStrategyPopupSaveFunctionality: () => {
1147
+ let countBeforeOpeningPopup, countAfterClosingPopup;
1148
+ thinkSpherePage.strategiesBoxPreviewTab()
1149
+ .its('length')
1150
+ .then((count) => {
1151
+ countBeforeOpeningPopup = count;
1152
+ cy.log('Count before opening popup:', countBeforeOpeningPopup);
1153
+ });
1154
+ thinkSpherePage.addNewStrategyButton().click();
1155
+ thinkSpherePage.strategyNameInputField().type('Test Strategy');
1156
+ thinkSpherePage.addStrategyPopupSaveButton().click();
1157
+ thinkSpherePage.strategiesBoxPreviewTab()
1158
+ .its('length')
1159
+ .then((count) => {
1160
+ countAfterClosingPopup = count;
1161
+ cy.log('Count after closing popup:', countAfterClosingPopup);
1162
+ expect(countAfterClosingPopup).to.equal(countBeforeOpeningPopup + 1);
1163
+ });
1164
+ },
1165
+
1166
+ verifyVideoPopupDialogBox: () => {
1167
+ thinkSpherePage.dialogBoxRoot()
1168
+ .within(() => {
1169
+ utilities.verifyElementVisibilityState(thinkSpherePage.dialogBoxTitle(), 'visible');
1170
+ utilities.verifyInnerText(thinkSpherePage.dialogBoxTitle(), 'Create_a_model');
1171
+ utilities.verifyElementVisibilityState(thinkSpherePage.buttonClose(), 'visible');
1172
+ });
1173
+ },
1174
+
1175
+ verifySentenceStartersDropdown: () => {
1176
+ thinkSpherePage.chooseStarterTextIconWrapper()
1177
+ .within(() => {
1178
+ utilities.verifyElementVisibilityState(thinkSpherePage.starterIocn(), 'visible');
1179
+ utilities.verifyInnerText(thinkSpherePage.starterTextWrapper(), 'Starters');
1180
+ });
1181
+ thinkSpherePage.chooseStarterDropdown()
1182
+ .verifyPseudoClassBeforeProperty('content', '""');
1183
+ },
1184
+
1185
+ verifySentenceStartersDropdownOptions: (sentenceStartersTextDefault) => {
1186
+ sentenceStartersTextDefault.forEach((label, index) => {
1187
+ utilities.verifyInnerText(utilities.getNthElement(thinkSpherePage.chooseStartersListOptionLabels(), index), label);
1188
+ });
1189
+ },
1190
+
1191
+ verifySentenceStartersDropdownFunctionality: () => {
1192
+ thinkSpherePage.writePlanWrapper()
1193
+ .within(() => {
1194
+ thinkSpherePage.contentEditableDiv().clear();
1195
+ });
1196
+ thinkSpherePage.steps.expandChooseStarterDropdown();
1197
+ utilities.getNthElement(thinkSpherePage.chooseStartersListOptions(), 1).click();
1198
+ thinkSpherePage.writePlanWrapper()
1199
+ .within(() => {
1200
+ thinkSpherePage.contentEditableDiv().should('have.value', 'First, I will ');
1201
+ thinkSpherePage.contentEditableDiv().clear();
1202
+ });
1203
+ },
1204
+
1205
+ verifyProblemAskingHeading: () => {
1206
+ thinkSpherePage.problemAskingWrapper()
1207
+ .within(() => {
1208
+ utilities.verifyInnerText(thinkSpherePage.subheadingWrapper(), 'The problem is asking me to');
1209
+ utilities.verifyElementVisibilityState(thinkSpherePage.subheadingWrapper(), 'visible');
1210
+ });
1211
+ },
1212
+
1213
+ verifyProblemAskingTextArea: () => {
1214
+ thinkSpherePage.problemAskingWrapper()
1215
+ .within(() => {
1216
+ utilities.verifyElementVisibilityState(thinkSpherePage.contentEditableDiv(), 'visible');
1217
+ utilities.verifyElementAttribute(thinkSpherePage.contentEditableDiv(), 'placeholder', 'Enter your text here');
1218
+ });
1219
+ },
1220
+
1221
+ verifyProblemAskingMicSection: () => {
1222
+ thinkSpherePage.problemAskingWrapper()
1223
+ .within(() => {
1224
+ utilities.verifyElementVisibilityState(thinkSpherePage.micIconWrapper(), 'visible');
1225
+ utilities.verifyElementAttribute(thinkSpherePage.micIconWrapper(), 'role', 'button');
1226
+ utilities.verifyElementAttribute(thinkSpherePage.micIconWrapper(), 'aria-label', 'Mic button');
1227
+ });
1228
+ },
1229
+
1230
+ verifyProblemAskingTextAreaFunctionality: (textToEnter) => {
1231
+ thinkSpherePage.problemAskingWrapper()
1232
+ .within(() => {
1233
+ thinkSpherePage.contentEditableDiv().type(textToEnter);
1234
+ thinkSpherePage.contentEditableDiv().should('have.value', textToEnter);
1235
+ });
1236
+ },
1237
+
1238
+ verifyStrategiesToPlanHeading: () => {
1239
+ thinkSpherePage.strategiesToPlanWrapper()
1240
+ .within(() => {
1241
+ utilities.verifyInnerText(thinkSpherePage.subheadingWrapper(), 'Add strategies to plan');
1242
+ utilities.verifyElementVisibilityState(thinkSpherePage.subheadingWrapper(), 'visible');
1243
+ });
1244
+ },
1245
+
1246
+ verifyWritePlanHeading: () => {
1247
+ thinkSpherePage.writePlanWrapper()
1248
+ .within(() => {
1249
+ utilities.verifyInnerText(thinkSpherePage.subheadingWrapper(), 'Write your plan');
1250
+ utilities.verifyElementVisibilityState(thinkSpherePage.subheadingWrapper(), 'visible');
1251
+ });
1252
+ },
1253
+
1254
+ verifyWritePlanTextArea: () => {
1255
+ thinkSpherePage.writePlanWrapper()
1256
+ .within(() => {
1257
+ utilities.verifyElementVisibilityState(thinkSpherePage.contentEditableDiv(), 'visible');
1258
+ utilities.verifyElementAttribute(thinkSpherePage.contentEditableDiv(), 'placeholder', 'Enter your plan here');
1259
+ });
1260
+ },
1261
+
1262
+ verifyWritePlanMicSection: () => {
1263
+ thinkSpherePage.writePlanWrapper()
1264
+ .within(() => {
1265
+ utilities.verifyElementVisibilityState(thinkSpherePage.micIconWrapper(), 'visible');
1266
+ utilities.verifyElementAttribute(thinkSpherePage.micIconWrapper(), 'role', 'button');
1267
+ utilities.verifyElementAttribute(thinkSpherePage.micIconWrapper(), 'aria-label', 'Mic button');
1268
+ });
1269
+ },
1270
+
1271
+ verifyWritePlanTextAreaFunctionality: (planTextToEnter) => {
1272
+ thinkSpherePage.writePlanWrapper()
1273
+ .within(() => {
1274
+ thinkSpherePage.contentEditableDiv().type(planTextToEnter);
1275
+ thinkSpherePage.contentEditableDiv().should('have.value', planTextToEnter);
1276
+ thinkSpherePage.contentEditableDiv().clear();
1277
+ });
1278
+ },
1279
+
1280
+ verifyStrategyChipClickFunctionality: () => {
1281
+ thinkSpherePage.writePlanWrapper()
1282
+ .within(() => {
1283
+ thinkSpherePage.contentEditableDiv().clear();
1284
+ });
1285
+ thinkSpherePage.strategyChip().click();
1286
+ thinkSpherePage.writePlanWrapper()
1287
+ .within(() => {
1288
+ thinkSpherePage.contentEditableDiv().should('have.value', 'look for a pattern ');
1289
+ });
1290
+ },
1291
+ clickUploadVideoButton: () => {
1292
+ thinkSpherePage.uploadVideoLinkButton()
1293
+ .click();
1294
+ },
1295
+
1296
+ verifyPreAuthoredVideoTitles: (defaultStrategyTexts) => {
1297
+ defaultStrategyTexts.forEach((text,index) => {
1298
+ thinkSpherePage.videoLinkComponent(index)
1299
+ .within(() => {
1300
+ utilities.verifyInnerText(thinkSpherePage.uploadVideoLinkButton(), text);
1301
+ })
1302
+ });
1303
+ },
1304
+
1305
+ verifyPreAuthoredVideos: (preAuthoredVideos) => {
1306
+ preAuthoredVideos.forEach(({duration}, optionIndex) => {
1307
+ thinkSpherePage.videoLinkComponent(optionIndex)
1308
+ .within(thinkSpherePage.steps.clickUploadVideoButton);
1309
+ thinkSpherePage.steps.startPlayback();
1310
+ thinkSpherePage.steps.waitForPlaybackToBegin();
1311
+ thinkSpherePage.playerTimer()
1312
+ .should('contain', `/${duration}`);
1313
+ thinkSpherePage.steps.closeVideoPopup();
1314
+ })
1315
+ },
1316
+
1317
+ clickOnReviewTab: () => {
1318
+ thinkSpherePage.reviewTab()
1319
+ .click();
1320
+ },
1321
+
1322
+ clickOnPlanTab: () => {
1323
+ thinkSpherePage.planTab()
1324
+ .click();
1325
+ },
1326
+
1327
+ switchToGradingView: () => {
1328
+ thinkSpherePage.gradingViewRadioButton()
1329
+ .click();
1330
+ },
1331
+
1332
+ switchToStudentView: () => {
1333
+ thinkSpherePage.studentViewRadioButton()
1334
+ .click();
1335
+ },
1336
+
1337
+ verifyCorrectAnswerLabel: () => {
1338
+ utilities.verifyElementVisibilityState(thinkSpherePage.correctAnswerLabelWrapper(), 'visible');
1339
+ },
1340
+
1341
+ addImageAlternativeTextInputFieldText: (alternateTextForImage) => {
1342
+ thinkSpherePage.imageAlternativeTextInputField().type(alternateTextForImage);
1343
+ cy.wait(2000);
1344
+ },
1345
+
1346
+ verifyQuestionInstructionPreviewTexWrapperVisibility: (instructionText) => {
1347
+ utilities.verifyElementVisibilityState(thinkSpherePage.questionInstructionPreviewTexWrapper(), 'visible');
1348
+ utilities.verifyInnerText(thinkSpherePage.questionInstructionPreviewTexWrapper(), instructionText);
1349
+ },
1350
+
1351
+ verifyQuestionInstructionPreviewImageWrapperVisibility: () => {
1352
+ utilities.verifyElementVisibilityState(thinkSpherePage.questionInstructionPreviewImageWrapper(), 'visible');
1353
+ utilities.verifyElementVisibilityState(thinkSpherePage.questionInstructionPreviewImageExpandButton(), 'visible');
1354
+ },
621
1355
  };
622
1356
 
623
1357
  const tests = {
1358
+ ...essayResponsePage.tests,
624
1359
  ...createQuestionBasePage.tests,
625
1360
  ...backgroundImageUploadComponent.tests,
626
1361
  ...questionInstructionsComponent.tests,
@@ -632,6 +1367,7 @@ const tests = {
632
1367
  ...studentViewSettingsLabelComponent.tests,
633
1368
  ...defaultToolDropdown.tests,
634
1369
  ...optionsWrapperComponent.tests,
1370
+ ...equationEditorFlyout.tests,
635
1371
 
636
1372
  /**
637
1373
  * Verifies the ThinkSphere cancel button functionality.
@@ -916,7 +1652,7 @@ const tests = {
916
1652
 
917
1653
  it('when the user hovers over the enabled \'Delete\' icon buttons, then \'Delete option\' message should be displayed on a tooltip and the tooltip should disappear if focus is removed from the \'Delete\' icon button', () => {
918
1654
  utilities.getNthElement(thinkSpherePage.deleteButton(), NthElement)
919
- .verifyTooltip('Delete item for item 1');
1655
+ .verifyTooltip(list === 'strategy' ? 'Delete strategy' : 'Delete sentence starter');
920
1656
  });
921
1657
 
922
1658
  it('CSS of enabled delete button tooltip', { tags: 'css' }, () => {
@@ -1125,9 +1861,12 @@ const tests = {
1125
1861
  it('When user clicks on \'Reset to default\' button then the sentence starter list should be reset to default', () => {
1126
1862
  thinkSpherePage.planSentenceStarterListResetToDefault()
1127
1863
  .click();
1128
- optionList.forEach((option, index) => {
1129
- thinkSpherePage.steps.verifyOptionsContents(index, option, 'Enter sentence starter name');
1130
- });
1864
+ thinkSpherePage.planSentenceStarterSection()
1865
+ .within(() => {
1866
+ optionList.forEach((option, index) => {
1867
+ thinkSpherePage.steps.verifyOptionsContents(index, option, 'Enter sentence starter name');
1868
+ });
1869
+ })
1131
1870
  });
1132
1871
  }
1133
1872
  },
@@ -1163,8 +1902,8 @@ const tests = {
1163
1902
  thinkSpherePage.uploadVideoLinkButton()
1164
1903
  .click();
1165
1904
  });
1166
- thinkSpherePage.steps.uploadVideoFile('uploads/image.png');
1167
- thinkSpherePage.steps.verifyWarningPopup('File upload error', 'The file type is not supported. Please upload files with the following supported formats: mov, avi, mp4, webm, wmv.');
1905
+ thinkSpherePage.steps.uploadVideoFile('uploads/sample.wmv');
1906
+ thinkSpherePage.steps.verifyWarningPopup('File upload error', 'The file type is not supported. Please upload files with the following supported formats: mp4, webm.');
1168
1907
  });
1169
1908
 
1170
1909
  it('CSS of warning popup', { tags: 'css' }, () => {
@@ -1212,14 +1951,29 @@ const tests = {
1212
1951
  utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'notExist');
1213
1952
  });
1214
1953
 
1215
- it('When user upload a file of size more than 10MB then an error message should be displayed', () => {
1954
+ it('When user upload a file whose extension is supported then no error message should be displayed', () => {
1216
1955
  thinkSpherePage.videoLinkComponent()
1217
1956
  .within(() => {
1218
1957
  thinkSpherePage.uploadVideoLinkButton()
1219
1958
  .click();
1220
1959
  });
1221
- thinkSpherePage.steps.uploadVideoFile('uploads/sample20MB.mp4');
1222
- thinkSpherePage.steps.verifyWarningPopup('File upload error', 'The file could not be uploaded. The file is 37 MB exceeding the maximum size of 10 MB.');
1960
+ thinkSpherePage.steps.uploadVideoFile('uploads/sample.webm');
1961
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'notExist');
1962
+ thinkSpherePage.videoLinkComponent()
1963
+ .within(() => {
1964
+ thinkSpherePage.deleteVideoButton()
1965
+ .click();
1966
+ });
1967
+ });
1968
+
1969
+ it('When user upload a file of size more than 25MB then an error message should be displayed', () => {
1970
+ thinkSpherePage.videoLinkComponent()
1971
+ .within(() => {
1972
+ thinkSpherePage.uploadVideoLinkButton()
1973
+ .click();
1974
+ });
1975
+ thinkSpherePage.steps.uploadVideoFile('uploads/sample30MB.mp4');
1976
+ thinkSpherePage.steps.verifyWarningPopup('File upload error', 'The file could not be uploaded. The file is 31 MB exceeding the maximum size of 25 MB.');
1223
1977
  });
1224
1978
 
1225
1979
  it('When user click on OK button of warning popup then the popup should be closed', () => {
@@ -1230,7 +1984,7 @@ const tests = {
1230
1984
  utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'notExist');
1231
1985
  });
1232
1986
 
1233
- it('When user upload a file of size less than 10MB then no error message should be displayed and video uploaded successfully', () => {
1987
+ it('When user upload a file of size less than 25MB then no error message should be displayed and video uploaded successfully', () => {
1234
1988
  thinkSpherePage.videoLinkComponent()
1235
1989
  .within(() => {
1236
1990
  thinkSpherePage.uploadVideoLinkButton()
@@ -1265,7 +2019,7 @@ const tests = {
1265
2019
  });
1266
2020
  });
1267
2021
 
1268
- it('When user upload another file size less than 10MB then no error message should be displayed and video uploaded successfully', () => {
2022
+ it('When user upload another file size less than 25MB then no error message should be displayed and video uploaded successfully', () => {
1269
2023
  thinkSpherePage.videoLinkComponent()
1270
2024
  .within(() => {
1271
2025
  thinkSpherePage.editVideoButton()
@@ -1298,6 +2052,130 @@ const tests = {
1298
2052
  cy.checkAccessibility(thinkSpherePage.singleOptionTextFieldWrapper());
1299
2053
  });
1300
2054
  },
2055
+
2056
+ verifyErrorMessageCSSAndA11y: () => {
2057
+ it('CSS of error message', { tags: 'css' }, () => {
2058
+ utilities.verifyCSS(commonComponents.errorMessage(), {
2059
+ 'color': css.color.errorText,
2060
+ 'font-size': css.fontSize.small,
2061
+ 'font-weight': css.fontWeight.regular
2062
+ });
2063
+ });
2064
+
2065
+ it('Accessibility of error message', { tags: 'a11y' }, () => {
2066
+ cy.checkAccessibility(thinkSpherePage.nextGenThinkSphereCreateItemWrapper());
2067
+ });
2068
+ },
2069
+
2070
+ verifyQuestionAccordion: () => {
2071
+ it('Author should be able to expand and collapse the question accordion by clicking on the expand icon', () => {
2072
+ thinkSpherePage.filterSectionQuestionAccordion().each(($accordion) => {
2073
+ cy.wrap($accordion).find('.expansion-item-icon-wrapper').click();
2074
+ cy.wrap($accordion).should('have.class', 'Mui-expanded');
2075
+ });
2076
+
2077
+ thinkSpherePage.filterSectionQuestionAccordion().each(($accordion) => {
2078
+ cy.wrap($accordion).find('.expansion-item-icon-wrapper').click();
2079
+ cy.wrap($accordion).should('not.have.class', 'Mui-expanded');
2080
+ });
2081
+ });
2082
+ },
2083
+
2084
+ verifyCreateItemHeaderSection: () => {
2085
+ it('The page displays a unique Reference ID at the top left corner in the format "Ref ID:"', () => {
2086
+ utilities.verifyElementVisibilityState(thinkSpherePage.referenceIdWrapper(), 'visible');
2087
+ utilities.verifyInnerText(thinkSpherePage.referenceIdWrapper().children('div').first(), 'Ref ID:\u00A0');
2088
+ const initialRefId = thinkSpherePage.referenceIdWrapper().children('div').eq(1).invoke('text');
2089
+ initialRefId.then((refId) => {
2090
+ expect(refId).to.be.a('string').and.not.be.empty;
2091
+ cy.reload();
2092
+ thinkSpherePage.referenceIdWrapper().children('div').eq(1).invoke('text').should((newRefId) => {
2093
+ expect(newRefId).to.be.a('string').and.not.be.empty;
2094
+ expect(newRefId).to.not.equal(refId);
2095
+ });
2096
+ });
2097
+ });
2098
+
2099
+ 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' , () => {
2100
+ utilities.verifyElementVisibilityState(thinkSpherePage.editBoxTextInput(), 'visible');
2101
+ thinkSpherePage.editBoxTextInput().blur();
2102
+ utilities.verifyElementVisibilityState(thinkSpherePage.editIconPencil(), 'visible');
2103
+ thinkSpherePage.editIconPencil().click();
2104
+ thinkSpherePage.editBoxTextInput().should('have.attr', 'placeholder', 'Enter title');
2105
+ thinkSpherePage.editBoxTextInput().type('Test Title');
2106
+ thinkSpherePage.editBoxTextInput().blur();
2107
+ utilities.verifyInnerText(thinkSpherePage.editBoxText(),'Test Title');
2108
+ });
2109
+ },
2110
+
2111
+ verifyDefaultTab: () => {
2112
+ it('By default edit tab should be selected', () => {
2113
+ thinkSpherePage.editTab().should('have.class', 'Mui-selected');
2114
+ });
2115
+ },
2116
+
2117
+ /**
2118
+ * Verifies the functionality of editing, selecting, and unselecting strategies and sentence starters.
2119
+ * Ensures that changes are saved successfully and reflected in the preview section.
2120
+ *
2121
+ * @param {Object} sentenceStartersObject - The object containing strategies and sentence starters data.
2122
+ * @param {Array<string>} sentenceStartersObject.editedStrategies - The list of edited strategies to verify.
2123
+ * @param {Array<string>} sentenceStartersObject.editedSentenceStarters - The list of edited sentence starters to verify.
2124
+ * @param {Array<string>} sentenceStartersObject.selectStrategies - The list of strategies to select and verify.
2125
+ * @param {Array<string>} sentenceStartersObject.selectSentenceStarters - The list of sentence starters to select and verify.
2126
+ */
2127
+ verifyStrategiesAndSentenceStartersSection: (sentenceStartersObject) => {
2128
+ const {
2129
+ editedStrategies, editedSentenceStarters, selectStrategies, selectSentenceStarters
2130
+ } = sentenceStartersObject || {};
2131
+ 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', () => {
2132
+ thinkSpherePage.steps.switchToEditTab();
2133
+ thinkSpherePage.steps.clickOnEditQuestionIcon();
2134
+ editedStrategies.forEach((strategy, index) => {
2135
+ thinkSpherePage.steps.addOptionText('strategy', index, strategy);
2136
+ });
2137
+ editedSentenceStarters.forEach((sentenceStarter, index) => {
2138
+ thinkSpherePage.steps.addOptionText('sentenceStarter', index, sentenceStarter);
2139
+ });
2140
+ thinkSpherePage.steps.saveAQuestionAndVerifySnackbar();
2141
+ thinkSpherePage.steps.switchToPreviewTab();
2142
+ editedStrategies.forEach((label, index) => {
2143
+ utilities.verifyInnerText(utilities.getNthElement(thinkSpherePage.strategyTextWrapper(), index), label);
2144
+ });
2145
+ thinkSpherePage.steps.expandChooseStarterDropdown();
2146
+ editedSentenceStarters.forEach((label, index) => {
2147
+ utilities.verifyInnerText(utilities.getNthElement(thinkSpherePage.chooseStartersListOptionLabels(), index), label);
2148
+ });
2149
+ utilities.clickOnBody();
2150
+ });
2151
+
2152
+ 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', () => {
2153
+ thinkSpherePage.steps.switchToEditTab();
2154
+ thinkSpherePage.steps.clickOnEditQuestionIcon();
2155
+ editedStrategies.forEach((strategy, index) => {
2156
+ if(!selectStrategies.includes(strategy)){
2157
+ thinkSpherePage.steps.selectOption('strategy', index);
2158
+ }
2159
+ });
2160
+ cy.wait(2000);
2161
+ editedSentenceStarters.forEach((sentenceStarter, index) => {
2162
+ if(!selectSentenceStarters.includes(sentenceStarter)){
2163
+ thinkSpherePage.steps.selectOption('sentenceStarter', index);
2164
+ }
2165
+ });
2166
+ cy.wait(2000);
2167
+ thinkSpherePage.steps.saveAQuestionAndVerifySnackbar();
2168
+ thinkSpherePage.steps.switchToPreviewTab();
2169
+ selectStrategies.forEach((label, index) => {
2170
+ utilities.verifyInnerText(utilities.getNthElement(thinkSpherePage.strategyTextWrapper(), index), label);
2171
+ });
2172
+ thinkSpherePage.steps.expandChooseStarterDropdown();
2173
+ selectSentenceStarters.forEach((label, index) => {
2174
+ utilities.verifyInnerText(utilities.getNthElement(thinkSpherePage.chooseStartersListOptionLabels(), index), label);
2175
+ });
2176
+ utilities.clickOnBody();
2177
+ });
2178
+ },
1301
2179
  };
1302
2180
 
1303
2181
  export const thinkSpherePage = {