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
@@ -25,14 +25,13 @@ describe('Create item page - Matching: Scoring for blank responses', () => {
25
25
 
26
26
  it('When the user has not set any answer in the \'Specify correct answer\' section and switches to the \'Grading\' view without attempting the question, dropzone numeration 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 respective option numeration', () => {
27
27
  matchingPage.steps.switchToGradingView();
28
- matchingPage.steps.verifyPreviewScore(0, 10);
28
+ matchingPage.steps.checkManuallyScoredScoringLabel();
29
29
  matchingPage.steps.verifyCorrectIncorrectIconNotExist(0);
30
30
  matchingPage.steps.verifyCorrectIncorrectIconNotExist(1);
31
31
  matchingPage.steps.verifyCorrectIncorrectIconNotExist(2);
32
32
  matchingPage.steps.verifyDropzoneNumeration();
33
- matchingPage.steps.verifyCorrectAnswerSectionLabel();
34
33
  matchingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
35
- matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([[''],[''],['']]);
34
+ matchingPage.steps.verifyCorrectAnswerSectionNotExists();
36
35
  });
37
36
 
38
37
  it('When the user has not set any answer in the \'Specify correct answer\' section and interacts with the question in the preview tab then correct icons should be displayed beside all the responses, full points should be allocated and correct answer section should not be displayed', () => {
@@ -40,11 +39,10 @@ describe('Create item page - Matching: Scoring for blank responses', () => {
40
39
  matchingPage.steps.clickAndDropOptionInDropzonePreviewTab([{ optionText: 'Bear', dropzoneIndex: 0 }]);
41
40
  matchingPage.steps.clickAndDropOptionOutsideDropzoneWithIndexPreviewTab(0);
42
41
  matchingPage.steps.switchToGradingView();
43
- matchingPage.steps.verifyPreviewScore(10, 10);
44
- matchingPage.steps.verifyCorrectOptionIconForEmptyOption(0);
45
- matchingPage.steps.verifyCorrectOptionIconForEmptyOption(1);
46
- matchingPage.steps.verifyCorrectOptionIconForEmptyOption(2);
47
- matchingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
42
+ matchingPage.steps.checkManuallyScoredScoringLabel();
43
+ matchingPage.steps.verifyCorrectIncorrectIconNotExist(0);
44
+ matchingPage.steps.verifyCorrectIncorrectIconNotExist(1);
45
+ matchingPage.steps.verifyCorrectIncorrectIconNotExist(2);
48
46
  matchingPage.steps.verifyCorrectAnswerSectionNotExists();
49
47
  });
50
48
 
@@ -52,12 +50,11 @@ describe('Create item page - Matching: Scoring for blank responses', () => {
52
50
  matchingPage.steps.resetQuestionPreview();
53
51
  matchingPage.steps.clickAndDropOptionInDropzonePreviewTab([{ optionText: 'Bear', dropzoneIndex: 0 }]);
54
52
  matchingPage.steps.switchToGradingView();
55
- matchingPage.steps.verifyPreviewScore(0, 10);
56
- matchingPage.steps.verifyIncorrectOptionIcon(0);
57
- matchingPage.steps.verifyCorrectOptionIconForEmptyOption(1);
58
- matchingPage.steps.verifyCorrectOptionIconForEmptyOption(2);
59
- matchingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
60
- matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([[''],[''],['']]);
53
+ matchingPage.steps.checkManuallyScoredScoringLabel();
54
+ matchingPage.steps.verifyCorrectIncorrectIconNotExist(0);
55
+ matchingPage.steps.verifyCorrectIncorrectIconNotExist(1);
56
+ matchingPage.steps.verifyCorrectIncorrectIconNotExist(2);
57
+ matchingPage.steps.verifyCorrectAnswerSectionNotExists();
61
58
  });
62
59
 
63
60
  it('When the user sets an partial blank answer in the \'Specify correct answer\' section then on switching to \'Grading\' view without attempting the question, dropzone numeration 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 respective option numeration', () => {
@@ -72,7 +69,7 @@ describe('Create item page - Matching: Scoring for blank responses', () => {
72
69
  matchingPage.steps.verifyDropzoneNumeration();
73
70
  matchingPage.steps.verifyCorrectAnswerSectionLabel();
74
71
  matchingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
75
- matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'],[''],['Cat']]);
72
+ matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], [''], ['Cat']]);
76
73
  });
77
74
 
78
75
  it('When the user has set an partial blank answer in the \'Specify correct answer\' section and interacts with the question in the preview tab then correct icons should be displayed beside all the correct responses and incorrect icon beside the incorrect responses, no points should be allocated and correct answer section should be displayed', () => {
@@ -82,10 +79,10 @@ describe('Create item page - Matching: Scoring for blank responses', () => {
82
79
  matchingPage.steps.switchToGradingView();
83
80
  matchingPage.steps.verifyPreviewScore(0, 10);
84
81
  matchingPage.steps.verifyIncorrectOptionIconForEmptyOption(0);
85
- matchingPage.steps.verifyCorrectOptionIconForEmptyOption(1);
82
+ matchingPage.steps.verifyCorrectIncorrectIconNotExist(1);
86
83
  matchingPage.steps.verifyIncorrectOptionIconForEmptyOption(2);
87
84
  matchingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
88
- matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'],[''],['Cat']]);
85
+ matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], [''], ['Cat']]);
89
86
  });
90
87
 
91
88
  it('When the user has set an partial blank answer in the \'Specify correct answer\' section and enters responses in the preview tab then correct icons should be displayed beside all the correct responses and incorrect icon beside the incorrect responses, correct icon should be displayed for blank response, no points should be allocated and correct answer section should be displayed', () => {
@@ -94,10 +91,10 @@ describe('Create item page - Matching: Scoring for blank responses', () => {
94
91
  matchingPage.steps.switchToGradingView();
95
92
  matchingPage.steps.verifyPreviewScore(0, 10);
96
93
  matchingPage.steps.verifyCorrectOptionIcon(0);
97
- matchingPage.steps.verifyCorrectOptionIconForEmptyOption(1);
94
+ matchingPage.steps.verifyCorrectIncorrectIconNotExist(1);
98
95
  matchingPage.steps.verifyIncorrectOptionIconForEmptyOption(2);
99
96
  matchingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
100
- matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'],[''],['Cat']]);
97
+ matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], [''], ['Cat']]);
101
98
  });
102
99
 
103
100
  it('When the user attempts the question incorrectly, then the user should be awarded 0 points and on switching to \'Grading\' view, incorrect icons should be displayed besides all incorrect responses, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers along with numeration should be displayed', () => {
@@ -109,7 +106,7 @@ describe('Create item page - Matching: Scoring for blank responses', () => {
109
106
  matchingPage.steps.verifyIncorrectOptionIcon(1);
110
107
  matchingPage.steps.verifyIncorrectOptionIcon(2);
111
108
  matchingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
112
- matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'],[''],['Cat']]);
109
+ matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], [''], ['Cat']]);
113
110
  });
114
111
 
115
112
  it('When user attempts the question correctly, the user should be awarded full points and on switching to \'Grading\' view, then correct icons should be displayed beside all the correct responses, correct icon should be displayed besides the correct answer responses, a status message with text \'Your answer is correct\' and correct answer section should not be displayed', () => {
@@ -119,7 +116,7 @@ describe('Create item page - Matching: Scoring for blank responses', () => {
119
116
  matchingPage.steps.switchToGradingView();
120
117
  matchingPage.steps.verifyPreviewTabPointsBackgroundForCorrectAnswer();
121
118
  matchingPage.steps.verifyCorrectOptionIcon(0);
122
- matchingPage.steps.verifyCorrectOptionIconForEmptyOption(1);
119
+ matchingPage.steps.verifyCorrectIncorrectIconNotExist(1);
123
120
  matchingPage.steps.verifyCorrectOptionIcon(2);
124
121
  matchingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
125
122
  matchingPage.steps.verifyCorrectAnswerSectionNotExists();
@@ -142,14 +139,13 @@ describe('Create item page - Matching: Scoring for blank responses', () => {
142
139
 
143
140
  it('When the user has not set any answer in the \'Specify correct answer\' section and switches to the \'Grading\' view without attempting the question, dropzone numeration 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 respective option numeration', () => {
144
141
  matchingPage.steps.switchToGradingView();
145
- matchingPage.steps.verifyPreviewScore(0, 24);
142
+ matchingPage.steps.checkManuallyScoredScoringLabel();
146
143
  matchingPage.steps.verifyCorrectIncorrectIconNotExist(0);
147
144
  matchingPage.steps.verifyCorrectIncorrectIconNotExist(1);
148
145
  matchingPage.steps.verifyCorrectIncorrectIconNotExist(2);
149
146
  matchingPage.steps.verifyDropzoneNumeration();
150
- matchingPage.steps.verifyCorrectAnswerSectionLabel();
151
147
  matchingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
152
- matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([[''],[''],['']]);
148
+ matchingPage.steps.verifyCorrectAnswerSectionNotExists();
153
149
  });
154
150
 
155
151
  it('When the user has not set any answer in the \'Specify correct answer\' section and interacts with the question in the preview tab then correct icons should be displayed beside all the responses, full points should be allocated and correct answer section should not be displayed', () => {
@@ -157,10 +153,10 @@ describe('Create item page - Matching: Scoring for blank responses', () => {
157
153
  matchingPage.steps.clickAndDropOptionInDropzonePreviewTab([{ optionText: 'Bear', dropzoneIndex: 0 }]);
158
154
  matchingPage.steps.clickAndDropOptionOutsideDropzoneWithIndexPreviewTab(0);
159
155
  matchingPage.steps.switchToGradingView();
160
- matchingPage.steps.verifyPreviewScore(24, 24);
161
- matchingPage.steps.verifyCorrectOptionIconForEmptyOption(0);
162
- matchingPage.steps.verifyCorrectOptionIconForEmptyOption(1);
163
- matchingPage.steps.verifyCorrectOptionIconForEmptyOption(2);
156
+ matchingPage.steps.checkManuallyScoredScoringLabel();
157
+ matchingPage.steps.verifyCorrectIncorrectIconNotExist(0);
158
+ matchingPage.steps.verifyCorrectIncorrectIconNotExist(1);
159
+ matchingPage.steps.verifyCorrectIncorrectIconNotExist(2);
164
160
  matchingPage.steps.verifyCorrectAnswerSectionNotExists();
165
161
  });
166
162
 
@@ -168,11 +164,12 @@ describe('Create item page - Matching: Scoring for blank responses', () => {
168
164
  matchingPage.steps.resetQuestionPreview();
169
165
  matchingPage.steps.clickAndDropOptionInDropzonePreviewTab([{ optionText: 'Bear', dropzoneIndex: 0 }]);
170
166
  matchingPage.steps.switchToGradingView();
171
- matchingPage.steps.verifyPreviewScore(16, 24);
172
- matchingPage.steps.verifyIncorrectOptionIcon(0);
173
- matchingPage.steps.verifyCorrectOptionIconForEmptyOption(1);
174
- matchingPage.steps.verifyCorrectOptionIconForEmptyOption(2);
175
- matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([[''],[''],['']]);
167
+ matchingPage.steps.checkManuallyScoredScoringLabel();
168
+ matchingPage.steps.verifyCorrectIncorrectIconNotExist(0);
169
+ matchingPage.steps.verifyCorrectIncorrectIconNotExist(1);
170
+ matchingPage.steps.verifyCorrectIncorrectIconNotExist(2);
171
+ matchingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
172
+ matchingPage.steps.verifyCorrectAnswerSectionNotExists();
176
173
  });
177
174
 
178
175
  it('When the user sets an partial blank answer in the \'Specify correct answer\' section then on switching to \'Grading\' view without attempting the question, dropzone numeration 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 respective option numeration', () => {
@@ -187,7 +184,7 @@ describe('Create item page - Matching: Scoring for blank responses', () => {
187
184
  matchingPage.steps.verifyDropzoneNumeration();
188
185
  matchingPage.steps.verifyCorrectAnswerSectionLabel();
189
186
  matchingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
190
- matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'],[''],['Cat']]);
187
+ matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], [''], ['Cat']]);
191
188
  });
192
189
 
193
190
  it('When the user has set an partial blank answer in the \'Specify correct answer\' section and interacts with the question in the preview tab then correct icons should be displayed beside all the correct responses and incorrect icon beside the incorrect responses, points should be allocated for the correct answers and correct answer section should be displayed', () => {
@@ -197,9 +194,9 @@ describe('Create item page - Matching: Scoring for blank responses', () => {
197
194
  matchingPage.steps.switchToGradingView();
198
195
  matchingPage.steps.verifyPreviewScore(8, 24);
199
196
  matchingPage.steps.verifyIncorrectOptionIconForEmptyOption(0);
200
- matchingPage.steps.verifyCorrectOptionIconForEmptyOption(1);
197
+ matchingPage.steps.verifyCorrectIncorrectIconNotExist(1);
201
198
  matchingPage.steps.verifyIncorrectOptionIconForEmptyOption(2);
202
- matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'],[''],['Cat']]);
199
+ matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], [''], ['Cat']]);
203
200
  });
204
201
 
205
202
  it('When the user has set an partial blank answer in the \'Specify correct answer\' section and enters responses in the preview tab then correct icons should be displayed beside all the correct responses and incorrect icon beside the incorrect responses, correct icon should be displayed for blank response, points should be allocated for the correct answers and correct answer section should be displayed', () => {
@@ -208,9 +205,9 @@ describe('Create item page - Matching: Scoring for blank responses', () => {
208
205
  matchingPage.steps.switchToGradingView();
209
206
  matchingPage.steps.verifyPreviewScore(16, 24);
210
207
  matchingPage.steps.verifyCorrectOptionIcon(0);
211
- matchingPage.steps.verifyCorrectOptionIconForEmptyOption(1);
208
+ matchingPage.steps.verifyCorrectIncorrectIconNotExist(1);
212
209
  matchingPage.steps.verifyIncorrectOptionIconForEmptyOption(2);
213
- matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'],[''],['Cat']]);
210
+ matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], [''], ['Cat']]);
214
211
  });
215
212
 
216
213
  it('When the user attempts the question incorrectly, then the user should be awarded 0 points and on switching to \'Grading\' view, incorrect icons should be displayed besides all incorrect responses, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers along with numeration should be displayed', () => {
@@ -219,9 +216,9 @@ describe('Create item page - Matching: Scoring for blank responses', () => {
219
216
  matchingPage.steps.verifyPreviewScore(0, 24);
220
217
  matchingPage.steps.switchToGradingView();
221
218
  matchingPage.steps.verifyIncorrectOptionIcon(0);
222
- matchingPage.steps.verifyIncorrectOptionIconForEmptyOption(1);
219
+ matchingPage.steps.verifyIncorrectOptionIcon(1);
223
220
  matchingPage.steps.verifyIncorrectOptionIcon(2);
224
- matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'],[''],['Cat']]);
221
+ matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], [''], ['Cat']]);
225
222
  });
226
223
 
227
224
  it('When user attempts the question correctly, the user should be awarded full points and on switching to \'Grading\' view, then correct icons should be displayed beside all the correct responses, correct icon should be displayed besides the correct answer responses, a status message with text \'Your answer is correct\' and correct answer section should not be displayed', () => {
@@ -231,7 +228,7 @@ describe('Create item page - Matching: Scoring for blank responses', () => {
231
228
  matchingPage.steps.switchToGradingView();
232
229
  matchingPage.steps.verifyPreviewTabPointsBackgroundForCorrectAnswer();
233
230
  matchingPage.steps.verifyCorrectOptionIcon(0);
234
- matchingPage.steps.verifyCorrectOptionIconForEmptyOption(1);
231
+ matchingPage.steps.verifyCorrectIncorrectIconNotExist(1);
235
232
  matchingPage.steps.verifyCorrectOptionIcon(2);
236
233
  matchingPage.steps.verifyCorrectAnswerSectionNotExists();
237
234
  });
@@ -0,0 +1,98 @@
1
+ import { matchingPage } from "../../../../pages";
2
+ import abortEarlySetup from "../../../../support/helpers/abortEarly";
3
+
4
+ describe('Create Item page - Matching', () => {
5
+ before(() => {
6
+ cy.loginAs('admin');
7
+ });
8
+
9
+ describe('Question Preview: Auto Scored With Points', () => {
10
+ abortEarlySetup();
11
+ before(() => {
12
+ matchingPage.steps.navigateToCreateQuestion('matching');
13
+ cy.barsPreLoaderWait();
14
+ matchingPage.steps.addTextInQuestionInstructionsInputField('Match the items correctly');
15
+ matchingPage.steps.enterTextInPromptInputField(['Prompt 1', 'Prompt 2', 'Prompt 3']);
16
+ matchingPage.steps.enterTextInOptionInputField(['Bear', 'Eagle', 'Fish']);
17
+ matchingPage.steps.switchToPreviewTab();
18
+ });
19
+
20
+ it('In Preview tab, when an answer is not set then manually scored scoring label should be displayed', () => {
21
+ matchingPage.steps.checkManuallyScoredScoringLabel();
22
+ });
23
+
24
+ it('In Preview tab, when user switches to grading view then no banner and correct answer should be displayed', () => {
25
+ matchingPage.steps.clickAndDropOptionInDropzonePreviewTab([
26
+ { optionText: 'Bear', dropzoneIndex: 0 }, { optionText: 'Eagle', dropzoneIndex: 1 }, { optionText: 'Fish', dropzoneIndex: 2 },
27
+ ]);
28
+ matchingPage.steps.switchToGradingView();
29
+ matchingPage.steps.verifyAnswerStatusBannerNotExist();
30
+ matchingPage.steps.verifyCorrectAnswerSectionNotExist();
31
+ });
32
+
33
+ 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', () => {
34
+ matchingPage.steps.switchToEditTab();
35
+ matchingPage.steps.allotPoints(2);
36
+ matchingPage.steps.switchToPreviewTab();
37
+ matchingPage.steps.checkManuallyScoredScoringLabel();
38
+ matchingPage.steps.clickAndDropOptionInDropzonePreviewTab([
39
+ { optionText: 'Bear', dropzoneIndex: 0 }, { optionText: 'Eagle', dropzoneIndex: 1 }, { optionText: 'Fish', dropzoneIndex: 2 },
40
+ ]);
41
+ matchingPage.steps.switchToGradingView();
42
+ matchingPage.steps.verifyAnswerStatusBannerNotExist();
43
+ matchingPage.steps.verifyCorrectAnswerSectionNotExist();
44
+ });
45
+ });
46
+
47
+ describe('Question Preview: Auto Scored Without Points', () => {
48
+ abortEarlySetup();
49
+ before(() => {
50
+ matchingPage.steps.navigateToCreateQuestion('matching');
51
+ cy.barsPreLoaderWait();
52
+ matchingPage.steps.addTextInQuestionInstructionsInputField('Match the items correctly');
53
+ matchingPage.steps.enterTextInPromptInputField(['Prompt 1', 'Prompt 2', 'Prompt 3']);
54
+ matchingPage.steps.enterTextInOptionInputField(['Bear', 'Eagle', 'Fish']);
55
+ matchingPage.steps.clickAndDropOptionInDropzoneSpecifyCorrectAnswerSection([
56
+ { optionText: 'Bear', dropzoneIndex: 0 }, { optionText: 'Eagle', dropzoneIndex: 1 }, { optionText: 'Fish', dropzoneIndex: 2 },
57
+ ]);
58
+ matchingPage.steps.switchToPreviewTab();
59
+ });
60
+
61
+ it('In Preview tab, when points are not set then manually scored scoring label should be displayed', () => {
62
+ matchingPage.steps.checkManuallyScoredScoringLabel();
63
+ });
64
+
65
+ it('In Preview tab, when user switches to grading view then banner and correct answer should be displayed', () => {
66
+ matchingPage.steps.clickAndDropOptionInDropzonePreviewTab([
67
+ { optionText: 'Bear', dropzoneIndex: 0 }, { optionText: 'Eagle', dropzoneIndex: 1 }, { optionText: 'Fish', dropzoneIndex: 2 },
68
+ ]);
69
+ matchingPage.steps.switchToGradingView();
70
+ matchingPage.steps.verifyAnswerStatusBannerExist();
71
+ matchingPage.steps.verifyCorrectAnswerSectionNotExists();
72
+ });
73
+ });
74
+
75
+ describe('Question Preview: Non Scored', () => {
76
+ abortEarlySetup();
77
+ before(() => {
78
+ matchingPage.steps.navigateToCreateQuestion('matching');
79
+ cy.barsPreLoaderWait();
80
+ matchingPage.steps.addTextInQuestionInstructionsInputField('Match the items correctly');
81
+ matchingPage.steps.enterTextInPromptInputField(['Prompt 1', 'Prompt 2', 'Prompt 3']);
82
+ matchingPage.steps.enterTextInOptionInputField(['Bear', 'Eagle', 'Fish']);
83
+ matchingPage.steps.expandScoringTypeDropdown();
84
+ matchingPage.steps.selectOptionFromScoringTypeDropdown('Non scored');
85
+ });
86
+
87
+ it('When the user selects \'Grading\' view without setting the answer, correct answers section and answer status banner should not be displayed', () => {
88
+ matchingPage.steps.switchToPreviewTab();
89
+ matchingPage.steps.clickAndDropOptionInDropzonePreviewTab([
90
+ { optionText: 'Bear', dropzoneIndex: 0 }, { optionText: 'Eagle', dropzoneIndex: 1 }, { optionText: 'Fish', dropzoneIndex: 2 },
91
+
92
+ ]);
93
+ matchingPage.steps.switchToGradingView();
94
+ matchingPage.steps.verifyAnswerStatusBannerNotExist();
95
+ matchingPage.steps.verifyCorrectAnswerSectionNotExist();
96
+ });
97
+ });
98
+ });
@@ -213,6 +213,216 @@ describe('Create item page - Matching: All or nothing ', () => {
213
213
  });
214
214
  });
215
215
 
216
+ views.forEach((view) => {
217
+ describe(`${view}: Matching drag and drop - Manually scored`, { tags: 'smoke' }, () => {
218
+ abortEarlySetup();
219
+ before(() => {
220
+ switch (view) {
221
+ case 'Question preview':
222
+ matchingPage.steps.navigateToCreateQuestion('matching');
223
+ cy.barsPreLoaderWait();
224
+ matchingPage.steps.addTextInQuestionInstructionsInputField('Fill the categories with the right answers.');
225
+ matchingPage.steps.expandScoringTypeDropdown();
226
+ matchingPage.steps.selectOptionFromScoringTypeDropdown('Manually scored');
227
+ matchingPage.steps.allotPoints(20);
228
+ matchingPage.steps.addMultipleOptionFields(2);
229
+ matchingPage.steps.enterTextInPromptInputField(promptTextArray);
230
+ matchingPage.steps.enterTextInOptionInputField(optionsArray);
231
+ matchingPage.steps.switchToPreviewTab();
232
+ break;
233
+ case 'Item preview':
234
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
235
+ itemPreviewPage.steps.switchToPreviewTab();
236
+ break;
237
+ case 'Grading view':
238
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
239
+ break;
240
+ };
241
+ });
242
+
243
+ beforeEach(() => {
244
+ switch (view) {
245
+ case 'Question preview':
246
+ matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
247
+ matchingPage.steps.resetQuestionPreview();
248
+ break;
249
+ case 'Item preview':
250
+ matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
251
+ itemPreviewPage.steps.resetQuestionPreview();
252
+ break;
253
+ case 'Grading view':
254
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
255
+ break;
256
+ }
257
+ });
258
+
259
+ if (view === 'Question preview') {
260
+ after(() => {
261
+ matchingPage.steps.clickOnSaveQuestionButton();
262
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
263
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
264
+ });
265
+ };
266
+
267
+ it('Question instructions should be visible', () => {
268
+ matchingPage.steps.verifyQuestionInstructionsTextPreviewTab('Fill the categories with the right answers.');
269
+ matchingPage.steps.verifyVisibityOfQuestionInstructionsText();
270
+ });
271
+
272
+ 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', () => {
273
+ matchingPage.steps.clickAndDropOptionInDropzonePreviewTab([{ optionText: 'Bear', dropzoneIndex: 0 }, { optionText: 'Eagle', dropzoneIndex: 1 }, { optionText: 'Fish', dropzoneIndex: 2 }]);
274
+ if (view === 'Grading view') {
275
+ studentViewPage.steps.submitResponse();
276
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
277
+ studentViewPage.steps.clickOnGoToGradingViewButton();
278
+ gradingViewPage.steps.verifyGradingViewScore('', 20);
279
+ matchingPage.steps.verifyCorrectIncorrectIconNotExist(0);
280
+ matchingPage.steps.verifyCorrectIncorrectIconNotExist(1);
281
+ matchingPage.steps.verifyAnswerStatusBannerNotExist();
282
+ matchingPage.steps.verifyCorrectAnswerSectionNotExist();
283
+ };
284
+ if (view === 'Question preview' || view === 'Item preview') {
285
+ matchingPage.steps.checkManuallyScoredScoringLabel();
286
+ };
287
+ });
288
+ });
289
+ })
290
+
291
+ views.forEach((view) => {
292
+ describe(`${view}: Matching drag and drop - Non scored`, { tags: 'smoke' }, () => {
293
+ abortEarlySetup();
294
+ before(() => {
295
+ switch (view) {
296
+ case 'Question preview':
297
+ matchingPage.steps.navigateToCreateQuestion('matching');
298
+ cy.barsPreLoaderWait();
299
+ matchingPage.steps.addTextInQuestionInstructionsInputField('Fill the categories with the right answer.');
300
+ matchingPage.steps.expandScoringTypeDropdown();
301
+ matchingPage.steps.selectOptionFromScoringTypeDropdown('Non scored');
302
+ matchingPage.steps.addMultipleOptionFields(2);
303
+ matchingPage.steps.enterTextInPromptInputField(promptTextArray);
304
+ matchingPage.steps.enterTextInOptionInputField(optionsArray);
305
+ matchingPage.steps.clickAndDropOptionInDropzoneSpecifyCorrectAnswerSection([{ optionText: 'Elephant', dropzoneIndex: 0 }, { optionText: 'Fish', dropzoneIndex: 1 }, { optionText: 'Cat', dropzoneIndex: 2 }]);
306
+ matchingPage.steps.switchToPreviewTab();
307
+ break;
308
+ case 'Item preview':
309
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
310
+ itemPreviewPage.steps.switchToPreviewTab();
311
+ break;
312
+ case 'Grading view':
313
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
314
+ break;
315
+ };
316
+ });
317
+
318
+ beforeEach(() => {
319
+ switch (view) {
320
+ case 'Question preview':
321
+ matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
322
+ matchingPage.steps.resetQuestionPreview();
323
+ break;
324
+ case 'Item preview':
325
+ matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
326
+ itemPreviewPage.steps.resetQuestionPreview();
327
+ break;
328
+ case 'Grading view':
329
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
330
+ break;
331
+ }
332
+ });
333
+
334
+ if (view === 'Question preview') {
335
+ after(() => {
336
+ matchingPage.steps.clickOnSaveQuestionButton();
337
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
338
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
339
+ });
340
+ };
341
+
342
+ 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', () => {
343
+ if (view === 'Grading view') {
344
+ studentViewPage.steps.submitResponse();
345
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
346
+ studentViewPage.steps.clickOnGoToGradingViewButton();
347
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
348
+ };
349
+ if (view === 'Question preview' || view === 'Item preview') {
350
+ matchingPage.steps.checkNonScoredScoringLabel();
351
+ matchingPage.steps.switchToGradingView();
352
+ matchingPage.steps.verifyPreviewTabPointsBackgroundForIncorrectOrPartiallyCorrectAnswer();
353
+ };
354
+ matchingPage.steps.verifyDropzoneNumeration();
355
+ matchingPage.steps.verifyCorrectIncorrectIconsNotExist();
356
+ matchingPage.steps.verifyCorrectIncorrectAnswerLabelNotExist();
357
+ utilities.verifyInnerText(matchingPage.correctAnswersLabel(), 'Correct answers');
358
+ matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
359
+ });
360
+
361
+ it('When the user attempts the question incorrectly,and on switching to \'Grading\' view 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', () => {
362
+ matchingPage.steps.clickAndDropOptionInDropzonePreviewTab([{ optionText: 'Bear', dropzoneIndex: 0 }, { optionText: 'Eagle', dropzoneIndex: 1 }, { optionText: 'Fish', dropzoneIndex: 2 }]);
363
+ if (view === 'Grading view') {
364
+ studentViewPage.steps.submitResponse();
365
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
366
+ studentViewPage.steps.clickOnGoToGradingViewButton();
367
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
368
+ };
369
+ if (view === 'Question preview' || view === 'Item preview') {
370
+ matchingPage.steps.checkNonScoredScoringLabel();
371
+ matchingPage.steps.switchToGradingView();
372
+ };
373
+ matchingPage.steps.verifyIncorrectOptionIcon(0);
374
+ matchingPage.steps.verifyIncorrectOptionIcon(1);
375
+ matchingPage.steps.verifyIncorrectOptionIcon(2);
376
+ matchingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
377
+ matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
378
+ });
379
+
380
+ it('When the user attempts the question partially correct, then the user should be awarded 0 points and on switching to \'Grading\' view, correct icon should be displayed besides the correct answer responses, incorrect icon should be displayed besides incorrect answer response, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers along should be displayed', () => {
381
+ if (view === 'Grading view') {
382
+ studentViewPage.steps.clearResponses();
383
+ };
384
+ matchingPage.steps.clickAndDropOptionInDropzonePreviewTab([{ optionText: 'Fish', dropzoneIndex: 1 }, { optionText: 'Cat', dropzoneIndex: 2 }]);
385
+ if (view === 'Grading view') {
386
+ studentViewPage.steps.submitResponse();
387
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
388
+ studentViewPage.steps.clickOnGoToGradingViewButton();
389
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
390
+ };
391
+ if (view === 'Question preview' || view === 'Item preview') {
392
+ matchingPage.steps.checkNonScoredScoringLabel();
393
+ matchingPage.steps.switchToGradingView();
394
+ };
395
+ matchingPage.steps.verifyIncorrectOptionIconForEmptyOption(0);
396
+ matchingPage.steps.verifyCorrectOptionIcon(1);
397
+ matchingPage.steps.verifyCorrectOptionIcon(2);
398
+ matchingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
399
+ matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
400
+ });
401
+
402
+ it('When the user attempts the question correctly, and on switching to "Grading" view, non-scoring label should be displayed, correct icons should be displayed beside the correct responses, a status message with text "Your answer is correct" should be displayed and correct answer section should not be displayed', () => {
403
+ if (view === 'Grading view') {
404
+ studentViewPage.steps.clearResponses();
405
+ };
406
+ matchingPage.steps.clickAndDropOptionInDropzonePreviewTab([{ optionText: 'Elephant', dropzoneIndex: 0 }, { optionText: 'Fish', dropzoneIndex: 1 }, { optionText: 'Cat', dropzoneIndex: 2 }]);
407
+ if (view === 'Grading view') {
408
+ studentViewPage.steps.submitResponse();
409
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
410
+ studentViewPage.steps.clickOnGoToGradingViewButton();
411
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
412
+ };
413
+ if (view === 'Question preview' || view === 'Item preview') {
414
+ matchingPage.steps.checkNonScoredScoringLabel();
415
+ matchingPage.steps.switchToGradingView();
416
+ };
417
+ matchingPage.steps.verifyCorrectOptionIcon(0);
418
+ matchingPage.steps.verifyCorrectOptionIcon(1);
419
+ matchingPage.steps.verifyCorrectOptionIcon(2);
420
+ matchingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
421
+ matchingPage.steps.verifyCorrectAnswerSectionNotExists();
422
+ });
423
+ });
424
+ });
425
+
216
426
  if (!grepTags || !grepTags.includes('smoke')) {
217
427
  describe('Question preview: Auto scored - All or nothing: Minimum scoring', () => {
218
428
  abortEarlySetup();
@@ -0,0 +1,38 @@
1
+ import { matchingPage } from "../../../pages";
2
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
3
+
4
+ describe('Create item page - Matching: Check Alternative Answer Button', () => {
5
+ before(() => {
6
+ cy.loginAs('admin');
7
+ });
8
+
9
+ describe('Check Alternative Answer Button', () => {
10
+ abortEarlySetup();
11
+ before(() => {
12
+ matchingPage.steps.navigateToCreateQuestion('matching');
13
+ cy.barsPreLoaderWait();
14
+ matchingPage.steps.addTextInQuestionInstructionsInputField('Match the prompts with the correct options.');
15
+ matchingPage.steps.enterTextInPromptInputField(['Prompt 1', 'Prompt 2', 'Prompt 3']);
16
+ matchingPage.steps.enterTextInOptionInputField(['Option 1', 'Option 2', 'Option 3']);
17
+ });
18
+
19
+ it('When correct answer is not set then alternative answer button should be disabled', () => {
20
+ matchingPage.steps.checkAlternativeButtonDisabled();
21
+ });
22
+
23
+ it('When correct answer is set then alternative answer button should be enabled', () => {
24
+ matchingPage.steps.clickAndDropOptionInDropzoneSpecifyCorrectAnswerSection([
25
+ { optionText: 'Option 1', dropzoneIndex: 0 },
26
+ { optionText: 'Option 2', dropzoneIndex: 1 },
27
+ { optionText: 'Option 3', dropzoneIndex: 2 },
28
+ ]);
29
+
30
+ matchingPage.steps.checkAlternativeButtonEnabled();
31
+ });
32
+
33
+ it('User should be able to add an alternative answer using the "Add alternative" button, and when no answer is set in the "Alternative" accordion, clicking on the "Correct" accordion should expand it', () => {
34
+ matchingPage.steps.clickOnAddAlternativeAnswerButton();
35
+ matchingPage.steps.expandCorrectAnswerAccordion();
36
+ });
37
+ });
38
+ });
@@ -130,11 +130,10 @@ describe('Create Item Page: Matching: Click and drop cases for \'Standard\' and
130
130
  matchingPage.steps.verifyInactiveStateOfAllDropzoneInSpecifyCorrectAnswerSection();
131
131
  });
132
132
 
133
- it('When the user selects a filled option and clicks in the options container, the selected option should get back in the options container and \'Error: Please set a correct answer\' error message should be displayed', () => {
133
+ it('When the user selects a filled option and clicks in the options container, the selected option should get back in the options container and \'Error: Please set a correct answer\' error message should not be displayed', () => {
134
134
  matchingPage.steps.clickAndDropOptionInOptionsContainerInSpecifyCorrectAnswerSection('Flower');
135
135
  matchingPage.steps.verifyDraggableOptionInOptionsContainerSpecifyCorrectAnswerSection(['Petals', 'Flower', 'Stem']);
136
- utilities.verifyInnerText(matchingPage.errorMessage(), 'Error: Please set a correct answer.');
137
- utilities.verifyElementVisibilityState(matchingPage.errorMessage(), 'visible');
136
+ matchingPage.steps.verifyErrorMessageIsNotDisplayed();
138
137
  });
139
138
 
140
139
 
@@ -309,6 +308,7 @@ describe('Create Item Page: Matching: Click and drop cases for \'Standard\' and
309
308
  before(() => {
310
309
  matchingPage.steps.navigateToCreateQuestion('matching');
311
310
  cy.barsPreLoaderWait();
311
+ matchingPage.steps.addQuestionInstructions('Arrange the options in correct order.');
312
312
  matchingPage.steps.expandDraggableOptionsLayoutDropdown();
313
313
  matchingPage.steps.selectOptionFromDraggableOptionsLayoutDropdown('Grouped');
314
314
  matchingPage.steps.addGroupTitle('Group A');
@@ -442,8 +442,7 @@ describe('Create Item Page: Matching: Click and drop cases for \'Standard\' and
442
442
  matchingPage.steps.clickAndDropOptionInOptionsContainerInSpecifyCorrectAnswerSection('Flower');
443
443
  matchingPage.steps.verifyGroupedContainerContentsInSpecifyCorrectAnswerSection(0, groupedOptions);
444
444
  matchingPage.steps.verifyGroupedContainerContentsInSpecifyCorrectAnswerSection(1, groupedOptionsTwo);
445
- utilities.verifyInnerText(matchingPage.errorMessage(), 'Error: Please set a correct answer.');
446
- utilities.verifyElementVisibilityState(matchingPage.errorMessage(), 'visible');
445
+ matchingPage.steps.verifyErrorMessageIsNotDisplayed();
447
446
  });
448
447
 
449
448
  it('When the user fills a dropzone, the dropzone should get filled with the option and the \'Error: Please set a correct answer\' error message should disappear', () => {
@@ -470,6 +469,7 @@ describe('Create Item Page: Matching: Click and drop cases for \'Standard\' and
470
469
  before(() => {
471
470
  matchingPage.steps.navigateToCreateQuestion('matching');
472
471
  cy.barsPreLoaderWait();
472
+ matchingPage.steps.addQuestionInstructions('Arrange the options in correct order.');
473
473
  matchingPage.steps.expandDraggableOptionsLayoutDropdown();
474
474
  matchingPage.steps.selectOptionFromDraggableOptionsLayoutDropdown('Grouped');
475
475
  matchingPage.steps.addGroupTitle('Group A');