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
@@ -1,5 +1,5 @@
1
1
  import utilities from "../support/helpers/utilities";
2
- import { commonComponents, createQuestionBasePage, questionInstructionsComponent, additionalSettingsPanel, scoringSectionBaseEditTab, additionalSettingsAccessibilitySectionComponent, studentViewSettingsLabelComponent, hideExpressionListComponent } from "./components";
2
+ import { commonComponents, createQuestionBasePage, questionInstructionsComponent, additionalSettingsPanel, scoringSectionBaseEditTab, additionalSettingsAccessibilitySectionComponent, studentViewSettingsLabelComponent, hideExpressionListComponent, toolSettingsComponent } from "./components";
3
3
  import { desmosToolComponent } from "./components/desmosToolComponent";
4
4
  const css = Cypress.env('css');
5
5
 
@@ -10,7 +10,7 @@ const selectors = {
10
10
  ...additionalSettingsPanel,
11
11
  ...questionInstructionsComponent,
12
12
  desmosGraphingTool: () => cy.get('[id*="desmos-graph-tool"]'),
13
- desmosGraphingToolExpressionPanel: () => cy.get('[id*="desmos-graph-tool"] .dcg-exppanel-container.dcg-add-shadow'),
13
+ desmosGraphingToolExpressionPanel: () => cy.get('.dcg-exppanel-container'),
14
14
  studentViewSettingsLabel: () => cy.get('[class*="StudentViewWrapper"]'),
15
15
  hideExpressionListLabel: () => cy.get('[data-ngie-testid="hide-expression-list-checkbox"] .MuiFormControlLabel-label'),
16
16
  hideExpressionListCheckbox: () => cy.get('[data-ngie-testid="hide-expression-list-checkbox"] input'),
@@ -36,6 +36,18 @@ const selectors = {
36
36
  errorMessage: () => cy.get('.error-text-message'),
37
37
  resourceLinkPreviewTitle: () => cy.get('[class*="DesmosGraphingstyles__ResourceLinkPreviewLabel"]'),
38
38
  desmosComponent: () => cy.get('[class*="DesmosGraphingstyles__DesmosComponentWrapper"]'),
39
+ desmosComponentGradingView: () => cy.get('[class*="DesmosGraphingPreviewstyles__DesmosWrapper"]'),
40
+ widthLabel: () => cy.get('[class*="StudentViewSettingsstyles__LabelInputWrapper"]').eq(0),
41
+ heightLabel: () => cy.get('[class*="StudentViewSettingsstyles__LabelInputWrapper"]').eq(1),
42
+ lockUnlockAspectRatioButton: () => cy.get('[class*="StudentViewSettingsstyles__LockIconWrapper"] button'),
43
+ resetButton: () => cy.get('[class*="StudentViewSettingsstyles__ResetIconWrapper"] button'),
44
+ desmosResourceCanvasEditTab: () => cy.get('[id*="desmos-geometry-tool"]'),
45
+ desmosResourceCanvasPreviewTab: () => cy.get('[class*="DesmosGraphingPreviewstyles__DesmosPreview"]'),
46
+ widthInputField: () => cy.get('[class*="StudentViewSettingsstyles__DimensionWrapper"] .text-input-field input').eq(0),
47
+ heightInputField: () => cy.get('[class*="StudentViewSettingsstyles__DimensionWrapper"] .text-input-field input').eq(1),
48
+ addIconDesmos: () => cy.get('.dcg-add-expression-container .dcg-icon-plus'),
49
+ expressionInputField: () => cy.get('.dcg-action-newmath'),
50
+ editIconPencil: () => cy.get('.icon-pencil'),
39
51
  }
40
52
 
41
53
  const steps = {
@@ -45,6 +57,7 @@ const steps = {
45
57
  ...additionalSettingsPanel.steps,
46
58
  ...questionInstructionsComponent.steps,
47
59
  ...commonComponents.steps,
60
+ ...toolSettingsComponent.steps,
48
61
  verifyHideExpressionListCheckboxUnchecked: () => {
49
62
  desmosGeometryPage.hideExpressionListCheckbox()
50
63
  .should('not.be.checked');
@@ -262,10 +275,162 @@ const steps = {
262
275
  },
263
276
  clearInputToInsertResourceLinkInputField: () => {
264
277
  desmosGeometryPage.insertResourceLinkInputField()
265
- .clear();
278
+ .click()
279
+ desmosGeometryPage.insertResourceLinkInputField()
280
+ .type('{selectall}{backspace}')
266
281
  cy.get('body')
267
282
  .click();
268
283
  },
284
+ verifyLockedStateOfLockUnlockAspectRatioButton: () => {
285
+ desmosGeometryPage.lockUnlockAspectRatioButton()
286
+ .should('have.attr', 'aria-label', 'Locked aspect ratio');
287
+ },
288
+ verifyUnlockedStateOfLockUnlockAspectRatioButton: () => {
289
+ desmosGeometryPage.lockUnlockAspectRatioButton()
290
+ .should('have.attr', 'aria-label', 'Unlocked aspect ratio');
291
+ },
292
+ /**
293
+ * @description add input to width input field
294
+ * @param {number} width Width to be set for geoGebra resource
295
+ */
296
+ addInputToWidthInputField: (width) => {
297
+ desmosGeometryPage.widthInputField()
298
+ .clear()
299
+ .type(width)
300
+ .blur();
301
+ utilities.verifyInputFieldValue(desmosGeometryPage.widthInputField(), width);
302
+ },
303
+ /**
304
+ * @description add input to height input field
305
+ * @param {number} height Height to be set for geoGebra resource
306
+ */
307
+ addInputToHeightInputField: (height) => {
308
+ desmosGeometryPage.heightInputField()
309
+ .clear()
310
+ .type(height)
311
+ .blur();
312
+ utilities.verifyInputFieldValue(desmosGeometryPage.heightInputField(), height);
313
+ },
314
+ /**
315
+ * Verify width of geoGebra resource canvas in edit tab
316
+ * @param {number} width Width of geoGebra resource canvas in edit tab
317
+ */
318
+ verifyCanvasWidthEditTab: (width) => {
319
+ utilities.verifyCSS(desmosGeometryPage.desmosResourceCanvasEditTab(), {
320
+ 'width': `${width}px`
321
+ });
322
+ },
323
+ /**
324
+ * Verify height of geoGebra resource canvas in edit tab
325
+ * @param {number} height Height of geoGebra resource canvas in edit tab
326
+ */
327
+ verifyCanvasHeightEditTab: (height) => {
328
+ utilities.verifyCSS(desmosGeometryPage.desmosResourceCanvasEditTab(), {
329
+ 'height': `${height}px`
330
+ });
331
+ },
332
+ clickOnResetButton: () => {
333
+ desmosGeometryPage.resetButton()
334
+ .click();
335
+ },
336
+ clickOnLockUnlockAspectRatioButton: () => {
337
+ desmosGeometryPage.lockUnlockAspectRatioButton()
338
+ .click();
339
+ },
340
+ /**
341
+ * Verify width of geoGebra resource canvas in preview tab
342
+ * @param {number} width Width of geoGebra resource canvas in preview tab
343
+ */
344
+ verifyCanvasWidthPreviewTab: (width) => {
345
+ utilities.verifyCSS(desmosGeometryPage.desmosResourceCanvasPreviewTab(), {
346
+ 'width': `${width}px`
347
+ });
348
+ },
349
+ /**
350
+ * Verify height of geoGebra resource canvas in preview tab
351
+ * @param {number} height Height of geoGebra resource canvas in preview tab
352
+ */
353
+ verifyCanvasHeightPreviewTab: (height) => {
354
+ utilities.verifyCSS(desmosGeometryPage.desmosResourceCanvasPreviewTab(), {
355
+ 'height': `${height}px`
356
+ });
357
+ },
358
+ /**
359
+ * @param {number} width holds value of width attribute
360
+ * @description function updates width in input field
361
+ */
362
+ updateWidth: (width) => {
363
+ desmosGeometryPage.widthInputField()
364
+ .clear()
365
+ .type(width);
366
+ },
367
+ /**
368
+ * @param {number} width holds value of width attribute
369
+ * @description function verifies width in input field
370
+ */
371
+ verifyWidth: (width) => {
372
+ desmosGeometryPage.widthInputField()
373
+ .should('have.value', width);
374
+ },
375
+ /**
376
+ * @param {number} height holds value of height attribute
377
+ * @description function updates height in input field
378
+ */
379
+ updateHeight: (height) => {
380
+ desmosGeometryPage.heightInputField()
381
+ .clear()
382
+ .type(height);
383
+ },
384
+ /**
385
+ * @param {number} height holds value of height attribute
386
+ * @description function verifies height in input field
387
+ */
388
+ verifyHeight: (height) => {
389
+ desmosGeometryPage.heightInputField()
390
+ .should('have.value', height);
391
+ },
392
+ /**
393
+ * @description Types a mathematical expression in the Desmos expression input field
394
+ * @param {string} expression The mathematical expression to type
395
+ */
396
+ typeExpression: (expression) => {
397
+ desmosGeometryPage.expressionInputField()
398
+ .click();
399
+ desmosGeometryPage.expressionInputField()
400
+ .type(expression);
401
+ },
402
+ /**
403
+ * @description Verifies that the specified expression is not present in the Desmos expression field
404
+ * @param {string} expression The expression that should not be present
405
+ */
406
+ verifyExpressionNotPresent: (expression) => {
407
+ desmosGeometryPage.expressionInputField()
408
+ .should('not.contain', expression);
409
+ },
410
+ editQuestionItemView: () => {
411
+ desmosGeometryPage.editIconPencil()
412
+ .click();
413
+ },
414
+ verifyFontSizeDropdown: (fontSize) => {
415
+ desmosGeometryPage.fontSizeDropdown()
416
+ .should('have.text', fontSize);
417
+ },
418
+ verifyTeacherGuidelinesInputField: (text) => {
419
+ desmosGeometryPage.additionalSettingsTeacherGuidelinesInputField()
420
+ .should('have.text', text);
421
+ },
422
+ verifySampleAnswerInputField: (text) => {
423
+ desmosGeometryPage.additionalSettingsSampleAnswerInputField()
424
+ .should('have.text', text);
425
+ },
426
+ verifyAcknowledgementsInputField: (text) => {
427
+ desmosGeometryPage.additionalSettingsAcknowledgementsInputField()
428
+ .should('have.text', text);
429
+ },
430
+ verifyFlagThisItemNonAccessibleCheckboxIsChecked: () => {
431
+ desmosGeometryPage.flagNonAccessibleCheckbox()
432
+ .should('be.checked');
433
+ },
269
434
  }
270
435
 
271
436
  const tests = {
@@ -285,7 +450,7 @@ const tests = {
285
450
  utilities.verifyElementVisibilityState(desmosToolComponent.previewTabDesmosToolKeypadButton(), 'exist');
286
451
  });
287
452
  },
288
-
453
+
289
454
  verifyErrorMessageCSSAndA11y: () => {
290
455
  it('CSS of error message', { tags: 'css' }, () => {
291
456
  utilities.verifyCSS(desmosGeometryPage.errorMessage(), {
@@ -298,6 +463,21 @@ const tests = {
298
463
  it('Accessibility of error message', { tags: 'a11y' }, () => {
299
464
  cy.checkAccessibility(commonComponents.nextGenCreateItemWrapper());
300
465
  });
466
+ },
467
+
468
+ verifyQuestionInstructionsInputFieldPreviewTab: () => {
469
+ it('When user has not entered any text in the Question instructions input field in the \'Edit\' tab then nothing should be displayed in the \'Preview\' tab', () => {
470
+ createQuestionBasePage.steps.switchToPreviewTab();
471
+ //Failing due to https://redmine.zeuslearning.com/issues/553382
472
+ utilities.verifyTextContent(questionInstructionsComponent.questionInstructionsText(), '')
473
+ });
474
+
475
+ it('When the user specifies question instructions, then the added question instructions should be displayed in the \'Preview\' tab', () => {
476
+ createQuestionBasePage.steps.switchToEditTab();
477
+ questionInstructionsComponent.steps.addTextInQuestionInstructionsInputField('Which of the following is the major contributor to increased carbon dioxide levels because of urbanization? Select your answer from the options below.');
478
+ createQuestionBasePage.steps.switchToPreviewTab();
479
+ utilities.verifyTextContent(questionInstructionsComponent.questionInstructionsTextPreviewTab(), 'Which of the following is the major contributor to increased carbon dioxide levels because of urbanization? Select your answer from the options below.');
480
+ });
301
481
  }
302
482
  }
303
483
 
@@ -265,6 +265,8 @@ const steps = {
265
265
  selectPreviewTabToolbarOption: (arialabel) => {
266
266
  drawingResponsePage.previewTabDrawingToolbarOption(arialabel)
267
267
  .click();
268
+ drawingResponsePage.previewTabDrawingToolbarOption(arialabel)
269
+ .should('have.class', 'drawing-tool__button--active');
268
270
  },
269
271
 
270
272
  /**
@@ -650,12 +652,12 @@ const steps = {
650
652
  clickOnCancelIconOfCaptureImage: () => {
651
653
  drawingResponsePage.captureCancelImageIcon()
652
654
  .should('exist')
653
- .click();
655
+ .click({ force: true });
654
656
  },
655
657
 
656
658
  clickOnCaptureButtonOfCaptureImage: () => {
657
659
  drawingResponsePage.captureImageButton()
658
- .click();
660
+ .click({ force: true });
659
661
  },
660
662
 
661
663
  verifyCaptureImageIsVisible: () => {
@@ -679,13 +681,13 @@ const steps = {
679
681
  clickOnRetakeButton: () => {
680
682
  drawingResponsePage.retakeButton()
681
683
  .should('exist')
682
- .click();
684
+ .click({ force: true });
683
685
  },
684
686
 
685
687
  clickOnSaveButton: () => {
686
688
  drawingResponsePage.saveButton()
687
689
  .should('exist')
688
- .click();
690
+ .click({ force: true });
689
691
  },
690
692
 
691
693
  verifyCameraIsVisible: () => {
@@ -288,7 +288,7 @@ const steps = {
288
288
 
289
289
  verifyNoImageAlternativeTextPresentInPreviewTab: () => {
290
290
  imageCanvasComponent.canvasImageInPreviewTab()
291
- .should('have.attr', 'alt', 'highlightImage.jpg');
291
+ .should('have.attr', 'alt', 'highlightImage');
292
292
  },
293
293
  /**
294
294
  * @param {string} element denotes element
@@ -15,6 +15,14 @@ const steps = {
15
15
  gradingViewPage.scoredPointsInputField()
16
16
  .should('have.value', scoredPoints);
17
17
  utilities.verifyTextContent(gradingViewPage.TotalPoints(), `/ ${TotalPoints} points`)
18
+ },
19
+
20
+ /**
21
+ * @description Verify that scores are not displayed in grading view for non scored questions
22
+ */
23
+ verifyScoresNotVisibleForNonScoredQuestions: () => {
24
+ utilities.verifyElementVisibilityState(gradingViewPage.scoredPointsInputField(),'notExist'),
25
+ utilities.verifyElementVisibilityState(gradingViewPage.TotalPoints(),'notExist')
18
26
  }
19
27
  }
20
28
 
@@ -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 }]);
@@ -174,7 +174,8 @@ const selectors = {
174
174
  correctAnswerLabel: () => cy.get('[class*="GridFillResponsestyles__CorrectAnswerLabel"]'),
175
175
  warningMessageContainer: () => cy.get('.disabled-wrapper-cls'),
176
176
  warningMessage: () => cy.get('.disabled-wrapper-cls [class*="DisabledTextWrapper"]'),
177
- resetButton: () => cy.get('[class*="reset-color-wrapper"] button')
177
+ resetButton: () => cy.get('[class*="reset-color-wrapper"] button'),
178
+ scoringTypeLabelPreviewTab: () => cy.get('[class*="ScoringPreviewBandstyles__ScoreWrapper"]'),
178
179
  }
179
180
 
180
181
  const steps = {
@@ -2850,6 +2851,15 @@ const steps = {
2850
2851
  scoringSectionBaseEditTab.pointsInputField()
2851
2852
  .eq(0)
2852
2853
  .should('have.value', points)
2854
+ },
2855
+
2856
+ /**
2857
+ * @param {String} ScoringType - Scoring Type to check label with.
2858
+ * @description - It will check the parameter scoring type string with the scoring type on top left of tab.
2859
+ */
2860
+ checkScoringLabel: (scoringType) => {
2861
+ autoScoredScoringPreviewTab.scoringTypeLabelPreviewTab()
2862
+ .should('have.text', scoringType);
2853
2863
  }
2854
2864
  }
2855
2865
 
@@ -2923,19 +2933,18 @@ const tests = {
2923
2933
  gridFillPage.steps.selectCellSpecifyCorrectAnswerSection(0, 0);
2924
2934
  });
2925
2935
 
2926
- it(`When user deselect all the cells in the grid in the ${accordionName} accordion, \'Error: Please set a correct answer.\' error message should be thrown along with an error icon on the \'${accordionName}\' accordion`, () => {
2936
+ it(`When user deselect all the cells in the grid in the ${accordionName} accordion, \'Error: Please set a correct answer.\' error message should not be displayed \'${accordionName}\' accordion`, () => {
2927
2937
  gridFillPage.steps.deselectCellSpecifyCorrectAnswerSection(0, 0);
2928
- utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'visible')
2929
- utilities.verifyInnerText(commonComponents.errorMessage(), 'Error: Please set a correct answer.');
2938
+ commonComponents.steps.verifyErrorMessageIsNotDisplayed();
2930
2939
  if (accordionName == 'Correct') {
2931
2940
  autoScoredSpecifyCorrectAnswerSection.correctAnswerAccordion()
2932
2941
  .within(() => {
2933
- utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'visible');
2942
+ utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'notExist');
2934
2943
  });
2935
2944
  } else {
2936
2945
  autoScoredSpecifyCorrectAnswerSection.alternativeAnswerAccordion()
2937
2946
  .within(() => {
2938
- utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'visible');
2947
+ utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'notExist');
2939
2948
  });
2940
2949
  };
2941
2950
  });
@@ -40,6 +40,7 @@ const selectors = {
40
40
  questionDropdownBorderPreviewTab: () => cy.get('[class*="ListOrderingResponsestyles__DroppableDiv"]'),
41
41
  //grading view and correct answer view
42
42
  optionGradingView: () => cy.get('[class*="DraggableItemsWrapper"] [class*="OptionTextWrapper"]'),
43
+ correctIncorrectStatusMessageText: () => cy.get('[class*="AnswerStatusText"]'),
43
44
  optionWrapperGradingView: () => cy.get('[class*="DraggableItemsWrapper"] [class*="OptionsWrapper"]'),
44
45
  //Orientation and layout
45
46
  orderingLayoutLabel: () => cy.get('.list-ordering-order-layout .options-label'),
@@ -105,6 +106,7 @@ const selectors = {
105
106
  optionOrientationSeparateList: () => cy.get('[class*="ClozeWithDragAndDropstyles__DraggableItemsGrid"]'),
106
107
  specifyCorrectAnswerSectionMyListLabel: () => cy.get('[class*="ReorderAsSeparatestyles__TitleContainer"]'),
107
108
  outerBorderPreviewSeparateList: () => cy.get('[class*="ReorderAsSeparatestyles__ReorderSeparateWrapper"]'),
109
+ emptyDropzoneList: () => cy.get('[class*="ClozeWithDragAndDropstyles__PlaceHolderDiv"]:not(:has(*))'),
108
110
 
109
111
  //Style and layout
110
112
  optionsLabel: () => cy.get('.draggable-options-label'),
@@ -1532,6 +1534,15 @@ const steps = {
1532
1534
  .click();
1533
1535
  },
1534
1536
 
1537
+ clickAndResetDropOptionSeperateList: (optionsText) => {
1538
+ listOrderingPage.dropzoneSeperateList()
1539
+ .contains(optionsText)
1540
+ .click();
1541
+ listOrderingPage.emptyDropzoneList()
1542
+ .first()
1543
+ .click();
1544
+ },
1545
+
1535
1546
  clickAndUnDropOptionSeperateList: (optionsText) => {
1536
1547
  listOrderingPage.dropzoneSeperateList()
1537
1548
  .contains(optionsText)
@@ -1761,7 +1772,27 @@ const steps = {
1761
1772
  optionsTextArray.forEach((option, optionIndex) => {
1762
1773
  utilities.verifyTextContent(utilities.getNthElement(listOrderingPage.optionsInputFieldInQuestionPreviewTab(), optionIndex * 2), option);
1763
1774
  });
1764
- }
1775
+ },
1776
+
1777
+ verifyAnswerStatusBannerNotExist: () => {
1778
+ listOrderingPage.correctIncorrectStatusMessageText()
1779
+ .should('not.exist');
1780
+ },
1781
+
1782
+ verifyAnswerStatusBannerExist: () => {
1783
+ listOrderingPage.correctIncorrectStatusMessageText()
1784
+ .should('be.visible');
1785
+ },
1786
+
1787
+ verifyCorrectAnswerSectionExist: () => {
1788
+ listOrderingPage.correctAnswersLabel()
1789
+ .should('be.visible');
1790
+ },
1791
+
1792
+ verifyCorrectAnswerSectionNotExist: () => {
1793
+ listOrderingPage.correctAnswersLabel()
1794
+ .should('not.exist');
1795
+ },
1765
1796
  }
1766
1797
 
1767
1798
  const tests = {
@@ -194,6 +194,7 @@ const selectors = {
194
194
  connectorLineTypeLabel: () => cy.get('[class*="__SubSectionLabel"]').eq(2),
195
195
  connectorLine: () => cy.get('[class*="ClozeWithDragAndDropstyles__ShowIconWrapper"]:visible'),
196
196
  optionsInputFieldInQuestionPreviewTab: () => cy.get('.draggable-selected-item'),
197
+ correctAnswerSection: () => cy.get('[class*=CorrectAnswerWrapperDND]'),
197
198
  }
198
199
 
199
200
  const steps = {
@@ -2648,7 +2649,27 @@ const steps = {
2648
2649
  optionsTextArray.forEach((option, optionIndex) => {
2649
2650
  utilities.verifyTextContent(utilities.getNthElement(matchingPage.optionsInputFieldInQuestionPreviewTab(), optionIndex), option);
2650
2651
  });
2651
- }
2652
+ },
2653
+
2654
+ verifyAnswerStatusBannerNotExist: () => {
2655
+ matchingPage.correctIncorrectAnswerLabel()
2656
+ .should('not.exist');
2657
+ },
2658
+
2659
+ verifyAnswerStatusBannerExist: () => {
2660
+ matchingPage.correctIncorrectAnswerLabel()
2661
+ .should('be.visible');
2662
+ },
2663
+
2664
+ verifyCorrectAnswerSectionExist: () => {
2665
+ matchingPage.correctAnswerSection()
2666
+ .should('be.visible');
2667
+ },
2668
+
2669
+ verifyCorrectAnswerSectionNotExist: () => {
2670
+ matchingPage.correctAnswerSection()
2671
+ .should('not.exist');
2672
+ },
2652
2673
  }
2653
2674
 
2654
2675
  const tests = {
@@ -2760,7 +2781,7 @@ const tests = {
2760
2781
  .eq(inputFieldIndex)
2761
2782
  .click()
2762
2783
  .blur();
2763
- utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'exist');
2784
+ utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'notExist');
2764
2785
  });
2765
2786
 
2766
2787
  it('User should be able to enter text in options input field', () => {
@@ -3061,14 +3082,13 @@ const tests = {
3061
3082
  matchingPage.steps.clickAndDropOptionInDropzoneSpecifyCorrectAnswerSection([{ optionText: 'Petals', dropzoneIndex: 0 }]);
3062
3083
  });
3063
3084
 
3064
- it(`When the user has removed all the options from the dropzone in the ${accordionName} accordion, \'Error: Please set a correct answer.\' error message should be thrown along with an error icon on the \'${accordionName}\' accordion`, () => {
3085
+ it(`When the user has removed all the options from the dropzone in the ${accordionName} accordion, should not be thrown any error in '${accordionName}' accordion`, () => {
3065
3086
  matchingPage.steps.clickAndDropOptionInOptionsContainerInSpecifyCorrectAnswerSection('Petals');
3066
- utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'visible')
3067
- utilities.verifyInnerText(commonComponents.errorMessage(), 'Error: Please set a correct answer.');
3087
+ commonComponents.steps.verifyErrorMessageIsNotDisplayed();
3068
3088
  if (accordionName == 'Correct') {
3069
3089
  autoScoredSpecifyCorrectAnswerSection.correctAnswerAccordion()
3070
3090
  .within(() => {
3071
- utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'visible');
3091
+ utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'notExist');
3072
3092
  });
3073
3093
  } else {
3074
3094
  autoScoredSpecifyCorrectAnswerSection.alternativeAnswerAccordion()
@@ -3078,7 +3098,6 @@ const tests = {
3078
3098
  };
3079
3099
  });
3080
3100
 
3081
- autoScoredSpecifyCorrectAnswerSection.tests.verifyAutoScoredCorrectAnswerErrorMessageCSSAndA11y();
3082
3101
 
3083
3102
  it('CSS of the dropzone border', { tags: 'css' }, () => {
3084
3103
  utilities.verifyCSS(matchingPage.dropzoneSpecifyCorrectAnswerSection().eq(0), {
@@ -855,7 +855,7 @@ const steps = {
855
855
 
856
856
  verifyCorrectAnswerSectionExist: () => {
857
857
  multipleSelectionPage.correctAnswerSectionWrapper()
858
- .should('not.exist');
858
+ .should('exist');
859
859
  },
860
860
 
861
861
  verifyAnswerBannerNotExist: () => {
@@ -891,7 +891,15 @@ const steps = {
891
891
  optionsTextArray.forEach((option, optionIndex) => {
892
892
  utilities.verifyTextContent(utilities.getNthElement(multipleSelectionPage.optionsInputFieldInQuestionPreviewTab(), optionIndex), option);
893
893
  });
894
- }
894
+ },
895
+
896
+ /**
897
+ * Clicks on the save question button.
898
+ */
899
+ clickOnSaveQuestionButtonWithForceTrue: () => {
900
+ createQuestionBasePage.saveQuestionButton()
901
+ .click({force:true});
902
+ },
895
903
  }
896
904
 
897
905
  const tests = {
@@ -914,43 +922,6 @@ const tests = {
914
922
  ...ckEditorInsertTableComponent.tests,
915
923
  ...ckEditorInsertImageComponent.tests,
916
924
  ...ckEditorLinkComponent.tests,
917
- verifyPreviewModesAndScoreWhenPointsAndCorrectAnswersIsNotSet: () => {
918
- 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', () => {
919
- utilities.verifyInnerText(autoScoredScoringPreviewTab.studentViewRadioButtonLabel(), 'Student view');
920
- utilities.verifyInnerText(autoScoredScoringPreviewTab.gradingViewRadioButtonLabel(), 'Grading view');
921
- autoScoredScoringPreviewTab.studentViewRadioButton()
922
- .should('be.checked');
923
- autoScoredScoringPreviewTab.gradingViewRadioButton()
924
- .should('not.be.checked');
925
- autoScoredScoringPreviewTab.steps.checkManuallyScoredScoringLabel();
926
- autoScoredScoringPreviewTab.steps.verifyCorrectIncorrectIconsNotExist();
927
- });
928
-
929
- it('CSS of Preview mode contents', { tags: 'css' }, () => {
930
- utilities.verifyCSS(autoScoredScoringPreviewTab.studentViewRadioButtonLabel(), {
931
- 'color': css.color.labelText,
932
- 'font-size': css.fontSize.normal,
933
- 'font-weight': css.fontWeight.regular
934
- });
935
- utilities.verifyCSS(autoScoredScoringPreviewTab.gradingViewRadioButtonLabel(), {
936
- 'color': css.color.labelText,
937
- 'font-size': css.fontSize.normal,
938
- 'font-weight': css.fontWeight.regular
939
- });
940
- utilities.verifyCSS(autoScoredScoringPreviewTab.scoreLabelPreviewTab(), {
941
- 'color': css.color.codeBlockText,
942
- 'font-size': css.fontSize.default,
943
- 'font-weight': css.fontWeight.bold
944
- });
945
- utilities.verifyCSS(autoScoredScoringPreviewTab.studentViewRadioButton().parent().find('svg'), {
946
- 'fill': css.color.activeButtons
947
- });
948
- utilities.verifyCSS(autoScoredScoringPreviewTab.gradingViewRadioButton().parent().find('svg path'), {
949
- 'fill': css.color.uncheckedCheckbox
950
- });
951
- });
952
- },
953
-
954
925
  /**
955
926
  * Verifies the contents and functionality of the 'Specify correct answer' accordion for multiple selection questions.
956
927
  * @param {{'Correct' | 'Alternative'}} accordionName - The name of the accordion to be used in the validation.