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
@@ -3,7 +3,7 @@ import abortEarlySetup from "../../../support/helpers/abortEarly";
3
3
  import utilities from "../../../support/helpers/utilities";
4
4
  const css = Cypress.env('css');
5
5
 
6
- const planPhaseSectionDescriptionText = "Select and edit sentence starters and strategies for students to use in their planning journal. You can select up to five strategies and five sentence starters.";
6
+ const planPhaseSectionDescriptionText = "Select and edit strategies and sentence starters for students to use in their planning journal. You can select up to five strategies and five sentence starters.";
7
7
  const strategiesTextDefault = [
8
8
  'Create a model',
9
9
  'Look for a pattern',
@@ -18,6 +18,28 @@ const sentenceStartersTextDefault = [
18
18
  'I will check my work by',
19
19
  'If my strategy is not working, I will'
20
20
  ];
21
+ const preAuthoredStrategyVideos = [
22
+ {
23
+ displayName: 'Create_a_model',
24
+ duration: '00:24',
25
+ },
26
+ {
27
+ displayName: 'Look_for_a_pattern',
28
+ duration: '00:18',
29
+ },
30
+ {
31
+ displayName: 'Guess_check_and_revise',
32
+ duration: '00:17',
33
+ },
34
+ {
35
+ displayName: 'Try_with_friendlier_numbers',
36
+ duration: '00:26',
37
+ },
38
+ {
39
+ displayName: 'Show_with_an_equation',
40
+ duration: '00:22',
41
+ }
42
+ ];
21
43
  describe('Create item : ThinkSphere Question - Plan Phases Section',() => {
22
44
  before(() => {
23
45
  cy.loginAs('admin');
@@ -53,6 +75,345 @@ describe('Create item : ThinkSphere Question - Plan Phases Section',() => {
53
75
  thinkSpherePage.steps.clickOnAccordian('plan');
54
76
  thinkSpherePage.steps.verifyAccordianCollapsed('plan', false);
55
77
  });
78
+ });
79
+
80
+ describe('\'Plan Phase\' Section Strategies list component - Pre-authored Videos', () => {
81
+ abortEarlySetup();
82
+ it('Strategies list options should have Pre-authored Videos', () => {
83
+ thinkSpherePage.steps.verifyPreAuthoredVideoTitles(preAuthoredStrategyVideos.map(video => video.displayName));
84
+ })
85
+ it('When the user clicks on the video, the respective video should play', () => {
86
+ thinkSpherePage.steps.verifyPreAuthoredVideos(preAuthoredStrategyVideos);
87
+ });
88
+ });
89
+
90
+ describe('\'Plan Phase\' Video Preview Component', () => {
91
+ const playbackSpeedOptions = ['1x', '1.25x', '1.5x', '2x'];
92
+ const playbackSpeedMultiplier = [1, 1.25, 1.5, 2];
93
+ before(()=>{
94
+ thinkSpherePage.steps.addOption('strategy');
95
+ thinkSpherePage.steps.addOptionText('strategy', 5, "Custom strategy");
96
+ })
97
+
98
+ after(() => {
99
+ thinkSpherePage.steps.deleteOption(5);
100
+ })
101
+
102
+ it('When the video is uploaded it should display the video and its buttons correctly', () => {
103
+ thinkSpherePage.videoLinkComponent(5)
104
+ .within(() => {
105
+ thinkSpherePage.uploadVideoLinkButton()
106
+ .click();
107
+ });
108
+ thinkSpherePage.steps.uploadVideoFile('uploads/sample.mp4');
109
+ cy.wait(10000);
110
+ thinkSpherePage.videoLinkComponent(5)
111
+ .within(() => {
112
+ thinkSpherePage.uploadVideoLinkButton()
113
+ .click();
114
+ });
115
+ utilities.verifyElementVisibilityState(thinkSpherePage.playbackPlayButton(), 'visible');
116
+ utilities.verifyElementVisibilityState(thinkSpherePage.playerTimer(), 'visible');
117
+ utilities.verifyElementVisibilityState(thinkSpherePage.progressBar(), 'visible');
118
+ utilities.verifyElementVisibilityState(thinkSpherePage.volumeControlButton(), 'visible');
119
+ utilities.verifyElementVisibilityState(thinkSpherePage.playbackSpeedButton(), 'visible');
120
+ utilities.verifyElementVisibilityState(thinkSpherePage.fullScreenButton(), 'visible');
121
+ });
122
+
123
+ it('When the user hovers over the \'Play\' button, a tooltip \'Play\' should be displayed and on moving away the focus, the tooltip should disappear', () => {
124
+ thinkSpherePage.playbackPlayButton()
125
+ .verifyTooltip('Play');
126
+ });
127
+
128
+ it('When the user clicks on \'Play\' button, then user should be able to playback the video. Timer should display the amount of video that has been played and the total video length in (mm:ss)/(mm:ss) format.', () => {
129
+ thinkSpherePage.steps.startPlayback();
130
+ thinkSpherePage.steps.waitForPlaybackToBegin();
131
+ thinkSpherePage.steps.verifyVideoPlaybackTimer('0:03', '00:05');
132
+ });
133
+
134
+ it('When the user hovers over the \'Pause\' button, a tooltip \'Pause\' should be displayed and on moving away the focus, the tooltip should disappear', () => {
135
+ thinkSpherePage.playbackPauseButton()
136
+ .verifyTooltip('Pause');
137
+ });
138
+
139
+ it('When the user hovers over the full screen button, a tooltip \'Full screen\' should be displayed', () => {
140
+ thinkSpherePage.fullScreenButton()
141
+ .verifyTooltip('Full screen');
142
+ });
143
+
144
+ it('CSS of \'Preview\' section if playback is initiated', { tags: 'css' }, () => {
145
+ thinkSpherePage.steps.startPlayback();
146
+ utilities.verifyCSS(thinkSpherePage.playbackPauseButton().find('rect'), {
147
+ 'fill': css.color.secondaryBtnBg,
148
+ });
149
+ utilities.verifyCSS(thinkSpherePage.playbackPauseButton().find('path'), {
150
+ 'stroke': css.color.secondaryBtnActive,
151
+ });
152
+ utilities.verifyCSS(thinkSpherePage.playerTimer(), {
153
+ 'color': css.color.whiteText,
154
+ 'font-size': css.fontSize.small,
155
+ 'font-weight': css.fontWeight.semibold,
156
+ });
157
+ utilities.verifyCSS(thinkSpherePage.progressBar().find('.MuiSlider-rail'), {
158
+ 'background-color': css.color.progressBarBackgroundColor,
159
+ });
160
+ utilities.verifyCSS(thinkSpherePage.progressBar().find('.MuiSlider-track'), {
161
+ 'background-color': css.color.defaultBackground,
162
+ });
163
+ });
164
+
165
+ it('Accessibility of \'Preview\' section if playback is initiated', { tags: 'a11y' }, () => {
166
+ cy.checkAccessibility(thinkSpherePage.playbackPauseButton().parents('[class*="VideoPlayerstyles__VideoPlayerWrapper"]'));
167
+ });
168
+
169
+ it('When the video player is in playback state and the user clicks on \'Pause\' button, then playback should get paused. Progress bar and timer should not update further and the \'Pause\' button should get replaced with \'Play\' button', () => {
170
+ thinkSpherePage.steps.startPlayback();
171
+ thinkSpherePage.steps.waitForPlaybackToBegin();
172
+ thinkSpherePage.steps.verifyVideoPlaybackTimer('0:03', '00:05');
173
+ thinkSpherePage.steps.pausePlayback();
174
+ thinkSpherePage.steps.verifyVideoPlaybackTimer('0:03', '00:05');
175
+ utilities.verifyElementVisibilityState(thinkSpherePage.playbackPlayButton(), 'visible');
176
+ utilities.verifyElementVisibilityState(thinkSpherePage.playbackPauseButton(), 'notExist');
177
+ });
178
+
179
+ it('CSS of \'Preview\' section if playback is paused', { tags: 'css' }, () => {
180
+ utilities.verifyCSS(thinkSpherePage.playbackPlayButton().find('rect'), {
181
+ 'fill': css.color.secondaryBtnBg,
182
+ });
183
+ utilities.verifyCSS(thinkSpherePage.playbackPlayButton().find('path'), {
184
+ 'stroke': css.color.secondaryBtnActive,
185
+ });
186
+ });
187
+
188
+ it('Accessibility of \'Preview\' section if if playback is paused', { tags: 'a11y' }, () => {
189
+ cy.checkAccessibility(thinkSpherePage.playbackPlayButton().parents('[class*="VideoPlayerstyles__VideoPlayerWrapper"]'));
190
+ });
191
+
192
+ it('When video player is in paused state and user clicks on \'Play\' button, then playback should get resumed and \'Play\' button should get replaced with \'Pause\' button.', () => {
193
+ thinkSpherePage.videoPopupCloseButton().click();
194
+ thinkSpherePage.videoLinkComponent(5)
195
+ .within(() => {
196
+ thinkSpherePage.uploadVideoLinkButton()
197
+ .click();
198
+ });
199
+ thinkSpherePage.steps.startPlayback();
200
+ cy.wait(1000);
201
+ thinkSpherePage.steps.waitForPlaybackToBegin();
202
+ utilities.verifyElementVisibilityState(thinkSpherePage.playbackPlayButton(), 'notExist');
203
+ utilities.verifyElementVisibilityState(thinkSpherePage.playbackPauseButton(), 'visible');
204
+ });
205
+
206
+ it('When the user seeks the progress bar slider while the video is playing, then the video should continue to play from the position where the slider is seeked', () => {
207
+ thinkSpherePage.steps.seekProgressBarSliderToCenter();
208
+ thinkSpherePage.steps.addWaitToPlayVideo(1000);
209
+ thinkSpherePage.steps.verifyProgressBarSliderPosition(50);
210
+ });
211
+
212
+ it('When the user seeks the progress bar slider while the video is paused, then the video playback should be in paused state and on playing the video, then the video should play from the position where the slider is seeked', () => {
213
+ thinkSpherePage.steps.pausePlayback();
214
+ thinkSpherePage.steps.seekProgressBarSliderToCenter();
215
+ thinkSpherePage.steps.startPlayback();
216
+ thinkSpherePage.steps.verifyProgressBarSliderPosition(50);
217
+ });
218
+
219
+ it('When the video playback is completed, the \'Pause\' button should get replaced with \'Play\' button', () => {
220
+ thinkSpherePage.steps.verifyVideoPlaybackTimer('0:05', '00:05');
221
+ utilities.verifyElementVisibilityState(thinkSpherePage.playbackPlayButton(), 'visible');
222
+ utilities.verifyElementVisibilityState(thinkSpherePage.playbackPauseButton(), 'notExist');
223
+ thinkSpherePage.steps.verifyProgressBarSliderPosition(99);
224
+ });
225
+
226
+ it.skip('CSS of progress bar in hover state', { tags: 'css' }, () => {
227
+ thinkSpherePage.steps.hoverOnProgressBarSlider();
228
+ utilities.verifyCSS(thinkSpherePage.progressBarSlider().parents('span[class*="MuiSlider-thumb"]'), {
229
+ 'box-shadow': `${css.color.progressBarSliderHoverBackground} 0px 0px 0px 8px`
230
+ });
231
+ });
232
+
233
+ it('When the user hovers over \'Volume control\' button, volume control settings should open and by default it should be set to full volume and on hovering away from the button, the volume sliders should disappear', () => {
234
+ thinkSpherePage.steps.hoverOnVolumeControlButton();
235
+ utilities.verifyElementVisibilityState(thinkSpherePage.volumeControlSlider(), 'visible');
236
+ thinkSpherePage.steps.verifyVolumeOfPlaybackPlayer('100');
237
+ utilities.hoverAwayFromElement();
238
+ utilities.verifyElementVisibilityState(thinkSpherePage.volumeControlSlider(), 'notExist');
239
+ });
240
+
241
+ it.skip('When volume is not set as 0 and user hovers on \'Volume control\' button, then \'Mute\' text should be displayed in a tooltip and on hovering away from the button, the tooltip should disappear', () => {
242
+ thinkSpherePage.steps.hoverOnMuteUnmuteButton();
243
+ utilities.verifyElementVisibilityState(thinkSpherePage.tooltipText(), 'visible');
244
+ utilities.verifyInnerText(thinkSpherePage.tooltipText(), 'Mute');
245
+ utilities.triggerMouseout(thinkSpherePage.volumeControlButton());
246
+ utilities.verifyElementVisibilityState(thinkSpherePage.tooltipText(), 'notExist');
247
+ });
248
+
249
+ it.skip('When the user hovers over \'Volume control slider\', then \'Volume control\' text should be displayed in a tooltip and on hovering away from the button, the tooltip should disappear', () => {
250
+ thinkSpherePage.steps.hoverOnVolumeControlButton();
251
+ utilities.verifyElementVisibilityState(thinkSpherePage.tooltipText(), 'visible');
252
+ utilities.verifyInnerText(thinkSpherePage.tooltipText(), 'Volume control');
253
+ utilities.hoverAwayFromElement();
254
+ utilities.verifyElementVisibilityState(thinkSpherePage.volumeControlSlider(), 'notExist');
255
+ utilities.verifyElementVisibilityState(thinkSpherePage.tooltipText(), 'notExist');
256
+ });
257
+
258
+ it.skip('When volume is not set as 0 and user clicks on volume control button, then the video should be muted and the volume control button should change to a muted state', () => {
259
+ thinkSpherePage.steps.clickOnVolumeButton();
260
+ utilities.hoverAwayFromElement();
261
+ thinkSpherePage.steps.hoverOnVolumeControlButton();
262
+ thinkSpherePage.steps.verifyVolumeOfPlaybackPlayer('0');
263
+ utilities.hoverAwayFromElement();
264
+ utilities.verifyElementVisibilityState(thinkSpherePage.volumeControlSlider(), 'notExist');
265
+ utilities.verifyElementVisibilityState(thinkSpherePage.muteVolumeIcon(), 'visible');
266
+ // thinkSpherePage.steps.focusOutFromVolumeControlButton();
267
+ });
268
+
269
+ it.skip('When the user hovers on muted \'Volume control\' button, \'Unmute\' text should be displayed in tooltip', () => {
270
+ thinkSpherePage.steps.hoverOnMuteUnmuteButton();
271
+ utilities.verifyElementVisibilityState(thinkSpherePage.tooltipText(), 'visible');
272
+ utilities.verifyInnerText(thinkSpherePage.tooltipText(), 'Unmute');
273
+ utilities.triggerMouseout(thinkSpherePage.volumeControlButton());
274
+ utilities.verifyElementVisibilityState(thinkSpherePage.tooltipText(), 'notExist');
275
+ });
276
+
277
+ it.skip('When the user clicks on the muted volume control button then the volume setting slider should return to full volume and the volume control button should change to an unmuted state', () => {
278
+ thinkSpherePage.steps.clickOnVolumeButton();
279
+ utilities.hoverAwayFromElement();
280
+ thinkSpherePage.steps.hoverOnVolumeControlButton();
281
+ thinkSpherePage.steps.verifyVolumeOfPlaybackPlayer('100');
282
+ utilities.hoverAwayFromElement();
283
+ utilities.verifyElementVisibilityState(thinkSpherePage.unmutedVolumeIcon(), 'visible');
284
+ thinkSpherePage.steps.hoverOnVolumeControlButton();
285
+ });
286
+
287
+ it.skip('CSS of volume control section', { tags: 'css' }, () => {
288
+ utilities.verifyCSS(thinkSpherePage.volumeControlSlider(), {
289
+ 'background': `${css.color.transparent} linear-gradient(to right, ${css.color.progressBarElapsedFill} 0%, ${css.color.progressBarElapsedFill} 100%, ${css.color.progressBarRemainingFill} 0%, ${css.color.progressBarRemainingFill} 100%) repeat scroll 0% 0%, 'auto padding-box border-box`
290
+ });
291
+ utilities.verifyCSS(thinkSpherePage.volumeControlButton().find('g path'), {
292
+ 'fill': css.color.secondaryBtnBg,
293
+ });
294
+ });
295
+
296
+ it.skip('Accessibility of volume control section', { tags: 'a11y' }, () => {
297
+ cy.checkAccessibility(thinkSpherePage.volumeControlSlider());
298
+ cy.checkAccessibility(thinkSpherePage.playbackPlayButton().parents('.video-preview-popup'));
299
+ });
300
+
301
+ it.skip('When the user drags the volume control all the way down, video should be muted and the button should update to a muted state', () => {
302
+ thinkSpherePage.steps.hoverOnVolumeControlButton();
303
+ thinkSpherePage.steps.setVolumeSliderForPlayback(0);
304
+ thinkSpherePage.steps.verifyVolumeOfPlaybackPlayer('0');
305
+ utilities.verifyElementVisibilityState(thinkSpherePage.muteVolumeIcon(), 'visible');
306
+ });
307
+
308
+ it.skip('CSS of volume control section in muted state', { tags: 'css' }, () => {
309
+ utilities.verifyCSS(thinkSpherePage.volumeControlSlider(), {
310
+ 'background': `${css.color.transparent} linear-gradient(to right, ${css.color.progressBarElapsedFill} 0%, ${css.color.progressBarElapsedFill} 0%, ${css.color.progressBarRemainingFill} -100%, ${css.color.progressBarRemainingFill} 100%) repeat scroll 0% 0%, 'auto padding-box border-box`
311
+ });
312
+ utilities.verifyCSS(thinkSpherePage.volumeControlButton().find('g g path'), {
313
+ 'fill': css.color.secondaryBtnBg,
314
+ });
315
+ });
316
+
317
+ it.skip('Accessibility of volume control section in muted state', { tags: 'a11y' }, () => {
318
+ cy.checkAccessibility(thinkSpherePage.volumeControlSlider());
319
+ cy.checkAccessibility(thinkSpherePage.playbackPlayButton().parents('.video-preview-popup'));;
320
+ });
321
+
322
+ it.skip('User should be able to unmute the video by dragging the volume control higher again', () => {
323
+ thinkSpherePage.steps.setVolumeSliderForPlayback(99);
324
+ thinkSpherePage.steps.verifyVolumeOfPlaybackPlayer('100');
325
+ utilities.verifyElementVisibilityState(thinkSpherePage.unmutedVolumeIcon(), 'visible');
326
+ });
327
+
328
+ it('When popup is open it should have the title visible and it should contain the title', () => {
329
+ utilities.verifyElementVisibilityState(thinkSpherePage.videoPopupTitle(), 'visible');
330
+ thinkSpherePage.steps.verifyTextIsNotEmpty(thinkSpherePage.videoPopupTitle());
331
+ });
332
+
333
+ it('The play and pause button should be visible in the center of the video', () => {
334
+ //TODO: the play and pause button should be visible in the center of the video
335
+ });
336
+
337
+ it('When the user hovers over the playback speed button, a tooltip \'Playback speed\' should be displayed and on hovering away from the button, the tooltip should disappear', () => {
338
+ thinkSpherePage.videoPopupCloseButton().click();
339
+ thinkSpherePage.videoLinkComponent(5)
340
+ .within(() => {
341
+ thinkSpherePage.uploadVideoLinkButton()
342
+ .click();
343
+ });
344
+ thinkSpherePage.playbackSpeedButton()
345
+ .verifyTooltip('Playback speed');
346
+ });
347
+
348
+ it('When the user hovers over the playback speed button, a list of 4 playback speed options - 1x, 1.25x, 1.5x, 2x should be displayed and by default 1x should be in selected state', () => {
349
+ thinkSpherePage.steps.hoverOnPlaybackSpeedButton();
350
+ utilities.verifyElementVisibilityState(thinkSpherePage.playbackSpeedOptionsList(), 'visible');
351
+ utilities.verifyElementCount(thinkSpherePage.playbackSpeedOption(), 4);
352
+ thinkSpherePage.steps.verifyPlaybackSpeedListOptions();
353
+ //TODO: need to add selected state assertion when https://redmine.zeuslearning.com/issues/540695 gets fixed
354
+ })
355
+
356
+ it.skip('CSS of playback speed options', { tags: 'css' }, () => {
357
+ utilities.verifyCSS(thinkSpherePage.playbackSpeedButton().find('g'), {
358
+ 'stroke': css.color.secondaryBtnBg,
359
+ });
360
+ utilities.verifyCSS(thinkSpherePage.playbackSpeedOption().eq(0), {
361
+ 'color': css.color.liText,
362
+ 'background-color': css.color.liTextSelectedBg,
363
+ 'font-size': css.fontSize.small
364
+ });
365
+ utilities.verifyCSS(thinkSpherePage.playbackSpeedOption().eq(1), {
366
+ 'color': css.color.liText,
367
+ 'background-color': css.color.transparent,
368
+ 'font-size': css.fontSize.small
369
+ });
370
+ });
371
+
372
+ it.skip('Accessibility of playback speed options', { tags: 'a11y' }, () => {
373
+ cy.checkAccessibility(thinkSpherePage.playbackSpeedButton().parents('.video-preview-popup'));
374
+ cy.checkAccessibility(thinkSpherePage.playbackSpeedOptionsList());
375
+ });
376
+
377
+ for (let index = 0; index < playbackSpeedOptions.length; index++) {
378
+ it.skip(`When the user selects playback speed option ${playbackSpeedOptions[index]}x, the video playback speed should be changed accordingly`, () => {
379
+ thinkSpherePage.steps.hoverOnPlaybackSpeedButton();
380
+ thinkSpherePage.steps.selectPlaybackSpeed(playbackSpeedOptions[index])
381
+ thinkSpherePage.steps.startPlayback();
382
+ thinkSpherePage.steps.waitForPlaybackToBegin();
383
+ thinkSpherePage.steps.addWaitToPlayVideo(4000);
384
+ thinkSpherePage.steps.pausePlayback();
385
+ thinkSpherePage.steps.verifyPlaybackElapsedTime((1 + (4 * playbackSpeedMultiplier[index])));
386
+ });
387
+ }
388
+
389
+ it('When the popup close button is clicked the popup should be closed and it should not be visible', () => {
390
+ thinkSpherePage.videoPopupCloseButton().click();
391
+ utilities.verifyElementVisibilityState(thinkSpherePage.videoPreviewPopup(), 'notExist');
392
+ });
393
+ });
394
+
395
+ describe('\'Plan Phase\' Section Sentence starters list component', () => {
396
+ abortEarlySetup();
397
+ thinkSpherePage.tests.verifyListSectionContents({
398
+ optionFieldsCount: 5,
399
+ optionList: sentenceStartersTextDefault,
400
+ placeholder: 'Enter sentence starter name',
401
+ list: 'sentenceStarter',
402
+ });
403
+
404
+ thinkSpherePage.tests.verifyDragHandleTooltip(5);
405
+
406
+ it('When the user clicks on the \'Delete\' option button then the respective options input field should get deleted and option numeration should change accordingly', () => {
407
+ const optionsAfterDeleting = sentenceStartersTextDefault.filter((el) => el !== sentenceStartersTextDefault[4]);
408
+ thinkSpherePage.steps.deleteOption(9);
409
+ utilities.verifyElementCount(thinkSpherePage.optionWrapper(), 9);
410
+ optionsAfterDeleting.forEach((inputFieldText, optionIndex) => {
411
+ cy.log(optionsAfterDeleting, optionIndex, inputFieldText)
412
+ utilities.verifyTextContent(utilities.getNthElement(thinkSpherePage.listInputField(), optionIndex + 5), inputFieldText);
413
+ });
414
+ thinkSpherePage.steps.addOption('sentenceStarter'),
415
+ thinkSpherePage.steps.addOptionText('sentenceStarter', 4, sentenceStartersTextDefault[4]);
416
+ });
56
417
 
57
418
  it('\'Plan Phase\' Section Description should be displayed', () => {
58
419
  utilities.verifyElementVisibilityState(thinkSpherePage.planPhaseSectionDescription(), 'visible');
@@ -89,7 +450,7 @@ describe('Create item : ThinkSphere Question - Plan Phases Section',() => {
89
450
  'font-weight': css.fontWeight.semibold,
90
451
  });
91
452
  utilities.verifyCSS(thinkSpherePage.planStrategyListResetToDefault(), {
92
- 'color': css.color.primaryBtnBg,
453
+ 'color': css.color.secondaryBtnDisabled,
93
454
  'font-size': css.fontSize.default,
94
455
  'font-weight': css.fontWeight.regular,
95
456
  });
@@ -124,7 +485,7 @@ describe('Create item : ThinkSphere Question - Plan Phases Section',() => {
124
485
  cy.log(optionsAfterDeleting, optionIndex, inputFieldText)
125
486
  utilities.verifyTextContent(utilities.getNthElement(thinkSpherePage.listInputField(), optionIndex), inputFieldText);
126
487
  });
127
- thinkSpherePage.steps.addOption('strategy'),
488
+ thinkSpherePage.steps.addOption('strategy');
128
489
  thinkSpherePage.steps.addOptionText('strategy', 4, strategiesTextDefault[4]);
129
490
  });
130
491
 
@@ -151,10 +512,31 @@ describe('Create item : ThinkSphere Question - Plan Phases Section',() => {
151
512
  thinkSpherePage.tests.verifyOptionsInput('strategy');
152
513
 
153
514
  thinkSpherePage.tests.verifyAtleastOneOptionIsRequired('strategy', strategiesTextDefault, 'Minimum one option is required');
515
+
516
+ it('The author should be able to add up to 15 strategies using the \'Add strategy\' button and newly added option\'s checkbox should be unchecked by default', () => {
517
+ for (let index = 0; index < 10; index++) {
518
+ thinkSpherePage.steps.addOption('strategy');
519
+ }
520
+ thinkSpherePage.tests.verifyListSectionContents({
521
+ optionFieldsCount: 15,
522
+ optionList: [...strategiesTextDefault, ...Array(10).fill('')],
523
+ placeholder: 'Enter strategy name',
524
+ list: 'strategy',
525
+ });
526
+ thinkSpherePage.steps.verifyTypeCheckBoxStrategy();
527
+ thinkSpherePage.steps.verifyStrategyCheckBoxNotChecked();
528
+ });
529
+
530
+ it('When 5 strategies are checked, further checkboxes should have tool tip \'Only 5 strategies can be selected\'', () => {
531
+ for(let i = 1; i < 5; i++) {
532
+ thinkSpherePage.steps.selectOption('strategy', i)
533
+ }
534
+ utilities.getNthElement(thinkSpherePage.planStrategyCheckbox(), 5).verifyTooltip('Only 5 strategies can be selected')
535
+ });
154
536
 
155
537
  thinkSpherePage.tests.verifyResetToDefaultFunctionality(strategiesTextDefault, 'strategy');
156
538
 
157
- thinkSpherePage.tests.verifyVideoLinkComponent();
539
+ thinkSpherePage.tests.verifyVideoLinkComponent(5);
158
540
 
159
541
  it('Accessibility of \'Plan Phase\' Section Strategies list component', { tags: 'a11y' }, () => {
160
542
  cy.checkAccessibility(thinkSpherePage.planStrategySection());
@@ -207,6 +589,29 @@ describe('Create item : ThinkSphere Question - Plan Phases Section',() => {
207
589
  thinkSpherePage.tests.verifyOptionsInput('sentenceStarter');
208
590
 
209
591
  thinkSpherePage.tests.verifyAtleastOneOptionIsRequired('sentenceStarter', sentenceStartersTextDefault, 'Minimum one option is required');
592
+
593
+ it('The author should be able to add up to 15 sentence starters using the \'Add sentence starters\' button and newly added option\'s checkbox should be unchecked by default', () => {
594
+ for (let index = 0; index < 10; index++) {
595
+ thinkSpherePage.steps.addOption('sentenceStarter');
596
+ }
597
+ thinkSpherePage.tests.verifyListSectionContents({
598
+ optionFieldsCount: 15,
599
+ optionList: [...sentenceStartersTextDefault, ...Array(10).fill('')],
600
+ placeholder: 'Enter sentence starter name',
601
+ list: 'sentenceStarter',
602
+ });
603
+ thinkSpherePage.steps.verifyTypeCheckBoxSentenceStarter();
604
+ thinkSpherePage.steps.verifySentenceStrategyCheckBoxNotChecked();
605
+ });
606
+
607
+ it('When 5 sentence starters are checked, further checkboxes should have tool tip \'Only 5 sentence starters can be selected\'', () => {
608
+ for(let i = 1; i < 5; i++) {
609
+ thinkSpherePage.steps.selectOption(sentenceStartersTextDefault, i)
610
+ }
611
+ utilities.getNthElement(thinkSpherePage.planSentenceStarterCheckbox(), 5).verifyTooltip('Only 5 sentence starters can be selected')
612
+ });
613
+
614
+ thinkSpherePage.tests.verifyResetToDefaultFunctionality(sentenceStartersTextDefault, 'sentenceStarter');
210
615
 
211
616
  it('Accessibility of \'Plan Phase\' Section Sentence starters list component', { tags: 'a11y' }, () => {
212
617
  cy.checkAccessibility(thinkSpherePage.planSentenceStarterSection());