itemengine-cypress-automation 1.0.353 → 1.0.354-capture-image-cd1e81a.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 (265) 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 +2 -0
  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 +3 -4
  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/dropdownAndDropdownMenuSection.js +2 -0
  53. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editQuestion.smoke.js +40 -0
  54. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +216 -0
  55. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/backgroundImageAndCanvasProperties.js +0 -1
  56. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/studentViewSettings.js +1 -1
  57. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/dropdownAndDropdownMenuSection.js +2 -0
  58. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editQuestion.smoke.js +45 -0
  59. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editTabBasicSection.js +0 -1
  60. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/allOrNothingForAllViews.smoke.js +213 -0
  61. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/backgroundImageAndCanvasProperties.js +2 -1
  62. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/editTabScoringSection.js +2 -0
  63. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/supportedFileTypes.js +3 -1
  64. package/cypress/e2e/ILC/FillInTheGapsTextNew/allOrNothingForAllViews.smoke.js +207 -0
  65. package/cypress/e2e/ILC/FillInTheGapsTextNew/editTabScoringSection.js +2 -1
  66. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +73 -0
  67. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +38 -0
  68. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +38 -0
  69. package/cypress/e2e/ILC/Graphing/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +87 -0
  70. package/cypress/e2e/ILC/Graphing/checkAddAlternativeButton.js +35 -0
  71. package/cypress/e2e/ILC/Graphing/editQuestion.smoke.js +28 -0
  72. package/cypress/e2e/ILC/Graphing/editTabBasicSection.js +38 -0
  73. package/cypress/e2e/ILC/Graphing/editTabScoringSection.js +1 -0
  74. package/cypress/e2e/ILC/Graphing/headerSection.js +36 -4
  75. package/cypress/e2e/ILC/Graphing/layoutAndGridOptions.js +6 -3
  76. package/cypress/e2e/ILC/GridFill/addAlternateButton.js +40 -0
  77. package/cypress/e2e/ILC/GridFill/customizeLayoutFillImageBackgroundImage.js +5 -6
  78. package/cypress/e2e/ILC/GridFill/customizeLayoutSectionShadeCellsGridBorders.js +2 -0
  79. package/cypress/e2e/ILC/GridFill/editTabScoringSection.js +3 -0
  80. package/cypress/e2e/ILC/GridFill/headerSection.js +1 -3
  81. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +39 -0
  82. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  83. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +39 -0
  84. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountAllOrNothingCorrectPointsGreaterThanAlternativePoints.js +37 -0
  85. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountallOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  86. package/cypress/e2e/ILC/GridFill/scoring/cellshadeCountAllOrNothingAlternativePointsGreaterThanCorrectPoints.js +36 -0
  87. package/cypress/e2e/ILC/GridFill/scoring/checkLabelSaveAsYouGo.js +75 -0
  88. package/cypress/e2e/ILC/GridFill/specifyCorrectAnswerSection.js +2 -4
  89. package/cypress/e2e/ILC/ImageHighlight/Scoring/partialDifferentWeightsScoring.js +2 -1
  90. package/cypress/e2e/ILC/ImageHighlight/headerSection.js +2 -1
  91. package/cypress/e2e/ILC/ImageHighlight/studentViewSettings.js +2 -2
  92. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +24 -0
  93. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +24 -0
  94. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +24 -0
  95. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +86 -0
  96. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +1 -1
  97. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +1 -1
  98. package/cypress/e2e/ILC/ListOrderingDropdown/checkAddAlternativeButton.js +35 -0
  99. package/cypress/e2e/ILC/ListOrderingDropdown/editTabBasicSection.js +24 -0
  100. package/cypress/e2e/ILC/ListOrderingDropdown/headerSection.js +108 -0
  101. package/cypress/e2e/ILC/ListOrderingDropdown/specifyCorrectAnswerSection.js +6 -10
  102. package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/specifyCorrectAnswerSection.js +2 -1
  103. package/cypress/e2e/ILC/ListOrderingNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +52 -0
  104. package/cypress/e2e/ILC/ListOrderingNew/editTabBasicSection.js +23 -0
  105. package/cypress/e2e/ILC/ListOrderingNew/headerSection.js +35 -9
  106. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +41 -0
  107. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +30 -0
  108. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +50 -0
  109. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +101 -0
  110. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/checkAddAlternativeButton.js +38 -0
  111. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabBasicSection.js +24 -0
  112. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabScoring.js +4 -1
  113. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/headerSection.js +35 -1
  114. package/cypress/e2e/ILC/Matching/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +98 -0
  115. package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +210 -0
  116. package/cypress/e2e/ILC/Matching/checkAlternativeButton.js +38 -0
  117. package/cypress/e2e/ILC/Matching/clickAndDrop.js +3 -5
  118. package/cypress/e2e/ILC/Matching/draggableOptions.js +4 -0
  119. package/cypress/e2e/ILC/Matching/editTabBasicSection.js +41 -0
  120. package/cypress/e2e/ILC/Matching/headerSection.js +36 -11
  121. package/cypress/e2e/ILC/Matching/questionInstructionsAndPromptSection.js +2 -15
  122. package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +208 -0
  123. package/cypress/e2e/ILC/MultipleSelection/allOrNothingBasicForAllViews.smoke.js +227 -0
  124. package/cypress/e2e/ILC/MultipleSelection/allOrNothingWithAlternativeAnswer.js +6 -3
  125. package/cypress/e2e/ILC/MultipleSelection/checkScoringLabelBannerAndCorrectAnswer.js +3 -1
  126. package/cypress/e2e/ILC/MultipleSelection/editTabScoringSection.js +6 -3
  127. package/cypress/e2e/ILC/MultipleSelection/headerSection.js +1 -0
  128. package/cypress/e2e/ILC/MultipleSelection/minimumScoringPenaltyPointsAndRoundingDropdown.js +1 -1
  129. package/cypress/e2e/ILC/MultipleSelection/partialDifferentWeightsBasic.js +1 -1
  130. package/cypress/e2e/ILC/MultipleSelection/partialDifferentWeightsWithAlternativeAnswer.js +69 -64
  131. package/cypress/e2e/ILC/MultipleSelection/partialEqualWeightsWithAlternativeAnswer.js +6 -4
  132. package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswer.js +1 -0
  133. package/cypress/e2e/ILC/MultipleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +220 -0
  134. package/cypress/e2e/ILC/MultipleSelectionGridNew/editTabScoringSection.js +11 -5
  135. package/cypress/e2e/ILC/MultipleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +5 -2
  136. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +79 -0
  137. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +42 -0
  138. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +42 -0
  139. package/cypress/e2e/ILC/NumberLine/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +75 -0
  140. package/cypress/e2e/ILC/NumberLine/checkAddAlternativeButton.js +32 -0
  141. package/cypress/e2e/ILC/NumberLine/editTabSection.js +38 -0
  142. package/cypress/e2e/ILC/NumberLine/headerSection.js +33 -4
  143. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +81 -0
  144. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +43 -0
  145. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +43 -0
  146. package/cypress/e2e/ILC/NumberLineLabel/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +76 -0
  147. package/cypress/e2e/ILC/NumberLineLabel/additionalSettingsBasic.js +1 -1
  148. package/cypress/e2e/ILC/NumberLineLabel/checkAddAlternativeButton.js +34 -0
  149. package/cypress/e2e/ILC/NumberLineLabel/editTabSection.js +38 -0
  150. package/cypress/e2e/ILC/NumberLineLabel/headerSection.js +37 -5
  151. package/cypress/e2e/ILC/NumberLineLabel/manuallyAndNonScoredEditTab.js +2 -1
  152. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/editQuestion.smoke.js +1 -1
  153. package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +35 -51
  154. package/cypress/e2e/ILC/ShortTextResponseNew/headerSection.js +2 -4
  155. package/cypress/e2e/ILC/SingleSelection/allOrNothingBasicForAllViews.smoke.js +192 -0
  156. package/cypress/e2e/ILC/SingleSelection/checkScoringLabelBannerAndCorrectAnswer.js +3 -1
  157. package/cypress/e2e/ILC/SingleSelection/headerSection.js +1 -0
  158. package/cypress/e2e/ILC/SingleSelection/manuallyAndNonScoredScoring.js +94 -88
  159. package/cypress/e2e/ILC/SingleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +3 -1
  160. package/cypress/e2e/ILC/SingleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +209 -0
  161. package/cypress/e2e/ILC/SingleSelectionGridNew/editTabScoringSection.js +5 -0
  162. package/cypress/e2e/ILC/SingleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +8 -2
  163. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +86 -0
  164. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +86 -0
  165. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  166. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +3 -1
  167. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  168. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  169. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsScoringBasic.js +10 -3
  170. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +4 -2
  171. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +5 -3
  172. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  173. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsScoringBasic.js +4 -0
  174. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +64 -0
  175. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAddEvaluation.js +2 -0
  176. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAlternateAnswer.js +2 -0
  177. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +64 -0
  178. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  179. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  180. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  181. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  182. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsScoringBasic.js +8 -0
  183. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  184. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  185. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  186. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasic.js +1 -0
  187. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasicForAlternateAnswer.js +2 -0
  188. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +2 -0
  189. package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +27 -3
  190. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodEquivalentStructures.smoke.js +86 -0
  191. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchExact.smoke.js +97 -0
  192. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchValue.smoke.js +97 -0
  193. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodSymbolsAreEquivalent.smoke.js +167 -0
  194. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodValueIsEquivalent.smoke.js +167 -1
  195. package/cypress/e2e/ILC/TextEntryMath/headerSection.js +43 -0
  196. package/cypress/e2e/ILC/TextEntryMath/previewContentsForAllViews.smoke.js +1 -1
  197. package/cypress/e2e/ILC/TextSelection/ScoringParagraph/checkScoringLabelBannerAndCorrectAnswerSection.js +0 -1
  198. package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyPossibleOptionsSection.js +7 -12
  199. package/cypress/e2e/ILC/ThinkSphere/additionalSettings.js +1 -1
  200. package/cypress/e2e/ILC/ThinkSphere/createReviewItem.js +58 -4
  201. package/cypress/e2e/ILC/ThinkSphere/editTabBasicSection.js +208 -13
  202. package/cypress/e2e/ILC/ThinkSphere/editThinkSphereQuestion.smoke.js +259 -9
  203. package/cypress/e2e/ILC/ThinkSphere/equationEditorCreateCustomCategory.smoke.js +417 -0
  204. package/cypress/e2e/ILC/ThinkSphere/equationEditorEditCategoryFlyOut.js +291 -0
  205. package/cypress/e2e/ILC/ThinkSphere/planPhase.js +409 -4
  206. package/cypress/e2e/ILC/ThinkSphere/previewTabPlanSection.js +541 -0
  207. package/cypress/e2e/ILC/ThinkSphere/previewTabReviewSection.js +97 -0
  208. package/cypress/e2e/ILC/ThinkSphere/solvePhase.js +39 -6
  209. package/cypress/e2e/ILC/ThinkSphere/studentViewPlanTabSection.js +393 -0
  210. package/cypress/e2e/ILC/ThinkSphere/studentViewReviewTabSection.js +141 -0
  211. package/cypress/e2e/ILC/ToolAudioPlayerNew/headerSection.js +90 -2
  212. package/cypress/e2e/ILC/UploadResponse/editTabBasicSection.js +34 -0
  213. package/cypress/e2e/ILC/UploadResponse/headerSection.js +38 -1
  214. package/cypress/e2e/ILC/UploadResponse/uploadResponsePreview.js +50 -13
  215. package/cypress/e2e/ILC/VideoResponseNew/editTabBasicSection.js +14 -29
  216. package/cypress/e2e/ILC/chartsDotsPlot/headerSection.js +16 -1
  217. package/cypress/e2e/Sessions/fetchResponses.js +3 -3
  218. package/cypress/e2e/Sessions/scores.js +0 -5
  219. package/cypress/e2e/applitools.config.js +3 -3
  220. package/cypress/fixtures/theme/ilc.json +5 -1
  221. package/cypress/fixtures/uploads/sample.webm +0 -0
  222. package/cypress/fixtures/uploads/sample.wmv +0 -0
  223. package/cypress/fixtures/uploads/sample30MB.mp4 +0 -0
  224. package/cypress/pages/audioPlayerPage.js +47 -22
  225. package/cypress/pages/brainingCampManipulativePage.js +1 -1
  226. package/cypress/pages/chartsBarPage.js +20 -0
  227. package/cypress/pages/components/additionalSettingsPanel.js +3 -2
  228. package/cypress/pages/components/autoScoredScoringSectionMultiResponseType.js +2 -0
  229. package/cypress/pages/components/browseItemsPage.js +109 -2
  230. package/cypress/pages/components/ckEditorEquationEditorComponent.js +5 -4
  231. package/cypress/pages/components/ckEditorInsertImageComponent.js +2 -2
  232. package/cypress/pages/components/ckEditorInsertTableComponent.js +3 -3
  233. package/cypress/pages/components/ckEditorLinkComponent.js +8 -9
  234. package/cypress/pages/components/commonComponents.js +4 -0
  235. package/cypress/pages/components/createQuestionBasePage.js +14 -1
  236. package/cypress/pages/components/defaultToolDropdown.js +1 -1
  237. package/cypress/pages/components/editCategoryFlyout.js +2 -2
  238. package/cypress/pages/components/equationEditorSectionCommonComponent.js +10 -25
  239. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +28 -0
  240. package/cypress/pages/components/fillInTheGapsTextCommonComponent.js +7 -7
  241. package/cypress/pages/components/gridQuestionCommonComponent.js +8 -0
  242. package/cypress/pages/components/mcqAdditionalSettingsBase.js +4 -0
  243. package/cypress/pages/components/questionInstructionsComponent.js +7 -0
  244. package/cypress/pages/components/scoringSectionBaseEditTab.js +5 -0
  245. package/cypress/pages/contentBlocksPage.js +2 -0
  246. package/cypress/pages/desmos3DGraphingPage.js +149 -4
  247. package/cypress/pages/desmosGeometryPage.js +184 -4
  248. package/cypress/pages/drawingResponsePage.js +2 -0
  249. package/cypress/pages/fillInTheGapsOverImageDropdownPage.js +1 -1
  250. package/cypress/pages/gradingViewPage.js +8 -0
  251. package/cypress/pages/graphingPage.js +27 -8
  252. package/cypress/pages/gridFillPage.js +15 -6
  253. package/cypress/pages/listOrderingPage.js +32 -1
  254. package/cypress/pages/matchingPage.js +26 -7
  255. package/cypress/pages/multipleSelectionPage.js +10 -2
  256. package/cypress/pages/numberLineLabelPage.js +31 -8
  257. package/cypress/pages/numberLinePage.js +19 -7
  258. package/cypress/pages/textEntryMathPage.js +24 -1
  259. package/cypress/pages/thinkSpherePage.js +925 -47
  260. package/cypress/pages/uploadResponsePage.js +17 -1
  261. package/cypress/pages/videoResponsePage.js +3 -0
  262. package/cypress/support/commands.js +9 -0
  263. package/cypress/support/helpers/createItem.js +668 -19
  264. package/cypress/support/helpers/utilities.js +34 -1
  265. package/package.json +3 -3
@@ -745,6 +745,34 @@ const steps = {
745
745
  const clientWidth = $dropdown[0].clientWidth;
746
746
  expect(scrollWidth).to.not.be.greaterThan(clientWidth);
747
747
  });
748
+ },
749
+
750
+ /**
751
+ * @description Verify the options of a dropdown in the specify correct answer section.
752
+ * @param {number} index Index of the dropdown.
753
+ * @param {string[]} optionsArray Array of expected options.
754
+ */
755
+ verifyDropdownOptionsSpecifyCorrectAnswerSection: (index, optionsArray) => {
756
+ fillInTheGapsDropdownCommonComponent.dropdownSpecifyCorrectAnswerSection()
757
+ .eq(index)
758
+ .click();
759
+ fillInTheGapsDropdownCommonComponent.dropdownListOptions()
760
+ .should('have.length', optionsArray.length)
761
+ .each(($option, optionIndex) => {
762
+ cy.wrap($option)
763
+ .should('have.text', optionsArray[optionIndex]);
764
+ });
765
+ },
766
+
767
+ /**
768
+ * Verifies the contents of option fields within the options section.
769
+ * @param {Array<string>} optionsTextArray - An array of strings representing the expected text content for each option field.
770
+ */
771
+ verifyOptionFieldContent: (optionsTextArray) => {
772
+ optionsTextArray.forEach((option, optionIndex) => {
773
+ utilities.getNthElement(fillInTheGapsDropdownCommonComponent.dropdownOptionsInputField(), optionIndex)
774
+ .should('have.value', option);
775
+ });
748
776
  }
749
777
  }
750
778
 
@@ -1450,14 +1450,10 @@ const tests = {
1450
1450
  fillInTheGapsTextCommonComponent.steps.verifyAnswerInputFieldPlaceholder(1);
1451
1451
  });
1452
1452
 
1453
- it('When the user clicks on the \'Add Alternate\' button without entering text in the newly added alternate answer input field, new input field should not be added', () => {
1453
+ it('When the user clicks on the \'Add Alternate\' button without entering text in the newly added alternate answer input field, new input field should be added and user should be able to add response in the input field', () => {
1454
1454
  fillInTheGapsTextCommonComponent.steps.addAlternateAnswerInResponseAccordion(0);
1455
1455
  utilities.verifyElementCount(fillInTheGapsTextCommonComponent.answerInputFieldSpecifyCorrectAnswerSection(), 2);
1456
- });
1457
-
1458
- it('When user adds text in alternate input field and clicks on \'Add alternate\' button, then then a third alternate answer input field should be displayed and error message should disappear', () => {
1459
1456
  fillInTheGapsTextCommonComponent.steps.enterTextInAnswerInputFieldsSpecifyCorrectAnswerSection([{ responseIndex: 1, responseText: 'Leaf' }]);
1460
- commonComponents.steps.verifyErrorMessageIsNotDisplayed();
1461
1457
  fillInTheGapsTextCommonComponent.steps.addAlternateAnswerInResponseAccordion(0);
1462
1458
  utilities.verifyElementCount(fillInTheGapsTextCommonComponent.answerInputFieldSpecifyCorrectAnswerSection(), 3);
1463
1459
  });
@@ -1563,8 +1559,12 @@ const tests = {
1563
1559
 
1564
1560
  it('When user adds alternate answer input field, then accepted student input should be applied on both the response answer input fields in the response accordion', () => {
1565
1561
  fillInTheGapsTextCommonComponent.steps.addAlternateAnswerInResponseAccordion(0);
1566
- fillInTheGapsTextCommonComponent.steps.enterTextInAnswerInputFieldsSpecifyCorrectAnswerSection([{ responseIndex: 0, responseText: 'Hi12' }]);
1567
- fillInTheGapsTextCommonComponent.steps.enterTextInAnswerInputFieldsSpecifyCorrectAnswerSection([{ responseIndex: 1, responseText: 'Hi12' }]);
1562
+ utilities.getNthElement(fillInTheGapsTextCommonComponent.answerInputFieldSpecifyCorrectAnswerSection(), 0)
1563
+ .should('not.be.disabled')
1564
+ .type('Hi12');
1565
+ utilities.getNthElement(fillInTheGapsTextCommonComponent.answerInputFieldSpecifyCorrectAnswerSection(), 1)
1566
+ .should('not.be.disabled')
1567
+ .type('Hi12');
1568
1568
  fillInTheGapsTextCommonComponent.steps.verifyTextInResponseAccordionAnswerInputField([{ responseIndex: 1, responseText: 'Hi12' }]);
1569
1569
  });
1570
1570
  },
@@ -1083,11 +1083,13 @@ const steps = {
1083
1083
 
1084
1084
  expandDefaultOptionDropdown: () => {
1085
1085
  gridQuestionCommonComponent.defaultOptionDropdown()
1086
+ .trigger('mouseover')
1086
1087
  .click();
1087
1088
  },
1088
1089
 
1089
1090
  expandDefaultTextDropdown: () => {
1090
1091
  gridQuestionCommonComponent.defaultTextDropdown()
1092
+ .trigger('mouseover')
1091
1093
  .click();
1092
1094
  },
1093
1095
 
@@ -1152,6 +1154,7 @@ const steps = {
1152
1154
  //Additional settings
1153
1155
  expandRowNumerationDropdown: () => {
1154
1156
  gridQuestionCommonComponent.rowNumerationDropdown()
1157
+ .trigger('mouseover')
1155
1158
  .click();
1156
1159
  },
1157
1160
 
@@ -1384,6 +1387,7 @@ const steps = {
1384
1387
 
1385
1388
  expandRowSpacingDropdown: () => {
1386
1389
  gridQuestionCommonComponent.rowSpacingDropdown()
1390
+ .trigger('mouseover')
1387
1391
  .click();
1388
1392
  },
1389
1393
 
@@ -1472,6 +1476,7 @@ const steps = {
1472
1476
  expandColumnSpacingDropdown: () => {
1473
1477
  gridQuestionCommonComponent.columnSpacingDropdown()
1474
1478
  .eq(0)
1479
+ .trigger('mouseover')
1475
1480
  .click();
1476
1481
  },
1477
1482
 
@@ -1608,6 +1613,7 @@ const steps = {
1608
1613
 
1609
1614
  expandColumnDimensionsDropdown: () => {
1610
1615
  gridQuestionCommonComponent.columnDimensionsDropdown()
1616
+ .trigger('mouseover')
1611
1617
  .click();
1612
1618
  },
1613
1619
 
@@ -2715,6 +2721,8 @@ const tests = {
2715
2721
  it(`When user selects 'Column dimensions' ${option} option then ${option} spacing should be displayed between the columns`, () => {
2716
2722
  gridQuestionCommonComponent.steps.expandColumnDimensionsDropdown();
2717
2723
  gridQuestionCommonComponent.steps.selectColumnDimensionsDropdownOption(option);
2724
+ utilities.verifyInnerText(gridQuestionCommonComponent.columnDimensionsDropdown(), option);
2725
+ utilities.verifyElementVisibilityState(gridQuestionCommonComponent.columnDimensionsDropdown(), 'visible');
2718
2726
  gridQuestionCommonComponent.steps.verifyColumnDimensionsSpecifyCorrectAnswer(option);
2719
2727
  });
2720
2728
  });
@@ -39,6 +39,7 @@ const selectors = {
39
39
  const steps = {
40
40
  expandOptionDesignDropdown: () => {
41
41
  mcqAdditionalSettingsBase.optionDesignDropdown()
42
+ .trigger('mouseover')
42
43
  .click();
43
44
  },
44
45
 
@@ -62,6 +63,7 @@ const steps = {
62
63
 
63
64
  expandOptionNumerationDropdown: () => {
64
65
  mcqAdditionalSettingsBase.optionNumerationDropdown()
66
+ .trigger('mouseover')
65
67
  .click();
66
68
  },
67
69
 
@@ -106,6 +108,8 @@ const steps = {
106
108
 
107
109
  expandNumberOfOptionsColumnDropdown: () => {
108
110
  mcqAdditionalSettingsBase.numberOfOptionColumnsDropdown()
111
+ .should('be.visible') // Ensure the dropdown is visible
112
+ .trigger('mouseover')
109
113
  .click();
110
114
  },
111
115
 
@@ -92,6 +92,13 @@ const steps = {
92
92
  clearQuestionInstructionsInputField: () => {
93
93
  questionInstructionsComponent.questionInstructionsInputField()
94
94
  .clear();
95
+ },
96
+
97
+ /**
98
+ * @description - verifies the visibilty of question instruction text in all views.
99
+ */
100
+ verifyVisibityOfQuestionInstructionsText: () => {
101
+ utilities.verifyElementVisibilityState(questionInstructionsComponent.questionInstructionsText(), 'visible');
95
102
  }
96
103
  }
97
104
 
@@ -29,6 +29,8 @@ const selectors = {
29
29
  }
30
30
  },
31
31
  minimumPointsLabel: () => cy.get('[class*="min-score-points-label"]'),
32
+ questionLabel: () => cy.get('[class*="addResponseCKEditorstyles__TitleWrapper"]'),
33
+ questionWarningIcon: () => cy.get('[class*="addResponseCKEditorstyles__IconWrapper"]'),
32
34
  minimumPointsInputField: () => cy.get('.min-score-points-input-field input'),
33
35
  }
34
36
 
@@ -67,6 +69,7 @@ const steps = {
67
69
  expandScoringTypeDropdown: () => {
68
70
  utilities.scrollIntoView(scoringSectionBaseEditTab.scoringTypeDropdown());
69
71
  scoringSectionBaseEditTab.scoringTypeDropdown()
72
+ .trigger('mouseover')
70
73
  .click();
71
74
  utilities.verifyElementVisibilityState(commonComponents.dropdownList(), 'exist');
72
75
  },
@@ -159,8 +162,10 @@ const steps = {
159
162
 
160
163
  expandMinimumScoringDropdown: () => {
161
164
  scoringSectionBaseEditTab.minimumScoringDropdown()
165
+ .trigger('mouseover')
162
166
  .click();
163
167
  cy.wait(1500);
168
+ utilities.verifyElementVisibilityState(commonComponents.dropdownList(), 'exist');
164
169
  },
165
170
 
166
171
  /**
@@ -67,6 +67,8 @@ const selectors = {
67
67
 
68
68
  const steps = {
69
69
  ...createQuestionBasePage.steps,
70
+ ...createItemPage.steps,
71
+ ...commonComponents.steps,
70
72
 
71
73
  addGroupDivider: () => {
72
74
  contentBlocksPage.addGroupDividerButton()
@@ -1,5 +1,5 @@
1
1
  import utilities from "../support/helpers/utilities";
2
- import { commonComponents, createQuestionBasePage, questionInstructionsComponent, additionalSettingsPanel, scoringSectionBaseEditTab, additionalSettingsAccessibilitySectionComponent, studentViewSettingsLabelComponent, hideExpressionListComponent } from "./components";
2
+ import { commonComponents, createQuestionBasePage, questionInstructionsComponent, additionalSettingsPanel, scoringSectionBaseEditTab, additionalSettingsAccessibilitySectionComponent, studentViewSettingsLabelComponent, hideExpressionListComponent, toolSettingsComponent } from "./components";
3
3
  import { desmosToolComponent } from "./components/desmosToolComponent";
4
4
  const css = Cypress.env('css');
5
5
 
@@ -10,12 +10,13 @@ const selectors = {
10
10
  ...additionalSettingsPanel,
11
11
  ...questionInstructionsComponent,
12
12
  desmosGraphingTool: () => cy.get('[id*="desmos-graph-tool"]'),
13
- desmosGraphingToolExpressionPanel: () => cy.get('[id*="desmos-graph-tool"] .dcg-exppanel-container.dcg-add-shadow'),
13
+ desmosGraphingToolExpressionPanel: () => cy.get('.dcg-exppanel-container'),
14
14
  studentViewSettingsLabel: () => cy.get('[class*="StudentViewWrapper"]'),
15
15
  hideExpressionListLabel: () => cy.get('[data-ngie-testid="hide-expression-list-checkbox"] .MuiFormControlLabel-label'),
16
16
  hideExpressionListCheckbox: () => cy.get('[data-ngie-testid="hide-expression-list-checkbox"] input'),
17
17
  showHideListButton: () => cy.get('.dcg-show-expressions-tab[role="button"]'),
18
18
  desmosGraphingWidthLabel: () => cy.get('[class*="LabelInputWrapper"]').eq(0),
19
+ desmosComponentGradingView: () => cy.get('[class*="DesmosGraphingPreviewstyles__DesmosWrapper"]'),
19
20
  desmosGraphingWidthInputField: () => cy.get('[class*="DimensionInputWrapper"] input').eq(0),
20
21
  desmosGraphingHeightLabel: () => cy.get('[class*="LabelInputWrapper"]').eq(1),
21
22
  desmosGraphingHeightInputField: () => cy.get('[class*="DimensionInputWrapper"] input').eq(1),
@@ -38,6 +39,16 @@ const selectors = {
38
39
  errorMessage: () => cy.get('.error-text-message'),
39
40
  resourceLinkPreviewTitle: () => cy.get('[class*="DesmosGraphingstyles__ResourceLinkPreviewLabel"]'),
40
41
  desmosComponent: () => cy.get('[class*="DesmosGraphingstyles__DesmosComponentWrapper"]'),
42
+ widthLabel: () => cy.get('[class*="StudentViewSettingsstyles__LabelInputWrapper"]').eq(0),
43
+ heightLabel: () => cy.get('[class*="StudentViewSettingsstyles__LabelInputWrapper"]').eq(1),
44
+ lockUnlockAspectRatioButton: () => cy.get('[class*="StudentViewSettingsstyles__LockIconWrapper"] button'),
45
+ resetButton: () => cy.get('[class*="StudentViewSettingsstyles__ResetIconWrapper"] button'),
46
+ desmosResourceCanvasEditTab: () => cy.get('[id*="desmos-3d-graph-tool"]'),
47
+ desmosResourceCanvasPreviewTab: () => cy.get('[class*="DesmosGraphingPreviewstyles__DesmosPreview"]'),
48
+ addIconDesmos: () => cy.get('.dcg-add-expression-container .dcg-icon-plus'),
49
+ expressionInputField: () => cy.get('.dcg-action-newmath'),
50
+ editIconPencil: () => cy.get('.icon-pencil'),
51
+ teacherGuidelinesInputField: () => cy.get('[class*="TeacherGuidelinesstyles__TextField"] input'),
41
52
  }
42
53
 
43
54
  const steps = {
@@ -47,6 +58,7 @@ const steps = {
47
58
  ...additionalSettingsPanel.steps,
48
59
  ...questionInstructionsComponent.steps,
49
60
  ...commonComponents.steps,
61
+ ...toolSettingsComponent.steps,
50
62
  verifyHideExpressionListCheckboxUnchecked: () => {
51
63
  desmos3DGraphingPage.hideExpressionListCheckbox()
52
64
  .should('not.be.checked');
@@ -322,10 +334,128 @@ const steps = {
322
334
  },
323
335
  clearInputToInsertResourceLinkInputField: () => {
324
336
  desmos3DGraphingPage.insertResourceLinkInputField()
325
- .clear();
337
+ .click()
338
+ desmos3DGraphingPage.insertResourceLinkInputField()
339
+ .type('{selectall}{backspace}')
326
340
  cy.get('body')
327
341
  .click();
328
342
  },
343
+ verifyLockedStateOfLockUnlockAspectRatioButton: () => {
344
+ desmos3DGraphingPage.lockUnlockAspectRatioButton()
345
+ .should('have.attr', 'aria-label', 'Locked aspect ratio');
346
+ },
347
+ verifyUnlockedStateOfLockUnlockAspectRatioButton: () => {
348
+ desmos3DGraphingPage.lockUnlockAspectRatioButton()
349
+ .should('have.attr', 'aria-label', 'Unlocked aspect ratio');
350
+ },
351
+ /**
352
+ * @description add input to width input field
353
+ * @param {number} width Width to be set for geoGebra resource
354
+ */
355
+ addInputToWidthInputField: (width) => {
356
+ desmos3DGraphingPage.widthInputField()
357
+ .clear()
358
+ .type(width)
359
+ .blur();
360
+ utilities.verifyInputFieldValue(desmos3DGraphingPage.widthInputField(), width);
361
+ },
362
+ /**
363
+ * @description add input to height input field
364
+ * @param {number} height Height to be set for geoGebra resource
365
+ */
366
+ addInputToHeightInputField: (height) => {
367
+ desmos3DGraphingPage.heightInputField()
368
+ .clear()
369
+ .type(height)
370
+ .blur();
371
+ utilities.verifyInputFieldValue(desmos3DGraphingPage.heightInputField(), height);
372
+ },
373
+ /**
374
+ * Verify width of geoGebra resource canvas in edit tab
375
+ * @param {number} width Width of geoGebra resource canvas in edit tab
376
+ */
377
+ verifyCanvasWidthEditTab: (width) => {
378
+ utilities.verifyCSS(desmos3DGraphingPage.desmosResourceCanvasEditTab(), {
379
+ 'width': `${width}px`
380
+ });
381
+ },
382
+ /**
383
+ * Verify height of geoGebra resource canvas in edit tab
384
+ * @param {number} height Height of geoGebra resource canvas in edit tab
385
+ */
386
+ verifyCanvasHeightEditTab: (height) => {
387
+ utilities.verifyCSS(desmos3DGraphingPage.desmosResourceCanvasEditTab(), {
388
+ 'height': `${height}px`
389
+ });
390
+ },
391
+ clickOnResetButton: () => {
392
+ desmos3DGraphingPage.resetButton()
393
+ .click();
394
+ },
395
+ clickOnLockUnlockAspectRatioButton: () => {
396
+ desmos3DGraphingPage.lockUnlockAspectRatioButton()
397
+ .click();
398
+ },
399
+ /**
400
+ * Verify width of geoGebra resource canvas in preview tab
401
+ * @param {number} width Width of geoGebra resource canvas in preview tab
402
+ */
403
+ verifyCanvasWidthPreviewTab: (width) => {
404
+ utilities.verifyCSS(desmos3DGraphingPage.desmosResourceCanvasPreviewTab(), {
405
+ 'width': `${width}px`
406
+ });
407
+ },
408
+ /**
409
+ * Verify height of geoGebra resource canvas in preview tab
410
+ * @param {number} height Height of geoGebra resource canvas in preview tab
411
+ */
412
+ verifyCanvasHeightPreviewTab: (height) => {
413
+ utilities.verifyCSS(desmos3DGraphingPage.desmosResourceCanvasPreviewTab(), {
414
+ 'height': `${height}px`
415
+ });
416
+ },
417
+ /**
418
+ * @description Types a mathematical expression in the Desmos expression input field
419
+ * @param {string} expression The mathematical expression to type
420
+ */
421
+ typeExpression: (expression) => {
422
+ desmos3DGraphingPage.expressionInputField()
423
+ .click();
424
+ desmos3DGraphingPage.expressionInputField()
425
+ .type(expression);
426
+ },
427
+ /**
428
+ * @description Verifies that the specified expression is not present in the Desmos expression field
429
+ * @param {string} expression The expression that should not be present
430
+ */
431
+ verifyExpressionNotPresent: (expression) => {
432
+ desmos3DGraphingPage.expressionInputField()
433
+ .should('not.contain', expression);
434
+ },
435
+ editQuestionItemView: () => {
436
+ desmos3DGraphingPage.editIconPencil()
437
+ .click();
438
+ },
439
+ verifyFontSizeDropdown: (fontSize) => {
440
+ desmos3DGraphingPage.fontSizeDropdown()
441
+ .should('have.text', fontSize);
442
+ },
443
+ verifyTeacherGuidelinesInputField: (text) => {
444
+ desmos3DGraphingPage.additionalSettingsTeacherGuidelinesInputField()
445
+ .should('have.text', text);
446
+ },
447
+ verifySampleAnswerInputField: (text) => {
448
+ desmos3DGraphingPage.additionalSettingsSampleAnswerInputField()
449
+ .should('have.text', text);
450
+ },
451
+ verifyAcknowledgementsInputField: (text) => {
452
+ desmos3DGraphingPage.additionalSettingsAcknowledgementsInputField()
453
+ .should('have.text', text);
454
+ },
455
+ verifyFlagThisItemNonAccessibleCheckboxIsChecked: () => {
456
+ desmos3DGraphingPage.flagNonAccessibleCheckbox()
457
+ .should('be.checked');
458
+ },
329
459
  }
330
460
 
331
461
  const tests = {
@@ -337,7 +467,7 @@ const tests = {
337
467
  ...additionalSettingsAccessibilitySectionComponent.tests,
338
468
  ...studentViewSettingsLabelComponent.tests,
339
469
  ...hideExpressionListComponent.tests,
340
-
470
+
341
471
  verifyGraphingQuestionSpecifyPredefinedExpressionContent: () => {
342
472
  it('When user selects a scoring type the contents of the Specify predefined expression should be displayed', () => {
343
473
  utilities.verifyElementVisibilityState(desmos3DGraphingPage.desmosGraphingTool(), 'exist');
@@ -358,6 +488,21 @@ const tests = {
358
488
  it('Accessibility of error message', { tags: 'a11y' }, () => {
359
489
  cy.checkAccessibility(commonComponents.nextGenCreateItemWrapper());
360
490
  });
491
+ },
492
+
493
+ verifyQuestionInstructionsInputFieldPreviewTab: () => {
494
+ it('When user has not entered any text in the Question instructions input field in the \'Edit\' tab then nothing should be displayed in the \'Preview\' tab', () => {
495
+ createQuestionBasePage.steps.switchToPreviewTab();
496
+ //Failing due to https://redmine.zeuslearning.com/issues/553382
497
+ utilities.verifyTextContent(questionInstructionsComponent.questionInstructionsText(), '')
498
+ });
499
+
500
+ it('When the user specifies question instructions, then the added question instructions should be displayed in the \'Preview\' tab', () => {
501
+ createQuestionBasePage.steps.switchToEditTab();
502
+ questionInstructionsComponent.steps.addTextInQuestionInstructionsInputField('Which of the following is the major contributor to increased carbon dioxide levels because of urbanization? Select your answer from the options below.');
503
+ createQuestionBasePage.steps.switchToPreviewTab();
504
+ utilities.verifyTextContent(questionInstructionsComponent.questionInstructionsTextPreviewTab(), 'Which of the following is the major contributor to increased carbon dioxide levels because of urbanization? Select your answer from the options below.');
505
+ });
361
506
  }
362
507
  }
363
508
 
@@ -1,5 +1,5 @@
1
1
  import utilities from "../support/helpers/utilities";
2
- import { commonComponents, createQuestionBasePage, questionInstructionsComponent, additionalSettingsPanel, scoringSectionBaseEditTab, additionalSettingsAccessibilitySectionComponent, studentViewSettingsLabelComponent, hideExpressionListComponent } from "./components";
2
+ import { commonComponents, createQuestionBasePage, questionInstructionsComponent, additionalSettingsPanel, scoringSectionBaseEditTab, additionalSettingsAccessibilitySectionComponent, studentViewSettingsLabelComponent, hideExpressionListComponent, toolSettingsComponent } from "./components";
3
3
  import { desmosToolComponent } from "./components/desmosToolComponent";
4
4
  const css = Cypress.env('css');
5
5
 
@@ -10,7 +10,7 @@ const selectors = {
10
10
  ...additionalSettingsPanel,
11
11
  ...questionInstructionsComponent,
12
12
  desmosGraphingTool: () => cy.get('[id*="desmos-graph-tool"]'),
13
- desmosGraphingToolExpressionPanel: () => cy.get('[id*="desmos-graph-tool"] .dcg-exppanel-container.dcg-add-shadow'),
13
+ desmosGraphingToolExpressionPanel: () => cy.get('.dcg-exppanel-container'),
14
14
  studentViewSettingsLabel: () => cy.get('[class*="StudentViewWrapper"]'),
15
15
  hideExpressionListLabel: () => cy.get('[data-ngie-testid="hide-expression-list-checkbox"] .MuiFormControlLabel-label'),
16
16
  hideExpressionListCheckbox: () => cy.get('[data-ngie-testid="hide-expression-list-checkbox"] input'),
@@ -36,6 +36,18 @@ const selectors = {
36
36
  errorMessage: () => cy.get('.error-text-message'),
37
37
  resourceLinkPreviewTitle: () => cy.get('[class*="DesmosGraphingstyles__ResourceLinkPreviewLabel"]'),
38
38
  desmosComponent: () => cy.get('[class*="DesmosGraphingstyles__DesmosComponentWrapper"]'),
39
+ desmosComponentGradingView: () => cy.get('[class*="DesmosGraphingPreviewstyles__DesmosWrapper"]'),
40
+ widthLabel: () => cy.get('[class*="StudentViewSettingsstyles__LabelInputWrapper"]').eq(0),
41
+ heightLabel: () => cy.get('[class*="StudentViewSettingsstyles__LabelInputWrapper"]').eq(1),
42
+ lockUnlockAspectRatioButton: () => cy.get('[class*="StudentViewSettingsstyles__LockIconWrapper"] button'),
43
+ resetButton: () => cy.get('[class*="StudentViewSettingsstyles__ResetIconWrapper"] button'),
44
+ desmosResourceCanvasEditTab: () => cy.get('[id*="desmos-geometry-tool"]'),
45
+ desmosResourceCanvasPreviewTab: () => cy.get('[class*="DesmosGraphingPreviewstyles__DesmosPreview"]'),
46
+ widthInputField: () => cy.get('[class*="StudentViewSettingsstyles__DimensionWrapper"] .text-input-field input').eq(0),
47
+ heightInputField: () => cy.get('[class*="StudentViewSettingsstyles__DimensionWrapper"] .text-input-field input').eq(1),
48
+ addIconDesmos: () => cy.get('.dcg-add-expression-container .dcg-icon-plus'),
49
+ expressionInputField: () => cy.get('.dcg-action-newmath'),
50
+ editIconPencil: () => cy.get('.icon-pencil'),
39
51
  }
40
52
 
41
53
  const steps = {
@@ -45,6 +57,7 @@ const steps = {
45
57
  ...additionalSettingsPanel.steps,
46
58
  ...questionInstructionsComponent.steps,
47
59
  ...commonComponents.steps,
60
+ ...toolSettingsComponent.steps,
48
61
  verifyHideExpressionListCheckboxUnchecked: () => {
49
62
  desmosGeometryPage.hideExpressionListCheckbox()
50
63
  .should('not.be.checked');
@@ -262,10 +275,162 @@ const steps = {
262
275
  },
263
276
  clearInputToInsertResourceLinkInputField: () => {
264
277
  desmosGeometryPage.insertResourceLinkInputField()
265
- .clear();
278
+ .click()
279
+ desmosGeometryPage.insertResourceLinkInputField()
280
+ .type('{selectall}{backspace}')
266
281
  cy.get('body')
267
282
  .click();
268
283
  },
284
+ verifyLockedStateOfLockUnlockAspectRatioButton: () => {
285
+ desmosGeometryPage.lockUnlockAspectRatioButton()
286
+ .should('have.attr', 'aria-label', 'Locked aspect ratio');
287
+ },
288
+ verifyUnlockedStateOfLockUnlockAspectRatioButton: () => {
289
+ desmosGeometryPage.lockUnlockAspectRatioButton()
290
+ .should('have.attr', 'aria-label', 'Unlocked aspect ratio');
291
+ },
292
+ /**
293
+ * @description add input to width input field
294
+ * @param {number} width Width to be set for geoGebra resource
295
+ */
296
+ addInputToWidthInputField: (width) => {
297
+ desmosGeometryPage.widthInputField()
298
+ .clear()
299
+ .type(width)
300
+ .blur();
301
+ utilities.verifyInputFieldValue(desmosGeometryPage.widthInputField(), width);
302
+ },
303
+ /**
304
+ * @description add input to height input field
305
+ * @param {number} height Height to be set for geoGebra resource
306
+ */
307
+ addInputToHeightInputField: (height) => {
308
+ desmosGeometryPage.heightInputField()
309
+ .clear()
310
+ .type(height)
311
+ .blur();
312
+ utilities.verifyInputFieldValue(desmosGeometryPage.heightInputField(), height);
313
+ },
314
+ /**
315
+ * Verify width of geoGebra resource canvas in edit tab
316
+ * @param {number} width Width of geoGebra resource canvas in edit tab
317
+ */
318
+ verifyCanvasWidthEditTab: (width) => {
319
+ utilities.verifyCSS(desmosGeometryPage.desmosResourceCanvasEditTab(), {
320
+ 'width': `${width}px`
321
+ });
322
+ },
323
+ /**
324
+ * Verify height of geoGebra resource canvas in edit tab
325
+ * @param {number} height Height of geoGebra resource canvas in edit tab
326
+ */
327
+ verifyCanvasHeightEditTab: (height) => {
328
+ utilities.verifyCSS(desmosGeometryPage.desmosResourceCanvasEditTab(), {
329
+ 'height': `${height}px`
330
+ });
331
+ },
332
+ clickOnResetButton: () => {
333
+ desmosGeometryPage.resetButton()
334
+ .click();
335
+ },
336
+ clickOnLockUnlockAspectRatioButton: () => {
337
+ desmosGeometryPage.lockUnlockAspectRatioButton()
338
+ .click();
339
+ },
340
+ /**
341
+ * Verify width of geoGebra resource canvas in preview tab
342
+ * @param {number} width Width of geoGebra resource canvas in preview tab
343
+ */
344
+ verifyCanvasWidthPreviewTab: (width) => {
345
+ utilities.verifyCSS(desmosGeometryPage.desmosResourceCanvasPreviewTab(), {
346
+ 'width': `${width}px`
347
+ });
348
+ },
349
+ /**
350
+ * Verify height of geoGebra resource canvas in preview tab
351
+ * @param {number} height Height of geoGebra resource canvas in preview tab
352
+ */
353
+ verifyCanvasHeightPreviewTab: (height) => {
354
+ utilities.verifyCSS(desmosGeometryPage.desmosResourceCanvasPreviewTab(), {
355
+ 'height': `${height}px`
356
+ });
357
+ },
358
+ /**
359
+ * @param {number} width holds value of width attribute
360
+ * @description function updates width in input field
361
+ */
362
+ updateWidth: (width) => {
363
+ desmosGeometryPage.widthInputField()
364
+ .clear()
365
+ .type(width);
366
+ },
367
+ /**
368
+ * @param {number} width holds value of width attribute
369
+ * @description function verifies width in input field
370
+ */
371
+ verifyWidth: (width) => {
372
+ desmosGeometryPage.widthInputField()
373
+ .should('have.value', width);
374
+ },
375
+ /**
376
+ * @param {number} height holds value of height attribute
377
+ * @description function updates height in input field
378
+ */
379
+ updateHeight: (height) => {
380
+ desmosGeometryPage.heightInputField()
381
+ .clear()
382
+ .type(height);
383
+ },
384
+ /**
385
+ * @param {number} height holds value of height attribute
386
+ * @description function verifies height in input field
387
+ */
388
+ verifyHeight: (height) => {
389
+ desmosGeometryPage.heightInputField()
390
+ .should('have.value', height);
391
+ },
392
+ /**
393
+ * @description Types a mathematical expression in the Desmos expression input field
394
+ * @param {string} expression The mathematical expression to type
395
+ */
396
+ typeExpression: (expression) => {
397
+ desmosGeometryPage.expressionInputField()
398
+ .click();
399
+ desmosGeometryPage.expressionInputField()
400
+ .type(expression);
401
+ },
402
+ /**
403
+ * @description Verifies that the specified expression is not present in the Desmos expression field
404
+ * @param {string} expression The expression that should not be present
405
+ */
406
+ verifyExpressionNotPresent: (expression) => {
407
+ desmosGeometryPage.expressionInputField()
408
+ .should('not.contain', expression);
409
+ },
410
+ editQuestionItemView: () => {
411
+ desmosGeometryPage.editIconPencil()
412
+ .click();
413
+ },
414
+ verifyFontSizeDropdown: (fontSize) => {
415
+ desmosGeometryPage.fontSizeDropdown()
416
+ .should('have.text', fontSize);
417
+ },
418
+ verifyTeacherGuidelinesInputField: (text) => {
419
+ desmosGeometryPage.additionalSettingsTeacherGuidelinesInputField()
420
+ .should('have.text', text);
421
+ },
422
+ verifySampleAnswerInputField: (text) => {
423
+ desmosGeometryPage.additionalSettingsSampleAnswerInputField()
424
+ .should('have.text', text);
425
+ },
426
+ verifyAcknowledgementsInputField: (text) => {
427
+ desmosGeometryPage.additionalSettingsAcknowledgementsInputField()
428
+ .should('have.text', text);
429
+ },
430
+ verifyFlagThisItemNonAccessibleCheckboxIsChecked: () => {
431
+ desmosGeometryPage.flagNonAccessibleCheckbox()
432
+ .should('be.checked');
433
+ },
269
434
  }
270
435
 
271
436
  const tests = {
@@ -285,7 +450,7 @@ const tests = {
285
450
  utilities.verifyElementVisibilityState(desmosToolComponent.previewTabDesmosToolKeypadButton(), 'exist');
286
451
  });
287
452
  },
288
-
453
+
289
454
  verifyErrorMessageCSSAndA11y: () => {
290
455
  it('CSS of error message', { tags: 'css' }, () => {
291
456
  utilities.verifyCSS(desmosGeometryPage.errorMessage(), {
@@ -298,6 +463,21 @@ const tests = {
298
463
  it('Accessibility of error message', { tags: 'a11y' }, () => {
299
464
  cy.checkAccessibility(commonComponents.nextGenCreateItemWrapper());
300
465
  });
466
+ },
467
+
468
+ verifyQuestionInstructionsInputFieldPreviewTab: () => {
469
+ it('When user has not entered any text in the Question instructions input field in the \'Edit\' tab then nothing should be displayed in the \'Preview\' tab', () => {
470
+ createQuestionBasePage.steps.switchToPreviewTab();
471
+ //Failing due to https://redmine.zeuslearning.com/issues/553382
472
+ utilities.verifyTextContent(questionInstructionsComponent.questionInstructionsText(), '')
473
+ });
474
+
475
+ it('When the user specifies question instructions, then the added question instructions should be displayed in the \'Preview\' tab', () => {
476
+ createQuestionBasePage.steps.switchToEditTab();
477
+ questionInstructionsComponent.steps.addTextInQuestionInstructionsInputField('Which of the following is the major contributor to increased carbon dioxide levels because of urbanization? Select your answer from the options below.');
478
+ createQuestionBasePage.steps.switchToPreviewTab();
479
+ utilities.verifyTextContent(questionInstructionsComponent.questionInstructionsTextPreviewTab(), 'Which of the following is the major contributor to increased carbon dioxide levels because of urbanization? Select your answer from the options below.');
480
+ });
301
481
  }
302
482
  }
303
483
 
@@ -265,6 +265,8 @@ const steps = {
265
265
  selectPreviewTabToolbarOption: (arialabel) => {
266
266
  drawingResponsePage.previewTabDrawingToolbarOption(arialabel)
267
267
  .click();
268
+ drawingResponsePage.previewTabDrawingToolbarOption(arialabel)
269
+ .should('have.class', 'drawing-tool__button--active');
268
270
  },
269
271
 
270
272
  /**
@@ -288,7 +288,7 @@ const steps = {
288
288
 
289
289
  verifyNoImageAlternativeTextPresentInPreviewTab: () => {
290
290
  imageCanvasComponent.canvasImageInPreviewTab()
291
- .should('have.attr', 'alt', 'highlightImage.jpg');
291
+ .should('have.attr', 'alt', 'highlightImage');
292
292
  },
293
293
  /**
294
294
  * @param {string} element denotes element