itemengine-cypress-automation 1.0.377 → 1.0.378-fullExecutionFixes-5fff71f.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 (276) 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/BrowseItems/browseReviewItems.js +39 -7
  8. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/gradingViewAndCorrectAnswerView.smoke.js +1 -1
  9. package/cypress/e2e/ILC/ChartsBar/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +33 -0
  10. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightBasic.js +25 -25
  11. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +37 -36
  12. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +37 -36
  13. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +37 -36
  14. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -0
  15. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightBasic.js +26 -25
  16. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +39 -38
  17. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +31 -30
  18. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +35 -34
  19. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePointsLocked.js +247 -0
  20. package/cypress/e2e/ILC/ChartsBar/editQuestion.smoke.js +1 -1
  21. package/cypress/e2e/ILC/ChartsBar/editTabBasicSection.js +37 -0
  22. package/cypress/e2e/ILC/ChartsBar/headerSection.js +50 -2
  23. package/cypress/e2e/ILC/ChartsBar/specifyCorrectAnswerSection.js +92 -0
  24. package/cypress/e2e/ILC/ChartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePointsLocked.js +220 -0
  25. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightBasic.js +25 -25
  26. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +47 -46
  27. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +25 -24
  28. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +25 -24
  29. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -0
  30. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightBasic.js +25 -25
  31. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +24 -23
  32. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +21 -20
  33. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +48 -46
  34. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePointsLocked.js +249 -0
  35. package/cypress/e2e/ILC/ChartsLine/editQuestion.smoke.js +3 -1
  36. package/cypress/e2e/ILC/ChartsLine/headerSection.js +18 -1
  37. package/cypress/e2e/ILC/ChartsLine/specifyCorrectAnswerSection.js +94 -0
  38. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddFeatureRadioButton.js +2 -3
  39. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddTranscriptRadioButton .js +2 -4
  40. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabStudentViewSettings.js +3 -3
  41. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerHeaderSectionAndButtons.js +2 -2
  42. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTab.js +1 -1
  43. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabSupportedFileTypes.js +6 -0
  44. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabTranscript.js +2 -3
  45. package/cypress/e2e/ILC/CkEditorEquationEditor/equationEditorBasicFile.js +4 -4
  46. package/cypress/e2e/ILC/CkEditorInsertImage/imageInfo.js +4 -4
  47. package/cypress/e2e/ILC/CkEditorInsertTable/tableDimension&FooterProperties.js +3 -3
  48. package/cypress/e2e/ILC/CkEditorInsertTable/tableStyle.js +11 -11
  49. package/cypress/e2e/ILC/CkEditorLink/uploadSection.js +1 -1
  50. package/cypress/e2e/ILC/ContentBlocks/editTabBasics.js +63 -4
  51. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +116 -7
  52. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabScoring.js +1 -0
  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/editCategoryFlyout.js +0 -1
  62. package/cypress/e2e/ILC/EssayResponse/editTabBasicSections.js +23 -37
  63. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +210 -0
  64. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/draggableOptions.js +2 -0
  65. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViewInIncompleteAuthoring.smoke.js +7 -7
  66. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editQuestion.smoke.js +40 -0
  67. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +216 -0
  68. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editQuestion.smoke.js +45 -0
  69. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/responseAnswersAndAcceptedStudentInput.js +3 -0
  70. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/supportedFileTypes.js +3 -1
  71. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +73 -0
  72. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +38 -0
  73. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +38 -0
  74. package/cypress/e2e/ILC/Graphing/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +87 -0
  75. package/cypress/e2e/ILC/Graphing/allOrNothingForAllViews.smoke.js +2 -2
  76. package/cypress/e2e/ILC/Graphing/checkAddAlternativeButton.js +35 -0
  77. package/cypress/e2e/ILC/Graphing/editQuestion.smoke.js +28 -0
  78. package/cypress/e2e/ILC/Graphing/editTabBasicSection.js +38 -0
  79. package/cypress/e2e/ILC/Graphing/editTabScoringSection.js +1 -0
  80. package/cypress/e2e/ILC/Graphing/headerSection.js +36 -4
  81. package/cypress/e2e/ILC/Graphing/layoutAndGridOptions.js +6 -3
  82. package/cypress/e2e/ILC/GridFill/addAlternateButton.js +40 -0
  83. package/cypress/e2e/ILC/GridFill/allOrNothingBasicForAllViews.smoke.js +210 -0
  84. package/cypress/e2e/ILC/GridFill/customizeLayoutFillImageBackgroundImage.js +2 -2
  85. package/cypress/e2e/ILC/GridFill/customizeLayoutSectionShadeCellsGridBorders.js +2 -0
  86. package/cypress/e2e/ILC/GridFill/editTabScoringSection.js +3 -0
  87. package/cypress/e2e/ILC/GridFill/headerSection.js +3 -3
  88. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +39 -0
  89. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  90. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +39 -0
  91. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountAllOrNothingCorrectPointsGreaterThanAlternativePoints.js +37 -0
  92. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountallOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  93. package/cypress/e2e/ILC/GridFill/scoring/cellshadeCountAllOrNothingAlternativePointsGreaterThanCorrectPoints.js +36 -0
  94. package/cypress/e2e/ILC/GridFill/scoring/checkLabelSaveAsYouGo.js +75 -0
  95. package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +2 -1
  96. package/cypress/e2e/ILC/ImageHighlight/allOrNothingForAllViews.smoke.js +212 -0
  97. package/cypress/e2e/ILC/ImageHighlight/customiseHighlightStyle.js +29 -0
  98. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +24 -0
  99. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +24 -0
  100. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +24 -0
  101. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +86 -0
  102. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/manuallyAndNonScored.js +2 -4
  103. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +1 -1
  104. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +237 -1
  105. package/cypress/e2e/ILC/ListOrderingDropdown/checkAddAlternativeButton.js +35 -0
  106. package/cypress/e2e/ILC/ListOrderingDropdown/editTabBasicSection.js +24 -0
  107. package/cypress/e2e/ILC/ListOrderingDropdown/headerSection.js +108 -0
  108. package/cypress/e2e/ILC/ListOrderingDropdown/manuallyAndNonScoredEditTab.js +2 -1
  109. package/cypress/e2e/ILC/ListOrderingDropdown/previewContentsForAllViews.smoke.js +2 -4
  110. package/cypress/e2e/ILC/ListOrderingDropdown/specifyCorrectAnswerSection.js +7 -12
  111. package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/specifyCorrectAnswerSection.js +10 -14
  112. package/cypress/e2e/ILC/ListOrderingNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +52 -0
  113. package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +215 -0
  114. package/cypress/e2e/ILC/ListOrderingNew/editTabBasicSection.js +23 -0
  115. package/cypress/e2e/ILC/ListOrderingNew/headerSection.js +36 -9
  116. package/cypress/e2e/ILC/ListOrderingNew/manuallyAndNonScoredEditTab.js +2 -0
  117. package/cypress/e2e/ILC/ListOrderingNew/specifyCorrectAnswerSection.js +7 -23
  118. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +41 -0
  119. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +30 -0
  120. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +50 -0
  121. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +101 -0
  122. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/allOrNothingForAllViews.smoke.js +309 -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 +36 -1
  127. package/cypress/e2e/ILC/Matching/Scoring/blankResponseScoring.js +38 -41
  128. package/cypress/e2e/ILC/Matching/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +98 -0
  129. package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +210 -0
  130. package/cypress/e2e/ILC/Matching/checkAlternativeButton.js +38 -0
  131. package/cypress/e2e/ILC/Matching/clickAndDrop.js +5 -5
  132. package/cypress/e2e/ILC/Matching/draggableOptions.js +7 -0
  133. package/cypress/e2e/ILC/Matching/editQuestion.smoke.js +3 -2
  134. package/cypress/e2e/ILC/Matching/editTabBasicSection.js +41 -0
  135. package/cypress/e2e/ILC/Matching/headerSection.js +38 -12
  136. package/cypress/e2e/ILC/Matching/questionInstructionsAndPromptSection.js +2 -15
  137. package/cypress/e2e/ILC/Matching/studentViewSettings.js +2 -0
  138. package/cypress/e2e/ILC/Matching/studentViewSettingsForGroupedLayout.js +1 -1
  139. package/cypress/e2e/ILC/MatchingDropdown/Scoring/blankResponseScoring.js +6 -6
  140. package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +208 -0
  141. package/cypress/e2e/ILC/MultipleSelection/allOrNothingBasicForAllViews.smoke.js +2 -1
  142. package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswer.js +1 -0
  143. package/cypress/e2e/ILC/MultipleSelectionGridNew/previewContentsForAllViews.smoke.js +100 -69
  144. package/cypress/e2e/ILC/MultipleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +1 -0
  145. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +79 -0
  146. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +42 -0
  147. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +42 -0
  148. package/cypress/e2e/ILC/NumberLine/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +75 -0
  149. package/cypress/e2e/ILC/NumberLine/checkAddAlternativeButton.js +32 -0
  150. package/cypress/e2e/ILC/NumberLine/editTabSection.js +38 -0
  151. package/cypress/e2e/ILC/NumberLine/headerSection.js +33 -4
  152. package/cypress/e2e/ILC/NumberLine/toolsAndControls.js +1 -1
  153. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +81 -0
  154. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +43 -0
  155. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +43 -0
  156. package/cypress/e2e/ILC/NumberLineLabel/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +76 -0
  157. package/cypress/e2e/ILC/NumberLineLabel/additionalSettingsBasic.js +1 -1
  158. package/cypress/e2e/ILC/NumberLineLabel/checkAddAlternativeButton.js +34 -0
  159. package/cypress/e2e/ILC/NumberLineLabel/editTabSection.js +38 -0
  160. package/cypress/e2e/ILC/NumberLineLabel/headerSection.js +37 -5
  161. package/cypress/e2e/ILC/NumberLineLabel/manuallyAndNonScoredEditTab.js +2 -1
  162. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/editQuestion.smoke.js +1 -1
  163. package/cypress/e2e/ILC/ShortTextResponseNew/allOrNothingBasicForAllViews.smoke.js +186 -0
  164. package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +35 -51
  165. package/cypress/e2e/ILC/ShortTextResponseNew/headerSection.js +2 -4
  166. package/cypress/e2e/ILC/SingleSelectionGridNew/previewContentsForAllViews.smoke.js +101 -70
  167. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +86 -0
  168. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +86 -0
  169. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  170. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +3 -1
  171. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  172. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  173. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsScoringBasic.js +10 -3
  174. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +4 -2
  175. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +5 -3
  176. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  177. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsScoringBasic.js +4 -0
  178. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +64 -0
  179. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAddEvaluation.js +2 -0
  180. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAlternateAnswer.js +2 -0
  181. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +64 -0
  182. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  183. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  184. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  185. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  186. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsScoringBasic.js +8 -0
  187. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  188. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  189. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  190. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasic.js +1 -0
  191. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasicForAlternateAnswer.js +2 -0
  192. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +2 -0
  193. package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +27 -3
  194. package/cypress/e2e/ILC/TextEntryMath/headerSection.js +43 -0
  195. package/cypress/e2e/ILC/TextSelection/additionalSettings.js +1 -0
  196. package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +231 -0
  197. package/cypress/e2e/ILC/TextSelection/minimumScoringPenaltyPointsAndRoundingDropdown.js +1 -0
  198. package/cypress/e2e/ILC/ThinkSphere/createReviewItem.js +54 -1
  199. package/cypress/e2e/ILC/ThinkSphere/editTabBasicSection.js +53 -2
  200. package/cypress/e2e/ILC/ThinkSphere/editThinkSphereQuestion.smoke.js +145 -54
  201. package/cypress/e2e/ILC/ThinkSphere/equationEditorCreateCustomCategory.smoke.js +417 -0
  202. package/cypress/e2e/ILC/ThinkSphere/equationEditorEditCategoryFlyOut.js +291 -0
  203. package/cypress/e2e/ILC/ThinkSphere/planPhase.js +91 -9
  204. package/cypress/e2e/ILC/ThinkSphere/previewTabPlanSection.js +12 -12
  205. package/cypress/e2e/ILC/ThinkSphere/previewTabReviewSection.js +97 -0
  206. package/cypress/e2e/ILC/ThinkSphere/previewTabSolveSection.js +36 -0
  207. package/cypress/e2e/ILC/ThinkSphere/solvePhase.js +35 -2
  208. package/cypress/e2e/ILC/ThinkSphere/studentViewPlanTabSection.js +393 -0
  209. package/cypress/e2e/ILC/ThinkSphere/studentViewReviewTabSection.js +141 -0
  210. package/cypress/e2e/ILC/ToolAudioPlayerNew/headerSection.js +90 -2
  211. package/cypress/e2e/ILC/UploadResponse/editTabBasicSection.js +34 -0
  212. package/cypress/e2e/ILC/UploadResponse/headerSection.js +38 -1
  213. package/cypress/e2e/ILC/UploadResponse/uploadResponsePreview.js +50 -13
  214. package/cypress/e2e/ILC/VideoResponseNew/editTabBasicSection.js +14 -29
  215. package/cypress/e2e/ILC/chartsDotsPlot/headerSection.js +16 -1
  216. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsBasic.js +27 -28
  217. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +31 -30
  218. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +24 -24
  219. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +39 -37
  220. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsBasic.js +22 -23
  221. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +31 -30
  222. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +25 -24
  223. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +31 -31
  224. package/cypress/e2e/ILC/chartsDotsPlot/scoring/toleranceThresholdScoring.js +18 -19
  225. package/cypress/e2e/ILC/chartsDotsPlot/specifyCorrectAnswerSection.js +96 -0
  226. package/cypress/e2e/Sessions/fetchResponses.js +3 -3
  227. package/cypress/e2e/Sessions/saveResponseScores.js +2 -2
  228. package/cypress/fixtures/thinkSphereWhiteboardTools.js +66 -0
  229. package/cypress/pages/audioPlayerPage.js +47 -22
  230. package/cypress/pages/brainingCampManipulativePage.js +1 -1
  231. package/cypress/pages/chartsBarPage.js +45 -0
  232. package/cypress/pages/chartsDotPlotPage.js +25 -0
  233. package/cypress/pages/chartsLinePage.js +28 -3
  234. package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +5 -1
  235. package/cypress/pages/components/browseItemsPage.js +109 -2
  236. package/cypress/pages/components/chartsCommonComponent.js +6 -2
  237. package/cypress/pages/components/ckEditorEquationEditorComponent.js +5 -4
  238. package/cypress/pages/components/ckEditorInsertImageComponent.js +2 -2
  239. package/cypress/pages/components/ckEditorInsertTableComponent.js +3 -3
  240. package/cypress/pages/components/ckEditorLinkComponent.js +8 -9
  241. package/cypress/pages/components/colorPopupComponent.js +6 -0
  242. package/cypress/pages/components/createQuestionBasePage.js +14 -1
  243. package/cypress/pages/components/draggableOptionsSectionComponent.js +2 -0
  244. package/cypress/pages/components/editCategoryFlyout.js +2 -2
  245. package/cypress/pages/components/equationEditorSectionCommonComponent.js +10 -25
  246. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +28 -0
  247. package/cypress/pages/components/gridQuestionCommonComponent.js +55 -2
  248. package/cypress/pages/components/imageCanvasComponent.js +4 -4
  249. package/cypress/pages/components/questionInstructionsComponent.js +2 -0
  250. package/cypress/pages/components/scoringSectionBaseEditTab.js +3 -0
  251. package/cypress/pages/components/specifyRowsAndColumnsComponent.js +7 -1
  252. package/cypress/pages/contentBlocksPage.js +2 -0
  253. package/cypress/pages/desmos3DGraphingPage.js +149 -4
  254. package/cypress/pages/desmosGeometryPage.js +184 -4
  255. package/cypress/pages/drawingResponsePage.js +2 -0
  256. package/cypress/pages/fillInTheGapsDragAndDropPage.js +3 -4
  257. package/cypress/pages/gradingGridViewPage.js +64 -0
  258. package/cypress/pages/graphingPage.js +27 -8
  259. package/cypress/pages/gridFillPage.js +15 -6
  260. package/cypress/pages/imageHighlightPage.js +115 -15
  261. package/cypress/pages/index.js +1 -0
  262. package/cypress/pages/listOrderingPage.js +40 -1
  263. package/cypress/pages/matchingPage.js +26 -7
  264. package/cypress/pages/numberLineLabelPage.js +31 -8
  265. package/cypress/pages/numberLinePage.js +19 -7
  266. package/cypress/pages/singleSelectionPage.js +30 -1
  267. package/cypress/pages/textEntryMathPage.js +24 -1
  268. package/cypress/pages/thinkSpherePage.js +1204 -48
  269. package/cypress/pages/uploadResponsePage.js +17 -1
  270. package/cypress/pages/videoResponsePage.js +3 -0
  271. package/cypress/support/commands.js +9 -0
  272. package/cypress/support/helpers/createItem.js +22 -3
  273. package/cypress/support/helpers/utilities.js +14 -1
  274. package/package.json +3 -3
  275. /package/cypress/e2e/ILC/{ChartsDotsPlot → chartsDotsPlot}/checkAnswerFunctionalityForAllViews.js +0 -0
  276. /package/cypress/e2e/ILC/{ChartsDotsPlot → chartsDotsPlot}/editQuestion.smoke.js +0 -0
@@ -13,6 +13,8 @@ describe('Create Item page - Text entry math: Preview scoring', () => {
13
13
  abortEarlySetup();
14
14
  before(() => {
15
15
  textEntryMathPage.steps.navigateToCreateQuestion('Text Entry Math');
16
+ cy.barsPreLoaderWait();
17
+ textEntryMathPage.steps.addTextInQuestionInstructionsInputField('Enter the correct answer in the response field');
16
18
  textEntryMathPage.steps.addResponseArea();
17
19
  textEntryMathPage.steps.addResponseArea();
18
20
  textEntryMathPage.steps.addResponseArea();
@@ -12,6 +12,8 @@ describe('Create item page - Text Entry Math: Partial different weights', () =>
12
12
  abortEarlySetup();
13
13
  before(() => {
14
14
  textEntryMathPage.steps.navigateToCreateQuestion('Text Entry Math');
15
+ cy.barsPreLoaderWait();
16
+ textEntryMathPage.steps.addTextInQuestionInstructionsInputField('Enter the correct answer in the response field');
15
17
  textEntryMathPage.steps.addResponseArea();
16
18
  textEntryMathPage.steps.addResponseArea();
17
19
  textEntryMathPage.steps.addResponseArea();
@@ -119,6 +121,8 @@ describe('Create item page - Text Entry Math: Partial different weights', () =>
119
121
  abortEarlySetup();
120
122
  before(() => {
121
123
  textEntryMathPage.steps.navigateToCreateQuestion('Text Entry Math');
124
+ cy.barsPreLoaderWait();
125
+ textEntryMathPage.steps.addTextInQuestionInstructionsInputField('Enter the correct answer in the response field');
122
126
  textEntryMathPage.steps.addResponseArea();
123
127
  textEntryMathPage.steps.addResponseArea();
124
128
  textEntryMathPage.steps.addResponseArea();
@@ -204,6 +208,8 @@ describe('Create item page - Text Entry Math: Partial different weights', () =>
204
208
  abortEarlySetup();
205
209
  before(() => {
206
210
  textEntryMathPage.steps.navigateToCreateQuestion('Text Entry Math');
211
+ cy.barsPreLoaderWait();
212
+ textEntryMathPage.steps.addTextInQuestionInstructionsInputField('Enter the correct answer in the response field');
207
213
  textEntryMathPage.steps.addResponseArea();
208
214
  textEntryMathPage.steps.addResponseArea();
209
215
  textEntryMathPage.steps.addResponseArea();
@@ -321,6 +327,8 @@ describe('Create item page - Text Entry Math: Partial different weights', () =>
321
327
  abortEarlySetup();
322
328
  before(() => {
323
329
  textEntryMathPage.steps.navigateToCreateQuestion('Text Entry Math');
330
+ cy.barsPreLoaderWait();
331
+ textEntryMathPage.steps.addTextInQuestionInstructionsInputField('Enter the correct answer in the response field');
324
332
  textEntryMathPage.steps.addResponseArea();
325
333
  textEntryMathPage.steps.addResponseArea();
326
334
  textEntryMathPage.steps.addResponseArea();
@@ -12,6 +12,8 @@ describe('Create Item page - Text entry math: Preview scoring', () => {
12
12
  abortEarlySetup();
13
13
  before(() => {
14
14
  textEntryMathPage.steps.navigateToCreateQuestion('Text Entry Math');
15
+ cy.barsPreLoaderWait();
16
+ textEntryMathPage.steps.addTextInQuestionInstructionsInputField('Enter the correct answer in the response field');
15
17
  textEntryMathPage.steps.addResponseArea();
16
18
  textEntryMathPage.steps.addResponseArea();
17
19
  textEntryMathPage.steps.addResponseArea();
@@ -12,6 +12,8 @@ describe('Create Item page - Text entry math: Preview scoring', () => {
12
12
  abortEarlySetup();
13
13
  before(() => {
14
14
  textEntryMathPage.steps.navigateToCreateQuestion('Text Entry Math');
15
+ cy.barsPreLoaderWait();
16
+ textEntryMathPage.steps.addTextInQuestionInstructionsInputField('Enter the correct answer in the response field');
15
17
  textEntryMathPage.steps.addResponseArea();
16
18
  textEntryMathPage.steps.addResponseArea();
17
19
  textEntryMathPage.steps.addResponseArea();
@@ -13,6 +13,8 @@ describe('Create Item page - Text entry math: Preview scoring', () => {
13
13
  abortEarlySetup();
14
14
  before(() => {
15
15
  textEntryMathPage.steps.navigateToCreateQuestion('Text Entry Math');
16
+ cy.barsPreLoaderWait();
17
+ textEntryMathPage.steps.addTextInQuestionInstructionsInputField('Enter the correct answer in the response field');
16
18
  textEntryMathPage.steps.addResponseArea();
17
19
  textEntryMathPage.steps.addResponseArea();
18
20
  textEntryMathPage.steps.addResponseArea();
@@ -13,6 +13,7 @@ describe('Create item page - Text Entry Math: Partial equal weights', () => {
13
13
  before(() => {
14
14
  textEntryMathPage.steps.navigateToCreateQuestion('Text Entry Math');
15
15
  cy.barsPreLoaderWait();
16
+ textEntryMathPage.steps.addTextInQuestionInstructionsInputField('Enter the correct answer in the response field');
16
17
  textEntryMathPage.steps.addResponseArea();
17
18
  textEntryMathPage.steps.addResponseArea();
18
19
  textEntryMathPage.steps.addResponseArea();
@@ -12,6 +12,8 @@ describe('Create Item page - Text entry math: Preview scoring', () => {
12
12
  abortEarlySetup();
13
13
  before(() => {
14
14
  textEntryMathPage.steps.navigateToCreateQuestion('Text Entry Math');
15
+ cy.barsPreLoaderWait();
16
+ textEntryMathPage.steps.addTextInQuestionInstructionsInputField('Enter the correct answer in the response field');
15
17
  textEntryMathPage.steps.addResponseArea();
16
18
  textEntryMathPage.steps.addResponseArea();
17
19
  textEntryMathPage.steps.selectAutoScoredScoringSubtype('Partial equal weights');
@@ -19,6 +19,8 @@ describe('Create Item page - Text entry math: All or nothing ', () => {
19
19
  switch (view) {
20
20
  case 'Question preview':
21
21
  textEntryMathPage.steps.navigateToCreateQuestion('Text Entry Math');
22
+ cy.barsPreLoaderWait();
23
+ textEntryMathPage.steps.addTextInQuestionInstructionsInputField('Enter the correct answer in the response field');
22
24
  textEntryMathPage.steps.addResponseArea();
23
25
  textEntryMathPage.steps.addResponseArea();
24
26
  textEntryMathPage.steps.addResponseArea();
@@ -92,11 +92,9 @@ describe('Create item page - Text entry math: Question instructions, Add structu
92
92
  textEntryMathPage.steps.switchToEditTab();
93
93
  textEntryMathPage.steps.deleteAResponseArea(0);
94
94
  textEntryMathPage.steps.deleteAResponseArea(0);
95
- utilities.verifyElementVisibilityState(textEntryMathPage.errorMessage(), 'exist');
95
+ utilities.verifyElementVisibilityState(textEntryMathPage.errorMessage(), 'notExist');
96
96
  });
97
97
 
98
- textEntryMathPage.tests.verifyErrorMessageCSSAndA11y();
99
-
100
98
  textEntryMathPage.tests.addResponseAreaAndVerifyMinimumOneAreaRequiredErrorMessageNotExist();
101
99
 
102
100
  textEntryMathPage.tests.verifyQuestionInputFieldPlaceholderText();
@@ -200,4 +198,30 @@ describe('Create item page - Text entry math: Question instructions, Add structu
200
198
  utilities.verifyElementCount(textEntryMathPage.responseFieldPreviewTab(), 1);
201
199
  });
202
200
  });
201
+
202
+ describe('User should be able to edit incomplete authored question', () => {
203
+ abortEarlySetup();
204
+ before(() => {
205
+ textEntryMathPage.steps.navigateToCreateQuestion('Text Entry Math');
206
+ cy.barsPreLoaderWait();
207
+ textEntryMathPage.steps.saveAQuestionWithIncompleteAuthoring();
208
+ textEntryMathPage.steps.editItem();
209
+ });
210
+
211
+ it('Warning icons should be displayed on the required input fields', () => {
212
+ utilities.verifyElementVisibilityState(textEntryMathPage.questionWarningIcon(), 'exist');
213
+ utilities.verifyElementVisibilityState(textEntryMathPage.warningIcon(), 'exist');
214
+ });
215
+
216
+ it('When required input fields are filled then warning icons should disappear', () => {
217
+ textEntryMathPage.steps.addResponseArea();
218
+ textEntryMathPage.steps.allotPoints(10);
219
+ textEntryMathPage.steps.verifyErrorMessageIsNotDisplayed();
220
+ textEntryMathPage.steps.verifySpecifyCorrectAnswerErrorIconNotExists();
221
+ });
222
+
223
+ it('Warning icon should not be visible', () => {
224
+ textEntryMathPage.steps.verifyWarningIconNotExist();
225
+ });
226
+ });
203
227
  });
@@ -0,0 +1,43 @@
1
+ import { textEntryMathPage } from "../../../pages";
2
+ import { browseItemsPage } from "../../../pages/components";
3
+ import { itemPreviewPage } from "../../../pages";
4
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
5
+ import utilities from "../../../support/helpers/utilities";
6
+
7
+ var itemReferenceID = "";
8
+
9
+ describe('Create Item page - Text Entry Math: Header section and Saving question', () => {
10
+ before(() => {
11
+ cy.loginAs('admin');
12
+ });
13
+
14
+ describe('Saving a question with incomplete authoring', () => {
15
+ abortEarlySetup();
16
+ before(() => {
17
+ textEntryMathPage.steps.navigateToCreateQuestion('Text Entry Math');
18
+ cy.barsPreLoaderWait();
19
+ });
20
+
21
+ it('User should be able to save the question with incomplete authoring and snackbar with the text "Saved successfully!" should be displayed', () => {
22
+ textEntryMathPage.steps.saveAQuestionWithIncompleteAuthoring();
23
+ });
24
+ textEntryMathPage.tests.verifySavedSuccessfullySnackbarCSSAndA11y();
25
+ });
26
+
27
+ describe('Save as you go - Browse item page contents', () => {
28
+ abortEarlySetup();
29
+ before(() => {
30
+ cy.log('Navigating to Text Entry Math question type');
31
+ textEntryMathPage.steps.navigateToCreateQuestion('Text Entry Math');
32
+ cy.barsPreLoaderWait();
33
+ textEntryMathPage.steps.saveAQuestionWithIncompleteAuthoring();
34
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
35
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
36
+ browseItemsPage.steps.navigateToBrowseItemsPage();
37
+ });
38
+
39
+ it('When user saves an incompletely authored question then a warning icon should be visible in browse items page', () => {
40
+ browseItemsPage.steps.verifyWarningIconInBrowseItemPage(`${itemReferenceID}`);
41
+ });
42
+ });
43
+ });
@@ -26,6 +26,7 @@ describe('Create Item page - Text selection : Additional settings', () => {
26
26
  before(() => {
27
27
  textSelectionPage.steps.navigateToCreateQuestion('text selection');
28
28
  cy.barsPreLoaderWait();
29
+ textSelectionPage.steps.addTextInQuestionInstructionsInputField('Question instruction');
29
30
  textSelectionPage.steps.expandAdditionalSettings();
30
31
  });
31
32
 
@@ -239,6 +239,237 @@ describe('Create item page - Text selection: All or nothing ', () => {
239
239
  });
240
240
  });
241
241
 
242
+ views.forEach((view) => {
243
+ describe(`${view}: Text selection - Manually scored`, { tags: 'smoke' }, () => {
244
+ abortEarlySetup();
245
+ before(() => {
246
+ switch (view) {
247
+ case 'Question preview':
248
+ textSelectionPage.steps.navigateToCreateQuestion('text selection');
249
+ cy.barsPreLoaderWait();
250
+ textSelectionPage.steps.addTextInQuestionInstructionsInputField('Highlight the correct statements.');
251
+ textSelectionPage.steps.clearQuestionInputField();
252
+ paragraphTextArray.forEach((paragraphText) => {
253
+ textSelectionPage.steps.addInputToQuestionInputField(`${paragraphText}{enter}`);
254
+ });
255
+ textSelectionPage.steps.addInputToQuestionInputField('{backspace}');
256
+ textSelectionPage.steps.expandScoringTypeDropdown();
257
+ textSelectionPage.steps.selectOptionFromScoringTypeDropdown('Manually scored');
258
+ textSelectionPage.steps.allotPoints(20);
259
+ textSelectionPage.steps.switchTextSelectionMode('Paragraph');
260
+ paragraphTextArray.forEach((text) => {
261
+ textSelectionPage.steps.clickOnOptionInSpecifyPossibleOptionsSection(text);
262
+ });
263
+ textSelectionPage.steps.switchToPreviewTab();
264
+ break;
265
+ case 'Item preview':
266
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
267
+ itemPreviewPage.steps.switchToPreviewTab();
268
+ break;
269
+ case 'Grading view':
270
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
271
+ break;
272
+ };
273
+ });
274
+
275
+ beforeEach(() => {
276
+ switch (view) {
277
+ case 'Question preview':
278
+ textSelectionPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
279
+ textSelectionPage.steps.resetQuestionPreview();
280
+ break;
281
+ case 'Item preview':
282
+ textSelectionPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
283
+ itemPreviewPage.steps.resetQuestionPreview();
284
+ break;
285
+ case 'Grading view':
286
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
287
+ break;
288
+ }
289
+ });
290
+
291
+ if (view === 'Question preview') {
292
+ after(() => {
293
+ textSelectionPage.steps.clickOnSaveQuestionButton();
294
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
295
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
296
+ });
297
+ };
298
+
299
+ it('Question instructions should be visible', () => {
300
+ textSelectionPage.steps.verifyQuestionInstructionsTextPreviewTab('Highlight the correct statements.');
301
+ textSelectionPage.steps.verifyVisibityOfQuestionInstructionsText();
302
+ });
303
+
304
+ it('User should be able to attempt the question in student view, and correct/incorrect icons, "Your answer is correct/incorrect" label, and correct answer section should not be displayed in grading view', () => {
305
+ textSelectionPage.steps.selectOptionInPreviewTab(paragraphTextArray[0]);
306
+ textSelectionPage.steps.selectOptionInPreviewTab(paragraphTextArray[1]);
307
+ if (view === 'Grading view') {
308
+ studentViewPage.steps.submitResponse();
309
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
310
+ studentViewPage.steps.clickOnGoToGradingViewButton();
311
+ gradingViewPage.steps.verifyGradingViewScore('', 20);
312
+ };
313
+ if (view === 'Question preview' || view === 'Item preview') {
314
+ textSelectionPage.steps.checkManuallyScoredScoringLabel();
315
+ };
316
+ textSelectionPage.steps.verifyCorrectIncorrectIconForOptionNotExist(paragraphTextArray[0]);
317
+ textSelectionPage.steps.verifyCorrectIncorrectIconForOptionNotExist(paragraphTextArray[1]);
318
+ textSelectionPage.steps.verifyCorrectAnswerSectionNotExist();
319
+ });
320
+ });
321
+ });
322
+
323
+ views.forEach((view) => {
324
+ describe(`${view}: Text selection - Non scored`, { tags: 'smoke' }, () => {
325
+ abortEarlySetup();
326
+ before(() => {
327
+ switch (view) {
328
+ case 'Question preview':
329
+ textSelectionPage.steps.navigateToCreateQuestion('text selection');
330
+ cy.barsPreLoaderWait();
331
+ textSelectionPage.steps.addTextInQuestionInstructionsInputField('Highlight the correct statements.');
332
+ textSelectionPage.steps.clearQuestionInputField();
333
+ paragraphTextArray.forEach((paragraphText) => {
334
+ textSelectionPage.steps.addInputToQuestionInputField(`${paragraphText}{enter}`);
335
+ });
336
+ textSelectionPage.steps.addInputToQuestionInputField('{backspace}');
337
+ textSelectionPage.steps.switchTextSelectionMode('Paragraph');
338
+ paragraphTextArray.forEach((text) => {
339
+ textSelectionPage.steps.clickOnOptionInSpecifyPossibleOptionsSection(text);
340
+ });
341
+ textSelectionPage.steps.expandScoringTypeDropdown();
342
+ textSelectionPage.steps.selectOptionFromScoringTypeDropdown('Non scored');
343
+ textSelectionPage.steps.selectOptionInSpecifyCorrectAnswerSection(paragraphTextArray[0]);
344
+ textSelectionPage.steps.selectOptionInSpecifyCorrectAnswerSection(paragraphTextArray[1]);
345
+ textSelectionPage.steps.switchToPreviewTab();
346
+ break;
347
+ case 'Item preview':
348
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
349
+ itemPreviewPage.steps.switchToPreviewTab();
350
+ break;
351
+ case 'Grading view':
352
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
353
+ break;
354
+ };
355
+ });
356
+
357
+ beforeEach(() => {
358
+ switch (view) {
359
+ case 'Question preview':
360
+ textSelectionPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
361
+ textSelectionPage.steps.resetQuestionPreview();
362
+ break;
363
+ case 'Item preview':
364
+ textSelectionPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
365
+ itemPreviewPage.steps.resetQuestionPreview();
366
+ break;
367
+ case 'Grading view':
368
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
369
+ break;
370
+ }
371
+ });
372
+
373
+ if (view === 'Question preview') {
374
+ after(() => {
375
+ textSelectionPage.steps.clickOnSaveQuestionButton();
376
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
377
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
378
+ });
379
+ };
380
+
381
+ it('When the user selects "Grading" view without attempting the question non-scoring label should be displayed, correct/incorrect status message should not be displayed, correct answers section with a label "Correct answers:" should be displayed with correct answers and correct/incorrect icons should not be displayed', () => {
382
+ if (view === 'Grading view') {
383
+ studentViewPage.steps.submitResponse();
384
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
385
+ studentViewPage.steps.clickOnGoToGradingViewButton();
386
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
387
+ };
388
+ if (view === 'Question preview' || view === 'Item preview') {
389
+ textSelectionPage.steps.checkNonScoredScoringLabel();
390
+ textSelectionPage.steps.switchToGradingView();
391
+ };
392
+ textSelectionPage.steps.verifyCorrectIncorrectIconForOptionNotExist(paragraphTextArray[0]);
393
+ textSelectionPage.steps.verifyCorrectIncorrectIconForOptionNotExist(paragraphTextArray[1]);
394
+ textSelectionPage.steps.verifyCorrectIncorrectIconForOptionNotExist(paragraphTextArray[2]);
395
+ textSelectionPage.steps.verifyCorrectIncorrectIconForOptionNotExist(paragraphTextArray[3]);
396
+ textSelectionPage.steps.verifyCorrectIncorrectAnswerLabelNotExist();
397
+ utilities.verifyInnerText(textSelectionPage.correctAnswersLabel(), 'Correct answers:');
398
+ textSelectionPage.steps.verifyCorrectIconForOptionCorrectAnswerSection(paragraphTextArray[0]);
399
+ textSelectionPage.steps.verifyCorrectIconForOptionCorrectAnswerSection(paragraphTextArray[1]);
400
+ });
401
+
402
+ it('When the user attempts the question incorrectly then non-scoring label should be displayed and on switching to "Grading" view, incorrect icons should be displayed beside all incorrect responses, a status message with text "Your answer is incorrect" and correct answer section with all correct answers should be displayed', () => {
403
+ textSelectionPage.steps.selectOptionInPreviewTab(paragraphTextArray[2]);
404
+ textSelectionPage.steps.selectOptionInPreviewTab(paragraphTextArray[3]);
405
+ if (view === 'Grading view') {
406
+ studentViewPage.steps.submitResponse();
407
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
408
+ studentViewPage.steps.clickOnGoToGradingViewButton();
409
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
410
+ };
411
+ if (view === 'Question preview' || view === 'Item preview') {
412
+ textSelectionPage.steps.checkNonScoredScoringLabel();
413
+ textSelectionPage.steps.switchToGradingView();
414
+ };
415
+ textSelectionPage.steps.verifyIncorrectIconForOption(paragraphTextArray[2]);
416
+ textSelectionPage.steps.verifyIncorrectIconForOption(paragraphTextArray[3]);
417
+ textSelectionPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
418
+ textSelectionPage.steps.verifyCorrectIconForOptionCorrectAnswerSection(paragraphTextArray[0]);
419
+ textSelectionPage.steps.verifyCorrectIconForOptionCorrectAnswerSection(paragraphTextArray[1]);
420
+ });
421
+
422
+ it('When the user attempts the question partially correct (some correct and some incorrect), non-scoring label should be displayed and on switching to "Grading" view, correct icon should be displayed beside the correct answer response, incorrect icon should be displayed beside the incorrect answer response, a status message with text "Your answer is incorrect" and correct answer section with all correct answers should be displayed', () => {
423
+ if (view === 'Grading view') {
424
+ studentViewPage.steps.clearResponses();
425
+ };
426
+ textSelectionPage.steps.selectOptionInPreviewTab(paragraphTextArray[0]);
427
+ textSelectionPage.steps.selectOptionInPreviewTab(paragraphTextArray[2]);
428
+ if (view === 'Grading view') {
429
+ studentViewPage.steps.submitResponse();
430
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
431
+ studentViewPage.steps.clickOnGoToGradingViewButton();
432
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
433
+ };
434
+ if (view === 'Question preview' || view === 'Item preview') {
435
+ textSelectionPage.steps.checkNonScoredScoringLabel();
436
+ textSelectionPage.steps.switchToGradingView();
437
+ };
438
+ textSelectionPage.steps.verifyCorrectIconForOption(paragraphTextArray[0]);
439
+ textSelectionPage.steps.verifyIncorrectIconForOption(paragraphTextArray[2]);
440
+ textSelectionPage.steps.verifyCorrectIncorrectIconForOptionNotExist(paragraphTextArray[1]);
441
+ textSelectionPage.steps.verifyCorrectIncorrectIconForOptionNotExist(paragraphTextArray[3]);
442
+ textSelectionPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
443
+ textSelectionPage.steps.verifyCorrectIconForOptionCorrectAnswerSection(paragraphTextArray[0]);
444
+ textSelectionPage.steps.verifyCorrectIconForOptionCorrectAnswerSection(paragraphTextArray[1]);
445
+ });
446
+
447
+ it('When the user attempts the question correctly, and on switching to "Grading" view, non-scoring label should be displayed, correct icons should be displayed beside the correct responses, a status message with text "Your answer is correct" should be displayed and correct answer section should not be displayed', () => {
448
+ if (view === 'Grading view') {
449
+ studentViewPage.steps.clearResponses();
450
+ };
451
+ textSelectionPage.steps.selectOptionInPreviewTab(paragraphTextArray[0]);
452
+ textSelectionPage.steps.selectOptionInPreviewTab(paragraphTextArray[1]);
453
+ if (view === 'Grading view') {
454
+ studentViewPage.steps.submitResponse();
455
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
456
+ studentViewPage.steps.clickOnGoToGradingViewButton();
457
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
458
+ };
459
+ if (view === 'Question preview' || view === 'Item preview') {
460
+ textSelectionPage.steps.checkNonScoredScoringLabel();
461
+ textSelectionPage.steps.switchToGradingView();
462
+ };
463
+ textSelectionPage.steps.verifyCorrectIconForOption(paragraphTextArray[0]);
464
+ textSelectionPage.steps.verifyCorrectIconForOption(paragraphTextArray[1]);
465
+ textSelectionPage.steps.verifyCorrectIncorrectIconForOptionNotExist(paragraphTextArray[2]);
466
+ textSelectionPage.steps.verifyCorrectIncorrectIconForOptionNotExist(paragraphTextArray[3]);
467
+ textSelectionPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
468
+ textSelectionPage.steps.verifyCorrectAnswerSectionNotExist();
469
+ });
470
+ });
471
+ });
472
+
242
473
  if (!grepTags || !grepTags.includes('smoke')) {
243
474
  describe('Question preview: Auto scored - All or nothing: Minimum scoring', () => {
244
475
  abortEarlySetup();
@@ -15,6 +15,7 @@ describe('Create item page - Fill in the gaps with drag and drop: Minimum scorin
15
15
  before(() => {
16
16
  textSelectionPage.steps.navigateToCreateQuestion('text selection');
17
17
  cy.barsPreLoaderWait();
18
+ textSelectionPage.steps.addTextInQuestionInstructionsInputField('Question instruction');
18
19
  textSelectionPage.steps.allotPoints(10);
19
20
  });
20
21
 
@@ -12,6 +12,16 @@ const allowedQuestions = [
12
12
  'short text response',
13
13
  'Text Entry Math',
14
14
  ]
15
+
16
+ const dropDownArray = [
17
+ 'All question types',
18
+ 'Multiple choice selection',
19
+ 'Fill in the gaps',
20
+ 'Drag and drop',
21
+ 'List',
22
+ 'Constructed response',
23
+ 'Math response',
24
+ ]
15
25
  describe("Create Review Item", () => {
16
26
  abortEarlySetup();
17
27
  before(() => {
@@ -19,7 +29,7 @@ describe("Create Review Item", () => {
19
29
  cy.deleteThinkSphereItem('~zzz item name');
20
30
  cy.createThinkSphereItem('~zzz item name');
21
31
  thinkSpherePage.steps.navigateToReviewItemsPage();
22
- })
32
+ });
23
33
 
24
34
  after(() => {
25
35
  cy.deleteThinkSphereItem('~zzz item name');
@@ -42,6 +52,49 @@ describe("Create Review Item", () => {
42
52
  utilities.verifyElementVisibilityState(thinkSpherePage.browseItemPageHeader(), 'visible');
43
53
  });
44
54
 
55
+ it('When user clicks on create question, search bar should appear with placeholder, \'Search by question and tool tip \'Search\'', () => {
56
+ thinkSpherePage.steps.clickOnCreateItemButton();
57
+ thinkSpherePage.steps.verifySearchBarComponent();
58
+ thinkSpherePage.steps.verifySearchIcon();
59
+ thinkSpherePage.steps.verifyCloseIcon();
60
+ thinkSpherePage.steps.verifyReviewItemSearchBarPlaceholder();
61
+ thinkSpherePage.steps.hoverOnSearchBarComponent();
62
+ thinkSpherePage.searchBarParent().verifyTooltip('Search');
63
+ });
64
+
65
+ it('The author should be able to type in letters numbers, special character, alpha numeric characters in the search input field.', () => {
66
+ const testInputs = [
67
+ 'abc', // letters
68
+ '123', // numbers
69
+ '!@#$%^&*()', // special characters
70
+ 'abc123XYZ', // alphanumeric
71
+ 'test@123.com' // mixed
72
+ ];
73
+
74
+ testInputs.forEach((input) => {
75
+ thinkSpherePage.steps.typeInSearchBar(input);
76
+ });
77
+ });
78
+
79
+ it('When the author types the question type in search bar, only that particular question card should be present', () => {
80
+ thinkSpherePage.steps.searchInSearchBar('single selection');
81
+ thinkSpherePage.steps.verifyLength(thinkSpherePage.cardWrapper(), 1);
82
+ utilities.verifyInnerText(thinkSpherePage.cardLabel(), 'Single selection');
83
+ });
84
+
85
+ it('Create review item page should have a categories dropdown with default value as \'All question types\'', () => {
86
+ utilities.verifyElementVisibilityState(thinkSpherePage.categoriesDropDown(), 'visible');
87
+ utilities.verifyInnerText(thinkSpherePage.categoriesDropDownLabelText(), 'All question types');
88
+ });
89
+
90
+ it(`The category dropdown should contain the following dropdown options and when any question type is clicked the cards should have those question types only `, () => {
91
+ thinkSpherePage.steps.expandDropdown();
92
+ thinkSpherePage.steps.verifyDropdownOptions(dropDownArray);
93
+ thinkSpherePage.steps.clickOnDropDownCategory(3);
94
+ utilities.verifyInnerText(thinkSpherePage.cardLabel(), 'Drag and drop into categories');
95
+ thinkSpherePage.steps.clickOnCancelButton();
96
+ });
97
+
45
98
  it('When the user creates a new review item and then saves it, it should be displayed in the thinkSphere item page', () => {
46
99
  thinkSpherePage.steps.createReviewQuestion();
47
100
  utilities.verifyElementCount(thinkSpherePage.widgetHeaderQuestionTitle(), 2);
@@ -12,6 +12,23 @@ describe('Create item : ThinkSphere - Edit tab basics', () => {
12
12
  cy.loginAs('admin');
13
13
  });
14
14
 
15
+ describe('Create thinkSphere item - create item page', () => {
16
+ abortEarlySetup();
17
+ before(() => {
18
+ cy.visit('/item-engine/thinksphere/create-item');
19
+ });
20
+
21
+ thinkSpherePage.tests.verifyCreateItemHeaderSection();
22
+
23
+ thinkSpherePage.tests.verifyDefaultTab();
24
+
25
+ it('When user clicks on Add ThinkSphere question button, it should navigate to think sphere create question page', () => {
26
+ thinkSpherePage.steps.addThinkSphereQuestion();
27
+ utilities.verifyInnerText(thinkSpherePage.thinkSphereQuestionHeader(), 'ThinkSphere question');
28
+ });
29
+
30
+ });
31
+
15
32
  describe('Question instructions input field - Edit tab', () => {
16
33
  abortEarlySetup();
17
34
  before(() => {
@@ -20,6 +37,12 @@ describe('Create item : ThinkSphere - Edit tab basics', () => {
20
37
  });
21
38
 
22
39
  thinkSpherePage.tests.verifyQuestionInstructionsInputFieldEditTab();
40
+
41
+ it('When user add long text along with table in question instruction then height of question instruction should increase and horizontal scroll bar should appear', () => {
42
+ thinkSpherePage.steps.addQuestionInstructionInnerHTML('<table class="custom_author_table ie-table ie-table-bordered" border="1" style="width: 100%;"><tbody><tr><td>test</td><td>test</td><td>test</td><td>test&nbsp;test&nbsp;test&nbsp;test&nbsp;test&nbsp;test&nbsp;test&nbsp;test&nbsp;test&nbsp;test&nbsp;test&nbsp;test&nbsp;test&nbsp;test&nbsp;test&nbsp;test&nbsp;test&nbsp;test&nbsp;test&nbsp;test&nbsp;test&nbsp;test&nbsp;test&nbsp;test&nbsp;test&nbsp;test&nbsp;test&nbsp;test&nbsp;test&nbsp;test&nbsp;test&nbsp;test&nbsp;test</td></tr><tr><td><br></td><td><br></td><td><br></td><td><br></td></tr><tr><td><br></td><td><br></td><td><br></td><td><br></td></tr></tbody></table><p><br><br>test<br></p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p>');
43
+ thinkSpherePage.steps.verifyQuestionInstructionIncreasedHeightAndScrollBar();
44
+ thinkSpherePage.steps.addQuestionInstructionInnerHTML('');
45
+ });
23
46
  });
24
47
 
25
48
  describe('Question instructions input field - Edit tab functionality', () => {
@@ -57,7 +80,7 @@ describe('Create item : ThinkSphere - Edit tab basics', () => {
57
80
  'border-style': 'solid',
58
81
  'border-color': 'rgb(107, 139, 255)',
59
82
  'border-radius': '8px',
60
- 'padding': '30px 12px 12px'
83
+ 'padding': '30px 9px 12px'
61
84
  });
62
85
  });
63
86
 
@@ -128,7 +151,7 @@ describe('Create item : ThinkSphere - Edit tab basics', () => {
128
151
  });
129
152
  });
130
153
 
131
- it.skip('Accessibility of Image Upload Section After upload', { tags: 'a11y' }, () => {
154
+ it('Accessibility of Image Upload Section After upload', { tags: 'a11y' }, () => {
132
155
  cy.checkAccessibility(thinkSpherePage.imageUploadSection(), { timeout: 15000 });
133
156
  });
134
157
  });
@@ -446,6 +469,27 @@ describe('Create item : ThinkSphere - Edit tab basics', () => {
446
469
  utilities.verifyElementVisibilityState(thinkSpherePage.ThinkSphereQuestionHeaderPencilIcon(), 'exist');
447
470
  });
448
471
 
472
+ it('When the user has saved think sphere question, \'Add \'Check your math\' question\' button should be visible',() => {
473
+ utilities.verifyInnerText(thinkSpherePage.addCheckMathQuestionButton(), 'Add \'Check your math\' question');
474
+ });
475
+
476
+ it('Verify \'Add \'Check your math\' question\' button', { tags: 'css' }, () => {
477
+ utilities.verifyCSS(thinkSpherePage.addCheckMathQuestionButton().parent(), {
478
+ 'color': css.color.primaryBtn,
479
+ 'background-color': css.color.lightThemeBtnBg,
480
+ 'font-size': css.fontSize.default,
481
+ 'font-weight': css.fontWeight.semibold,
482
+ 'padding': '12px 16px',
483
+ 'min-width': '264px',
484
+ });
485
+ });
486
+
487
+ it('When the user clicks on \'Add \'Check your math\' question button\' and click on cancel button, the user should be redirected back to the item preview page where the \'Add \'Check your math\' question\' button is available',() => {
488
+ thinkSpherePage.steps.clickOnAddCheckMathQuestionButton();
489
+ thinkSpherePage.steps.clickOnCancelButton();
490
+ utilities.verifyInnerText(thinkSpherePage.addCheckMathQuestionButton(), 'Add \'Check your math\' question');
491
+ });
492
+
449
493
  it('When the user selects an item from the review item bank and saves it, the item should be displayed in the thinkSphere item page',() => {
450
494
  thinkSpherePage.steps.clickOnAddCheckMathQuestionButton();
451
495
  thinkSpherePage.steps.clickOnFirstAvailableItemLink();
@@ -501,6 +545,13 @@ describe('Create item : ThinkSphere - Edit tab basics', () => {
501
545
  thinkSpherePage.steps.clickOnSaveButton();
502
546
  });
503
547
 
548
+
549
+ it(`Clicking on edit button icon should take us to edit question page`, () => {
550
+ thinkSpherePage.steps.clickOnEditButton();
551
+ utilities.verifyElementVisibilityState(thinkSpherePage.questionInstructionsWrapper(), 'exist');
552
+ thinkSpherePage.steps.clickOnSaveButton();
553
+ });
554
+
504
555
  it('Clicking on delete icon should remove the math question', () => {
505
556
  thinkSpherePage.steps.clickOnDeleteButton();
506
557
  utilities.verifyElementVisibilityState(thinkSpherePage.thinkSphereMathQuestionHeaderDeleteIcon(), 'notExist');