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
@@ -227,4 +227,85 @@ describe('Create Item page - Number line: All or nothing with alternative answer
227
227
  numberLineLabelPage.steps.verifyCorrectAnswerSectionNotExist();*/
228
228
  });
229
229
  });
230
+
231
+ describe('Question Preview: AutoScored - All or Nothing with blank scoring: When alternative answer points are more than correct answer points and alternative has blank response', () => {
232
+ abortEarlySetup();
233
+ before(() => {
234
+ numberLineLabelPage.steps.navigateToCreateQuestion('Number line');
235
+ numberLineLabelPage.steps.navigateToLabelNumberLineTab();
236
+ numberLineLabelPage.steps.addTextInQuestionInstructionsInputField('Plot labels on the number line');
237
+ numberLineLabelPage.steps.enterTextInMultipleLabelInputFields(['Label 1', 'Label 2', 'Label 3']);
238
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 1', 'horizontal', range, 1);
239
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 2', 'horizontal', range, 2);
240
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 3', 'horizontal', range, 3);
241
+ numberLineLabelPage.steps.allotPoints(12);
242
+ numberLineLabelPage.steps.addAlternativeAnswerAccordion(1);
243
+ numberLineLabelPage.steps.allotPoints(20);
244
+ numberLineLabelPage.steps.switchToPreviewTab();
245
+ })
246
+
247
+ it('When user attempts the question with responses from the correct accordion, then the user should be awarded points specified for correct points accordion (less than full points) and on switching to \'Grading\' view, correct icons should be displayed beside all the correct responses, a status message with text \'Your answer is correct\' should be displayed and correct answer section should not be displayed', () => {
248
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 1', 'horizontal', range, 1);
249
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 2', 'horizontal', range, 2);
250
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 3', 'horizontal', range, 3);
251
+ numberLineLabelPage.steps.verifyPreviewScore(12, 20);
252
+ numberLineLabelPage.steps.switchToGradingView();
253
+ numberLineLabelPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
254
+ numberLineLabelPage.steps.verifyCorrectAnswerSectionNotExist();
255
+ numberLineLabelPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
256
+ })
257
+
258
+ it('When user resets the option then full score should be awarded as alternative accordion has blank response', () => {
259
+ numberLineLabelPage.steps.resetQuestionPreview();
260
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 3', 'horizontal', range, 3);
261
+ numberLineLabelPage.steps.clickAndDropLabelInContainerPreviewTab('Label 3');
262
+ numberLineLabelPage.steps.verifyPreviewScore(20, 20);
263
+ numberLineLabelPage.steps.switchToGradingView();
264
+ numberLineLabelPage.steps.verifyCorrectAnswerSectionNotExist();
265
+ numberLineLabelPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
266
+ numberLineLabelPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
267
+ })
268
+ })
269
+
270
+ describe('Question Preview: AutoScored - All or Nothing with blank scoring: When alternative answer points are more than correct answer points and correct answer has no points plotted', () => {
271
+ abortEarlySetup();
272
+ before(() => {
273
+ numberLineLabelPage.steps.navigateToCreateQuestion('Number line');
274
+ cy.barsPreLoaderWait();
275
+ numberLineLabelPage.steps.navigateToLabelNumberLineTab();
276
+ numberLineLabelPage.steps.enterTextInMultipleLabelInputFields(['Label 1', 'Label 2', 'Label 3']);
277
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 1', 'horizontal', range, 1);
278
+ numberLineLabelPage.steps.allotPoints(12);
279
+ numberLineLabelPage.steps.addAlternativeAnswerAccordion(1);
280
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 1', 'horizontal', range, 1);
281
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 2', 'horizontal', range, 2);
282
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 3', 'horizontal', range, 3);
283
+ numberLineLabelPage.steps.allotPoints(20);
284
+ numberLineLabelPage.steps.expandCorrectAnswerAccordion();
285
+ numberLineLabelPage.steps.clickAndDropLabelInContainerSpecifyCorrectAnswer('Label 1');
286
+ numberLineLabelPage.steps.switchToPreviewTab();
287
+ });
288
+
289
+ it('When user attempts the question with responses from the correct accordion i.e select and resets an option, then the user should be awarded points specified for correct points accordion (less than full points) and on switching to \'Grading\' view, correct icons should be displayed beside all the correct responses, a status message with text \'Your answer is correct\' should be displayed and correct answer section should not be displayed', () => {
290
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 1', 'horizontal', range, 1);
291
+ numberLineLabelPage.steps.clickAndDropLabelInContainerPreviewTab('Label 1');
292
+ numberLineLabelPage.steps.verifyPreviewScore(12, 20);
293
+ numberLineLabelPage.steps.switchToGradingView();
294
+ numberLineLabelPage.steps.verifyCorrectAnswerSectionNotExist();
295
+ numberLineLabelPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
296
+ numberLineLabelPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
297
+ })
298
+
299
+ it('When user attempts the question with responses from the alternative accordion then full score should be awarded', () => {
300
+ numberLineLabelPage.steps.resetQuestionPreview();
301
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 1', 'horizontal', range, 1);
302
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 2', 'horizontal', range, 2);
303
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 3', 'horizontal', range, 3);
304
+ numberLineLabelPage.steps.verifyPreviewScore(20, 20);
305
+ numberLineLabelPage.steps.switchToGradingView();
306
+ numberLineLabelPage.steps.verifyCorrectAnswerSectionNotExist();
307
+ numberLineLabelPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
308
+ numberLineLabelPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
309
+ })
310
+ })
230
311
  });
@@ -227,4 +227,47 @@ describe('Create Item page - Number line: All or nothing with alternative answer
227
227
  numberLineLabelPage.steps.verifyCorrectAnswerSectionNotExist();*/
228
228
  });
229
229
  });
230
+
231
+ describe('Question Preview: AutoScored - All or Nothing with blank scoring: When alternative answer points are equal than correct answer points', () => {
232
+ abortEarlySetup();
233
+ before(() => {
234
+ numberLineLabelPage.steps.navigateToCreateQuestion('Number line');
235
+ cy.barsPreLoaderWait();
236
+ numberLineLabelPage.steps.navigateToLabelNumberLineTab();
237
+ numberLineLabelPage.steps.addTextInQuestionInstructionsInputField('Plot labels on the number line');
238
+ numberLineLabelPage.steps.enterTextInMultipleLabelInputFields(['Label 1', 'Label 2', 'Label 3']);
239
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 1', 'horizontal', range, 0);
240
+ numberLineLabelPage.steps.allotPoints(12);
241
+ numberLineLabelPage.steps.addAlternativeAnswerAccordion(1);
242
+ numberLineLabelPage.steps.allotPoints(12);
243
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 1', 'horizontal', range, 1);
244
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 2', 'horizontal', range, 2);
245
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 3', 'horizontal', range, 3);
246
+ numberLineLabelPage.steps.expandCorrectAnswerAccordion();
247
+ numberLineLabelPage.steps.clickAndDropLabelInContainerSpecifyCorrectAnswer('Label 1');
248
+ numberLineLabelPage.steps.switchToPreviewTab();
249
+ });
250
+
251
+ it('When user attempts the question with responses from the correct accordion i.e select and resets an option, then the user should be awarded points specified for correct points accordion (less than full points) and on switching to \'Grading\' view, correct icons should be displayed beside all the correct responses, a status message with text \'Your answer is correct\' should be displayed and correct answer section should not be displayed', () => {
252
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 1', 'horizontal', range, 0);
253
+ numberLineLabelPage.steps.clickAndDropLabelInContainerPreviewTab('Label 1');
254
+ numberLineLabelPage.steps.verifyPreviewScore(12, 12);
255
+ numberLineLabelPage.steps.switchToGradingView();
256
+ numberLineLabelPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
257
+ numberLineLabelPage.steps.verifyCorrectAnswerSectionNotExist();
258
+ numberLineLabelPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
259
+ });
260
+
261
+ it('When user attempts the question with responses from the alternative accordion then full score should be awarded', () => {
262
+ numberLineLabelPage.steps.resetQuestionPreview();
263
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 1', 'horizontal', range, 1);
264
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 2', 'horizontal', range, 2);
265
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 3', 'horizontal', range, 3);
266
+ numberLineLabelPage.steps.verifyPreviewScore(12, 12);
267
+ numberLineLabelPage.steps.switchToGradingView();
268
+ numberLineLabelPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
269
+ numberLineLabelPage.steps.verifyCorrectAnswerSectionNotExist();
270
+ numberLineLabelPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
271
+ });
272
+ });
230
273
  });
@@ -227,4 +227,47 @@ describe('Create Item page - Number line: All or nothing with alternative answer
227
227
  numberLineLabelPage.steps.verifyCorrectAnswerSectionNotExist();*/
228
228
  });
229
229
  });
230
+
231
+ describe('Question Preview: AutoScored - All or Nothing with blank scoring: When correct answer points are greater than alternative answer points', () => {
232
+ abortEarlySetup();
233
+ before(() => {
234
+ numberLineLabelPage.steps.navigateToCreateQuestion('Number line');
235
+ cy.barsPreLoaderWait();
236
+ numberLineLabelPage.steps.navigateToLabelNumberLineTab();
237
+ numberLineLabelPage.steps.addTextInQuestionInstructionsInputField('Plot labels on the number line');
238
+ numberLineLabelPage.steps.enterTextInMultipleLabelInputFields(['Label 1', 'Label 2', 'Label 3']);
239
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 1', 'horizontal', range, 1);
240
+ numberLineLabelPage.steps.allotPoints(21);
241
+ numberLineLabelPage.steps.addAlternativeAnswerAccordion(1);
242
+ numberLineLabelPage.steps.allotPoints(12);
243
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 1', 'horizontal', range, 1);
244
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 2', 'horizontal', range, 2);
245
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 3', 'horizontal', range, 3);
246
+ numberLineLabelPage.steps.expandCorrectAnswerAccordion();
247
+ numberLineLabelPage.steps.clickAndDropLabelInContainerSpecifyCorrectAnswer('Label 1');
248
+ numberLineLabelPage.steps.switchToPreviewTab();
249
+ });
250
+
251
+ it('When user attempts the question with responses from the correct accordion i.e select and resets an option, then the user should be awarded points specified for correct points accordion (full points) and on switching to \'Grading\' view, correct icons should be displayed beside all the correct responses, a status message with text \'Your answer is correct\' should be displayed and correct answer section should not be displayed', () => {
252
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 1', 'horizontal', range, 0);
253
+ numberLineLabelPage.steps.clickAndDropLabelInContainerPreviewTab('Label 1');
254
+ numberLineLabelPage.steps.verifyPreviewScore(21, 21);
255
+ numberLineLabelPage.steps.switchToGradingView();
256
+ numberLineLabelPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
257
+ numberLineLabelPage.steps.verifyCorrectAnswerSectionNotExist();
258
+ numberLineLabelPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
259
+ });
260
+
261
+ it('When user attempts the question with responses from the alternative accordion then less than full score should be awarded', () => {
262
+ numberLineLabelPage.steps.resetQuestionPreview();
263
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 1', 'horizontal', range, 1);
264
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 2', 'horizontal', range, 2);
265
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 3', 'horizontal', range, 3);
266
+ numberLineLabelPage.steps.verifyPreviewScore(12, 21);
267
+ numberLineLabelPage.steps.switchToGradingView();
268
+ numberLineLabelPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
269
+ numberLineLabelPage.steps.verifyCorrectAnswerSectionNotExist();
270
+ numberLineLabelPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
271
+ });
272
+ });
230
273
  });
@@ -0,0 +1,76 @@
1
+ import { numberLineLabelPage } from "../../../../pages";
2
+ import abortEarlySetup from "../../../../support/helpers/abortEarly";
3
+ const range = 22.18;
4
+
5
+ describe('Create Item page - Number line', () => {
6
+ before(() => {
7
+ cy.loginAs('admin');
8
+ });
9
+ describe('Question Preview: Auto Scored With Points', () => {
10
+ abortEarlySetup();
11
+ before(() => {
12
+ numberLineLabelPage.steps.navigateToCreateQuestion('Number line');
13
+ cy.barsPreLoaderWait();
14
+ numberLineLabelPage.steps.navigateToLabelNumberLineTab();
15
+ numberLineLabelPage.steps.enterTextInMultipleLabelInputFields(['Label 1', 'Label 2', 'Label 3']);
16
+ numberLineLabelPage.steps.switchToPreviewTab();
17
+ });
18
+ it('In Preview tab, when an answer is not set then manually scored scoring label should be displayed', () => {
19
+ numberLineLabelPage.steps.checkManuallyScoredScoringLabel();
20
+ });
21
+ it('In Preview tab, when user switches to grading view then no banner and correct answer should be displayed', () => {
22
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 1', 'horizontal', range, 0);
23
+ numberLineLabelPage.steps.switchToGradingView();
24
+ numberLineLabelPage.steps.verifyAnswerStatusBannerNotExist();
25
+ numberLineLabelPage.steps.verifyCorrectAnswerSectionNotExist();
26
+ });
27
+ it('When user allocates points to the question then the scoring label should be displayed as manually scored and banner and correct answer status should not exist', () => {
28
+ numberLineLabelPage.steps.switchToEditTab();
29
+ numberLineLabelPage.steps.allotPoints(10);
30
+ numberLineLabelPage.steps.switchToPreviewTab();
31
+ numberLineLabelPage.steps.checkManuallyScoredScoringLabel();
32
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 1', 'horizontal', range, 0);
33
+ numberLineLabelPage.steps.switchToGradingView();
34
+ numberLineLabelPage.steps.verifyAnswerStatusBannerNotExist();
35
+ numberLineLabelPage.steps.verifyCorrectAnswerSectionNotExist();
36
+ });
37
+ });
38
+ describe('Question Preview: Auto Scored Without Points', () => {
39
+ abortEarlySetup();
40
+ before(() => {
41
+ numberLineLabelPage.steps.navigateToCreateQuestion('Number line');
42
+ cy.barsPreLoaderWait();
43
+ numberLineLabelPage.steps.navigateToLabelNumberLineTab();
44
+ numberLineLabelPage.steps.enterTextInMultipleLabelInputFields(['Label 1', 'Label 2', 'Label 3']);
45
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 1', 'horizontal', range, 0);
46
+ numberLineLabelPage.steps.switchToPreviewTab();
47
+ });
48
+ it('In Preview tab, when points are not set then manually scored scoring label should be displayed', () => {
49
+ numberLineLabelPage.steps.checkManuallyScoredScoringLabel();
50
+ });
51
+ it('In Preview tab, when user switches to grading view then banner and correct answer should be displayed', () => {
52
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 1', 'horizontal', range, 6);
53
+ numberLineLabelPage.steps.switchToGradingView();
54
+ numberLineLabelPage.steps.verifyAnswerStatusBannerExist();
55
+ numberLineLabelPage.steps.verifyCorrectAnswerSectionExist();
56
+ });
57
+ });
58
+ describe('Question Preview: Non Scored', () => {
59
+ abortEarlySetup();
60
+ before(() => {
61
+ numberLineLabelPage.steps.navigateToCreateQuestion('Number line');
62
+ cy.barsPreLoaderWait();
63
+ numberLineLabelPage.steps.navigateToLabelNumberLineTab();
64
+ numberLineLabelPage.steps.enterTextInMultipleLabelInputFields(['Label 1', 'Label 2', 'Label 3']);
65
+ });
66
+ it('When the user selects \'Grading\' view without setting the answer, correct answers section and answer status banner should not be displayed', () => {
67
+ numberLineLabelPage.steps.expandScoringTypeDropdown();
68
+ numberLineLabelPage.steps.selectOptionFromScoringTypeDropdown('Non scored');
69
+ numberLineLabelPage.steps.switchToPreviewTab();
70
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 1', 'horizontal', range, 6);
71
+ numberLineLabelPage.steps.switchToGradingView();
72
+ numberLineLabelPage.steps.verifyAnswerStatusBannerNotExist();
73
+ numberLineLabelPage.steps.verifyCorrectAnswerSectionNotExist();
74
+ });
75
+ });
76
+ });
@@ -68,7 +68,6 @@ describe('Create Item page -numberLine : Additional settings', () => {
68
68
  cy.barsPreLoaderWait();
69
69
  numberLineLabelPage.steps.addTextInQuestionInstructionsInputField('Plot label on the number line');
70
70
  numberLineLabelPage.steps.navigateToLabelNumberLineTab();
71
- numberLineLabelPage.steps.addTextInQuestionInstructionsInputField('Plot label on the number line');
72
71
  numberLineLabelPage.steps.enterTextInMultipleLabelInputFields(['Label 1', 'Label 2', 'Label 3']);
73
72
  numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 1', 'horizontal', range, 0);
74
73
  numberLineLabelPage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [0]);
@@ -233,6 +233,272 @@ describe('Create Item page - Number line label: All or nothing ', () => {
233
233
  });
234
234
  });
235
235
 
236
+ views.forEach((view) => {
237
+ describe(`Number line - label: Manually scored - ${view}`, { tags: 'smoke' }, () => {
238
+ abortEarlySetup();
239
+ before(() => {
240
+ switch (view) {
241
+ case 'Question preview':
242
+ numberLineLabelPage.steps.navigateToCreateQuestion('Number line');
243
+ cy.barsPreLoaderWait();
244
+ numberLineLabelPage.steps.navigateToLabelNumberLineTab();
245
+ numberLineLabelPage.steps.addTextInQuestionInstructionsInputField('Plot labels on the number line');
246
+ numberLineLabelPage.steps.addLabel();
247
+ numberLineLabelPage.steps.enterTextInMultipleLabelInputFields(['Label 1', 'Label 2', 'Label 3', 'Label 4']);
248
+ numberLineLabelPage.steps.expandScoringTypeDropdown();
249
+ numberLineLabelPage.steps.selectOptionFromScoringTypeDropdown('Manually scored');
250
+ numberLineLabelPage.steps.allotPoints(20);
251
+ numberLineLabelPage.steps.switchToPreviewTab();
252
+ break;
253
+ case 'Item preview':
254
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
255
+ itemPreviewPage.steps.switchToPreviewTab();
256
+ break;
257
+ case 'Grading view':
258
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
259
+ break;
260
+ }
261
+ });
262
+
263
+ beforeEach(() => {
264
+ switch (view) {
265
+ case 'Question preview':
266
+ numberLineLabelPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
267
+ numberLineLabelPage.steps.resetQuestionPreview();
268
+ break;
269
+ case 'Item preview':
270
+ itemPreviewPage.steps.switchToStudentView();
271
+ itemPreviewPage.steps.resetQuestionPreview();
272
+ break;
273
+ case 'Grading view':
274
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
275
+ break;
276
+ }
277
+ });
278
+
279
+ if (view === 'Question preview') {
280
+ after(() => {
281
+ numberLineLabelPage.steps.clickOnSaveQuestionButton();
282
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
283
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
284
+ });
285
+ }
286
+
287
+ it('Question instructions should be visible', () => {
288
+ numberLineLabelPage.steps.verifyQuestionInstructionsTextPreviewTab('Plot labels on the number line');
289
+ numberLineLabelPage.steps.verifyVisibityOfQuestionInstructionsText();
290
+ });
291
+
292
+ 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', () => {
293
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 1', 'horizontal', range, 0);
294
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [0]);
295
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 2', 'horizontal', range, 9);
296
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [9]);
297
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 3', 'horizontal', range, -9);
298
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [-9]);
299
+ if (view === 'Grading view') {
300
+ studentViewPage.steps.submitResponse();
301
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
302
+ studentViewPage.steps.clickOnGoToGradingViewButton();
303
+ gradingViewPage.steps.verifyGradingViewScore('', 20);
304
+ }
305
+ if (view === 'Question preview' || view === 'Item preview') {
306
+ numberLineLabelPage.steps.checkManuallyScoredScoringLabel();
307
+ }
308
+ numberLineLabelPage.steps.verifyCorrectIncorrectIconsNotExist();
309
+ numberLineLabelPage.steps.verifyCorrectIncorrectAnswerLabelNotExist();
310
+ numberLineLabelPage.steps.verifyCorrectAnswerSectionNotExist();
311
+ });
312
+ });
313
+ });
314
+
315
+ views.forEach((view) => {
316
+ describe(`Number line - label: Non scored - ${view}`, { tags: 'smoke' }, () => {
317
+ abortEarlySetup();
318
+ before(() => {
319
+ switch (view) {
320
+ case 'Question preview':
321
+ numberLineLabelPage.steps.navigateToCreateQuestion('Number line');
322
+ cy.barsPreLoaderWait();
323
+ numberLineLabelPage.steps.navigateToLabelNumberLineTab();
324
+ numberLineLabelPage.steps.addTextInQuestionInstructionsInputField('Plot labels on the number line');
325
+ numberLineLabelPage.steps.addLabel();
326
+ numberLineLabelPage.steps.enterTextInMultipleLabelInputFields(['Label 1', 'Label 2', 'Label 3', 'Label 4']);
327
+ numberLineLabelPage.steps.expandScoringTypeDropdown();
328
+ numberLineLabelPage.steps.selectOptionFromScoringTypeDropdown('Non scored');
329
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 1', 'horizontal', range, 0);
330
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [0]);
331
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 2', 'horizontal', range, 9);
332
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [9]);
333
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 3', 'horizontal', range, -9);
334
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [-9]);
335
+ numberLineLabelPage.steps.switchToPreviewTab();
336
+ break;
337
+ case 'Item preview':
338
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
339
+ itemPreviewPage.steps.switchToPreviewTab();
340
+ break;
341
+ case 'Grading view':
342
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
343
+ break;
344
+ }
345
+ });
346
+
347
+ beforeEach(() => {
348
+ switch (view) {
349
+ case 'Question preview':
350
+ numberLineLabelPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
351
+ numberLineLabelPage.steps.resetQuestionPreview();
352
+ break;
353
+ case 'Item preview':
354
+ itemPreviewPage.steps.switchToStudentView();
355
+ itemPreviewPage.steps.resetQuestionPreview();
356
+ break;
357
+ case 'Grading view':
358
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
359
+ break;
360
+ }
361
+ });
362
+
363
+ if (view === 'Question preview') {
364
+ after(() => {
365
+ numberLineLabelPage.steps.clickOnSaveQuestionButton();
366
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
367
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
368
+ });
369
+ }
370
+
371
+ 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', () => {
372
+ if (view === 'Grading view') {
373
+ studentViewPage.steps.submitResponse();
374
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
375
+ studentViewPage.steps.clickOnGoToGradingViewButton();
376
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
377
+ }
378
+ if (view === 'Question preview' || view === 'Item preview') {
379
+ numberLineLabelPage.steps.checkNonScoredScoringLabel();
380
+ numberLineLabelPage.steps.switchToGradingView();
381
+ }
382
+ numberLineLabelPage.steps.verifyCorrectIncorrectIconsNotExist();
383
+ numberLineLabelPage.steps.verifyCorrectIncorrectAnswerLabelNotExist();
384
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0);
385
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 2', range, 9);
386
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 3', range, -9);
387
+ });
388
+
389
+ it('When the user attempts the question incorrectly, non scoring label should be displayed, incorrect icon should be displayed beside incorrect response, a status message with text "Your answer is incorrect" and correct answer section with correct answer should be displayed', () => {
390
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 4', 'horizontal', range, 0);
391
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [0]);
392
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 3', 'horizontal', range, 4);
393
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [4]);
394
+ if (view === 'Grading view') {
395
+ studentViewPage.steps.submitResponse();
396
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
397
+ studentViewPage.steps.clickOnGoToGradingViewButton();
398
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
399
+ }
400
+ if (view === 'Question preview' || view === 'Item preview') {
401
+ numberLineLabelPage.steps.checkNonScoredScoringLabel();
402
+ numberLineLabelPage.steps.switchToGradingView();
403
+ }
404
+ numberLineLabelPage.steps.verifyIncorrectResponseOnNumberLinePreviewTab('Label 4', range, 0);
405
+ numberLineLabelPage.steps.verifyIncorrectResponseOnNumberLinePreviewTab('Label 3', range, 4);
406
+ numberLineLabelPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
407
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0);
408
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 2', range, 9);
409
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 3', range, -9);
410
+ });
411
+
412
+ it('When the user attempts the question partially correct, non scoring label should be displayed, correct icon should be displayed beside the correct response, incorrect icon should be displayed beside incorrect response, a status message with text "Your answer is incorrect" and correct answer section with all correct answers should be displayed', () => {
413
+ if (view === 'Grading view') {
414
+ studentViewPage.steps.clearResponses();
415
+ }
416
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 1', 'horizontal', range, 0);
417
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [0]);
418
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 2', 'horizontal', range, 9);
419
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [9]);
420
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 3', 'horizontal', range, -8);
421
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [-8]);
422
+ if (view === 'Grading view') {
423
+ studentViewPage.steps.submitResponse();
424
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
425
+ studentViewPage.steps.clickOnGoToGradingViewButton();
426
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
427
+ }
428
+ if (view === 'Question preview' || view === 'Item preview') {
429
+ numberLineLabelPage.steps.checkNonScoredScoringLabel();
430
+ numberLineLabelPage.steps.switchToGradingView();
431
+ }
432
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLinePreviewTab('Label 1', range, 0);
433
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLinePreviewTab('Label 2', range, 9);
434
+ numberLineLabelPage.steps.verifyIncorrectResponseOnNumberLinePreviewTab('Label 3', range, -8);
435
+ numberLineLabelPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
436
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0);
437
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 2', range, 9);
438
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 3', range, -9);
439
+ });
440
+
441
+ it('When the user attempts the question partially correct with an incorrect response, non scoring label should be displayed, correct icon should be displayed beside the correct response, incorrect icon should be displayed beside incorrect response, a status message with text "Your answer is incorrect" and correct answer section with all correct answers should be displayed', () => {
442
+ if (view === 'Grading view') {
443
+ studentViewPage.steps.clearResponses();
444
+ }
445
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 1', 'horizontal', range, 0);
446
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [0]);
447
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 2', 'horizontal', range, 9);
448
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [9]);
449
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 3', 'horizontal', range, -9);
450
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [-9]);
451
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 4', 'horizontal', range, 2);
452
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [2]);
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
+ numberLineLabelPage.steps.checkNonScoredScoringLabel();
461
+ numberLineLabelPage.steps.switchToGradingView();
462
+ }
463
+ numberLineLabelPage.steps.verifyIncorrectResponseOnNumberLinePreviewTab('Label 4', range, 2);
464
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLinePreviewTab('Label 3', range, -9);
465
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLinePreviewTab('Label 2', range, 9);
466
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLinePreviewTab('Label 1', range, 0);
467
+ numberLineLabelPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
468
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0);
469
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 2', range, 9);
470
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 3', range, -9);
471
+ });
472
+
473
+ it('When the user attempts the question correctly, non scoring label should be displayed, correct icons should be displayed beside the correct response, a status message with text "Your answer is correct" should be displayed and correct answer section should not be displayed', () => {
474
+ if (view === 'Grading view') {
475
+ studentViewPage.steps.clearResponses();
476
+ }
477
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 1', 'horizontal', range, 0);
478
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [0]);
479
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 2', 'horizontal', range, 9);
480
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [9]);
481
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 3', 'horizontal', range, -9);
482
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [-9]);
483
+ if (view === 'Grading view') {
484
+ studentViewPage.steps.submitResponse();
485
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
486
+ studentViewPage.steps.clickOnGoToGradingViewButton();
487
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
488
+ }
489
+ if (view === 'Question preview' || view === 'Item preview') {
490
+ numberLineLabelPage.steps.checkNonScoredScoringLabel();
491
+ numberLineLabelPage.steps.switchToGradingView();
492
+ }
493
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLinePreviewTab('Label 3', range, -9);
494
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLinePreviewTab('Label 2', range, 9);
495
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLinePreviewTab('Label 1', range, 0);
496
+ numberLineLabelPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
497
+ numberLineLabelPage.steps.verifyCorrectAnswerSectionNotExist();
498
+ });
499
+ });
500
+ });
501
+
236
502
  if (!grepTags || !grepTags.includes('smoke')) {
237
503
  describe('Question preview: Auto scored - All or nothing: Minimum scoring', () => {
238
504
  abortEarlySetup();
@@ -0,0 +1,34 @@
1
+ import { numberLineLabelPage } from "../../../pages";
2
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
3
+
4
+ const range = 22.18;
5
+ describe('Create question page - Graphing', () => {
6
+ before(() => {
7
+ cy.loginAs('admin');
8
+ });
9
+
10
+ describe('Check Alternative Answer Button', () => {
11
+ abortEarlySetup();
12
+ before(() => {
13
+ numberLineLabelPage.steps.navigateToCreateQuestion('Number line');
14
+ numberLineLabelPage.steps.navigateToLabelNumberLineTab();
15
+ numberLineLabelPage.steps.enterTextInMultipleLabelInputFields(['Label 1', 'Label 2', 'Label 3']);
16
+ cy.barsPreLoaderWait();
17
+ });
18
+
19
+ it('When correct answer is not set then alternative answer should be disabled', () => {
20
+ numberLineLabelPage.steps.checkAlternativeButtonDisabled();
21
+ });
22
+
23
+ it('When correct answer is set then alternative answer should be enabled', () => {
24
+ numberLineLabelPage.steps.allotPoints(10);
25
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 1', 'horizontal', range, 0);
26
+ numberLineLabelPage.steps.checkAlternativeButtonEnabled();
27
+ });
28
+
29
+ it('User should be able to add \'Alternative\' answer using the \'Add alternative\' button, when user has not set any answer in the \'Alternative\' accordion and clicks on the \'Correct\' accordion then \'Correct\' accordion should be expanded', () => {
30
+ numberLineLabelPage.steps.clickOnAddAlternativeAnswerButton();
31
+ numberLineLabelPage.steps.expandCorrectAnswerAccordion();
32
+ });
33
+ });
34
+ });
@@ -0,0 +1,38 @@
1
+ import { numberLineLabelPage } from "../../../pages";
2
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
3
+
4
+ describe('Create item page - Number Line', () => {
5
+ before(() => {
6
+ cy.loginAs('admin');
7
+ });
8
+
9
+ describe('User should be able to edit incomplete authored question', () => {
10
+ abortEarlySetup();
11
+ before(() => {
12
+ numberLineLabelPage.steps.navigateToCreateQuestion('Number line');
13
+ cy.barsPreLoaderWait();
14
+ numberLineLabelPage.steps.saveAQuestionWithIncompleteAuthoring();
15
+ numberLineLabelPage.steps.editItem();
16
+ });
17
+
18
+ it('Warning icons should be displayed on the required input fields', () => {
19
+ numberLineLabelPage.steps.verifyWarningIconOnRequiredFields([
20
+ 'Please set points.',
21
+ ]);
22
+ });
23
+
24
+ it('When required input fields are filled then warning icons should disappear', () => {
25
+ numberLineLabelPage.steps.allotPoints(10);
26
+ numberLineLabelPage.steps.verifyErrorMessageIsNotDisplayed();
27
+ numberLineLabelPage.steps.verifySpecifyCorrectAnswerErrorIconNotExists();
28
+ });
29
+
30
+ it('Clicking on Save Question button the question should get saved and a snackbar with text \'Saved successfully!\' should be displayed', () => {
31
+ numberLineLabelPage.steps.saveAQuestionAndVerifySnackbar();
32
+ });
33
+
34
+ it('Warning icon should not be visible', () => {
35
+ numberLineLabelPage.steps.verifyWarningIconNotExist();
36
+ });
37
+ });
38
+ });