itemengine-cypress-automation 1.0.351-feature-thinkSphere-8768c9c.0 → 1.0.351-miscellaneous-questions-r3-b08db04.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 (282) 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/headerSection.js +18 -1
  22. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddFeatureRadioButton.js +2 -3
  23. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddTranscriptRadioButton .js +2 -4
  24. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabStudentViewSettings.js +3 -3
  25. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerHeaderSectionAndButtons.js +2 -2
  26. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTab.js +1 -1
  27. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabSupportedFileTypes.js +6 -0
  28. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabTranscript.js +2 -3
  29. package/cypress/e2e/ILC/CkEditorEquationEditor/equationEditorBasicFile.js +4 -4
  30. package/cypress/e2e/ILC/CkEditorInsertImage/imageInfo.js +4 -4
  31. package/cypress/e2e/ILC/CkEditorInsertTable/tableDimension&FooterProperties.js +3 -3
  32. package/cypress/e2e/ILC/CkEditorInsertTable/tableStyle.js +11 -11
  33. package/cypress/e2e/ILC/CkEditorLink/uploadSection.js +1 -1
  34. package/cypress/e2e/ILC/ContentBlocks/editTabBasics.js +62 -4
  35. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +119 -10
  36. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabScoring.js +1 -0
  37. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/headerSection.js +2 -0
  38. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/manuallyAndNonScoredScoringEditTab.js +4 -1
  39. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +3 -0
  40. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/pagination.js +1 -1
  41. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/styleAndLayoutCustomizationLayoutProperties.js +3 -0
  42. package/cypress/e2e/ILC/DrawingResponse/drawingResponseAdditionalSettings.js +1 -0
  43. package/cypress/e2e/ILC/DrawingResponse/drawingResponseBackground.js +2 -8
  44. package/cypress/e2e/ILC/DrawingResponse/drawingResponseCustomizeAdditionalOptions.js +1 -0
  45. package/cypress/e2e/ILC/DrawingResponse/drawingResponseEditTabBasicSection.js +3 -3
  46. package/cypress/e2e/ILC/DrawingResponse/drawingResponsePreviewTabContents.smoke.js +3 -4
  47. package/cypress/e2e/ILC/EssayResponse/createCustomCategory.smoke.js +1 -1
  48. package/cypress/e2e/ILC/EssayResponse/editCategoryFlyout.js +0 -1
  49. package/cypress/e2e/ILC/EssayResponse/editTabBasicSections.js +23 -37
  50. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/blankResponseScoring.js +29 -25
  51. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +210 -0
  52. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/dropzoneStyleAndLayoutCustomization.js +6 -3
  53. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/headerSection.js +1 -0
  54. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/allOrNothingForAllView.smoke.js +201 -0
  55. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/dropdownAndDropdownMenuSection.js +4 -1
  56. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/dropdownOptionsSection.js +2 -2
  57. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/specifyCorrectAnswerSection.js +0 -1
  58. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/Scoring/blankResponseScoring.js +18 -20
  59. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +216 -0
  60. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/backgroundImageAndCanvasProperties.js +0 -1
  61. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/headerSection.js +1 -0
  62. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/studentViewSettings.js +5 -1
  63. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/styleAndLayoutCustomization.js +2 -1
  64. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/blankResponseScoring.js +21 -30
  65. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/allOrNothingForAllView.smoke.js +211 -0
  66. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/dropdownAndDropdownMenuSection.js +4 -1
  67. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editTabBasicSection.js +0 -1
  68. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/headerSection.js +2 -2
  69. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/HeaderSection.js +2 -2
  70. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/blankResponseScoring.js +23 -30
  71. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/allOrNothingForAllViews.smoke.js +213 -0
  72. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/editTabScoringSection.js +2 -0
  73. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/responseAnswersAndAcceptedStudentInput.js +2 -0
  74. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/supportedFileTypes.js +1 -1
  75. package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/blankResponseScoring.js +25 -30
  76. package/cypress/e2e/ILC/FillInTheGapsTextNew/allOrNothingForAllViews.smoke.js +207 -0
  77. package/cypress/e2e/ILC/FillInTheGapsTextNew/editTabBasicSection.js +2 -10
  78. package/cypress/e2e/ILC/FillInTheGapsTextNew/editTabScoringSection.js +2 -0
  79. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +73 -0
  80. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +38 -0
  81. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +38 -0
  82. package/cypress/e2e/ILC/Graphing/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +87 -0
  83. package/cypress/e2e/ILC/Graphing/checkAddAlternativeButton.js +35 -0
  84. package/cypress/e2e/ILC/Graphing/editQuestion.smoke.js +28 -0
  85. package/cypress/e2e/ILC/Graphing/editTabBasicSection.js +38 -0
  86. package/cypress/e2e/ILC/Graphing/editTabScoringSection.js +1 -0
  87. package/cypress/e2e/ILC/Graphing/headerSection.js +36 -4
  88. package/cypress/e2e/ILC/Graphing/layoutAndGridOptions.js +6 -3
  89. package/cypress/e2e/ILC/GridFill/addAlternateButton.js +40 -0
  90. package/cypress/e2e/ILC/GridFill/customizeLayoutFillImageBackgroundImage.js +5 -6
  91. package/cypress/e2e/ILC/GridFill/customizeLayoutSectionShadeCellsGridBorders.js +2 -0
  92. package/cypress/e2e/ILC/GridFill/editTabScoringSection.js +3 -0
  93. package/cypress/e2e/ILC/GridFill/headerSection.js +1 -3
  94. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +39 -0
  95. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  96. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +39 -0
  97. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountAllOrNothingCorrectPointsGreaterThanAlternativePoints.js +37 -0
  98. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountallOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  99. package/cypress/e2e/ILC/GridFill/scoring/cellshadeCountAllOrNothingAlternativePointsGreaterThanCorrectPoints.js +36 -0
  100. package/cypress/e2e/ILC/GridFill/scoring/checkLabelSaveAsYouGo.js +75 -0
  101. package/cypress/e2e/ILC/GridFill/specifyCorrectAnswerSection.js +2 -4
  102. package/cypress/e2e/ILC/ImageHighlight/Scoring/partialDifferentWeightsScoring.js +2 -1
  103. package/cypress/e2e/ILC/ImageHighlight/headerSection.js +2 -1
  104. package/cypress/e2e/ILC/ImageHighlight/studentViewSettings.js +2 -2
  105. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +24 -0
  106. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +24 -0
  107. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +24 -0
  108. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +86 -0
  109. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +1 -1
  110. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +1 -1
  111. package/cypress/e2e/ILC/ListOrderingDropdown/checkAddAlternativeButton.js +35 -0
  112. package/cypress/e2e/ILC/ListOrderingDropdown/editTabBasicSection.js +24 -0
  113. package/cypress/e2e/ILC/ListOrderingDropdown/headerSection.js +108 -0
  114. package/cypress/e2e/ILC/ListOrderingDropdown/specifyCorrectAnswerSection.js +6 -10
  115. package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/specifyCorrectAnswerSection.js +2 -1
  116. package/cypress/e2e/ILC/ListOrderingNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +52 -0
  117. package/cypress/e2e/ILC/ListOrderingNew/editTabBasicSection.js +23 -0
  118. package/cypress/e2e/ILC/ListOrderingNew/headerSection.js +35 -9
  119. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +41 -0
  120. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +30 -0
  121. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +50 -0
  122. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +101 -0
  123. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/checkAddAlternativeButton.js +38 -0
  124. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabBasicSection.js +24 -0
  125. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabScoring.js +4 -1
  126. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/headerSection.js +35 -1
  127. package/cypress/e2e/ILC/Matching/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +98 -0
  128. package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +210 -0
  129. package/cypress/e2e/ILC/Matching/checkAlternativeButton.js +38 -0
  130. package/cypress/e2e/ILC/Matching/clickAndDrop.js +3 -5
  131. package/cypress/e2e/ILC/Matching/draggableOptions.js +4 -0
  132. package/cypress/e2e/ILC/Matching/editTabBasicSection.js +41 -0
  133. package/cypress/e2e/ILC/Matching/headerSection.js +36 -11
  134. package/cypress/e2e/ILC/Matching/questionInstructionsAndPromptSection.js +2 -15
  135. package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +208 -0
  136. package/cypress/e2e/ILC/MultipleSelection/allOrNothingBasicForAllViews.smoke.js +227 -0
  137. package/cypress/e2e/ILC/MultipleSelection/allOrNothingWithAlternativeAnswer.js +6 -3
  138. package/cypress/e2e/ILC/MultipleSelection/checkScoringLabelBannerAndCorrectAnswer.js +3 -1
  139. package/cypress/e2e/ILC/MultipleSelection/editTabScoringSection.js +6 -3
  140. package/cypress/e2e/ILC/MultipleSelection/headerSection.js +1 -0
  141. package/cypress/e2e/ILC/MultipleSelection/minimumScoringPenaltyPointsAndRoundingDropdown.js +1 -1
  142. package/cypress/e2e/ILC/MultipleSelection/partialDifferentWeightsBasic.js +1 -1
  143. package/cypress/e2e/ILC/MultipleSelection/partialDifferentWeightsWithAlternativeAnswer.js +69 -64
  144. package/cypress/e2e/ILC/MultipleSelection/partialEqualWeightsWithAlternativeAnswer.js +6 -4
  145. package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswer.js +1 -0
  146. package/cypress/e2e/ILC/MultipleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +220 -0
  147. package/cypress/e2e/ILC/MultipleSelectionGridNew/editTabScoringSection.js +11 -5
  148. package/cypress/e2e/ILC/MultipleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +5 -2
  149. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +79 -0
  150. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +42 -0
  151. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +42 -0
  152. package/cypress/e2e/ILC/NumberLine/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +75 -0
  153. package/cypress/e2e/ILC/NumberLine/checkAddAlternativeButton.js +32 -0
  154. package/cypress/e2e/ILC/NumberLine/editTabSection.js +38 -0
  155. package/cypress/e2e/ILC/NumberLine/headerSection.js +33 -4
  156. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +81 -0
  157. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +43 -0
  158. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +43 -0
  159. package/cypress/e2e/ILC/NumberLineLabel/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +76 -0
  160. package/cypress/e2e/ILC/NumberLineLabel/additionalSettingsBasic.js +1 -1
  161. package/cypress/e2e/ILC/NumberLineLabel/checkAddAlternativeButton.js +34 -0
  162. package/cypress/e2e/ILC/NumberLineLabel/editTabSection.js +38 -0
  163. package/cypress/e2e/ILC/NumberLineLabel/headerSection.js +37 -5
  164. package/cypress/e2e/ILC/NumberLineLabel/manuallyAndNonScoredEditTab.js +2 -1
  165. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/editQuestion.smoke.js +1 -1
  166. package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +35 -51
  167. package/cypress/e2e/ILC/ShortTextResponseNew/headerSection.js +2 -4
  168. package/cypress/e2e/ILC/SingleSelection/allOrNothingBasicForAllViews.smoke.js +192 -0
  169. package/cypress/e2e/ILC/SingleSelection/checkScoringLabelBannerAndCorrectAnswer.js +3 -1
  170. package/cypress/e2e/ILC/SingleSelection/headerSection.js +1 -0
  171. package/cypress/e2e/ILC/SingleSelection/manuallyAndNonScoredScoring.js +94 -88
  172. package/cypress/e2e/ILC/SingleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +3 -1
  173. package/cypress/e2e/ILC/SingleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +209 -0
  174. package/cypress/e2e/ILC/SingleSelectionGridNew/editTabScoringSection.js +5 -0
  175. package/cypress/e2e/ILC/SingleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +8 -2
  176. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +86 -0
  177. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +86 -0
  178. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  179. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +3 -1
  180. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  181. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  182. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsScoringBasic.js +10 -3
  183. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +4 -2
  184. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +5 -3
  185. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  186. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsScoringBasic.js +4 -0
  187. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +64 -0
  188. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAddEvaluation.js +2 -0
  189. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAlternateAnswer.js +2 -0
  190. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +64 -0
  191. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  192. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  193. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  194. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  195. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsScoringBasic.js +8 -0
  196. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  197. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  198. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  199. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasic.js +1 -0
  200. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasicForAlternateAnswer.js +2 -0
  201. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +2 -0
  202. package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +27 -3
  203. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodEquivalentStructures.smoke.js +86 -0
  204. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchExact.smoke.js +97 -0
  205. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchValue.smoke.js +97 -0
  206. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodSymbolsAreEquivalent.smoke.js +167 -0
  207. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodValueIsEquivalent.smoke.js +167 -1
  208. package/cypress/e2e/ILC/TextEntryMath/headerSection.js +43 -0
  209. package/cypress/e2e/ILC/TextEntryMath/previewContentsForAllViews.smoke.js +7 -5
  210. package/cypress/e2e/ILC/TextSelection/ScoringParagraph/checkScoringLabelBannerAndCorrectAnswerSection.js +0 -1
  211. package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyPossibleOptionsSection.js +7 -12
  212. package/cypress/e2e/ILC/ThinkSphere/additionalSettings.js +1 -1
  213. package/cypress/e2e/ILC/ThinkSphere/createReviewItem.js +58 -4
  214. package/cypress/e2e/ILC/ThinkSphere/editTabBasicSection.js +208 -13
  215. package/cypress/e2e/ILC/ThinkSphere/editThinkSphereQuestion.smoke.js +259 -9
  216. package/cypress/e2e/ILC/ThinkSphere/equationEditorCreateCustomCategory.smoke.js +417 -0
  217. package/cypress/e2e/ILC/ThinkSphere/equationEditorEditCategoryFlyOut.js +291 -0
  218. package/cypress/e2e/ILC/ThinkSphere/planPhase.js +409 -4
  219. package/cypress/e2e/ILC/ThinkSphere/previewTabPlanSection.js +541 -0
  220. package/cypress/e2e/ILC/ThinkSphere/previewTabReviewSection.js +97 -0
  221. package/cypress/e2e/ILC/ThinkSphere/solvePhase.js +39 -6
  222. package/cypress/e2e/ILC/ThinkSphere/studentViewPlanTabSection.js +393 -0
  223. package/cypress/e2e/ILC/ThinkSphere/studentViewReviewTabSection.js +141 -0
  224. package/cypress/e2e/ILC/ToolAudioPlayerNew/headerSection.js +90 -2
  225. package/cypress/e2e/ILC/UploadResponse/editTabBasicSection.js +34 -0
  226. package/cypress/e2e/ILC/UploadResponse/headerSection.js +38 -1
  227. package/cypress/e2e/ILC/VideoResponseNew/editTabBasicSection.js +14 -29
  228. package/cypress/e2e/ILC/chartsDotsPlot/headerSection.js +16 -1
  229. package/cypress/e2e/Sessions/fetchResponses.js +3 -3
  230. package/cypress/e2e/Sessions/scores.js +8 -10
  231. package/cypress/e2e/applitools.config.js +3 -3
  232. package/cypress/fixtures/theme/ilc.json +5 -1
  233. package/cypress/fixtures/uploads/sample.webm +0 -0
  234. package/cypress/fixtures/uploads/sample.wmv +0 -0
  235. package/cypress/fixtures/uploads/sample30MB.mp4 +0 -0
  236. package/cypress/pages/audioPlayerPage.js +47 -22
  237. package/cypress/pages/brainingCampManipulativePage.js +1 -1
  238. package/cypress/pages/chartsBarPage.js +20 -0
  239. package/cypress/pages/components/additionalSettingsPanel.js +3 -2
  240. package/cypress/pages/components/autoScoredScoringPreviewTab.js +7 -1
  241. package/cypress/pages/components/autoScoredScoringSectionMultiResponseType.js +2 -0
  242. package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +16 -28
  243. package/cypress/pages/components/backgroundImageUploadComponent.js +0 -1
  244. package/cypress/pages/components/browseItemsPage.js +109 -2
  245. package/cypress/pages/components/ckEditorEquationEditorComponent.js +5 -4
  246. package/cypress/pages/components/ckEditorInsertImageComponent.js +2 -2
  247. package/cypress/pages/components/ckEditorInsertTableComponent.js +3 -3
  248. package/cypress/pages/components/ckEditorLinkComponent.js +8 -9
  249. package/cypress/pages/components/commonComponents.js +4 -0
  250. package/cypress/pages/components/createQuestionBasePage.js +14 -1
  251. package/cypress/pages/components/defaultToolDropdown.js +1 -1
  252. package/cypress/pages/components/editCategoryFlyout.js +2 -2
  253. package/cypress/pages/components/equationEditorSectionCommonComponent.js +10 -25
  254. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +3 -3
  255. package/cypress/pages/components/fillInTheGapsTextCommonComponent.js +29 -35
  256. package/cypress/pages/components/gridQuestionCommonComponent.js +8 -37
  257. package/cypress/pages/components/imageCanvasComponent.js +7 -6
  258. package/cypress/pages/components/mcqAdditionalSettingsBase.js +4 -0
  259. package/cypress/pages/components/questionInstructionsComponent.js +7 -0
  260. package/cypress/pages/components/scoringSectionBaseEditTab.js +5 -0
  261. package/cypress/pages/contentBlocksPage.js +2 -0
  262. package/cypress/pages/desmos3DGraphingPage.js +149 -4
  263. package/cypress/pages/desmosGeometryPage.js +184 -4
  264. package/cypress/pages/drawingResponsePage.js +6 -4
  265. package/cypress/pages/fillInTheGapsOverImageDropdownPage.js +1 -1
  266. package/cypress/pages/gradingViewPage.js +8 -0
  267. package/cypress/pages/graphingPage.js +27 -8
  268. package/cypress/pages/gridFillPage.js +15 -6
  269. package/cypress/pages/listOrderingPage.js +32 -1
  270. package/cypress/pages/matchingPage.js +26 -7
  271. package/cypress/pages/multipleSelectionPage.js +10 -39
  272. package/cypress/pages/numberLineLabelPage.js +31 -8
  273. package/cypress/pages/numberLinePage.js +19 -7
  274. package/cypress/pages/singleSelectionPage.js +0 -37
  275. package/cypress/pages/textEntryMathPage.js +24 -1
  276. package/cypress/pages/thinkSpherePage.js +925 -47
  277. package/cypress/pages/uploadResponsePage.js +2 -1
  278. package/cypress/pages/videoResponsePage.js +3 -0
  279. package/cypress/support/commands.js +0 -2
  280. package/cypress/support/helpers/createItem.js +668 -19
  281. package/cypress/support/helpers/utilities.js +34 -1
  282. package/package.json +2 -2
@@ -105,7 +105,7 @@ const steps = {
105
105
  utilities.getNthElement(fillInTheGapsTextCommonComponent.answerInputFieldSpecifyCorrectAnswerSection(), responseIndex)
106
106
  .clear();
107
107
  utilities.getNthElement(fillInTheGapsTextCommonComponent.answerInputFieldSpecifyCorrectAnswerSection(), responseIndex)
108
- .type(responseText, { delay: 500 });
108
+ .type(responseText, { delay: 0 });
109
109
  utilities.getNthElement(fillInTheGapsTextCommonComponent.answerInputFieldSpecifyCorrectAnswerSection(), responseIndex)
110
110
  .click();
111
111
  utilities.getNthElement(fillInTheGapsTextCommonComponent.answerInputFieldSpecifyCorrectAnswerSection(), responseIndex)
@@ -474,7 +474,8 @@ const steps = {
474
474
  */
475
475
  focusInAndFocusOutOfResponseAnswerInputFieldSpecifyCorrectAnswer: (answerFieldIndex) => {
476
476
  utilities.getNthElement(fillInTheGapsTextCommonComponent.answerInputFieldSpecifyCorrectAnswerSection(), answerFieldIndex)
477
- .click()
477
+ .click();
478
+ utilities.getNthElement(fillInTheGapsTextCommonComponent.answerInputFieldSpecifyCorrectAnswerSection(), answerFieldIndex)
478
479
  .blur();
479
480
  },
480
481
 
@@ -779,8 +780,7 @@ const steps = {
779
780
  utilities.getNthElement(fillInTheGapsTextCommonComponent.responseAccordionAnswerInputFieldWrapper(), answerFieldIndex)
780
781
  .within(() => {
781
782
  fillInTheGapsTextCommonComponent.answerInputFieldSpecifyCorrectAnswerSection()
782
- .clear()
783
- .blur();
783
+ .clear();
784
784
  });
785
785
  },
786
786
 
@@ -908,10 +908,9 @@ const steps = {
908
908
 
909
909
  const tests = {
910
910
  verifySetLimitSectionErrorConditionsForMinAndMaxCharacterInputFields: () => {
911
- it('When the user clears the minimum character limit input field and focuses out of it, then error message \'Error: Minimum character limit is required\' should be displayed below the input field', () => {
911
+ it('When the user clears the minimum character limit input field and focuses out of it, then error message should not be displayed', () => {
912
912
  fillInTheGapsTextCommonComponent.steps.clearAndFocusOutOfMinimumCharacterLimitInputField();
913
- utilities.verifyInnerText(commonComponents.errorMessage(), 'Error: Minimum character limit is required.');
914
- utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'visible');
913
+ utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'notExist');
915
914
  });
916
915
 
917
916
  commonComponents.tests.verifyErrorMessageCSSAndA11y();
@@ -921,10 +920,9 @@ const tests = {
921
920
  commonComponents.steps.verifyErrorMessageIsNotDisplayed();
922
921
  });
923
922
 
924
- it('When the user clears the maximum character limit input field and focuses out of it, then error message \'Error: Maximum character limit is required.\' should be displayed below the input field', () => {
923
+ it('When the user clears the maximum character limit input field and focuses out of it, then error message should not be displayed', () => {
925
924
  fillInTheGapsTextCommonComponent.steps.clearAndFocusOutOfMaximumCharacterLimitInputField();
926
- utilities.verifyInnerText(commonComponents.errorMessage(), 'Error: Maximum character limit is required.');
927
- utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'visible');
925
+ utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'notExist');
928
926
  });
929
927
 
930
928
  it('When the user enters value in maximum character limit input field then the error message should disappear', () => {
@@ -932,10 +930,9 @@ const tests = {
932
930
  commonComponents.steps.verifyErrorMessageIsNotDisplayed();
933
931
  });
934
932
 
935
- it('When the user sets minimum limit input field value greater than maximum limit input field value then error message \'Error: Minimum limit must be less than or equal to maximum limit.\' and \'Error: Maximum limit must be greater than or equal to minimum limit.\'should be displayed below the minimum and maximum input field respectively', () => {
933
+ it('When the user sets minimum limit input field value greater than maximum limit input field value then error message should not be displayed', () => {
936
934
  fillInTheGapsTextCommonComponent.steps.setMinimumLimit(45);
937
- fillInTheGapsTextCommonComponent.steps.verifyMaximumLimitErrorMessage();
938
- fillInTheGapsTextCommonComponent.steps.verifyMinimumLimitErrorMessage();
935
+ utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'notExist');
939
936
  });
940
937
 
941
938
  commonComponents.tests.verifyErrorMessageCSSAndA11y();
@@ -945,10 +942,9 @@ const tests = {
945
942
  commonComponents.steps.verifyErrorMessageIsNotDisplayed();
946
943
  });
947
944
 
948
- it('When the user sets maximum limit input field value less than minimum limit input field value then error message \'Error: Minimum limit must be less than or equal to maximum limit.\' and \'Error: Maximum limit must be greater than or equal to minimum limit.\'should be displayed below the minimum and maximum input field respectively', () => {
945
+ it('When the user sets maximum limit input field value less than minimum limit input field value then error message should not be displayed', () => {
949
946
  fillInTheGapsTextCommonComponent.steps.setMaximumLimit(26);
950
- fillInTheGapsTextCommonComponent.steps.verifyMaximumLimitErrorMessage();
951
- fillInTheGapsTextCommonComponent.steps.verifyMinimumLimitErrorMessage();
947
+ commonComponents.steps.verifyErrorMessageIsNotDisplayed();
952
948
  });
953
949
 
954
950
  it('When the user sets maximum limit input field value greater than or equal to minimum limit input field value then error message should disappear', () => {
@@ -1008,8 +1004,7 @@ const tests = {
1008
1004
 
1009
1005
  it('When user enters zero in maximum limit input field, then error message \'Error: Maximum limit must be greater than 0.\' should be displayed', () => {
1010
1006
  fillInTheGapsTextCommonComponent.steps.setMaximumLimit(0);
1011
- utilities.verifyInnerText(commonComponents.errorMessage().eq(1), 'Error: Maximum limit must be greater than 0.');
1012
- utilities.verifyElementVisibilityState(commonComponents.errorMessage().eq(1), 'visible');
1007
+ commonComponents.steps.verifyErrorMessageIsNotDisplayed();
1013
1008
  });
1014
1009
 
1015
1010
  it('When user enters limit more than zero in maximum limit input field, then error message should disappear', () => {
@@ -1017,10 +1012,9 @@ const tests = {
1017
1012
  commonComponents.steps.verifyErrorMessageIsNotDisplayed();
1018
1013
  });
1019
1014
 
1020
- it('When user enters minimum limit more than maximum limit then error messages should be displayed and when user enters equal value then the error message should disappear', () => {
1015
+ it('When user enters minimum limit more than maximum limit then error messages should not be displayed', () => {
1021
1016
  fillInTheGapsTextCommonComponent.steps.setMinimumLimit(60);
1022
- utilities.verifyInnerText(commonComponents.errorMessage().eq(0), 'Error: Minimum limit must be less than or equal to Maximum limit.');
1023
- utilities.verifyInnerText(commonComponents.errorMessage().eq(1), 'Error: Maximum limit must be greater than or equal to Minimum limit.');
1017
+ commonComponents.steps.verifyErrorMessageIsNotDisplayed();
1024
1018
  fillInTheGapsTextCommonComponent.steps.setMaximumLimit(60);
1025
1019
  commonComponents.steps.verifyErrorMessageIsNotDisplayed();
1026
1020
  });
@@ -1246,9 +1240,9 @@ const tests = {
1246
1240
  utilities.verifyInnerText(utilities.getNthElement(fillInTheGapsTextCommonComponent.responseAccordionLabel(), 1), 'Response 2');
1247
1241
  });
1248
1242
 
1249
- it('When user focuses in and out of the response accordion \'Answer\' input field, \'Error: Answer is required.\' error message should be displayed', () => {
1243
+ it('When user focuses in and out of the response accordion \'Answer\' input field, error message should not be displayed', () => {
1250
1244
  fillInTheGapsTextCommonComponent.steps.focusInAndFocusOutOfResponseAnswerInputFieldSpecifyCorrectAnswer(0, 0);
1251
- utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'visible');
1245
+ utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'notExist');
1252
1246
  });
1253
1247
 
1254
1248
  it('When gives an input to \'Answer\' input field, then error message should disappear', () => {
@@ -1424,10 +1418,10 @@ const tests = {
1424
1418
  utilities.verifyElementVisibilityState(fillInTheGapsTextCommonComponent.responseAccordionAddAlternateButtonLabel(), 'visible');
1425
1419
  });
1426
1420
 
1427
- it('When user has not entered text inside answer input field and clicks on \'Add alternate\' answer then \'Error: Answer is required.\' error message should be displayed', () => {
1428
- fillInTheGapsTextCommonComponent.steps.addAlternateAnswerInResponseAccordion(0);
1429
- utilities.verifyInnerText(commonComponents.errorMessage(), 'Error: Answer is required.');
1430
- utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'visible');
1421
+ it('When user has not entered text inside answer input field and clicks on \'Add alternate\' button, then the button should be disabled and \'Answer is required\' tooltip should be displayed', () => {
1422
+ utilities.verifyElementDisabled(utilities.getNthElement(fillInTheGapsTextCommonComponent.responseAccordionAddAlternateButton(), 0).find('button'));
1423
+ utilities.getNthElement(fillInTheGapsTextCommonComponent.responseAccordionAddAlternateButton(), 0)
1424
+ .verifyTooltip('Answer is required');
1431
1425
  });
1432
1426
 
1433
1427
  it('When user enters text inside answer input field, then error message should disappear', () => {
@@ -1437,6 +1431,7 @@ const tests = {
1437
1431
 
1438
1432
  it('When the user clicks on the \'Add Alternate\' button, then one alternate answer input field should be displayed', () => {
1439
1433
  fillInTheGapsTextCommonComponent.steps.addAlternateAnswerInResponseAccordion(0);
1434
+ utilities.triggerMouseout(fillInTheGapsTextCommonComponent.responseAccordionAddAlternateButton());
1440
1435
  utilities.verifyElementCount(fillInTheGapsTextCommonComponent.answerInputFieldSpecifyCorrectAnswerSection(), 2);
1441
1436
  utilities.verifyElementVisibilityState(fillInTheGapsTextCommonComponent.responseAccordionAddAlternateButton(), 'visible');
1442
1437
  });
@@ -1455,15 +1450,10 @@ const tests = {
1455
1450
  fillInTheGapsTextCommonComponent.steps.verifyAnswerInputFieldPlaceholder(1);
1456
1451
  });
1457
1452
 
1458
- it('When the user clicks on the \'Add Alternate\' button without entering text in the newly added alternate answer input field, then an error message should be displayed, indicating \'Error: Answer is required.\'', () => {
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', () => {
1459
1454
  fillInTheGapsTextCommonComponent.steps.addAlternateAnswerInResponseAccordion(0);
1460
- utilities.verifyInnerText(commonComponents.errorMessage(), 'Error: Answer is required.');
1461
1455
  utilities.verifyElementCount(fillInTheGapsTextCommonComponent.answerInputFieldSpecifyCorrectAnswerSection(), 2);
1462
- });
1463
-
1464
- 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', () => {
1465
1456
  fillInTheGapsTextCommonComponent.steps.enterTextInAnswerInputFieldsSpecifyCorrectAnswerSection([{ responseIndex: 1, responseText: 'Leaf' }]);
1466
- commonComponents.steps.verifyErrorMessageIsNotDisplayed();
1467
1457
  fillInTheGapsTextCommonComponent.steps.addAlternateAnswerInResponseAccordion(0);
1468
1458
  utilities.verifyElementCount(fillInTheGapsTextCommonComponent.answerInputFieldSpecifyCorrectAnswerSection(), 3);
1469
1459
  });
@@ -1569,8 +1559,12 @@ const tests = {
1569
1559
 
1570
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', () => {
1571
1561
  fillInTheGapsTextCommonComponent.steps.addAlternateAnswerInResponseAccordion(0);
1572
- fillInTheGapsTextCommonComponent.steps.enterTextInAnswerInputFieldsSpecifyCorrectAnswerSection([{ responseIndex: 0, responseText: 'Hi12' }]);
1573
- 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');
1574
1568
  fillInTheGapsTextCommonComponent.steps.verifyTextInResponseAccordionAnswerInputField([{ responseIndex: 1, responseText: 'Hi12' }]);
1575
1569
  });
1576
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
 
@@ -2071,43 +2077,6 @@ const steps = {
2071
2077
  }
2072
2078
 
2073
2079
  const tests = {
2074
- verifyPreviewModesAndScoreWhenPointsAndCorrectAnswersIsNotSet: () => {
2075
- it('When the user has not set correct answer option(s) and alloted points, \'Student view\' radio button should be checked, \'Grading view\' button should not be checked, 0 points should be displayed and no correct or incorrect icons should be displayed in the preview tab', () => {
2076
- utilities.verifyInnerText(autoScoredScoringPreviewTab.studentViewRadioButtonLabel(), 'Student view');
2077
- utilities.verifyInnerText(autoScoredScoringPreviewTab.gradingViewRadioButtonLabel(), 'Grading view');
2078
- autoScoredScoringPreviewTab.studentViewRadioButton()
2079
- .should('be.checked');
2080
- autoScoredScoringPreviewTab.gradingViewRadioButton()
2081
- .should('not.be.checked');
2082
- autoScoredScoringPreviewTab.steps.checkManuallyScoredScoringLabel();
2083
- autoScoredScoringPreviewTab.steps.verifyCorrectIncorrectIconsNotExist();
2084
- });
2085
-
2086
- it('CSS of Preview mode contents', { tags: 'css' }, () => {
2087
- utilities.verifyCSS(autoScoredScoringPreviewTab.studentViewRadioButtonLabel(), {
2088
- 'color': css.color.labelText,
2089
- 'font-size': css.fontSize.normal,
2090
- 'font-weight': css.fontWeight.regular
2091
- });
2092
- utilities.verifyCSS(autoScoredScoringPreviewTab.gradingViewRadioButtonLabel(), {
2093
- 'color': css.color.labelText,
2094
- 'font-size': css.fontSize.normal,
2095
- 'font-weight': css.fontWeight.regular
2096
- });
2097
- utilities.verifyCSS(autoScoredScoringPreviewTab.scoreLabelPreviewTab(), {
2098
- 'color': css.color.codeBlockText,
2099
- 'font-size': css.fontSize.default,
2100
- 'font-weight': css.fontWeight.bold
2101
- });
2102
- utilities.verifyCSS(autoScoredScoringPreviewTab.studentViewRadioButton().parent().find('svg'), {
2103
- 'fill': css.color.activeButtons
2104
- });
2105
- utilities.verifyCSS(autoScoredScoringPreviewTab.gradingViewRadioButton().parent().find('svg path'), {
2106
- 'fill': css.color.uncheckedCheckbox
2107
- });
2108
- });
2109
- },
2110
-
2111
2080
  verifyContentsOfSpecifyCorrectAnswerSection: () => {
2112
2081
  it(`When the user selects any scoring type except for manual scored, then the question grid should be displayed in the specify correct answer section`, () => {
2113
2082
  gridQuestionCommonComponent.steps.verifyTableCellPropertySpecifyCorrectAnswerSection({ row: 0, column: 0 }, 'None');
@@ -2752,6 +2721,8 @@ const tests = {
2752
2721
  it(`When user selects 'Column dimensions' ${option} option then ${option} spacing should be displayed between the columns`, () => {
2753
2722
  gridQuestionCommonComponent.steps.expandColumnDimensionsDropdown();
2754
2723
  gridQuestionCommonComponent.steps.selectColumnDimensionsDropdownOption(option);
2724
+ utilities.verifyInnerText(gridQuestionCommonComponent.columnDimensionsDropdown(), option);
2725
+ utilities.verifyElementVisibilityState(gridQuestionCommonComponent.columnDimensionsDropdown(), 'visible');
2755
2726
  gridQuestionCommonComponent.steps.verifyColumnDimensionsSpecifyCorrectAnswer(option);
2756
2727
  });
2757
2728
  });
@@ -38,6 +38,7 @@ const selectors = {
38
38
  },
39
39
  textResponse: () => cy.get('[class*="Canvasstyle__TextBoxContainer"] textarea'),
40
40
  canvasImage: () => cy.get('.canvas-image').eq(0),
41
+ canvasUploadedImage: () => cy.get('.canvas-image'),
41
42
  canvasImageInPreviewTab: () => cy.get('[class*="question-preview-wrapper"] [class*="ImageWrapper"] img'),
42
43
  imagePropertiesLabel: () => cy.get('[class*="ImagePropertiesstyles__SectionLabel"]'),
43
44
  fillImageToCanvasLabel: () => cy.get('[data-ngie-testid="fill-image-to-canvas-checkbox"] .MuiFormControlLabel-label'),
@@ -791,10 +792,10 @@ const tests = {
791
792
  * @param {"text container"|"dropzone"} response value for the error message
792
793
  */
793
794
  verifyInsertAndDeleteResponseAreaFunctionality: (response) => {
794
- it(`When user clicks on close button for response container, then response container should be removed from canvas and error message should be displayed`, () => {
795
+ it(`When user clicks on close button for response container, then response container should be removed from canvas and error message should not be displayed`, () => {
795
796
  imageCanvasComponent.steps.removeResponseArea(0);
796
797
  utilities.verifyElementVisibilityState(imageCanvasComponent.responseAreaWrapper(), 'notExist');
797
- utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'exist');
798
+ utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'notExist');
798
799
  });
799
800
 
800
801
  it('When user adds response container, then error message should disappear', () => {
@@ -847,13 +848,13 @@ const tests = {
847
848
  imageCanvasComponent.steps.verifyRedoButtonDisabled();
848
849
  });
849
850
 
850
- it(`When the user reaches the initial state by performing undo actions, the 'Undo' button should get disabled and error message should be displayed`, () => {
851
+ it(`When the user reaches the initial state by performing undo actions, the 'Undo' button should get disabled and error message should not be displayed`, () => {
851
852
  for (let i = 0; i < 4; i++) {
852
853
  imageCanvasComponent.steps.undoAction();
853
854
  }
854
855
  utilities.verifyElementCount(imageCanvasComponent.responseArea(), 0);
855
856
  imageCanvasComponent.steps.verifyUndoButtonDisabled();
856
- utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'exist');
857
+ utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'notExist');
857
858
  });
858
859
 
859
860
  it('When the user reaches the latest state by performing redo actions, the \'Redo\' button should get disabled and error message should disappear', () => {
@@ -865,10 +866,10 @@ const tests = {
865
866
  commonComponents.steps.verifyErrorMessageIsNotDisplayed();
866
867
  });
867
868
 
868
- it(`When user clicks on 'Clear all' button, then all response container should be deleted and error message should be displayed`, () => {
869
+ it(`When user clicks on 'Clear all' button, then all response container should be deleted and error message should not be displayed`, () => {
869
870
  imageCanvasComponent.steps.clearAllCanvas();
870
871
  utilities.verifyElementVisibilityState(imageCanvasComponent.responseAreaWrapper(), 'notExist');
871
- utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'exist');
872
+ utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'notExist');
872
873
  });
873
874
  },
874
875
 
@@ -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