itemengine-cypress-automation 1.0.381-PR-fixes-1c28a3d.0 → 1.0.381-regressionFixes10June-8dc1710.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 (295) hide show
  1. package/Dockerfile +1 -0
  2. package/cypress/e2e/GradingGridView/gradingGridView.js +156 -0
  3. package/cypress/e2e/ILC/AudioResponseNew/barRecorderStyle.smoke.js +2 -0
  4. package/cypress/e2e/ILC/AudioResponseNew/compactRecorderStyle.smoke.js +4 -0
  5. package/cypress/e2e/ILC/AudioResponseNew/editTabBasicSection.js +4 -16
  6. package/cypress/e2e/ILC/BrainingCampManipulative/editTabBasicSection.js +1 -1
  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 +25 -25
  10. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +37 -36
  11. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +37 -36
  12. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +37 -36
  13. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -0
  14. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightBasic.js +26 -25
  15. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +39 -38
  16. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +31 -30
  17. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +35 -34
  18. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePointsLocked.js +247 -0
  19. package/cypress/e2e/ILC/ChartsBar/editQuestion.smoke.js +1 -1
  20. package/cypress/e2e/ILC/ChartsBar/editTabBasicSection.js +37 -0
  21. package/cypress/e2e/ILC/ChartsBar/headerSection.js +50 -2
  22. package/cypress/e2e/ILC/ChartsBar/specifyCorrectAnswerSection.js +92 -0
  23. package/cypress/e2e/ILC/ChartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePointsLocked.js +220 -0
  24. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightBasic.js +25 -25
  25. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +47 -46
  26. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +25 -24
  27. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +25 -24
  28. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -0
  29. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightBasic.js +25 -25
  30. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +24 -23
  31. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +21 -20
  32. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +48 -46
  33. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePointsLocked.js +249 -0
  34. package/cypress/e2e/ILC/ChartsLine/editQuestion.smoke.js +3 -1
  35. package/cypress/e2e/ILC/ChartsLine/headerSection.js +18 -1
  36. package/cypress/e2e/ILC/ChartsLine/specifyCorrectAnswerSection.js +94 -0
  37. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddFeatureRadioButton.js +2 -3
  38. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddTranscriptRadioButton .js +2 -4
  39. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabStudentViewSettings.js +3 -3
  40. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerHeaderSectionAndButtons.js +2 -2
  41. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTab.js +1 -1
  42. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabSupportedFileTypes.js +6 -0
  43. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabTranscript.js +2 -3
  44. package/cypress/e2e/ILC/CkEditorInsertImage/imageInfo.js +3 -3
  45. package/cypress/e2e/ILC/CkEditorInsertTable/tableDimension&FooterProperties.js +3 -3
  46. package/cypress/e2e/ILC/CkEditorInsertTable/tableStyle.js +11 -11
  47. package/cypress/e2e/ILC/CkEditorLink/uploadSection.js +1 -1
  48. package/cypress/e2e/ILC/ContentBlocks/editTabBasics.js +63 -4
  49. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +116 -7
  50. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabBasicSection.js +1 -1
  51. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabScoring.js +1 -0
  52. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/headerSection.js +3 -3
  53. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/pagination.js +1 -1
  54. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/studentViewSettingsForGroupedLayout.js +3 -0
  55. package/cypress/e2e/ILC/DrawingResponse/drawingResponseAdditionalSettings.js +1 -0
  56. package/cypress/e2e/ILC/DrawingResponse/drawingResponseBackground.js +2 -8
  57. package/cypress/e2e/ILC/DrawingResponse/drawingResponseCustomizeAdditionalOptions.js +1 -0
  58. package/cypress/e2e/ILC/DrawingResponse/drawingResponseEditTabBasicSection.js +3 -3
  59. package/cypress/e2e/ILC/DrawingResponse/drawingResponsePreviewTabContents.smoke.js +1 -3
  60. package/cypress/e2e/ILC/EssayResponse/createCustomCategory.smoke.js +2 -2
  61. package/cypress/e2e/ILC/EssayResponse/editTabBasicSections.js +23 -37
  62. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +210 -0
  63. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/draggableOptions.js +2 -0
  64. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/editTabBasicSection.js +1 -1
  65. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/headerSection.js +3 -3
  66. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViewInIncompleteAuthoring.smoke.js +7 -7
  67. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViews.smoke.js +11 -11
  68. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editQuestion.smoke.js +40 -0
  69. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editTabBasicSection.js +1 -1
  70. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/headerSection.js +3 -3
  71. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +216 -0
  72. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/headerSection.js +3 -3
  73. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editQuestion.smoke.js +45 -0
  74. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editTabBasicSection.js +1 -1
  75. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/headerSection.js +4 -4
  76. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/HeaderSection.js +4 -4
  77. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/editQuestion.smoke.js +1 -1
  78. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/responseAnswersAndAcceptedStudentInput.js +4 -0
  79. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/supportedFileTypes.js +3 -1
  80. package/cypress/e2e/ILC/FillInTheGapsTextNew/editTabBasicSection.js +1 -1
  81. package/cypress/e2e/ILC/FillInTheGapsTextNew/headerSection.js +3 -3
  82. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +73 -0
  83. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +38 -0
  84. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +38 -0
  85. package/cypress/e2e/ILC/Graphing/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +87 -0
  86. package/cypress/e2e/ILC/Graphing/allOrNothingForAllViews.smoke.js +2 -2
  87. package/cypress/e2e/ILC/Graphing/checkAddAlternativeButton.js +35 -0
  88. package/cypress/e2e/ILC/Graphing/editQuestion.smoke.js +28 -0
  89. package/cypress/e2e/ILC/Graphing/editTabBasicSection.js +38 -0
  90. package/cypress/e2e/ILC/Graphing/editTabScoringSection.js +1 -0
  91. package/cypress/e2e/ILC/Graphing/headerSection.js +36 -4
  92. package/cypress/e2e/ILC/Graphing/layoutAndGridOptions.js +6 -3
  93. package/cypress/e2e/ILC/GridFill/addAlternateButton.js +40 -0
  94. package/cypress/e2e/ILC/GridFill/allOrNothingBasicForAllViews.smoke.js +210 -0
  95. package/cypress/e2e/ILC/GridFill/customizeLayoutFillImageBackgroundImage.js +2 -2
  96. package/cypress/e2e/ILC/GridFill/headerSection.js +4 -4
  97. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +39 -0
  98. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  99. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +39 -0
  100. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountAllOrNothingCorrectPointsGreaterThanAlternativePoints.js +37 -0
  101. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountallOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  102. package/cypress/e2e/ILC/GridFill/scoring/cellshadeCountAllOrNothingAlternativePointsGreaterThanCorrectPoints.js +36 -0
  103. package/cypress/e2e/ILC/GridFill/scoring/checkLabelSaveAsYouGo.js +75 -0
  104. package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +2 -1
  105. package/cypress/e2e/ILC/ImageHighlight/additionalSettingsBasic.js +1 -0
  106. package/cypress/e2e/ILC/ImageHighlight/allOrNothingForAllViews.smoke.js +212 -0
  107. package/cypress/e2e/ILC/ImageHighlight/customiseHighlightStyle.js +29 -0
  108. package/cypress/e2e/ILC/ImageHighlight/editTabBasicSection.js +1 -1
  109. package/cypress/e2e/ILC/ImageHighlight/headerSection.js +3 -3
  110. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +24 -0
  111. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +24 -0
  112. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +24 -0
  113. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +86 -0
  114. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/manuallyAndNonScored.js +2 -4
  115. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +1 -1
  116. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +237 -1
  117. package/cypress/e2e/ILC/ListOrderingDropdown/checkAddAlternativeButton.js +35 -0
  118. package/cypress/e2e/ILC/ListOrderingDropdown/editTabBasicSection.js +24 -0
  119. package/cypress/e2e/ILC/ListOrderingDropdown/headerSection.js +108 -0
  120. package/cypress/e2e/ILC/ListOrderingDropdown/manuallyAndNonScoredEditTab.js +2 -1
  121. package/cypress/e2e/ILC/ListOrderingDropdown/previewContentsForAllViews.smoke.js +2 -4
  122. package/cypress/e2e/ILC/ListOrderingDropdown/specifyCorrectAnswerSection.js +7 -12
  123. package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/specifyCorrectAnswerSection.js +10 -14
  124. package/cypress/e2e/ILC/ListOrderingNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +52 -0
  125. package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +215 -0
  126. package/cypress/e2e/ILC/ListOrderingNew/editTabBasicSection.js +23 -0
  127. package/cypress/e2e/ILC/ListOrderingNew/headerSection.js +36 -9
  128. package/cypress/e2e/ILC/ListOrderingNew/manuallyAndNonScoredEditTab.js +2 -0
  129. package/cypress/e2e/ILC/ListOrderingNew/specifyCorrectAnswerSection.js +7 -23
  130. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +41 -0
  131. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +30 -0
  132. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +50 -0
  133. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +101 -0
  134. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/allOrNothingForAllViews.smoke.js +309 -0
  135. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/checkAddAlternativeButton.js +38 -0
  136. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabBasicSection.js +24 -0
  137. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabScoring.js +4 -1
  138. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/headerSection.js +38 -3
  139. package/cypress/e2e/ILC/Matching/Scoring/blankResponseScoring.js +38 -41
  140. package/cypress/e2e/ILC/Matching/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +98 -0
  141. package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +210 -0
  142. package/cypress/e2e/ILC/Matching/checkAlternativeButton.js +38 -0
  143. package/cypress/e2e/ILC/Matching/clickAndDrop.js +5 -5
  144. package/cypress/e2e/ILC/Matching/draggableOptions.js +7 -0
  145. package/cypress/e2e/ILC/Matching/editQuestion.smoke.js +3 -2
  146. package/cypress/e2e/ILC/Matching/editTabBasicSection.js +41 -0
  147. package/cypress/e2e/ILC/Matching/headerSection.js +38 -12
  148. package/cypress/e2e/ILC/Matching/questionInstructionsAndPromptSection.js +2 -15
  149. package/cypress/e2e/ILC/Matching/studentViewSettings.js +2 -0
  150. package/cypress/e2e/ILC/Matching/studentViewSettingsForGroupedLayout.js +1 -1
  151. package/cypress/e2e/ILC/MatchingDropdown/Scoring/blankResponseScoring.js +6 -6
  152. package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +208 -0
  153. package/cypress/e2e/ILC/MultipleSelection/allOrNothingBasicForAllViews.smoke.js +2 -1
  154. package/cypress/e2e/ILC/MultipleSelection/editTabBasicSection.js +1 -1
  155. package/cypress/e2e/ILC/MultipleSelection/headerSection.js +3 -3
  156. package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswer.js +1 -0
  157. package/cypress/e2e/ILC/MultipleSelectionGridNew/editTabBasicSection.js +2 -2
  158. package/cypress/e2e/ILC/MultipleSelectionGridNew/headerSection.js +3 -3
  159. package/cypress/e2e/ILC/MultipleSelectionGridNew/previewContentsForAllViews.smoke.js +100 -69
  160. package/cypress/e2e/ILC/MultipleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +1 -0
  161. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +79 -0
  162. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +42 -0
  163. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +42 -0
  164. package/cypress/e2e/ILC/NumberLine/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +75 -0
  165. package/cypress/e2e/ILC/NumberLine/checkAddAlternativeButton.js +32 -0
  166. package/cypress/e2e/ILC/NumberLine/editTabSection.js +38 -0
  167. package/cypress/e2e/ILC/NumberLine/headerSection.js +33 -4
  168. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +81 -0
  169. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +43 -0
  170. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +43 -0
  171. package/cypress/e2e/ILC/NumberLineLabel/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +76 -0
  172. package/cypress/e2e/ILC/NumberLineLabel/additionalSettingsBasic.js +1 -1
  173. package/cypress/e2e/ILC/NumberLineLabel/checkAddAlternativeButton.js +34 -0
  174. package/cypress/e2e/ILC/NumberLineLabel/editTabSection.js +38 -0
  175. package/cypress/e2e/ILC/NumberLineLabel/headerSection.js +37 -5
  176. package/cypress/e2e/ILC/NumberLineLabel/manuallyAndNonScoredEditTab.js +2 -1
  177. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/editQuestion.smoke.js +1 -1
  178. package/cypress/e2e/ILC/ShortTextResponseNew/allOrNothingBasicForAllViews.smoke.js +186 -0
  179. package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +35 -51
  180. package/cypress/e2e/ILC/ShortTextResponseNew/headerSection.js +2 -4
  181. package/cypress/e2e/ILC/SingleSelection/editTabBasicSection.js +1 -1
  182. package/cypress/e2e/ILC/SingleSelection/headerSection.js +2 -2
  183. package/cypress/e2e/ILC/SingleSelectionGridNew/editTabBasicSection.js +2 -2
  184. package/cypress/e2e/ILC/SingleSelectionGridNew/headerSection.js +3 -3
  185. package/cypress/e2e/ILC/SingleSelectionGridNew/previewContentsForAllViews.smoke.js +101 -70
  186. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +86 -0
  187. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +86 -0
  188. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  189. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +3 -1
  190. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  191. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  192. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsScoringBasic.js +10 -3
  193. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +4 -2
  194. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +5 -3
  195. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  196. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsScoringBasic.js +4 -0
  197. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +64 -0
  198. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAddEvaluation.js +2 -0
  199. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAlternateAnswer.js +2 -0
  200. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +64 -0
  201. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  202. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  203. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  204. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  205. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsScoringBasic.js +8 -0
  206. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  207. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  208. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  209. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasic.js +1 -0
  210. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasicForAlternateAnswer.js +2 -0
  211. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +2 -0
  212. package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +27 -3
  213. package/cypress/e2e/ILC/TextEntryMath/headerSection.js +43 -0
  214. package/cypress/e2e/ILC/TextSelection/additionalSettings.js +1 -0
  215. package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +231 -0
  216. package/cypress/e2e/ILC/TextSelection/editTabBasicSection.js +2 -2
  217. package/cypress/e2e/ILC/TextSelection/headerSection.js +3 -3
  218. package/cypress/e2e/ILC/TextSelection/minimumScoringPenaltyPointsAndRoundingDropdown.js +1 -0
  219. package/cypress/e2e/ILC/ThinkSphere/createReviewItem.js +1 -1
  220. package/cypress/e2e/ILC/ThinkSphere/editTabBasicSection.js +1 -1
  221. package/cypress/e2e/ILC/ThinkSphere/editThinkSphereQuestion.smoke.js +145 -54
  222. package/cypress/e2e/ILC/ThinkSphere/equationEditorEditCategoryFlyOut.js +2 -0
  223. package/cypress/e2e/ILC/ThinkSphere/planPhase.js +45 -5
  224. package/cypress/e2e/ILC/ThinkSphere/previewTabPlanSection.js +8 -8
  225. package/cypress/e2e/ILC/ThinkSphere/previewTabReviewSection.js +97 -0
  226. package/cypress/e2e/ILC/ThinkSphere/previewTabSolveSection.js +36 -0
  227. package/cypress/e2e/ILC/ThinkSphere/solvePhase.js +3 -3
  228. package/cypress/e2e/ILC/ThinkSphere/studentViewPlanTabSection.js +393 -0
  229. package/cypress/e2e/ILC/ThinkSphere/studentViewReviewTabSection.js +141 -0
  230. package/cypress/e2e/ILC/ToolAudioPlayerNew/headerSection.js +90 -2
  231. package/cypress/e2e/ILC/UploadResponse/editTabBasicSection.js +34 -0
  232. package/cypress/e2e/ILC/UploadResponse/headerSection.js +38 -1
  233. package/cypress/e2e/ILC/UploadResponse/uploadResponsePreview.js +50 -13
  234. package/cypress/e2e/ILC/VideoResponseNew/editTabBasicSection.js +14 -29
  235. package/cypress/e2e/ILC/chartsDotsPlot/headerSection.js +16 -1
  236. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsBasic.js +27 -28
  237. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +31 -30
  238. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +24 -24
  239. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +39 -37
  240. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsBasic.js +22 -23
  241. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +31 -30
  242. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +25 -24
  243. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +31 -31
  244. package/cypress/e2e/ILC/chartsDotsPlot/scoring/toleranceThresholdScoring.js +18 -19
  245. package/cypress/e2e/ILC/chartsDotsPlot/specifyCorrectAnswerSection.js +96 -0
  246. package/cypress/e2e/Sessions/fetchResponses.js +3 -3
  247. package/cypress/e2e/Sessions/saveResponseScores.js +2 -2
  248. package/cypress/fixtures/thinkSphereWhiteboardTools.js +66 -0
  249. package/cypress/pages/audioPlayerPage.js +47 -22
  250. package/cypress/pages/brainingCampManipulativePage.js +1 -1
  251. package/cypress/pages/chartsBarPage.js +45 -0
  252. package/cypress/pages/chartsDotPlotPage.js +25 -0
  253. package/cypress/pages/chartsLinePage.js +28 -3
  254. package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +5 -1
  255. package/cypress/pages/components/chartsCommonComponent.js +6 -2
  256. package/cypress/pages/components/ckEditorEquationEditorComponent.js +1 -0
  257. package/cypress/pages/components/ckEditorInsertImageComponent.js +3 -3
  258. package/cypress/pages/components/ckEditorInsertTableComponent.js +3 -3
  259. package/cypress/pages/components/ckEditorLinkComponent.js +8 -9
  260. package/cypress/pages/components/colorPopupComponent.js +6 -0
  261. package/cypress/pages/components/createQuestionBasePage.js +19 -6
  262. package/cypress/pages/components/draggableOptionsSectionComponent.js +2 -0
  263. package/cypress/pages/components/equationEditorSectionCommonComponent.js +10 -25
  264. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +31 -3
  265. package/cypress/pages/components/gridQuestionCommonComponent.js +55 -2
  266. package/cypress/pages/components/imageCanvasComponent.js +11 -5
  267. package/cypress/pages/components/questionInstructionsComponent.js +2 -0
  268. package/cypress/pages/components/scoringSectionBaseEditTab.js +3 -0
  269. package/cypress/pages/components/specifyRowsAndColumnsComponent.js +16 -0
  270. package/cypress/pages/contentBlocksPage.js +2 -0
  271. package/cypress/pages/desmos3DGraphingPage.js +149 -4
  272. package/cypress/pages/desmosGeometryPage.js +184 -4
  273. package/cypress/pages/drawingResponsePage.js +10 -1
  274. package/cypress/pages/fillInTheGapsDragAndDropPage.js +3 -8
  275. package/cypress/pages/gradingGridViewPage.js +64 -0
  276. package/cypress/pages/graphingPage.js +27 -8
  277. package/cypress/pages/gridFillPage.js +27 -9
  278. package/cypress/pages/imageHighlightPage.js +115 -15
  279. package/cypress/pages/index.js +1 -0
  280. package/cypress/pages/listOrderingPage.js +40 -1
  281. package/cypress/pages/matchingPage.js +29 -10
  282. package/cypress/pages/numberLineLabelPage.js +31 -8
  283. package/cypress/pages/numberLinePage.js +19 -7
  284. package/cypress/pages/singleSelectionPage.js +30 -1
  285. package/cypress/pages/textEntryMathPage.js +24 -1
  286. package/cypress/pages/textSelectionPage.js +2 -2
  287. package/cypress/pages/thinkSpherePage.js +928 -87
  288. package/cypress/pages/uploadResponsePage.js +17 -1
  289. package/cypress/pages/videoResponsePage.js +3 -0
  290. package/cypress/support/commands.js +9 -0
  291. package/cypress/support/helpers/createItem.js +22 -3
  292. package/cypress/support/helpers/utilities.js +14 -1
  293. package/package.json +2 -2
  294. /package/cypress/e2e/ILC/{ChartsDotsPlot → chartsDotsPlot}/checkAnswerFunctionalityForAllViews.js +0 -0
  295. /package/cypress/e2e/ILC/{ChartsDotsPlot → chartsDotsPlot}/editQuestion.smoke.js +0 -0
@@ -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
 
@@ -263,8 +263,17 @@ const steps = {
263
263
  * @description this function selects toolbar option from preview tab
264
264
  */
265
265
  selectPreviewTabToolbarOption: (arialabel) => {
266
+ if (arialabel === 'Line') {
267
+ drawingResponsePage.previewTabDrawingToolbarOption(arialabel)
268
+ .click();
269
+ drawingResponsePage.previewTabDrawingToolbarOption(arialabel)
270
+ .click();
271
+ } else {
272
+ drawingResponsePage.previewTabDrawingToolbarOption(arialabel)
273
+ .click();
274
+ }
266
275
  drawingResponsePage.previewTabDrawingToolbarOption(arialabel)
267
- .click();
276
+ .should('have.class', 'drawing-tool__button--active');
268
277
  },
269
278
 
270
279
  /**
@@ -91,7 +91,7 @@ const steps = {
91
91
  ...styleAndLayoutCustomizationAccordionComponent.steps,
92
92
  ...figCommonStyleAndLayoutComponent.steps,
93
93
  ...draggableOptionsStyleAndLayoutComponent.steps,
94
- ...createItemPage.steps,
94
+ ...createItemPage.steps,
95
95
  /**
96
96
  * Sets options in dropzone in the Preview Tab based on the provided optionsObject.
97
97
  * @param {Object} optionsObject - An object where keys are option texts and values are dropzone indices.
@@ -293,14 +293,9 @@ const steps = {
293
293
  .click();
294
294
  utilities.getNthElement(fillInTheGapsDragAndDropPage.dropzonePreviewTab(), 1)
295
295
  .click();
296
- utilities.getNthElement(fillInTheGapsDragAndDropPage.dropzonePreviewTab(), 1)
297
- .click();
298
- utilities.getNthElement(fillInTheGapsDragAndDropPage.dropzonePreviewTab(), 2)
299
- .click();
300
- fillInTheGapsDragAndDropPage.steps.verifyDropzoneTextPreviewTab(2, '3\nPetals');
301
- fillInTheGapsDragAndDropPage.steps.verifyDropzoneWithImageInPreviewTab(2);
296
+ fillInTheGapsDragAndDropPage.steps.verifyDropzoneTextPreviewTab(1, '2\nPetals');
297
+ fillInTheGapsDragAndDropPage.steps.verifyDropzoneWithImageInPreviewTab(1);
302
298
  fillInTheGapsDragAndDropPage.steps.verifyDropzoneTextPreviewTab(0, '1\nThis is a bold option');
303
- fillInTheGapsDragAndDropPage.steps.verifyDropzoneWithEquationTextInPreviewTab(1);
304
299
  },
305
300
 
306
301
  /**
@@ -0,0 +1,64 @@
1
+ import utilities from "../support/helpers/utilities";
2
+ import { verifyIeQuestionData } from "../support/migrationHelpers/verifyIeQuestionData";
3
+
4
+ const selectors = {
5
+ sessionIdField: () => cy.get('[data-testid="SessionId"]'),
6
+ responseIdField: () => cy.get('[data-testid="ResponseId"]'),
7
+ itemIdField: () => cy.get('[data-testid="ItemId"]'),
8
+ studentIdField: () => cy.get('[data-testid="StudentId"]'),
9
+ launchGradingButton: () => cy.get('[data-testid="launchGrading"]'),
10
+ getGradingViewContainer: (sessionId, itemId, questionNo) =>
11
+ cy.get(`[data-reference="${sessionId}"] [data-reference="${itemId}_${sessionId}"] [class*="GradingViewstyles__SingleQuestionContainer"]`)
12
+ .eq(questionNo),
13
+ getGradingViewforResponseId: (responseId) =>
14
+ cy.get(`[data-reference="${responseId}"]`),
15
+ getQuestionInstruction: () => cy.get('[data-testid = "question-instruction-element"]').eq(0),
16
+ getAnswerStatus: () => cy.get('[class*="indexstyle__AnswerTextWrapper"]'),
17
+ };
18
+
19
+ const steps = {
20
+ /**
21
+ * Adds session data and launches the grading view.
22
+ *
23
+ * @param {Object} params - Parameters for session setup and grading.
24
+ * @param {Array<string>} params.studentIds - Array of studentIds to be graded.
25
+ * @param {Array<string>} params.sessionIds - Array of sessionIds to be graded.
26
+ * @param {Array<string>} params.itemIds - Array of item IDs involved in the session.
27
+ * @param {Array<string>} params.responseIds - Array of response IDs corresponding to each student/item.
28
+ */
29
+ addSessionDataAndLaunchGrading: ({studentIds = [], sessionIds = [], itemIds = [], responseIds = []}) => {
30
+ const students = studentIds.join(", ");
31
+ const sessions = sessionIds.join(", ");
32
+ const items = itemIds.join(", ");
33
+ const responses = responseIds.join(", ");
34
+ sessions && gradingGridViewPage.sessionIdField().clear().type(sessions);
35
+ students && gradingGridViewPage.studentIdField().clear().type(students);
36
+ items && gradingGridViewPage.itemIdField().clear().type(items);
37
+ responses && gradingGridViewPage.responseIdField().clear().type(responses);
38
+ gradingGridViewPage.launchGradingButton().click();
39
+ },
40
+
41
+ /**
42
+ * Verifies the session data displayed in the grading view container for a specific question.
43
+ *
44
+ * @param {string} sessionId - The unique identifier for the session.
45
+ * @param {string} itemId - The unique identifier for the item within the session.
46
+ * @param {number} questionNo - The zero-based index of the question to verify.
47
+ * @param {string} questionInstruction - The expected instruction text for the question.
48
+ * @param {string} answerStatus - The expected answer status (e.g., "Answered", "Not Answered").
49
+ */
50
+ verifySessionData: (sessionId, itemId, questionNo, questionInstruction, answerStatus) => {
51
+ gradingGridViewPage.getGradingViewContainer(sessionId, itemId, questionNo)
52
+ .within(() => {
53
+ gradingGridViewPage.getQuestionInstruction()
54
+ .should('contain.text', questionInstruction);
55
+ gradingGridViewPage.getAnswerStatus()
56
+ .should('contain.text', answerStatus);
57
+ });
58
+ },
59
+ };
60
+
61
+ export const gradingGridViewPage = {
62
+ ...selectors,
63
+ steps
64
+ };
@@ -1,5 +1,6 @@
1
1
  import utilities from "../support/helpers/utilities";
2
2
  import { questionInstructionsComponent, createQuestionBasePage, scoringSectionBaseEditTab, autoScoredScoringPreviewTab, autoScoredStudentViewSettings, autoScoredSpecifyCorrectAnswerSection, commonComponents, backgroundImageUploadComponent, imageCanvasComponent, opacityComponent, autoScoredScoringSectionMultiResponseType, additionalSettingsPanel, additionalSettingsAccessibilitySectionComponent, toolsAndControlsComponent, resetPopupComponent, defaultToolDropdown } from "./components";
3
+ import { createItemPage } from "./createItemPage";
3
4
  const css = Cypress.env('css');
4
5
 
5
6
  const selectors = {
@@ -262,6 +263,7 @@ const steps = {
262
263
  ...toolsAndControlsComponent.steps,
263
264
  ...resetPopupComponent.steps,
264
265
  ...defaultToolDropdown.steps,
266
+ ...createItemPage.steps,
265
267
 
266
268
  //Edit tab
267
269
  checkPatternBackground: () => {
@@ -1767,7 +1769,27 @@ const steps = {
1767
1769
  verifyAcceptRepeatedPointsToggleChecked: () => {
1768
1770
  graphingPage.acceptRepeatedPointsToggle()
1769
1771
  .should('have.attr', 'aria-pressed', 'true');
1770
- }
1772
+ },
1773
+
1774
+ verifyAnswerStatusBannerNotExist: () => {
1775
+ graphingPage.correctIncorrectStatusMessageText()
1776
+ .should('not.exist');
1777
+ },
1778
+
1779
+ verifyAnswerStatusBannerExist: () => {
1780
+ graphingPage.correctIncorrectStatusMessageText()
1781
+ .should('be.visible');
1782
+ },
1783
+
1784
+ verifyCorrectAnswerSectionExist: () => {
1785
+ graphingPage.correctAnswerLabel()
1786
+ .should('be.visible');
1787
+ },
1788
+
1789
+ verifyCorrectAnswerSectionNotExist: () => {
1790
+ graphingPage.correctAnswerLabel()
1791
+ .should('not.exist');
1792
+ },
1771
1793
  }
1772
1794
 
1773
1795
  const tests = {
@@ -1806,28 +1828,25 @@ const tests = {
1806
1828
  graphingPage.steps.verifyPointsPlottedOnSpecifyCorrectAnswerSection([{ x: 0, xRange: 20, y: 1, yRange: 20 }, { x: 0, xRange: 20, y: 2, yRange: 20 }]);
1807
1829
  });
1808
1830
 
1809
- it(`When the user resets the graph in the ${accordionName} accordion, \'Error: Please set a correct answer.\' error message should be thrown along with an error icon on the \'${accordionName}\' accordion`, () => {
1831
+ it(`When the user resets the graph in the ${accordionName} accordion, error message should not be thrown along with an error icon on the '${accordionName}' accordion`, () => {
1810
1832
  graphingPage.graphControlOptionSpecifyCorrectAnswer('Reset')
1811
1833
  .click();
1812
1834
  graphingPage.resetPopupConfirmResetButton()
1813
1835
  .click();
1814
- utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'visible')
1815
- utilities.verifyInnerText(commonComponents.errorMessage(), 'Error: Please set a correct answer.');
1836
+ utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'notExist');
1816
1837
  if (accordionName == 'Correct') {
1817
1838
  autoScoredSpecifyCorrectAnswerSection.correctAnswerAccordion()
1818
1839
  .within(() => {
1819
- utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'visible');
1840
+ utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'notExist');
1820
1841
  });
1821
1842
  } else {
1822
1843
  autoScoredSpecifyCorrectAnswerSection.alternativeAnswerAccordion()
1823
1844
  .within(() => {
1824
- utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'visible');
1845
+ utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'notExist');
1825
1846
  });
1826
1847
  };
1827
1848
  });
1828
1849
 
1829
- autoScoredSpecifyCorrectAnswerSection.tests.verifyAutoScoredCorrectAnswerErrorMessageCSSAndA11y();
1830
-
1831
1850
  it('When the user plots on the graph then the error message should disappear', () => {
1832
1851
  graphingPage.steps.selectGraphToolOptionSpecifyCorrectAnswer('Circle');
1833
1852
  graphingPage.steps.plotPointsOnGraphSpecifyCorrectAnswerSection([{ x: 0, xRange: 20, y: 1, yRange: 20 }, { x: 0, xRange: 20, y: 2, yRange: 20 }]);