itemengine-cypress-automation 1.0.389-graphAndCharts-04d27f6.0 → 1.0.390-IEI-6314-testScriptForTextEntryMathValidations-dcad527.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 (319) 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 +3 -3
  8. package/cypress/e2e/ILC/BrowseItems/browseReviewItemsMobileView.js +3 -3
  9. package/cypress/e2e/ILC/BrowseItems/browseThinkSphereItems.js +6 -6
  10. package/cypress/e2e/ILC/BrowseItems/browseThinkSphereItemsMobileView.js +6 -6
  11. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/allOrNothingScoringForAllViews.smoke.js +356 -0
  12. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/gradingViewAndCorrectAnswerView.smoke.js +1 -1
  13. package/cypress/e2e/ILC/ChartsBar/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +33 -0
  14. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightBasic.js +27 -27
  15. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +37 -37
  16. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +37 -37
  17. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +37 -37
  18. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightBasic.js +26 -25
  19. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +39 -38
  20. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +31 -30
  21. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +35 -34
  22. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePointsLocked.js +247 -0
  23. package/cypress/e2e/ILC/ChartsBar/allOrNothingScoringForAllViews.smoke.js +287 -0
  24. package/cypress/e2e/ILC/ChartsBar/editQuestion.smoke.js +1 -1
  25. package/cypress/e2e/ILC/ChartsBar/editTabBasicSection.js +37 -0
  26. package/cypress/e2e/ILC/ChartsBar/headerSection.js +50 -2
  27. package/cypress/e2e/ILC/ChartsBar/specifyCorrectAnswerSection.js +92 -0
  28. package/cypress/e2e/ILC/ChartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePointsLocked.js +220 -0
  29. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightBasic.js +25 -26
  30. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +47 -47
  31. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +25 -25
  32. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +25 -25
  33. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightBasic.js +25 -25
  34. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +24 -23
  35. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +21 -20
  36. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +48 -46
  37. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePointsLocked.js +249 -0
  38. package/cypress/e2e/ILC/ChartsLine/allOrNothingScoringForAllViews.smoke.js +247 -0
  39. package/cypress/e2e/ILC/ChartsLine/editQuestion.smoke.js +3 -1
  40. package/cypress/e2e/ILC/ChartsLine/headerSection.js +18 -1
  41. package/cypress/e2e/ILC/ChartsLine/specifyCorrectAnswerSection.js +94 -0
  42. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddTranscriptRadioButton .js +2 -2
  43. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerHeaderSectionAndButtons.js +2 -2
  44. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTab.js +1 -1
  45. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabSupportedFileTypes.js +6 -0
  46. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabTranscript.js +2 -3
  47. package/cypress/e2e/ILC/CkEditorEquationEditor/selectModeEditorBasic.js +4 -1
  48. package/cypress/e2e/ILC/CkEditorInsertImage/imageInfo.js +4 -3
  49. package/cypress/e2e/ILC/CkEditorInsertImage/insertImageBasicFile.js +2 -0
  50. package/cypress/e2e/ILC/CkEditorInsertTable/tableDimension&FooterProperties.js +8 -8
  51. package/cypress/e2e/ILC/CkEditorInsertTable/tableStyle.js +11 -11
  52. package/cypress/e2e/ILC/CkEditorLink/linkPreview.js +2 -1
  53. package/cypress/e2e/ILC/CkEditorLink/uploadSection.js +1 -1
  54. package/cypress/e2e/ILC/ContentBlocks/editTabBasics.js +63 -4
  55. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +116 -7
  56. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabBasicSection.js +3 -3
  57. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabScoring.js +1 -0
  58. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/headerSection.js +3 -3
  59. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/pagination.js +1 -1
  60. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/studentViewSettingsForGroupedLayout.js +3 -0
  61. package/cypress/e2e/ILC/DrawingResponse/drawingResponseEditTabBasicSection.js +11 -3
  62. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +210 -0
  63. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/draggableOptions.js +2 -0
  64. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/editTabBasicSection.js +1 -1
  65. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/headerSection.js +3 -3
  66. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViewInIncompleteAuthoring.smoke.js +7 -7
  67. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViews.smoke.js +15 -16
  68. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editQuestion.smoke.js +40 -0
  69. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editTabBasicSection.js +1 -1
  70. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/headerSection.js +3 -3
  71. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +216 -0
  72. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/editTabBasicSection.js +2 -2
  73. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/headerSection.js +3 -3
  74. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editQuestion.smoke.js +45 -0
  75. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editTabBasicSection.js +1 -1
  76. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/headerSection.js +4 -4
  77. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/HeaderSection.js +4 -4
  78. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/editQuestion.smoke.js +1 -1
  79. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/responseAnswersAndAcceptedStudentInput.js +4 -0
  80. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/supportedFileTypes.js +3 -1
  81. package/cypress/e2e/ILC/FillInTheGapsTextNew/editTabBasicSection.js +1 -1
  82. package/cypress/e2e/ILC/FillInTheGapsTextNew/headerSection.js +3 -3
  83. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +73 -0
  84. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +38 -0
  85. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +38 -0
  86. package/cypress/e2e/ILC/Graphing/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +87 -0
  87. package/cypress/e2e/ILC/Graphing/allOrNothingForAllViews.smoke.js +213 -2
  88. package/cypress/e2e/ILC/Graphing/checkAddAlternativeButton.js +35 -0
  89. package/cypress/e2e/ILC/Graphing/editQuestion.smoke.js +28 -0
  90. package/cypress/e2e/ILC/Graphing/editTabBasicSection.js +38 -0
  91. package/cypress/e2e/ILC/Graphing/editTabScoringSection.js +1 -0
  92. package/cypress/e2e/ILC/Graphing/headerSection.js +37 -4
  93. package/cypress/e2e/ILC/Graphing/specifyCorrectAnswerSection.js +28 -0
  94. package/cypress/e2e/ILC/GridFill/addAlternateButton.js +40 -0
  95. package/cypress/e2e/ILC/GridFill/allOrNothingBasicForAllViews.smoke.js +210 -0
  96. package/cypress/e2e/ILC/GridFill/customizeLayoutFillImageBackgroundImage.js +2 -2
  97. package/cypress/e2e/ILC/GridFill/headerSection.js +4 -4
  98. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +39 -0
  99. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  100. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +39 -0
  101. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountAllOrNothingCorrectPointsGreaterThanAlternativePoints.js +37 -0
  102. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountallOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  103. package/cypress/e2e/ILC/GridFill/scoring/cellshadeCountAllOrNothingAlternativePointsGreaterThanCorrectPoints.js +36 -0
  104. package/cypress/e2e/ILC/GridFill/scoring/checkLabelSaveAsYouGo.js +75 -0
  105. package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +2 -1
  106. package/cypress/e2e/ILC/ImageHighlight/additionalSettingsBasic.js +1 -0
  107. package/cypress/e2e/ILC/ImageHighlight/allOrNothingForAllViews.smoke.js +212 -0
  108. package/cypress/e2e/ILC/ImageHighlight/customiseHighlightStyle.js +29 -0
  109. package/cypress/e2e/ILC/ImageHighlight/editTabBasicSection.js +1 -1
  110. package/cypress/e2e/ILC/ImageHighlight/headerSection.js +3 -3
  111. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +24 -0
  112. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +24 -0
  113. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +24 -0
  114. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +86 -0
  115. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/manuallyAndNonScored.js +2 -4
  116. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +1 -1
  117. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +237 -1
  118. package/cypress/e2e/ILC/ListOrderingDropdown/checkAddAlternativeButton.js +35 -0
  119. package/cypress/e2e/ILC/ListOrderingDropdown/editTabBasicSection.js +26 -0
  120. package/cypress/e2e/ILC/ListOrderingDropdown/headerSection.js +108 -0
  121. package/cypress/e2e/ILC/ListOrderingDropdown/manuallyAndNonScoredEditTab.js +2 -1
  122. package/cypress/e2e/ILC/ListOrderingDropdown/previewContentsForAllViews.smoke.js +2 -4
  123. package/cypress/e2e/ILC/ListOrderingDropdown/specifyCorrectAnswerSection.js +7 -12
  124. package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/specifyCorrectAnswerSection.js +10 -14
  125. package/cypress/e2e/ILC/ListOrderingNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +52 -0
  126. package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +215 -0
  127. package/cypress/e2e/ILC/ListOrderingNew/editTabBasicSection.js +23 -0
  128. package/cypress/e2e/ILC/ListOrderingNew/headerSection.js +36 -9
  129. package/cypress/e2e/ILC/ListOrderingNew/manuallyAndNonScoredEditTab.js +2 -0
  130. package/cypress/e2e/ILC/ListOrderingNew/specifyCorrectAnswerSection.js +7 -23
  131. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +41 -0
  132. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +30 -0
  133. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +50 -0
  134. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +101 -0
  135. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/allOrNothingForAllViews.smoke.js +309 -0
  136. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/checkAddAlternativeButton.js +38 -0
  137. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabBasicSection.js +24 -0
  138. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabScoring.js +4 -1
  139. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/headerSection.js +38 -3
  140. package/cypress/e2e/ILC/Matching/Scoring/blankResponseScoring.js +38 -41
  141. package/cypress/e2e/ILC/Matching/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +98 -0
  142. package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +210 -0
  143. package/cypress/e2e/ILC/Matching/checkAlternativeButton.js +38 -0
  144. package/cypress/e2e/ILC/Matching/clickAndDrop.js +5 -5
  145. package/cypress/e2e/ILC/Matching/draggableOptions.js +7 -0
  146. package/cypress/e2e/ILC/Matching/editQuestion.smoke.js +3 -2
  147. package/cypress/e2e/ILC/Matching/editTabBasicSection.js +41 -0
  148. package/cypress/e2e/ILC/Matching/headerSection.js +38 -12
  149. package/cypress/e2e/ILC/Matching/questionInstructionsAndPromptSection.js +2 -15
  150. package/cypress/e2e/ILC/Matching/studentViewSettings.js +3 -1
  151. package/cypress/e2e/ILC/Matching/studentViewSettingsForGroupedLayout.js +1 -1
  152. package/cypress/e2e/ILC/MatchingDropdown/Scoring/blankResponseScoring.js +7 -6
  153. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsScoringBasic.js +6 -6
  154. package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +208 -0
  155. package/cypress/e2e/ILC/MultipleSelection/allOrNothingBasicForAllViews.smoke.js +2 -1
  156. package/cypress/e2e/ILC/MultipleSelection/editTabBasicSection.js +1 -1
  157. package/cypress/e2e/ILC/MultipleSelection/headerSection.js +3 -3
  158. package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswer.js +1 -0
  159. package/cypress/e2e/ILC/MultipleSelectionGridNew/editTabBasicSection.js +2 -2
  160. package/cypress/e2e/ILC/MultipleSelectionGridNew/headerSection.js +3 -3
  161. package/cypress/e2e/ILC/MultipleSelectionGridNew/previewContentsForAllViews.smoke.js +100 -69
  162. package/cypress/e2e/ILC/MultipleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +1 -0
  163. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +79 -0
  164. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +42 -0
  165. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +42 -0
  166. package/cypress/e2e/ILC/NumberLine/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +75 -0
  167. package/cypress/e2e/ILC/NumberLine/allOrNothingScoringForAllViews.smoke.js +213 -0
  168. package/cypress/e2e/ILC/NumberLine/checkAddAlternativeButton.js +32 -0
  169. package/cypress/e2e/ILC/NumberLine/editTabSection.js +38 -0
  170. package/cypress/e2e/ILC/NumberLine/headerSection.js +34 -4
  171. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/allOrNothingScoringForAllViews.smoke.js +249 -0
  172. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +81 -0
  173. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +43 -0
  174. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +43 -0
  175. package/cypress/e2e/ILC/NumberLineLabel/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +76 -0
  176. package/cypress/e2e/ILC/NumberLineLabel/additionalSettingsBasic.js +0 -1
  177. package/cypress/e2e/ILC/NumberLineLabel/allOrNothingForAllViews.smoke.js +266 -0
  178. package/cypress/e2e/ILC/NumberLineLabel/checkAddAlternativeButton.js +34 -0
  179. package/cypress/e2e/ILC/NumberLineLabel/editTabSection.js +38 -0
  180. package/cypress/e2e/ILC/NumberLineLabel/headerSection.js +37 -4
  181. package/cypress/e2e/ILC/NumberLineLabel/manuallyAndNonScoredEditTab.js +2 -1
  182. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/allOrNothingForAllViews.smoke.js +268 -0
  183. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/editQuestion.smoke.js +1 -1
  184. package/cypress/e2e/ILC/ShortTextResponseNew/allOrNothingBasicForAllViews.smoke.js +186 -0
  185. package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +4 -3
  186. package/cypress/e2e/ILC/ShortTextResponseNew/headerSection.js +2 -4
  187. package/cypress/e2e/ILC/SingleSelection/editTabBasicSection.js +1 -1
  188. package/cypress/e2e/ILC/SingleSelection/headerSection.js +2 -2
  189. package/cypress/e2e/ILC/SingleSelectionGridNew/editTabBasicSection.js +2 -2
  190. package/cypress/e2e/ILC/SingleSelectionGridNew/headerSection.js +3 -3
  191. package/cypress/e2e/ILC/SingleSelectionGridNew/previewContentsForAllViews.smoke.js +101 -70
  192. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +86 -0
  193. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +86 -0
  194. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  195. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +4 -2
  196. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  197. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  198. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsScoringBasic.js +9 -2
  199. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +4 -2
  200. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +3 -1
  201. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  202. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsScoringBasic.js +4 -0
  203. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +64 -0
  204. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAddEvaluation.js +2 -0
  205. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAlternateAnswer.js +2 -0
  206. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +64 -0
  207. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  208. package/cypress/e2e/ILC/TextEntryMath/Scoring/blankResponseScoring.js +2 -2
  209. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  210. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  211. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  212. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsScoringBasic.js +8 -0
  213. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  214. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  215. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  216. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasic.js +1 -0
  217. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasicForAlternateAnswer.js +2 -0
  218. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViews.smoke.js +263 -0
  219. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +219 -0
  220. package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +27 -3
  221. package/cypress/e2e/ILC/TextEntryMath/equationEditor.smoke.js +1 -1
  222. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodEquivalentStructures.smoke.js +3 -3
  223. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchValue.smoke.js +310 -1
  224. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodSymbolsAreEquivalent.smoke.js +205 -1
  225. package/cypress/e2e/ILC/TextEntryMath/headerSection.js +43 -0
  226. package/cypress/e2e/ILC/TextEntryMathWithImage/allOrNothingScoringForAllViews.smoke.js +263 -0
  227. package/cypress/e2e/ILC/TextEntryMathWithImage/backgroundImageAndCanvasProperties.js +0 -1
  228. package/cypress/e2e/ILC/TextEntryMathWithImage/styleAndLayoutCustomization.js +1 -1
  229. package/cypress/e2e/ILC/TextSelection/additionalSettings.js +1 -0
  230. package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +231 -0
  231. package/cypress/e2e/ILC/TextSelection/editTabBasicSection.js +2 -2
  232. package/cypress/e2e/ILC/TextSelection/headerSection.js +3 -3
  233. package/cypress/e2e/ILC/TextSelection/minimumScoringPenaltyPointsAndRoundingDropdown.js +1 -0
  234. package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyPossibleOptionsSection.js +1 -0
  235. package/cypress/e2e/ILC/ThinkSphere/createReviewItem.js +1 -1
  236. package/cypress/e2e/ILC/ThinkSphere/editTabBasicSection.js +1 -1
  237. package/cypress/e2e/ILC/ThinkSphere/editThinkSphereQuestion.smoke.js +145 -54
  238. package/cypress/e2e/ILC/ThinkSphere/equationEditorEditCategoryFlyOut.js +2 -0
  239. package/cypress/e2e/ILC/ThinkSphere/gradingViewPlanTabSection.js +334 -0
  240. package/cypress/e2e/ILC/ThinkSphere/gradingViewReviewTabSection.js +140 -0
  241. package/cypress/e2e/ILC/ThinkSphere/gradingViewSolveTabSection.js +65 -0
  242. package/cypress/e2e/ILC/ThinkSphere/planPhase.js +45 -5
  243. package/cypress/e2e/ILC/ThinkSphere/previewTabPlanSection.js +8 -8
  244. package/cypress/e2e/ILC/ThinkSphere/previewTabReviewSection.js +102 -0
  245. package/cypress/e2e/ILC/ThinkSphere/previewTabSolveSection.js +41 -0
  246. package/cypress/e2e/ILC/ThinkSphere/solvePhase.js +3 -3
  247. package/cypress/e2e/ILC/ThinkSphere/studentViewPlanTabSection.js +393 -0
  248. package/cypress/e2e/ILC/ThinkSphere/studentViewReviewTabSection.js +146 -0
  249. package/cypress/e2e/ILC/ThinkSphere/studentViewSolveSection.js +53 -0
  250. package/cypress/e2e/ILC/ToolAudioPlayerNew/headerSection.js +90 -2
  251. package/cypress/e2e/ILC/UploadResponse/editTabBasicSection.js +34 -0
  252. package/cypress/e2e/ILC/UploadResponse/headerSection.js +38 -1
  253. package/cypress/e2e/ILC/UploadResponse/uploadResponsePreview.js +50 -13
  254. package/cypress/e2e/ILC/VideoResponseNew/editTabBasicSection.js +14 -29
  255. package/cypress/e2e/ILC/chartsDotsPlot/allOrNothingForAllViews.smoke.js +248 -0
  256. package/cypress/e2e/ILC/chartsDotsPlot/headerSection.js +16 -1
  257. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsBasic.js +27 -28
  258. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +31 -30
  259. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +24 -24
  260. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +39 -37
  261. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsBasic.js +22 -23
  262. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +31 -30
  263. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +25 -24
  264. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +31 -31
  265. package/cypress/e2e/ILC/chartsDotsPlot/scoring/toleranceThresholdScoring.js +18 -19
  266. package/cypress/e2e/ILC/chartsDotsPlot/specifyCorrectAnswerSection.js +96 -0
  267. package/cypress/e2e/Sessions/fetchResponses.js +3 -3
  268. package/cypress/e2e/Sessions/saveResponseScores.js +2 -2
  269. package/cypress/fixtures/thinkSphereWhiteboardTools.js +66 -0
  270. package/cypress/pages/audioPlayerPage.js +25 -0
  271. package/cypress/pages/brainingCampManipulativePage.js +1 -1
  272. package/cypress/pages/chartsBarPage.js +45 -0
  273. package/cypress/pages/chartsDotPlotPage.js +25 -0
  274. package/cypress/pages/chartsLinePage.js +29 -2
  275. package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +5 -1
  276. package/cypress/pages/components/chartsCommonComponent.js +21 -2
  277. package/cypress/pages/components/ckEditorEquationEditorComponent.js +1 -0
  278. package/cypress/pages/components/ckEditorInsertImageComponent.js +3 -3
  279. package/cypress/pages/components/ckEditorInsertTableComponent.js +3 -3
  280. package/cypress/pages/components/ckEditorLinkComponent.js +8 -9
  281. package/cypress/pages/components/colorPopupComponent.js +6 -0
  282. package/cypress/pages/components/createQuestionBasePage.js +19 -6
  283. package/cypress/pages/components/desmosToolComponent.js +1 -1
  284. package/cypress/pages/components/draggableOptionsSectionComponent.js +2 -0
  285. package/cypress/pages/components/equationEditorSectionCommonComponent.js +4 -4
  286. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +31 -3
  287. package/cypress/pages/components/fillInTheGapsTextCommonComponent.js +1 -1
  288. package/cypress/pages/components/gridQuestionCommonComponent.js +55 -2
  289. package/cypress/pages/components/imageCanvasComponent.js +11 -5
  290. package/cypress/pages/components/playbackControlsBaseComponent.js +6 -3
  291. package/cypress/pages/components/questionInstructionsComponent.js +2 -0
  292. package/cypress/pages/components/scoringSectionBaseEditTab.js +3 -0
  293. package/cypress/pages/components/specifyRowsAndColumnsComponent.js +16 -0
  294. package/cypress/pages/contentBlocksPage.js +2 -0
  295. package/cypress/pages/desmos3DGraphingPage.js +149 -4
  296. package/cypress/pages/desmosGeometryPage.js +184 -4
  297. package/cypress/pages/drawingResponsePage.js +9 -2
  298. package/cypress/pages/fillInTheGapsDragAndDropPage.js +3 -8
  299. package/cypress/pages/gradingGridViewPage.js +64 -0
  300. package/cypress/pages/graphingPage.js +28 -5
  301. package/cypress/pages/gridFillPage.js +24 -9
  302. package/cypress/pages/imageHighlightPage.js +115 -15
  303. package/cypress/pages/index.js +1 -0
  304. package/cypress/pages/listOrderingPage.js +46 -2
  305. package/cypress/pages/matchingPage.js +29 -10
  306. package/cypress/pages/numberLineLabelPage.js +26 -0
  307. package/cypress/pages/numberLinePage.js +15 -0
  308. package/cypress/pages/singleSelectionPage.js +30 -1
  309. package/cypress/pages/textEntryMathPage.js +29 -10
  310. package/cypress/pages/textSelectionPage.js +2 -2
  311. package/cypress/pages/thinkSpherePage.js +1118 -87
  312. package/cypress/pages/uploadResponsePage.js +17 -1
  313. package/cypress/pages/videoResponsePage.js +3 -0
  314. package/cypress/support/commands.js +9 -0
  315. package/cypress/support/helpers/createItem.js +22 -3
  316. package/cypress/support/helpers/utilities.js +14 -1
  317. package/package.json +1 -1
  318. /package/cypress/e2e/ILC/{ChartsDotsPlot → chartsDotsPlot}/checkAnswerFunctionalityForAllViews.js +0 -0
  319. /package/cypress/e2e/ILC/{ChartsDotsPlot → chartsDotsPlot}/editQuestion.smoke.js +0 -0
@@ -325,6 +325,293 @@ describe('Create item page - Charts - Bar: All or nothing ', () => {
325
325
  });
326
326
  });
327
327
 
328
+ views.forEach((view) => {
329
+ describe(`${view}: Charts - Bar: Manually scored`, { tags: 'smoke' }, () => {
330
+ abortEarlySetup();
331
+ before(() => {
332
+ switch (view) {
333
+ case 'Question preview':
334
+ chartsBarPage.steps.navigateToCreateQuestion('charts');
335
+ cy.barsPreLoaderWait();
336
+ chartsBarPage.steps.addTextInQuestionInstructionsInputField('Set the bar on the chart for the profits of the years');
337
+ chartsBarPage.steps.addBarOrPointInChartInSelectChartTypeSection();
338
+ chartsBarPage.steps.addBarOrPointInChartInSelectChartTypeSection();
339
+ chartsBarPage.steps.setBarValueInSelectChartTypeSection({ barIndex: 0, value: 3, range: 10 });
340
+ chartsBarPage.steps.setBarValueInSelectChartTypeSection({ barIndex: 1, value: 2, range: 10 });
341
+ chartsBarPage.steps.setBarValueInSelectChartTypeSection({ barIndex: 2, value: 6, range: 10 });
342
+ chartsBarPage.steps.setBarValueInSelectChartTypeSection({ barIndex: 3, value: 5, range: 10 });
343
+ chartsBarPage.steps.expandScoringTypeDropdown();
344
+ chartsBarPage.steps.selectOptionFromScoringTypeDropdown('Manually scored');
345
+ chartsBarPage.steps.allotPointsForManualScoring(20);
346
+ chartsBarPage.steps.switchToPreviewTab();
347
+ break;
348
+ case 'Item preview':
349
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
350
+ itemPreviewPage.steps.switchToPreviewTab();
351
+ break;
352
+ case 'Grading view':
353
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
354
+ break;
355
+ }
356
+ });
357
+
358
+ beforeEach(() => {
359
+ switch (view) {
360
+ case 'Question preview':
361
+ chartsBarPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
362
+ chartsBarPage.steps.resetQuestionPreview();
363
+ break;
364
+ case 'Item preview':
365
+ itemPreviewPage.steps.switchToStudentView();
366
+ itemPreviewPage.steps.resetQuestionPreview();
367
+ break;
368
+ case 'Grading view':
369
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
370
+ break;
371
+ }
372
+ });
373
+
374
+ if (view === 'Question preview') {
375
+ after(() => {
376
+ chartsBarPage.steps.clickOnSaveQuestionButton();
377
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
378
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
379
+ });
380
+ }
381
+
382
+ it('Question instructions should be visible', () => {
383
+ chartsBarPage.steps.verifyQuestionInstructionsTextPreviewTab('Set the bar on the chart for the profits of the years');
384
+ chartsBarPage.steps.verifyVisibityOfQuestionInstructionsText();
385
+ });
386
+
387
+ 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', () => {
388
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 0, value: 3, range: 10 });
389
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 2, value: 6, range: 10 });
390
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 3, value: 5, range: 10 });
391
+ if (view === 'Grading view') {
392
+ studentViewPage.steps.submitResponse();
393
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
394
+ studentViewPage.steps.clickOnGoToGradingViewButton();
395
+ gradingViewPage.steps.verifyGradingViewScore('', 20);
396
+ }
397
+ if (view === 'Question preview' || view === 'Item preview') {
398
+ chartsBarPage.steps.checkManuallyScoredScoringLabel();
399
+ }
400
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconNotExistsInPreviewTab(0);
401
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconNotExistsInPreviewTab(2);
402
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconNotExistsInPreviewTab(3);
403
+ chartsBarPage.steps.verifyCorrectAnswerSectionNotExist();
404
+ });
405
+ });
406
+ });
407
+
408
+ views.forEach((view) => {
409
+ describe(`${view}: Charts - Bar: Non scored`, { tags: 'smoke' }, () => {
410
+ abortEarlySetup();
411
+ before(() => {
412
+ switch (view) {
413
+ case 'Question preview':
414
+ chartsBarPage.steps.navigateToCreateQuestion('charts');
415
+ cy.barsPreLoaderWait();
416
+ chartsBarPage.steps.addTextInQuestionInstructionsInputField('Set the bar on the chart for the profits of the years');
417
+ chartsBarPage.steps.addBarOrPointInChartInSelectChartTypeSection();
418
+ chartsBarPage.steps.addBarOrPointInChartInSelectChartTypeSection();
419
+ chartsBarPage.steps.setBarValueInSelectChartTypeSection({ barIndex: 0, value: 3, range: 10 });
420
+ chartsBarPage.steps.setBarValueInSelectChartTypeSection({ barIndex: 1, value: 2, range: 10 });
421
+ chartsBarPage.steps.setBarValueInSelectChartTypeSection({ barIndex: 2, value: 6, range: 10 });
422
+ chartsBarPage.steps.setBarValueInSelectChartTypeSection({ barIndex: 3, value: 5, range: 10 });
423
+ chartsBarPage.steps.setBarValueInSelectChartTypeSection({ barIndex: 4, value: 0, range: 10 });
424
+ chartsBarPage.steps.expandScoringTypeDropdown();
425
+ chartsBarPage.steps.selectOptionFromScoringTypeDropdown('Non scored');
426
+ chartsBarPage.steps.setBarValueInSpecifyCorrectAnswerSection({ barIndex: 0, value: 4, range: 10 });
427
+ chartsBarPage.steps.setBarValueInSpecifyCorrectAnswerSection({ barIndex: 1, value: 5, range: 10 });
428
+ chartsBarPage.steps.setBarValueInSpecifyCorrectAnswerSection({ barIndex: 2, value: 7, range: 10 });
429
+ chartsBarPage.steps.setBarValueInSpecifyCorrectAnswerSection({ barIndex: 3, value: 6, range: 10 });
430
+ chartsBarPage.steps.setBarValueInSpecifyCorrectAnswerSection({ barIndex: 4, value: 1, range: 10 });
431
+ chartsBarPage.steps.switchToPreviewTab();
432
+ break;
433
+ case 'Item preview':
434
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
435
+ itemPreviewPage.steps.switchToPreviewTab();
436
+ break;
437
+ case 'Grading view':
438
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
439
+ break;
440
+ }
441
+ });
442
+
443
+ beforeEach(() => {
444
+ switch (view) {
445
+ case 'Question preview':
446
+ chartsBarPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
447
+ chartsBarPage.steps.resetQuestionPreview();
448
+ break;
449
+ case 'Item preview':
450
+ itemPreviewPage.steps.switchToStudentView();
451
+ itemPreviewPage.steps.resetQuestionPreview();
452
+ break;
453
+ case 'Grading view':
454
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
455
+ break;
456
+ }
457
+ });
458
+
459
+ if (view === 'Question preview') {
460
+ after(() => {
461
+ chartsBarPage.steps.clickOnSaveQuestionButton();
462
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
463
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
464
+ });
465
+ }
466
+
467
+ //Need to remove skip once https://redmine.zeuslearning.com/issues/577716 is resolved.
468
+ it.skip('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', () => {
469
+ if (view === 'Grading view') {
470
+ studentViewPage.steps.submitResponse();
471
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
472
+ studentViewPage.steps.clickOnGoToGradingViewButton();
473
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
474
+ };
475
+ if (view === 'Question preview' || view === 'Item preview') {
476
+ chartsBarPage.steps.checkNonScoredScoringLabel();
477
+ chartsBarPage.steps.switchToGradingView();
478
+ };
479
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconNotExistsInPreviewTab(0);
480
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconNotExistsInPreviewTab(1);
481
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconNotExistsInPreviewTab(2);
482
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconNotExistsInPreviewTab(3);
483
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconNotExistsInPreviewTab(4);
484
+ chartsBarPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
485
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 0, barValue: 4, range: 10 });
486
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 1, barValue: 5, range: 10 });
487
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 2, barValue: 7, range: 10 });
488
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 3, barValue: 6, range: 10 });
489
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 4, barValue: 1, range: 10 });
490
+ });
491
+
492
+ it('When the user incorrectly sets all bars, non-scoring label should be displayed and on switching to grading view, incorrect icons should be displayed on all bars and correct answer section should be displayed', () => {
493
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 0, value: 5, range: 10 });
494
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 1, value: 4, range: 10 });
495
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 2, value: 2, range: 10 });
496
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 3, value: 1, range: 10 });
497
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 4, value: 7, range: 10 });
498
+ if (view === 'Grading view') {
499
+ studentViewPage.steps.submitResponse();
500
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
501
+ studentViewPage.steps.clickOnGoToGradingViewButton();
502
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
503
+ };
504
+ if (view === 'Question preview' || view === 'Item preview') {
505
+ chartsBarPage.steps.checkNonScoredScoringLabel();
506
+ chartsBarPage.steps.switchToGradingView();
507
+ };
508
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(0, 'incorrect');
509
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(1, 'incorrect');
510
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(2, 'incorrect');
511
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(3, 'incorrect');
512
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(4, 'incorrect');
513
+ chartsBarPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
514
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 0, barValue: 4, range: 10 });
515
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 1, barValue: 5, range: 10 });
516
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 2, barValue: 7, range: 10 });
517
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 3, barValue: 6, range: 10 });
518
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 4, barValue: 1, range: 10 });
519
+ });
520
+
521
+ it('When the user attempts the question partially correct by setting all bars correctly except one, non-scoring label should be displayed and on switching to grading view, correct icons should be displayed on the correct bars, incorrect icon on the incorrect bar, and correct answer section should be displayed', () => {
522
+ if (view === 'Grading view') {
523
+ studentViewPage.steps.clearResponses();
524
+ };
525
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 0, value: 4, range: 10 });
526
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 1, value: 2, range: 10 });
527
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 2, value: 7, range: 10 });
528
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 3, value: 6, range: 10 });
529
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 4, value: 2, range: 10 }); // incorrect
530
+ if (view === 'Grading view') {
531
+ studentViewPage.steps.submitResponse();
532
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
533
+ studentViewPage.steps.clickOnGoToGradingViewButton();
534
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
535
+ };
536
+ if (view === 'Question preview' || view === 'Item preview') {
537
+ chartsBarPage.steps.checkNonScoredScoringLabel();
538
+ chartsBarPage.steps.switchToGradingView();
539
+ };
540
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(0, 'correct');
541
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(1, 'incorrect');
542
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(2, 'correct');
543
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(3, 'correct');
544
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(4, 'incorrect');
545
+ chartsBarPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
546
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 0, barValue: 4, range: 10 });
547
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 1, barValue: 5, range: 10 });
548
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 2, barValue: 7, range: 10 });
549
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 3, barValue: 6, range: 10 });
550
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 4, barValue: 1, range: 10 });
551
+ });
552
+
553
+ it('When the user attempts the question partially correct by setting only one bar correctly, non-scoring label should be displayed and on switching to grading view, correct icon should be displayed on the correct bar, incorrect icons on the rest, and correct answer section should be displayed', () => {
554
+ if (view === 'Grading view') {
555
+ studentViewPage.steps.clearResponses();
556
+ };
557
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 0, value: 4, range: 10 });
558
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 1, value: 4, range: 10 });
559
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 2, value: 2, range: 10 });
560
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 3, value: 1, range: 10 });
561
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 4, value: 7, range: 10 });
562
+ if (view === 'Grading view') {
563
+ studentViewPage.steps.submitResponse();
564
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
565
+ studentViewPage.steps.clickOnGoToGradingViewButton();
566
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
567
+ };
568
+ if (view === 'Question preview' || view === 'Item preview') {
569
+ chartsBarPage.steps.checkNonScoredScoringLabel();
570
+ chartsBarPage.steps.switchToGradingView();
571
+ };
572
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(0, 'correct');
573
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(1, 'incorrect');
574
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(2, 'incorrect');
575
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(3, 'incorrect');
576
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(4, 'incorrect');
577
+ chartsBarPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
578
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 0, barValue: 4, range: 10 });
579
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 1, barValue: 5, range: 10 });
580
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 2, barValue: 7, range: 10 });
581
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 3, barValue: 6, range: 10 });
582
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 4, barValue: 1, range: 10 });
583
+ });
584
+
585
+ 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 for the correct bars, a status message with text "Your answer is correct" should be displayed and correct answer section should not be displayed', () => {
586
+ if (view === 'Grading view') {
587
+ studentViewPage.steps.clearResponses();
588
+ };
589
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 0, value: 4, range: 10 });
590
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 1, value: 5, range: 10 });
591
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 2, value: 7, range: 10 });
592
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 3, value: 6, range: 10 });
593
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 4, value: 1, range: 10 });
594
+ if (view === 'Grading view') {
595
+ studentViewPage.steps.submitResponse();
596
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
597
+ studentViewPage.steps.clickOnGoToGradingViewButton();
598
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
599
+ };
600
+ if (view === 'Question preview' || view === 'Item preview') {
601
+ chartsBarPage.steps.checkNonScoredScoringLabel();
602
+ chartsBarPage.steps.switchToGradingView();
603
+ };
604
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(0, 'correct');
605
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(1, 'correct');
606
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(2, 'correct');
607
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(3, 'correct');
608
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(4, 'correct');
609
+ chartsBarPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
610
+ chartsBarPage.steps.verifyCorrectAnswerSectionNotExist();
611
+ });
612
+ });
613
+ });
614
+
328
615
  if (!grepTags || !grepTags.includes('smoke')) {
329
616
  describe('Question preview: Auto scored - All or nothing: Minimum scoring', () => {
330
617
  abortEarlySetup();
@@ -42,7 +42,7 @@ describe('Edit item - Charts - Bar', () => {
42
42
  it('User should be able to edit Grid options and save the question', () => {
43
43
  chartsBarPage.steps.editItem();
44
44
  chartsBarPage.steps.setMaxYValue(20);
45
- chartsBarPage.steps.enterTextInIntervalInputField(0.25);
45
+ chartsBarPage.steps.enterTextInIntervalInputField(0.5);
46
46
  chartsBarPage.steps.enterTextInAnnotateEveryInputField(2);
47
47
  chartsBarPage.steps.enterValueInGridSnappingInputField(2);
48
48
  chartsBarPage.steps.saveAQuestionAndVerifySnackbar();
@@ -0,0 +1,37 @@
1
+ import { chartsBarPage } from "../../../pages";
2
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
3
+
4
+ describe('Create item page - Charts Bar', () => {
5
+ before(() => {
6
+ cy.loginAs('admin');
7
+ });
8
+
9
+ describe('User should be able to edit incomplete authored question', () => {
10
+ abortEarlySetup();
11
+ before(() => {
12
+ chartsBarPage.steps.navigateToCreateQuestion('charts');
13
+ cy.barsPreLoaderWait();
14
+ chartsBarPage.steps.saveAQuestionWithIncompleteAuthoring();
15
+ chartsBarPage.steps.editItem();
16
+ });
17
+
18
+ it('Warning icons should be displayed on the required input fields', () => {
19
+ chartsBarPage.steps.verifyWarningIconOnRequiredFields([
20
+ 'Please set points.',
21
+ ]);
22
+ });
23
+
24
+ it('When required input fields are filled then warning icons should disappear', () => {
25
+ chartsBarPage.steps.allotPoints(10);
26
+ chartsBarPage.steps.verifyErrorMessageIsNotDisplayed();
27
+ });
28
+
29
+ it('Clicking on Save Question button the question should get saved and a snackbar with text \'Saved successfully!\' should be displayed', () => {
30
+ chartsBarPage.steps.saveAQuestionAndVerifySnackbar();
31
+ });
32
+
33
+ it('Warning icon should not be visible', () => {
34
+ chartsBarPage.steps.verifyWarningIconNotExist();
35
+ });
36
+ });
37
+ });
@@ -1,8 +1,11 @@
1
1
  import abortEarlySetup from "../../../support/helpers/abortEarly";
2
- import { chartsBarPage, dialogBoxBase } from "../../../pages";
2
+ import { chartsBarPage, dialogBoxBase, itemPreviewPage } from "../../../pages";
3
+ import { browseItemsPage } from "../../../pages/components";
3
4
  import utilities from "../../../support/helpers/utilities";
4
5
  const css = Cypress.env('css');
5
6
 
7
+ var itemReferenceID = "";
8
+
6
9
  describe('Create item page - Charts - Bar: Header section and saving question', () => {
7
10
  before(() => {
8
11
  cy.loginAs('admin');
@@ -94,7 +97,22 @@ describe('Create item page - Charts - Bar: Header section and saving question',
94
97
  cy.barsPreLoaderWait();
95
98
  });
96
99
 
97
- chartsBarPage.tests.verifyCreateItemWrapperContentsA11y();
100
+ describe('Validation error messages', () => {
101
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please set points.']);
102
+
103
+ it('Validation error messages should be displayed below required input fields', () => {
104
+ chartsBarPage.steps.verifyQuestionInstructionsErrorMessageIsNotDisplayed();
105
+ chartsBarPage.steps.verifyWarningIconOnRequiredFields(['Please set points.']);
106
+ chartsBarPage.steps.verifySpecifyCorrectAnswerErrorIconNotExists();
107
+ });
108
+
109
+ it('Validation error messages should disappear when required input fields are filled', () => {
110
+ chartsBarPage.steps.allotPoints(10);
111
+ chartsBarPage.steps.verifyErrorMessageIsNotDisplayed();
112
+ });
113
+
114
+ chartsBarPage.tests.verifyCreateItemWrapperContentsA11y();
115
+ });
98
116
 
99
117
  describe('Saving a question', () => {
100
118
  it('When user clicks on "Save question" button, then the question should get saved and a snackbar with text \'Saved successfully!\' should be displayed', () => {
@@ -103,5 +121,35 @@ describe('Create item page - Charts - Bar: Header section and saving question',
103
121
 
104
122
  chartsBarPage.tests.verifySavedSuccessfullySnackbarCSSAndA11y();
105
123
  });
124
+
125
+ describe('Saving a question with incomplete authoring', () => {
126
+ abortEarlySetup();
127
+ before(() => {
128
+ chartsBarPage.steps.navigateToCreateQuestion('charts');
129
+ cy.barsPreLoaderWait();
130
+ });
131
+
132
+ it('User should be able to save the question with incomplete authoring and display a snackbar with the text "Saved successfully!" when the Save Question button is clicked', () => {
133
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please set points.']);
134
+ chartsBarPage.steps.saveAQuestionWithIncompleteAuthoring();
135
+ });
136
+ chartsBarPage.tests.verifySavedSuccessfullySnackbarCSSAndA11y();
137
+ });
138
+ });
139
+
140
+ describe('Save as you go - Browse item page contents', () => {
141
+ abortEarlySetup();
142
+ before(() => {
143
+ chartsBarPage.steps.navigateToCreateQuestion('charts');
144
+ cy.barsPreLoaderWait();
145
+ chartsBarPage.steps.saveAQuestionWithIncompleteAuthoring();
146
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
147
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
148
+ browseItemsPage.steps.navigateToBrowseItemsPage();
149
+ });
150
+
151
+ it('When user saves an incompletely authored question then a warning icon should be visible in browse items page', () => {
152
+ browseItemsPage.steps.verifyWarningIconInBrowseItemPage(`${itemReferenceID}`);
153
+ });
106
154
  });
107
155
  });
@@ -92,4 +92,96 @@ describe('Create Item page - Charts - Bar chart: Specify correct answer, Alterna
92
92
  utilities.verifyElementCount(chartsBarPage.specifyCorrectAnswerBar(), 3);
93
93
  });
94
94
  });
95
+
96
+ describe('Charts Bar - Bars Locked', () => {
97
+ abortEarlySetup();
98
+ before(() => {
99
+ chartsBarPage.steps.navigateToCreateQuestion('charts');
100
+ cy.barsPreLoaderWait();
101
+ chartsBarPage.steps.addTextInQuestionInstructionsInputField('Set bars on charts');
102
+ chartsBarPage.steps.setBarValueInSelectChartTypeSection({ barIndex: 0, value: 2, range: 10 });
103
+ chartsBarPage.steps.setBarValueInSelectChartTypeSection({ barIndex: 1, value: 4, range: 10 });
104
+ chartsBarPage.steps.setBarValueInSelectChartTypeSection({ barIndex: 2, value: 6, range: 10 });
105
+ chartsBarPage.steps.lockBar(0);
106
+ chartsBarPage.steps.allotPoints(20);
107
+ chartsBarPage.steps.selectAutoScoredScoringSubtype('Partial different weights');
108
+ chartsBarPage.steps.setBarValueInSpecifyCorrectAnswerSection({ barIndex: 1, value: 4, range: 10 });
109
+ chartsBarPage.steps.setBarValueInSpecifyCorrectAnswerSection({ barIndex: 2, value: 4, range: 10 });
110
+ });
111
+
112
+ it('Should disable the point input field for a locked bar and distribute points among enabled bars only', () => {
113
+ chartsBarPage.steps.verifyPartialDifferentWeightsPointsInputFieldIsDisabled(0);
114
+ chartsBarPage.steps.verifyPartialDifferentWeightsPointsInputFieldValue(['', 10, 10]);
115
+ chartsBarPage.steps.verifyPointsLabelAndPointsOnAnswerAccordion(0, '20');
116
+ });
117
+
118
+ it('Should deduct points from the total score when an additional bar is locked', () => {
119
+ chartsBarPage.steps.lockBar(2);
120
+ chartsBarPage.steps.verifyPartialDifferentWeightsPointsInputFieldIsDisabled(2);
121
+ chartsBarPage.steps.verifyPartialDifferentWeightsPointsInputFieldValue(['', 10, '']);
122
+ chartsBarPage.steps.verifyPointsLabelAndPointsOnAnswerAccordion(0, '10');
123
+ });
124
+
125
+ it('Should maintain the same total points when switching from partial different weights to partial equal weights', () => {
126
+ chartsBarPage.steps.selectAutoScoredScoringSubtype('partial equal weights');
127
+ chartsBarPage.steps.verifyPoints(10);
128
+ chartsBarPage.steps.verifyPointsLabelAndPointsOnAnswerAccordion(0, '10');
129
+ chartsBarPage.steps.verifyPartialEqualWeightsPointsPerResponseScore('10');
130
+ });
131
+
132
+ it('Should allow unlocking a locked bar and the points will not be added to the unlocked bar', () => {
133
+ chartsBarPage.steps.unlockBar(2);
134
+ chartsBarPage.steps.selectAutoScoredScoringSubtype('Partial different weights');
135
+ chartsBarPage.steps.verifyPartialDifferentWeightsPointsInputFieldIsEnabled(2);
136
+ chartsBarPage.steps.verifyPartialDifferentWeightsPointsInputFieldValue(['', 5, 5]);
137
+ chartsBarPage.steps.verifyPointsLabelAndPointsOnAnswerAccordion(0, '10');
138
+ });
139
+
140
+ it('Should handle unlocking all bars', () => {
141
+ chartsBarPage.steps.unlockBar(0);
142
+ chartsBarPage.steps.verifyPartialDifferentWeightsPointsInputFieldIsEnabled(0);
143
+ chartsBarPage.steps.verifyPartialDifferentWeightsPointsInputFieldIsEnabled(1);
144
+ chartsBarPage.steps.verifyPartialDifferentWeightsPointsInputFieldIsEnabled(2);
145
+ chartsBarPage.steps.verifyPartialDifferentWeightsPointsInputFieldValue(['', 5, 5]);
146
+ chartsBarPage.steps.verifyPointsLabelAndPointsOnAnswerAccordion(0, '10');
147
+ });
148
+
149
+ it('Should maintain point distribution after switching between scoring subtypes multiple times', () => {
150
+ chartsBarPage.steps.selectAutoScoredScoringSubtype('All or nothing');
151
+ chartsBarPage.steps.verifyPoints(10);
152
+ chartsBarPage.steps.selectAutoScoredScoringSubtype('Partial different weights');
153
+ chartsBarPage.steps.verifyPartialDifferentWeightsPointsInputFieldValue([3.33, 3.33, 3.33]);
154
+ chartsBarPage.steps.selectAutoScoredScoringSubtype('partial equal weights');
155
+ chartsBarPage.steps.verifyPoints(9.99);
156
+ chartsBarPage.steps.verifyPartialEqualWeightsPointsPerResponseScore('3.33');
157
+ });
158
+
159
+ it('Should correctly lock multiple bars in sequence and adjust point distribution accordingly', () => {
160
+ chartsBarPage.steps.selectAutoScoredScoringSubtype('Partial different weights');
161
+ chartsBarPage.steps.lockBar(0);
162
+ chartsBarPage.steps.verifyPartialDifferentWeightsPointsInputFieldIsDisabled(0);
163
+ chartsBarPage.steps.verifyPartialDifferentWeightsPointsInputFieldValue(['', 3.33, 3.33]);
164
+ chartsBarPage.steps.lockBar(1);
165
+ chartsBarPage.steps.verifyPartialDifferentWeightsPointsInputFieldIsDisabled(0);
166
+ chartsBarPage.steps.verifyPartialDifferentWeightsPointsInputFieldIsDisabled(1);
167
+ chartsBarPage.steps.verifyPartialDifferentWeightsPointsInputFieldValue(['', '', 3.33]);
168
+ chartsBarPage.steps.lockBar(2);
169
+ chartsBarPage.steps.verifyPartialDifferentWeightsPointsInputFieldIsDisabled(2);
170
+ chartsBarPage.steps.verifyPartialDifferentWeightsPointsInputFieldValue(['', '', '']);
171
+ });
172
+ it('Should remove the points of the locked bar if we allot the points first and then lock the bar', () => {
173
+ chartsBarPage.steps.selectAutoScoredScoringSubtype('Partial different weights');
174
+ chartsBarPage.steps.unlockBar(0);
175
+ chartsBarPage.steps.unlockBar(1);
176
+ chartsBarPage.steps.unlockBar(2);
177
+ chartsBarPage.steps.verifyPartialDifferentWeightsPointsInputFieldIsEnabled(0);
178
+ chartsBarPage.steps.verifyPartialDifferentWeightsPointsInputFieldIsEnabled(1);
179
+ chartsBarPage.steps.verifyPartialDifferentWeightsPointsInputFieldIsEnabled(2);
180
+ chartsBarPage.steps.allotPartialDifferentWeightsPoints([10, 10, 10]);
181
+ chartsBarPage.steps.verifyPointsLabelAndPointsOnAnswerAccordion(0, '30');
182
+ chartsBarPage.steps.lockBar(0);
183
+ chartsBarPage.steps.verifyPartialDifferentWeightsPointsInputFieldValue(['', '10', '10']);
184
+ chartsBarPage.steps.verifyPointsLabelAndPointsOnAnswerAccordion(0, '20');
185
+ });
186
+ });
95
187
  });