itemengine-cypress-automation 1.0.189-e2e-execution-crash-83cdbd4.0 → 1.0.190-7thMayFixes-fcaf7b8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (292) hide show
  1. package/cypress/e2e/ILC/AudioPlayerNew/allSupportedFileTypes.js +81 -0
  2. package/cypress/e2e/ILC/AudioPlayerNew/barAudioPlayerStyle.js +620 -0
  3. package/cypress/e2e/ILC/AudioPlayerNew/compactAudioPlayerStyle.js +402 -0
  4. package/cypress/e2e/ILC/AudioPlayerNew/customizePlayerLayoutSettings.js +596 -0
  5. package/cypress/e2e/ILC/AudioPlayerNew/previewContents.smoke.js +162 -0
  6. package/cypress/e2e/ILC/AudioPlayerNew/standardAudioPlayerStyle.js +792 -0
  7. package/cypress/e2e/ILC/AudioPlayerNew/studentViewSettings.js +253 -0
  8. package/cypress/e2e/ILC/AudioPlayerNew/uploadAndAddAudioFile.js +313 -0
  9. package/cypress/e2e/ILC/AudioResponseNew/additionalSettingsBasic.js +1 -22
  10. package/cypress/e2e/ILC/AudioResponseNew/barRecorderStyle.smoke.js +2 -2
  11. package/cypress/e2e/ILC/AudioResponseNew/compactRecorderStyle.smoke.js +1 -1
  12. package/cypress/e2e/ILC/AudioResponseNew/editAndPreviewTabScoringSection.js +1 -1
  13. package/cypress/e2e/ILC/AudioResponseNew/editTabBasicSection.js +1 -0
  14. package/cypress/e2e/ILC/AudioResponseNew/headerSection.js +4 -20
  15. package/cypress/e2e/ILC/AudioResponseNew/standardRecorderStyle.smoke.js +1 -1
  16. package/cypress/e2e/ILC/AudioResponseNew/studentViewSettings.js +2 -11
  17. package/cypress/e2e/ILC/ChartsBar/allOrNothingScoringForAllViews.smoke.js +366 -0
  18. package/cypress/e2e/ILC/ChartsBar/checkAnswerFunctionalityForAllViews.smoke.js +181 -0
  19. package/cypress/e2e/ILC/ChartsBar/gradingViewAndCorrectAnswerView.smoke.js +283 -0
  20. package/cypress/e2e/ILC/ChartsBar/previewContentsForAllViews.smoke.js +625 -0
  21. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/additionalSettingsBasic.js +1 -1
  22. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/clickAndDrop.js +1 -1
  23. package/cypress/e2e/ILC/DrawingResponse/drawingResponseAdditionalSettings.js +2 -2
  24. package/cypress/e2e/ILC/DrawingResponse/drawingResponseBackground.js +0 -3
  25. package/cypress/e2e/ILC/DrawingResponse/drawingResponseCustomizeAdditionalOptions.js +3 -5
  26. package/cypress/e2e/ILC/DrawingResponse/drawingResponseEditTabBasicSection.js +0 -4
  27. package/cypress/e2e/ILC/DrawingResponse/drawingResponseEditTabScoring.js +0 -1
  28. package/cypress/e2e/ILC/DrawingResponse/drawingResponseGradingViewAndCorrectAnswerViewContents.smoke.js +6 -8
  29. package/cypress/e2e/ILC/DrawingResponse/drawingResponsePageHeaderSection.js +4 -24
  30. package/cypress/e2e/ILC/DrawingResponse/drawingResponsePreviewTabContents.smoke.js +0 -9
  31. package/cypress/e2e/ILC/EditTabSettingPage/itemPreviewSettingsTabFunctionality.js +418 -29
  32. package/cypress/e2e/ILC/EssayResponse/editCategoryFlyout.js +1 -1
  33. package/cypress/e2e/ILC/EssayResponse/essayResponseSpecialCharacters.js +0 -2
  34. package/cypress/e2e/ILC/EssayResponse/headerSection.js +3 -18
  35. package/cypress/e2e/ILC/EssayResponse/previewHyperlink.js +0 -1
  36. package/cypress/e2e/ILC/EssayResponseMath/mathCharacters.js +0 -1
  37. package/cypress/e2e/ILC/FeedbackScaleNew/headerSection.js +29 -1
  38. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/headerSection.js +0 -5
  39. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViews.smoke.js +2 -2
  40. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/studentViewSettings.js +1 -1
  41. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/headerSection.js +0 -4
  42. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/studentViewSettings.js +1 -1
  43. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/backgroundImageAndCanvasProperties.js +3 -3
  44. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/editTabScoring.js +1 -0
  45. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/headerSection.js +5 -5
  46. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/previewContentsForAllViews.smoke.js +2 -2
  47. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/studentViewSettings.js +4 -4
  48. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/headerSection.js +0 -4
  49. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/studentViewSettings.js +1 -1
  50. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +4 -4
  51. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +1 -1
  52. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/studentViewSettings.js +1 -1
  53. package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +5 -5
  54. package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +3 -4
  55. package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +1 -1
  56. package/cypress/e2e/ILC/FillInTheGapsTextNew/editTabScoringSection.js +1 -2
  57. package/cypress/e2e/ILC/FillInTheGapsTextNew/headerSection.js +1 -0
  58. package/cypress/e2e/ILC/FillInTheGapsTextNew/studentViewSettings.js +1 -3
  59. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +2 -2
  60. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +2 -2
  61. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +2 -2
  62. package/cypress/e2e/ILC/Graphing/addBackgroundShapesSection.js +2 -2
  63. package/cypress/e2e/ILC/Graphing/allOrNothingForAllViews.smoke.js +2 -1
  64. package/cypress/e2e/ILC/Graphing/studentViewSettings.js +1 -1
  65. package/cypress/e2e/ILC/GridFill/allOrNothingBasicForAllViews.smoke.js +6 -6
  66. package/cypress/e2e/ILC/GridFill/checkAnswerFunctionalityForAllViews.smoke.js +3 -2
  67. package/cypress/e2e/ILC/GridFill/gridLayoutContents.js +11 -3
  68. package/cypress/e2e/ILC/GridFill/headerSection.js +4 -5
  69. package/cypress/e2e/ILC/GridFill/previewContentsForAllViews.smoke.js +3 -3
  70. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingScoringCellShadeCount.js +2 -2
  71. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountAllOrNothingCorrectPointsGreaterThanAlternativePoints.js +143 -0
  72. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountPartialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +132 -0
  73. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountPartialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +143 -0
  74. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountPartialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +144 -0
  75. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountallOrNothingCorrectPointsEqualToAlternativePoints.js +143 -0
  76. package/cypress/e2e/ILC/GridFill/scoring/cellshadeCountAllOrNothingAlternativePointsGreaterThanCorrectPoints.js +131 -0
  77. package/cypress/e2e/ILC/GridFill/scoring/matchExactAndCellShadeCountCombinedScoring.js +87 -0
  78. package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsCellShadeCountBasics.js +446 -0
  79. package/cypress/e2e/ILC/GridFill/studentViewSettingsSection.js +1 -1
  80. package/cypress/e2e/ILC/ImageHighlight/allOrNothingForAllViews.smoke.js +276 -0
  81. package/cypress/e2e/ILC/ImageHighlight/checkAnswerFunctionalityForAllViews.smoke.js +141 -0
  82. package/cypress/e2e/ILC/ImageHighlight/previewContentsForAllViews.smoke.js +150 -0
  83. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +194 -0
  84. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +195 -0
  85. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +274 -0
  86. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingPenaltyScoring.js +48 -0
  87. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/manuallyAndNonScored.js +144 -0
  88. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +252 -0
  89. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsBasic.js +102 -0
  90. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +256 -0
  91. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +253 -0
  92. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +308 -0
  93. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +225 -0
  94. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +151 -0
  95. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +196 -0
  96. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +227 -0
  97. package/cypress/e2e/ILC/ListOrderingDropdown/additionalSettings.js +91 -0
  98. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +230 -0
  99. package/cypress/e2e/ILC/ListOrderingDropdown/checkAnswerFunctionalityForAllViews.smoke.js +124 -0
  100. package/cypress/e2e/ILC/ListOrderingDropdown/editTabBasicSection.js +221 -0
  101. package/cypress/e2e/ILC/ListOrderingDropdown/editTabScoring.js +203 -0
  102. package/cypress/e2e/ILC/ListOrderingDropdown/manuallyAndNonScoredEditTab.js +71 -0
  103. package/cypress/e2e/ILC/ListOrderingDropdown/minimumScoringPenaltyPointsAndRoundingDropdown.js +197 -0
  104. package/cypress/e2e/ILC/ListOrderingDropdown/previewContentsForAllViews.smoke.js +201 -0
  105. package/cypress/e2e/ILC/ListOrderingDropdown/specifyCorrectAnswerSection.js +115 -0
  106. package/cypress/e2e/ILC/ListOrderingDropdown/studentViewSettings.js +183 -0
  107. package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +216 -0
  108. package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +214 -0
  109. package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +273 -0
  110. package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingPenaltyScoring.js +52 -0
  111. package/cypress/e2e/ILC/ListOrderingNew/Scoring/manuallyAndNonScored.js +128 -0
  112. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +279 -0
  113. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsBasic.js +109 -0
  114. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +278 -0
  115. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +278 -0
  116. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +335 -0
  117. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +250 -0
  118. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsBasic.js +161 -0
  119. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +216 -0
  120. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +252 -0
  121. package/cypress/e2e/ILC/ListOrderingNew/additionalSettings.js +118 -0
  122. package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +243 -0
  123. package/cypress/e2e/ILC/ListOrderingNew/checkAnswerFunctionalityForAllViews.smoke.js +128 -0
  124. package/cypress/e2e/ILC/ListOrderingNew/editTabBasicSection.js +155 -0
  125. package/cypress/e2e/ILC/ListOrderingNew/editTabScoring.js +195 -0
  126. package/cypress/e2e/ILC/ListOrderingNew/headerSection.js +78 -0
  127. package/cypress/e2e/ILC/ListOrderingNew/manuallyAndNonScoredEditTab.js +69 -0
  128. package/cypress/e2e/ILC/ListOrderingNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +194 -0
  129. package/cypress/e2e/ILC/ListOrderingNew/previewContentsForAllViews.smoke.js +176 -0
  130. package/cypress/e2e/ILC/ListOrderingNew/specifyCorrectAnswerSection.js +112 -0
  131. package/cypress/e2e/ILC/ListOrderingNew/studentViewSettings.js +244 -0
  132. package/cypress/e2e/ILC/Matching/additionalSettings.js +1 -0
  133. package/cypress/e2e/ILC/Matching/headerSection.js +2 -2
  134. package/cypress/e2e/ILC/Matching/studentViewSettings.js +1 -1
  135. package/cypress/e2e/ILC/MultipleSelection/allOrNothingWithAlternativeAnswer.js +1 -0
  136. package/cypress/e2e/ILC/MultipleSelectionGridNew/studentViewSettings.js +1 -1
  137. package/cypress/e2e/ILC/NumberLine/LayoutSection.js +209 -0
  138. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +23 -21
  139. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +5 -3
  140. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +8 -6
  141. package/cypress/e2e/ILC/NumberLine/Scoring/manualAndNonScoredScoring.js +1 -1
  142. package/cypress/e2e/ILC/NumberLine/Scoring/partialEqualWeightsBasic.js +1 -1
  143. package/cypress/e2e/ILC/NumberLine/Scoring/partialEqualWeightsWithAlternatePointsGreaterThanCorrectPoints.js +1 -1
  144. package/cypress/e2e/ILC/NumberLine/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternatePoints.js +1 -1
  145. package/cypress/e2e/ILC/NumberLine/Scoring/partialEqualWeigtsWithCorrectPointsEqualToAlternatePoints.js +1 -1
  146. package/cypress/e2e/ILC/NumberLine/allOrNothingScoringForAllViews.smoke.js +60 -3
  147. package/cypress/e2e/ILC/NumberLine/checkAnswerFunctionalityForAllViews.smoke.js +3 -2
  148. package/cypress/e2e/ILC/NumberLine/editTabScoringSection.js +2 -9
  149. package/cypress/e2e/ILC/NumberLine/gradingViewAndCorrectAnswerView.smoke.js +2 -2
  150. package/cypress/e2e/ILC/NumberLine/headerSection.js +4 -4
  151. package/cypress/e2e/ILC/NumberLine/lineSettingsSection.js +33 -0
  152. package/cypress/e2e/ILC/NumberLine/numberLineSection.js +50 -0
  153. package/cypress/e2e/ILC/NumberLine/previewTabContentsForAllViews.smoke.js +2 -2
  154. package/cypress/e2e/ILC/NumberLine/specifyCorrectAnswerSection.js +1 -1
  155. package/cypress/e2e/ILC/NumberLine/studentViewSettings.js +3 -3
  156. package/cypress/e2e/ILC/NumberLine/toolSettings.js +2 -1
  157. package/cypress/e2e/ILC/NumberLine/toolsAndControls.js +1 -1
  158. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/allOrNothingScoringForAllViews.smoke.js +697 -0
  159. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/gradingViewAndCorrectAnswerView.smoke.js +173 -0
  160. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/layoutSection.js +211 -0
  161. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/numberLineSection.js +75 -0
  162. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/previewTabContentsForAllViews.smoke.js +204 -0
  163. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +231 -0
  164. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +231 -0
  165. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +231 -0
  166. package/cypress/e2e/ILC/NumberLineLabel/Scoring/manualAndNonScoredScoring.js +169 -0
  167. package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +274 -0
  168. package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialDifferentWeightsBasic.js +433 -0
  169. package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +274 -0
  170. package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +274 -0
  171. package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +249 -0
  172. package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialEqualWeightsBasic.js +135 -0
  173. package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +210 -0
  174. package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +248 -0
  175. package/cypress/e2e/ILC/NumberLineLabel/additionalSettingsBasic.js +115 -0
  176. package/cypress/e2e/ILC/NumberLineLabel/allOrNothingForAllViews.smoke.js +289 -0
  177. package/cypress/e2e/ILC/NumberLineLabel/checkAnswerFunctionalityForAllViews.smoke.js +154 -0
  178. package/cypress/e2e/ILC/NumberLineLabel/editTabBasicSection.js +326 -0
  179. package/cypress/e2e/ILC/NumberLineLabel/editTabScoring.js +234 -0
  180. package/cypress/e2e/ILC/NumberLineLabel/gradingViewAndCorrectAnswerView.smoke.js +164 -0
  181. package/cypress/e2e/ILC/NumberLineLabel/headerSection.js +80 -0
  182. package/cypress/e2e/ILC/NumberLineLabel/layoutSection.js +204 -0
  183. package/cypress/e2e/ILC/NumberLineLabel/manuallyAndNonScoredEditTab.js +79 -0
  184. package/cypress/e2e/ILC/NumberLineLabel/minimumScoringPenaltyPointsAndRoundingDropdown.js +85 -0
  185. package/cypress/e2e/ILC/NumberLineLabel/numberLineSection.js +51 -0
  186. package/cypress/e2e/ILC/NumberLineLabel/previewContentsForAllViews.smoke.js +120 -0
  187. package/cypress/e2e/ILC/NumberLineLabel/specifyCorrectAnswerSection.js +74 -0
  188. package/cypress/e2e/ILC/NumberLineLabel/studentViewSettings.js +183 -0
  189. package/cypress/e2e/ILC/NumberLineLabel/toolSettings.js +76 -0
  190. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/allOrNothingForAllViews.smoke.js +292 -0
  191. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/checkAnswerFunctionalityForAllViews.smoke.js +155 -0
  192. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/gradingViewAndCorrectAnswerView.smoke.js +166 -0
  193. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/layoutSection.js +360 -0
  194. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/numberLineSection.js +80 -0
  195. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/previewContentsForAllViews.smoke.js +111 -0
  196. package/cypress/e2e/ILC/Protractor/protractorPreviewContents.smoke.js +1 -1
  197. package/cypress/e2e/ILC/ReadingRuler/readingRulerEditTabBasicsSection.js +49 -1
  198. package/cypress/e2e/ILC/ShortTextResponseNew/editTabScoringSection.js +1 -1
  199. package/cypress/e2e/ILC/ShortTextResponseNew/headerSection.js +1 -7
  200. package/cypress/e2e/ILC/ShortTextResponseNew/studentViewSettings.js +1 -2
  201. package/cypress/e2e/ILC/SingleSelectionGridNew/studentViewSettings.js +1 -1
  202. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchExact.js +2 -2
  203. package/cypress/e2e/ILC/TextEntryMath/responseEvaluationMethodsAndCustomSettings.js +5 -5
  204. package/cypress/e2e/ILC/TextSelection/Scoring/allOrNothingAlternatePointsMoreThanCorrectPoints.js +0 -1
  205. package/cypress/e2e/ILC/TextSelection/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +0 -1
  206. package/cypress/e2e/ILC/TextSelection/Scoring/allOrNothingCorrectPointsMoreThanAlternatePoints.js +0 -1
  207. package/cypress/e2e/ILC/TextSelection/Scoring/basicScoringForAllTextSelectionTypes.smoke.js +0 -1
  208. package/cypress/e2e/ILC/TextSelection/additionalSettings.js +125 -0
  209. package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +0 -1
  210. package/cypress/e2e/ILC/TextSelection/checkAnswerFunctionalityForAllViews.smoke.js +2 -2
  211. package/cypress/e2e/ILC/TextSelection/editTabScoringSection.js +5 -4
  212. package/cypress/e2e/ILC/TextSelection/headerSection.js +73 -0
  213. package/cypress/e2e/ILC/TextSelection/previewContentsForAllViews.smoke.js +6 -7
  214. package/cypress/e2e/ILC/TextSelection/questionInstructionsAndQuestion.js +179 -0
  215. package/cypress/e2e/ILC/TextSelection/specifyCorrectAnswerSection.js +89 -0
  216. package/cypress/e2e/ILC/TextSelection/studentViewSettings.js +436 -0
  217. package/cypress/e2e/ILC/TextSelection/styleAndLayoutCustomizationAccordion.js +277 -0
  218. package/cypress/e2e/ILC/TextSelection/textSelectionModesInPreviewTab.js +222 -0
  219. package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyCorrectAnswerSection.js +260 -0
  220. package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyPossibleOptionsSection.js +380 -0
  221. package/cypress/e2e/ILC/ToolSettings/toolSettingsContent.js +5 -5
  222. package/cypress/e2e/ILC/ToolSettings/toolSettingsPreviewContents.smoke.js +3 -3
  223. package/cypress/e2e/ILC/VideoResponseNew/additionalSettingsBasic.js +77 -0
  224. package/cypress/e2e/ILC/VideoResponseNew/customizePlaybackControls.js +313 -0
  225. package/cypress/e2e/ILC/VideoResponseNew/editAndPreviewTabScoringSection.js +99 -0
  226. package/cypress/e2e/ILC/VideoResponseNew/editTabBasicSection.js +171 -0
  227. package/cypress/e2e/ILC/VideoResponseNew/gradingViewAndCorrectAnswerViewContents.smoke.js +179 -0
  228. package/cypress/e2e/ILC/VideoResponseNew/headerSection.js +79 -0
  229. package/cypress/e2e/ILC/VideoResponseNew/previewContentsForAllViews.smoke.js +201 -0
  230. package/cypress/e2e/ILC/VideoResponseNew/standardRecorderStyle.js +567 -0
  231. package/cypress/e2e/ILC/VideoResponseNew/studentViewSettings.js +192 -0
  232. package/cypress/fixtures/constants.js +1 -1
  233. package/cypress/fixtures/drawingToolbarOptionsAdditionalOptionsAndSpecialAndMathCharacters.js +1 -1
  234. package/cypress/fixtures/equationEditorCategoriesAndSymbols .js +20 -20
  235. package/cypress/fixtures/theme/ilc.json +22 -18
  236. package/cypress/pages/audioPlayerPage.js +669 -445
  237. package/cypress/pages/audioResponsePage.js +10 -80
  238. package/cypress/pages/brainingCampManipulativePage.js +1 -1
  239. package/cypress/pages/chartsBarPage.js +517 -0
  240. package/cypress/pages/chartsDotPlotPage.js +8 -0
  241. package/cypress/pages/chartsLinePage.js +42 -0
  242. package/cypress/pages/components/allowTeachersToDownloadStudentResponseComponent.js +58 -0
  243. package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +19 -26
  244. package/cypress/pages/components/autoScoredStudentViewSettings.js +7 -7
  245. package/cypress/pages/components/barAndLineChartComponent.js +123 -0
  246. package/cypress/pages/components/chartsCommonComponent.js +138 -0
  247. package/cypress/pages/components/commonComponents.js +1 -0
  248. package/cypress/pages/components/draggableOptionContainer.js +2 -1
  249. package/cypress/pages/components/equationEditorFlyout.js +3 -2
  250. package/cypress/pages/components/essayResponseCommonComponents.js +8 -2
  251. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +1 -0
  252. package/cypress/pages/components/imageCanvasComponent.js +5 -4
  253. package/cypress/pages/components/index.js +8 -0
  254. package/cypress/pages/components/layoutSectionComponent.js +1156 -0
  255. package/cypress/pages/components/limitNumberOfRetakeComponent.js +90 -0
  256. package/cypress/pages/components/numberLineCommonComponent.js +685 -0
  257. package/cypress/pages/components/optionsWrapperComponent.js +13 -2
  258. package/cypress/pages/components/playbackControlsBaseComponent.js +20 -13
  259. package/cypress/pages/components/questionInputFieldComponent.js +2 -1
  260. package/cypress/pages/components/questionInstructionsComponent.js +3 -19
  261. package/cypress/pages/components/resetPopupComponent.js +7 -3
  262. package/cypress/pages/components/scoringSectionBaseEditTab.js +6 -17
  263. package/cypress/pages/components/singleMultipleSelectionModeComponent.js +16 -0
  264. package/cypress/pages/components/styleAndLayoutCustomizationAccordionComponent.js +46 -0
  265. package/cypress/pages/components/toolSettingsComponent.js +6 -0
  266. package/cypress/pages/contentBlocksPage.js +19 -3
  267. package/cypress/pages/createItemPage.js +75 -8
  268. package/cypress/pages/dialogBoxBase.js +2 -2
  269. package/cypress/pages/dragAndDropIntoCategoriesPage.js +22 -24
  270. package/cypress/pages/drawingResponsePage.js +25 -4
  271. package/cypress/pages/feedbackScalePage.js +3 -0
  272. package/cypress/pages/fillInTheGapsOverImageDragAndDropPage.js +14 -0
  273. package/cypress/pages/fillInTheGapsOverImageDropdownPage.js +1 -1
  274. package/cypress/pages/graphingPage.js +19 -1
  275. package/cypress/pages/gridFillPage.js +47 -59
  276. package/cypress/pages/imageHighlightPage.js +364 -0
  277. package/cypress/pages/index.js +6 -1
  278. package/cypress/pages/itemPreviewSettingsPage.js +4 -0
  279. package/cypress/pages/listOrderingPage.js +561 -555
  280. package/cypress/pages/matchingPage.js +3 -2
  281. package/cypress/pages/multipleSelectionPage.js +23 -1
  282. package/cypress/pages/numberLineLabelPage.js +1093 -0
  283. package/cypress/pages/numberLinePage.js +696 -78
  284. package/cypress/pages/protractorPage.js +1 -1
  285. package/cypress/pages/readingRulerPage.js +1 -1
  286. package/cypress/pages/rulerPage.js +9 -5
  287. package/cypress/pages/textEntryMathPage.js +2 -2
  288. package/cypress/pages/textSelectionPage.js +461 -23
  289. package/cypress/pages/videoResponsePage.js +396 -83
  290. package/package.json +1 -1
  291. package/cypress/e2e/ILC/EssayResponse/essayResponseAdditionalSettings.js +0 -432
  292. package/cypress/e2e/ILC/EssayResponse/essayResponseAdditionalSettingsBasic.js +0 -134
@@ -0,0 +1,308 @@
1
+ import { listOrderingPage } from "../../../../pages/listOrderingPage";
2
+ import abortEarlySetup from "../../../../support/helpers/abortEarly";
3
+
4
+ let options = ['sprout', 'plant', 'flower', 'seed'];
5
+ let correctAnswerArray = ['seed', 'sprout', 'plant', 'flower'];
6
+
7
+ describe('Create Item page - List ordering: Preview tab scoring', () => {
8
+ before(() => {
9
+ cy.loginAs('admin');
10
+ });
11
+
12
+ describe('Question preview: Auto scored - Partial different weights: Minimum scoring', () => {
13
+ abortEarlySetup();
14
+ before(() => {
15
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
16
+ cy.barsPreLoaderWait();
17
+ listOrderingPage.steps.addTextInQuestionInstructionsInputField('Arrange options in correct order.');
18
+ listOrderingPage.steps.addInputToOptionsInputField(options);
19
+ listOrderingPage.steps.selectOrderingLayoutOption('Dropdown menu');
20
+ listOrderingPage.steps.selectPositionForAllOptionsSpecifyCorrectAnswerSection([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '3' }, { optionIndex: 2, position: '4' }, { optionIndex: 3, position: '1' }]);
21
+ listOrderingPage.steps.selectAutoScoredScoringSubtype('Partial different weights');
22
+ listOrderingPage.steps.allotPartialDifferentWeightsPoints({ 0: 6, 1: 3, 2: 2, 3: 1 });
23
+ listOrderingPage.steps.checkAllowStudentToCheckAnswerCheckbox();
24
+ });
25
+
26
+ it('When the user selects \'Award minimum score\' from the minimum scoring dropdown, does not attempt the question and switches to grading view, then the user should be awarded with minimum points', () => {
27
+ listOrderingPage.steps.expandMinimumScoringDropdown();
28
+ listOrderingPage.steps.selectOptionFromMinimumScoringDropdown('Award minimum score');
29
+ listOrderingPage.steps.allotMinimumPoints(2);
30
+ listOrderingPage.steps.switchToPreviewTab();
31
+ listOrderingPage.steps.switchToGradingView();
32
+ listOrderingPage.steps.verifyPreviewScore(2, 12);
33
+ listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
34
+ });
35
+
36
+ it('When the user has selected \'Award minimum score\' from the minimum scoring dropdown, attempts the question incorrectly and switches to grading view, the user should be awarded with minimum points', () => {
37
+ listOrderingPage.steps.resetQuestionPreview();
38
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '1' }, { optionIndex: 1, position: '2' }, { optionIndex: 2, position: '3' }, { optionIndex: 3, position: '4' }]);
39
+ listOrderingPage.steps.verifyPreviewScore(2, 12);
40
+ listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
41
+ });
42
+
43
+ it('When the user selects \'Award minimum score only if attempted\' from the minimum scoring dropdown, does not attempt the question and switches to grading view, considering the default order of the list as an attempt, the user should be awarded with minimum points', () => {
44
+ listOrderingPage.steps.switchToEditTab();
45
+ listOrderingPage.steps.expandMinimumScoringDropdown();
46
+ listOrderingPage.steps.selectOptionFromMinimumScoringDropdown('Award minimum score only if attempted');
47
+ listOrderingPage.steps.allotMinimumPoints(2);
48
+ listOrderingPage.steps.switchToPreviewTab();
49
+ listOrderingPage.steps.switchToGradingView();
50
+ listOrderingPage.steps.verifyPreviewScore(2, 12);
51
+ listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
52
+ });
53
+
54
+ it('When the user has selected \'Award minimum score only if attempted\' from the minimum scoring dropdown, attempts the question incorrectly and switches to grading view, the user should be awarded with minimum points', () => {
55
+ listOrderingPage.steps.resetQuestionPreview();
56
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '1' }, { optionIndex: 1, position: '2' }, { optionIndex: 2, position: '3' }, { optionIndex: 3, position: '4' }]);
57
+ listOrderingPage.steps.verifyPreviewScore(2, 12);
58
+ });
59
+
60
+ it('When the user attempts the question partially correct such that points of the correctly attempted option are greater than minimum points, then the user should be awarded with points as per the correctly attempted response', () => {
61
+ listOrderingPage.steps.resetQuestionPreview();
62
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '1' }, { optionIndex: 2, position: '4' }, { optionIndex: 3, position: '3' }]);
63
+ listOrderingPage.steps.verifyPreviewScore(8, 12);
64
+ });
65
+
66
+ it('When the user attempts the question partially correct such that minimum points are greater than points of the correctly attempted option, then the user should be awarded with minimum points', () => {
67
+ listOrderingPage.steps.resetQuestionPreview();
68
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '1' }, { optionIndex: 1, position: '2' }, { optionIndex: 2, position: '4' }, { optionIndex: 3, position: '3' }]);
69
+ listOrderingPage.steps.verifyPreviewScore(2, 12);
70
+ });
71
+ });
72
+
73
+ describe('Question preview: Auto scored - Partial different weights: Rounding', () => {
74
+ abortEarlySetup();
75
+ before(() => {
76
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
77
+ cy.barsPreLoaderWait();
78
+ listOrderingPage.steps.addTextInQuestionInstructionsInputField('Arrange options in correct order.');
79
+ listOrderingPage.steps.selectOrderingLayoutOption('Dropdown menu');
80
+ listOrderingPage.steps.addInputToOptionsInputField(options);
81
+ listOrderingPage.steps.selectPositionForAllOptionsSpecifyCorrectAnswerSection([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '3' }, { optionIndex: 2, position: '4' }, { optionIndex: 3, position: '1' }]);
82
+ listOrderingPage.steps.selectAutoScoredScoringSubtype('Partial different weights');
83
+ listOrderingPage.steps.allotPartialDifferentWeightsPoints({ 0: 2.67, 1: 1.99, 2: 1.34, 3: 4.5 });
84
+ });
85
+
86
+ it('When the user sets \'Rounding\' to \'Round down if <=0.99\', attempts the question partially correct with an option such that points of the correctly attempted options has decimal value greater than 0.5 and less than 0.99, then the points awarded should be rounded down to the nearest integer value', () => {
87
+ listOrderingPage.steps.expandRoundingDropdown();
88
+ listOrderingPage.steps.selectOptionFromRoundingDropdown('round down if <= 0.99');
89
+ listOrderingPage.steps.switchToPreviewTab();
90
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '1' }, { optionIndex: 2, position: '3' }, { optionIndex: 3, position: '4' }]);
91
+ listOrderingPage.steps.verifyPreviewScore(2, 10.5);
92
+ });
93
+
94
+ it('When the user has set \'Rounding\' to \'Round down if <=0.99\', attempts the question partially correct with an option such that points of the correctly attempted options has decimal value equal to 0.99, then the points awarded should be rounded down to the nearest integer value', () => {
95
+ listOrderingPage.steps.resetQuestionPreview();
96
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '1' }, { optionIndex: 1, position: '3' }, { optionIndex: 2, position: '2' }, { optionIndex: 3, position: '4' }]);
97
+ listOrderingPage.steps.verifyPreviewScore(1, 10.5);
98
+ });
99
+
100
+ it('When the user sets \'Rounding\' to \'Round down if <=0.50\', attempts the question partially correct with an option such that points of the correctly attempted options has decimal value less than 0.50, then the points awarded should be rounded down to the nearest integer value', () => {
101
+ listOrderingPage.steps.switchToEditTab();
102
+ listOrderingPage.steps.expandRoundingDropdown();
103
+ listOrderingPage.steps.selectOptionFromRoundingDropdown('round down if <= 0.50');
104
+ listOrderingPage.steps.switchToPreviewTab();
105
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '3' }, { optionIndex: 1, position: '1' }, { optionIndex: 2, position: '4' }, { optionIndex: 3, position: '2' }]);
106
+ listOrderingPage.steps.verifyPreviewScore(1, 10.5);
107
+ });
108
+
109
+ it('When the user has set \'Rounding\' to \'Round down if <=0.50\', attempts the question partially correct with an option such that points of the correctly attempted options has decimal value equal to 0.50, then the points awarded should be rounded down to the nearest integer value', () => {
110
+ listOrderingPage.steps.resetQuestionPreview();
111
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '3' }, { optionIndex: 1, position: '4' }, { optionIndex: 2, position: '2' }, { optionIndex: 3, position: '1' }]);
112
+ listOrderingPage.steps.verifyPreviewScore(4, 10.5);
113
+ });
114
+
115
+ it('When the user sets \'Rounding\' to \'Round down if <=0.50, Round up if > 0.50\', attempts the question partially correct with an option such that points of the correctly attempted options has decimal value less than 0.50, then the points awarded should be rounded down to the nearest integer value', () => {
116
+ listOrderingPage.steps.switchToEditTab();
117
+ listOrderingPage.steps.expandRoundingDropdown();
118
+ listOrderingPage.steps.selectOptionFromRoundingDropdown('round down if <= 0.50; Round up if > 0.50');
119
+ listOrderingPage.steps.switchToPreviewTab();
120
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '3' }, { optionIndex: 1, position: '1' }, { optionIndex: 2, position: '4' }, { optionIndex: 3, position: '2' }]);
121
+ listOrderingPage.steps.verifyPreviewScore(1, 10.5);
122
+ });
123
+
124
+ it('When the user has set \'Rounding\' to \'Round down if <=0.50, Round up if > 0.50\', attempts the question partially correct with an option such that points of the correctly attempted options has decimal value equal to 0.50, then the points awarded should be rounded down to the nearest integer value', () => {
125
+ listOrderingPage.steps.resetQuestionPreview();
126
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '3' }, { optionIndex: 1, position: '4' }, { optionIndex: 2, position: '2' }, { optionIndex: 3, position: '1' }]);
127
+ listOrderingPage.steps.verifyPreviewScore(4, 10.5);
128
+ });
129
+
130
+ it('When the user has set \'Rounding\' to \'Round down if <=0.50, Round up if > 0.50\', attempts the question partially correct with an option such that points of the correctly attempted options has decimal value greater than 0.50, then the points awarded should be rounded down to the nearest integer value', () => {
131
+ listOrderingPage.steps.resetQuestionPreview();
132
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '1' }, { optionIndex: 2, position: '3' }, { optionIndex: 3, position: '4' }]);
133
+ listOrderingPage.steps.verifyPreviewScore(3, 10.5);
134
+ });
135
+
136
+ it('When \'Round negative score to zero\' is in checked state and the user attempts the question incorrectly, then the user should be awarded with 0 points', () => {
137
+ cy.log('Pre-step: Setting penalty scoring to \'Penalty points for the entire question\', allotting penalty points')
138
+ listOrderingPage.steps.switchToEditTab();
139
+ listOrderingPage.steps.expandPenaltyScoringDropdown();
140
+ listOrderingPage.steps.selectOptionFromPenaltyScoringDropdown('Penalty points for the entire question');
141
+ listOrderingPage.steps.allotPenaltyPoints(4);
142
+ listOrderingPage.steps.switchToPreviewTab();
143
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '1' }, { optionIndex: 1, position: '2' }, { optionIndex: 2, position: '3' }, { optionIndex: 3, position: '4' }]);
144
+ listOrderingPage.steps.verifyPreviewScore(0, 10.5);
145
+ });
146
+
147
+ it('When the user unchecks \'Round negative score to zero\' checkbox and the user attempts the question incorrectly, then the user should be awarded with negative points', () => {
148
+ listOrderingPage.steps.switchToEditTab();
149
+ listOrderingPage.steps.uncheckRoundNegativeScoresToZeroCheckbox();
150
+ listOrderingPage.steps.switchToPreviewTab();
151
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '1' }, { optionIndex: 1, position: '2' }, { optionIndex: 2, position: '3' }, { optionIndex: 3, position: '4' }]);
152
+ listOrderingPage.steps.verifyPreviewScore(-4, 10.5);
153
+ });
154
+ });
155
+
156
+ describe('Question preview: Auto scored - Partial different weights: Penalty scoring with \'Round negative score to zero\' unchecked', () => {
157
+ abortEarlySetup();
158
+ before(() => {
159
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
160
+ cy.barsPreLoaderWait();
161
+ listOrderingPage.steps.addTextInQuestionInstructionsInputField('Arrange options in correct order.');
162
+ listOrderingPage.steps.selectOrderingLayoutOption('Dropdown menu');
163
+ listOrderingPage.steps.addInputToOptionsInputField(options);
164
+ listOrderingPage.steps.selectPositionForAllOptionsSpecifyCorrectAnswerSection([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '3' }, { optionIndex: 2, position: '4' }, { optionIndex: 3, position: '1' }]);
165
+ listOrderingPage.steps.selectAutoScoredScoringSubtype('Partial different weights');
166
+ listOrderingPage.steps.allotPartialDifferentWeightsPoints({ 0: 6, 1: 3, 2: 2, 3: 9 });
167
+ listOrderingPage.steps.checkAllowStudentToCheckAnswerCheckbox();
168
+ });
169
+
170
+ //Penalty points for the entire question
171
+ it('When the user sets penalty scoring to \'Penalty points for the entire question\', allots penalty points and attempts the question incorrectly, then the user should be awarded with negative points', () => {
172
+ listOrderingPage.steps.expandPenaltyScoringDropdown();
173
+ listOrderingPage.steps.selectOptionFromPenaltyScoringDropdown('Penalty points for the entire question');
174
+ listOrderingPage.steps.uncheckRoundNegativeScoresToZeroCheckbox();
175
+ listOrderingPage.steps.allotPenaltyPoints(4);
176
+ listOrderingPage.steps.switchToPreviewTab();
177
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '1' }, { optionIndex: 1, position: '2' }, { optionIndex: 2, position: '3' }, { optionIndex: 3, position: '4' }]);
178
+ listOrderingPage.steps.verifyPreviewScore(-4, 20);
179
+ });
180
+
181
+ it('When the user attempts the question correctly along with an incorrect response, then penalty points should get deducted from the awarded points', () => {
182
+ listOrderingPage.steps.resetQuestionPreview();
183
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '4' }, { optionIndex: 2, position: '3' }, { optionIndex: 3, position: '1' }]);
184
+ listOrderingPage.steps.verifyPreviewScore(11, 20);
185
+ });
186
+
187
+ it('When the user attempts the question correctly along with multiple incorrect responses, then penalty points should get deducted from the awarded points only once, the deducted penalty points should not increase as per number of attempted incorrect responses', () => {
188
+ listOrderingPage.steps.resetQuestionPreview();
189
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '3' }, { optionIndex: 1, position: '4' }, { optionIndex: 2, position: '2' }, { optionIndex: 3, position: '1' }]);
190
+ listOrderingPage.steps.verifyPreviewScore(5, 20);
191
+ });
192
+
193
+ it('When the user has defined penalty points and also sets minimum scoring to \'Award minimum score only if attempted\' and allots minimum points, then on attempting the question incorrectly, minimum points should be awarded', () => {
194
+ listOrderingPage.steps.switchToEditTab();
195
+ listOrderingPage.steps.expandMinimumScoringDropdown();
196
+ listOrderingPage.steps.selectOptionFromMinimumScoringDropdown('Award minimum score only if attempted');
197
+ listOrderingPage.steps.allotMinimumPoints(3);
198
+ listOrderingPage.steps.switchToPreviewTab();
199
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '1' }, { optionIndex: 1, position: '2' }, { optionIndex: 2, position: '3' }, { optionIndex: 3, position: '4' }]);
200
+ listOrderingPage.steps.verifyPreviewScore(3, 20);
201
+ cy.log('Post step: Switching to edit tab and resetting minimum scoring to "No minimum score"')
202
+ listOrderingPage.steps.switchToEditTab();
203
+ listOrderingPage.steps.expandMinimumScoringDropdown();
204
+ listOrderingPage.steps.selectOptionFromMinimumScoringDropdown('No minimum score');
205
+ });
206
+
207
+ //Penalty points for each incorrect option - Specify total penalty points
208
+ it('When the user sets penalty scoring to \'Penalty points for each incorrect option\', and \'Specify total penalty points\' radio button in checked state, allots total penalty points and attempts the question incorrectly, then the user should be awarded with negative points of all the empty and incorrect option', () => {
209
+ listOrderingPage.steps.expandPenaltyScoringDropdown();
210
+ listOrderingPage.steps.selectOptionFromPenaltyScoringDropdown('Penalty points for each incorrect option');
211
+ listOrderingPage.steps.allotTotalPenaltyPoints(4);
212
+ listOrderingPage.steps.switchToPreviewTab();
213
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '1' }, { optionIndex: 1, position: '2' }, { optionIndex: 2, position: '3' }, { optionIndex: 3, position: '4' }]);
214
+ listOrderingPage.steps.verifyPreviewScore(-4, 20);
215
+ });
216
+
217
+ it('When the user attempts the question correctly along with an incorrect option, then penalty points should get deducted from the awarded points', () => {
218
+ listOrderingPage.steps.resetQuestionPreview();
219
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '4' }, { optionIndex: 2, position: '3' }, { optionIndex: 3, position: '1' }]);
220
+ listOrderingPage.steps.verifyPreviewScore(13, 20);
221
+ });
222
+
223
+ it('When the user attempts the question correctly along with multiple incorrect options, then penalty points for each incorrect option should get deducted from the awarded points', () => {
224
+ listOrderingPage.steps.resetQuestionPreview();
225
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '3' }, { optionIndex: 1, position: '4' }, { optionIndex: 2, position: '2' }, { optionIndex: 3, position: '1' }]);
226
+ listOrderingPage.steps.verifyPreviewScore(6, 20);
227
+ });
228
+
229
+ it('When the user has defined penalty points and also sets minimum scoring to \'Award minimum score only if attempted\' and allots minimum points, then on attempting the question incorrectly, minimum points should be awarded', () => {
230
+ listOrderingPage.steps.switchToEditTab();
231
+ listOrderingPage.steps.expandMinimumScoringDropdown();
232
+ listOrderingPage.steps.selectOptionFromMinimumScoringDropdown('Award minimum score only if attempted');
233
+ listOrderingPage.steps.allotMinimumPoints(3);
234
+ listOrderingPage.steps.switchToPreviewTab();
235
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '1' }, { optionIndex: 1, position: '2' }, { optionIndex: 2, position: '3' }, { optionIndex: 3, position: '4' }]);
236
+ listOrderingPage.steps.verifyPreviewScore(3, 20);
237
+ cy.log('Post step: Switching to edit tab and resetting minimum scoring to "No minimum score"')
238
+ listOrderingPage.steps.switchToEditTab();
239
+ listOrderingPage.steps.expandMinimumScoringDropdown();
240
+ listOrderingPage.steps.selectOptionFromMinimumScoringDropdown('No minimum score');
241
+ });
242
+
243
+ //Penalty points for each incorrect option - Specify points for each incorrect option
244
+ it('When the user has set penalty scoring to \'Penalty points for each incorrect option\', and \'Specify total penalty points\' radio button in checked state, allots total penalty points and attempts the question incorrectly, then the user should be awarded with negative points for the incorrect options', () => {
245
+ listOrderingPage.steps.selectPenaltyPointsForEachIncorrectOptionType('specify points for each incorrect option');
246
+ listOrderingPage.steps.allotPenaltyPointsForEachIncorrectOption(4);
247
+ listOrderingPage.steps.switchToPreviewTab();
248
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '1' }, { optionIndex: 1, position: '2' }, { optionIndex: 2, position: '3' }, { optionIndex: 3, position: '4' }]);
249
+ listOrderingPage.steps.verifyPreviewScore(-16, 20);
250
+ });
251
+
252
+ it('When the user attempts the question correctly along with an incorrect option, then penalty points should get deducted from the awarded points', () => {
253
+ listOrderingPage.steps.resetQuestionPreview();
254
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '4' }, { optionIndex: 2, position: '3' }, { optionIndex: 3, position: '1' }]);
255
+ listOrderingPage.steps.verifyPreviewScore(7, 20);
256
+ });
257
+
258
+ it('When the user attempts the question correctly along with multiple incorrect options, then penalty points for each incorrect option should get deducted from the awarded points', () => {
259
+ listOrderingPage.steps.resetQuestionPreview();
260
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '3' }, { optionIndex: 1, position: '4' }, { optionIndex: 2, position: '2' }, { optionIndex: 3, position: '1' }]);
261
+ listOrderingPage.steps.verifyPreviewScore(-3, 20);
262
+ });
263
+
264
+ it('When the user has defined penalty points and also sets minimum scoring to \'Award minimum score only if attempted\' and allots minimum points, then on attempting the question incorrectly, minimum points should be awarded', () => {
265
+ listOrderingPage.steps.switchToEditTab();
266
+ listOrderingPage.steps.expandMinimumScoringDropdown();
267
+ listOrderingPage.steps.selectOptionFromMinimumScoringDropdown('Award minimum score only if attempted');
268
+ listOrderingPage.steps.allotMinimumPoints(3);
269
+ listOrderingPage.steps.switchToPreviewTab();
270
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '1' }, { optionIndex: 1, position: '2' }, { optionIndex: 2, position: '3' }, { optionIndex: 3, position: '4' }]);
271
+ listOrderingPage.steps.verifyPreviewScore(3, 20);
272
+ cy.log('Post step: Switching to edit tab and resetting minimum scoring to "No minimum score"')
273
+ listOrderingPage.steps.switchToEditTab();
274
+ listOrderingPage.steps.expandMinimumScoringDropdown();
275
+ listOrderingPage.steps.selectOptionFromMinimumScoringDropdown('No minimum score');
276
+ });
277
+
278
+ //Penalty points for each incorrect option - Automatically set penalty for each incorrect option to total points / no. of incorrect option
279
+ it('When the user has set penalty scoring to \'Penalty points for each incorrect option\', and checks \'Automatically set penalty for each incorrect option to total points / no. of incorrect option\' checkbox and attempts the question incorrectly, then the user should be awarded with negative points for the incorrect option', () => {
280
+ listOrderingPage.steps.checkAutomaticallySetPenaltyPointsCheckbox();
281
+ listOrderingPage.steps.switchToPreviewTab();
282
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '1' }, { optionIndex: 1, position: '2' }, { optionIndex: 2, position: '3' }, { optionIndex: 3, position: '4' }]);
283
+ listOrderingPage.steps.verifyPreviewScore(-20, 20);
284
+ });
285
+
286
+ it('When the user attempts the question correctly along with an incorrect option, then penalty points should get deducted from the awarded points', () => {
287
+ listOrderingPage.steps.resetQuestionPreview();
288
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '4' }, { optionIndex: 2, position: '3' }, { optionIndex: 3, position: '1' }]);
289
+ listOrderingPage.steps.verifyPreviewScore(5, 20);
290
+ });
291
+
292
+ it('When the user attempts the question correctly along with multiple incorrect options, then penalty points for each incorrect option should get deducted from the awarded points', () => {
293
+ listOrderingPage.steps.resetQuestionPreview();
294
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '3' }, { optionIndex: 1, position: '4' }, { optionIndex: 2, position: '2' }, { optionIndex: 3, position: '1' }]);
295
+ listOrderingPage.steps.verifyPreviewScore(-6, 20);
296
+ });
297
+
298
+ it('When the user has defined penalty points and also sets minimum scoring to \'Award minimum score only if attempted\' and allots minimum points, then on attempting the question incorrectly, minimum points should be awarded', () => {
299
+ listOrderingPage.steps.switchToEditTab();
300
+ listOrderingPage.steps.expandMinimumScoringDropdown();
301
+ listOrderingPage.steps.selectOptionFromMinimumScoringDropdown('Award minimum score only if attempted');
302
+ listOrderingPage.steps.allotMinimumPoints(3);
303
+ listOrderingPage.steps.switchToPreviewTab();
304
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '1' }, { optionIndex: 1, position: '2' }, { optionIndex: 2, position: '3' }, { optionIndex: 3, position: '4' }]);
305
+ listOrderingPage.steps.verifyPreviewScore(3, 20);
306
+ });
307
+ });
308
+ });
@@ -0,0 +1,225 @@
1
+ import { listOrderingPage } from "../../../../pages/listOrderingPage";
2
+ import abortEarlySetup from "../../../../support/helpers/abortEarly";
3
+
4
+ let options = ['sprout', 'plant', 'flower', 'seed'];
5
+
6
+ describe('Create Item page - List ordering: Partial equal weights scoring with alternative answer - When alternative answer points are more than correct answer points', () => {
7
+ before(() => {
8
+ cy.loginAs('admin');
9
+ });
10
+
11
+ describe('Question Preview: AutoScored - Partial equal weights with alternative answer: When alternative answer points are more than correct answer points', () => {
12
+ abortEarlySetup();
13
+ before(() => {
14
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
15
+ cy.barsPreLoaderWait();
16
+ listOrderingPage.steps.addTextInQuestionInstructionsInputField('Arrange options in correct order.');
17
+ listOrderingPage.steps.selectOrderingLayoutOption('Dropdown menu');
18
+ listOrderingPage.steps.addInputToOptionsInputField(options);
19
+ listOrderingPage.steps.selectPositionForAllOptionsSpecifyCorrectAnswerSection([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '3' }, { optionIndex: 2, position: '4' }, { optionIndex: 3, position: '1' }]);
20
+ listOrderingPage.steps.selectAutoScoredScoringSubtype('Partial equal weights');
21
+ listOrderingPage.steps.allotPoints(20);
22
+ listOrderingPage.steps.addAlternativeAnswerAccordion(1);
23
+ listOrderingPage.steps.selectPositionForAllOptionsSpecifyCorrectAnswerSection([{ optionIndex: 0, position: '3' }, { optionIndex: 1, position: '4' }, { optionIndex: 2, position: '2' }, { optionIndex: 3, position: '1' }]);
24
+ listOrderingPage.steps.allotPoints(24);
25
+ listOrderingPage.steps.checkAllowStudentToCheckAnswerCheckbox();
26
+ listOrderingPage.steps.switchToPreviewTab();
27
+ });
28
+
29
+ it('When the user switches to the \'Grading view\' without attempting the question, then correct/incorrect icons should not be displayed for the default list order, correct/incorrect status message should not be displayed and correct answer section should be displayed with correct answers from the alternative accordion', () => {
30
+ listOrderingPage.steps.verifyPreviewScore(0, 24);
31
+ listOrderingPage.steps.switchToGradingView();
32
+ listOrderingPage.steps.verifyCorrectIncorrectOptionIconDropdownLayoutNotExists(0);
33
+ listOrderingPage.steps.verifyCorrectIncorrectOptionIconDropdownLayoutNotExists(1);
34
+ listOrderingPage.steps.verifyCorrectIncorrectOptionIconDropdownLayoutNotExists(2);
35
+ listOrderingPage.steps.verifyCorrectIncorrectOptionIconDropdownLayoutNotExists(3);
36
+ listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
37
+ listOrderingPage.steps.verifyOptionsPositionInCorrectAnswerSection(options, ['3', '4', '2', '1']);
38
+ });
39
+
40
+ it('When the user attempts the question with responses from the correct accordion, then the user should be awarded with points specified for correct accordion (less than full points) and on switching to \'Grading\' view, correct icons should be displayed beside all the correct responses, correct/incorrect status message and correct answer section should not be displayed', () => {
41
+ listOrderingPage.steps.resetQuestionPreview();
42
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '3' }, { optionIndex: 2, position: '4' }, { optionIndex: 3, position: '1' }]);
43
+ listOrderingPage.steps.verifyPreviewScore(20, 24);
44
+ listOrderingPage.steps.switchToGradingView();
45
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(0);
46
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(1);
47
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(2);
48
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(3);
49
+ listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
50
+ listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
51
+ listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
52
+ cy.log('When the user has attempted the question with responses from the correct accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, correct/incorrect status message and correct answer section should not be displayed')
53
+ listOrderingPage.steps.checkAnswer();
54
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(0);
55
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(1);
56
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(2);
57
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(3);
58
+ listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
59
+ listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
60
+ });
61
+
62
+ it('When the user attempts the question with responses from the alternative accordion, then the user should be awarded with full points and on switching to \'Grading\' view, correct icons should be displayed beside all the correct responses, correct/incorrect status message and correct answer section should not be displayed', () => {
63
+ listOrderingPage.steps.resetQuestionPreview();
64
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '3' }, { optionIndex: 1, position: '4' }, { optionIndex: 2, position: '2' }, { optionIndex: 3, position: '1' }]);
65
+ listOrderingPage.steps.verifyPreviewScore(24, 24);
66
+ listOrderingPage.steps.switchToGradingView();
67
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(0);
68
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(1);
69
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(2);
70
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(3);
71
+ listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
72
+ listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
73
+ listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
74
+ cy.log('When the user has attempted the question with responses from the alternative accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, correct/incorrect status message and correct answer section should not be displayed')
75
+ listOrderingPage.steps.checkAnswer();
76
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(0);
77
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(1);
78
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(2);
79
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(3);
80
+ listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
81
+ listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
82
+ });
83
+
84
+ it('When the user attempts the question with partially correct options exclusively from the correct accordion, then the user should be awarded points of the correctly attempted responses and on switching to \'Grading\' view, correct icon should be displayed besides the correct answer responses, no icon should be displayed beside unattempted response a status message should not be displayed and correct answer section with all correct answers from the alternative accordion along with dropzone numeration should be displayed', () => {
85
+ listOrderingPage.steps.resetQuestionPreview();
86
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '3' }, { optionIndex: 2, position: '1' }, { optionIndex: 3, position: '4' }]);
87
+ listOrderingPage.steps.verifyPreviewScore(10, 24);
88
+ listOrderingPage.steps.switchToGradingView();
89
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(0);
90
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(1);
91
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(2);
92
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(3);
93
+ listOrderingPage.steps.verifyOptionsPositionInCorrectAnswerSection(options, ['3', '4', '2', '1']);
94
+ listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
95
+ listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
96
+ cy.log('When the user has attempted the question with partially correct options exclusively from the correct accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, a status message should not be displayed and correct answer section should not be displayed')
97
+ listOrderingPage.steps.checkAnswer();
98
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(0);
99
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(1);
100
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(2);
101
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(3);
102
+ listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
103
+ listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
104
+ });
105
+
106
+ it('When the user attempts the question with partially correct options exclusively from the alternative accordion, then the user should be awarded points of the correctly attempted responses and on switching to \'Grading\' view, correct icon should be displayed besides the alternative answer responses, no icon should be displayed beside unattempted response a status message should not be displayed and correct answer section with all correct answers from the alternative accordion along with dropzone cell numeration should be displayed', () => {
107
+ listOrderingPage.steps.resetQuestionPreview();
108
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '3' }, { optionIndex: 1, position: '1' }, { optionIndex: 2, position: '2' }, { optionIndex: 3, position: '4' }]);
109
+ listOrderingPage.steps.verifyPreviewScore(12, 24);
110
+ listOrderingPage.steps.switchToGradingView();
111
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(0);
112
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(1);
113
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(2);
114
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(3);
115
+ listOrderingPage.steps.verifyOptionsPositionInCorrectAnswerSection(options, ['3', '4', '2', '1']);
116
+ listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
117
+ listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
118
+ cy.log('When the user has attempted the question with partially correct options exclusively from the alternative accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, no icon should be displayed beside unattempted response a status message should not be displayed and correct answer section should not be displayed')
119
+ listOrderingPage.steps.checkAnswer();
120
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(0);
121
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(1);
122
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(2);
123
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(3);
124
+ listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
125
+ listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
126
+ });
127
+
128
+ it('When the user has attempted the question with equal number of correct responses from correct and alternative accordion, then the user should be awarded with points of the correctly attempted responses and on switching to \'Grading\' view, green check-mark icon should be displayed besides response field with correct answer responses, red cross-mark icon should be displayed beside responses from the alternative tab, a status message should not be displayed and correct answer section with all correct answers from the alternative accordion along with dropzone cell numeration should be displayed', () => {
129
+ listOrderingPage.steps.resetQuestionPreview();
130
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '4' }, { optionIndex: 2, position: '3' }, { optionIndex: 3, position: '1' }]);
131
+ listOrderingPage.steps.verifyPreviewScore(12, 24);
132
+ listOrderingPage.steps.switchToGradingView();
133
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(0);
134
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(1);
135
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(2);
136
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(3);
137
+ listOrderingPage.steps.verifyOptionsPositionInCorrectAnswerSection(options, ['3', '4', '2', '1']);
138
+ listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
139
+ listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
140
+ cy.log('When the user has attempted the question with equal number of correct responses from correct and alternative accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, incorrect icon should be displayed beside empty responses a status message should not be displayed and correct answer section should not be displayed')
141
+ listOrderingPage.steps.checkAnswer();
142
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(0);
143
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(1);
144
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(2);
145
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(3);
146
+ listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
147
+ listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
148
+ });
149
+
150
+ it('Race condition : When the user attempts the question with the common response between correct and alternative accordion, then the user should be awarded with points of the correctly attempted responses and on switching to \'Grading\' view, green check-mark icon should be besides the common response, no icon should be displayed beside unattempted response, \'Your answer is incorrect\' and correct answer section with all correct answers from the alternative accordion along with dropzone cell numeration should be displayed', () => {
151
+ listOrderingPage.steps.resetQuestionPreview();
152
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '4' }, { optionIndex: 1, position: '2' }, { optionIndex: 2, position: '3' }, { optionIndex: 3, position: '1' }]);
153
+ listOrderingPage.steps.verifyPreviewScore(6, 24);
154
+ listOrderingPage.steps.switchToGradingView();
155
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(0);
156
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(1);
157
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(2);
158
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(3);
159
+ listOrderingPage.steps.verifyOptionsPositionInCorrectAnswerSection(options, ['3', '4', '2', '1']);
160
+ listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
161
+ listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
162
+ cy.log('When the user has attempted the question with equal number of correct responses from correct and alternative accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, no icon should be displayed beside unattempted response a status message should not be displayed and correct answer section should not be displayed')
163
+ listOrderingPage.steps.checkAnswer();
164
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(0);
165
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(1);
166
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(2);
167
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(3);
168
+ listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
169
+ listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
170
+ });
171
+
172
+ 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, no icon should be displayed beside unattempted response a status message should not be displayed and correct answer section with all correct answers along with dropzone cell numeration should be displayed', () => {
173
+ listOrderingPage.steps.resetQuestionPreview();
174
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '1' }, { optionIndex: 1, position: '2' }, { optionIndex: 2, position: '3' }, { optionIndex: 3, position: '4' }]);
175
+ listOrderingPage.steps.verifyPreviewScore(0, 24);
176
+ listOrderingPage.steps.switchToGradingView();
177
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(0);
178
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(1);
179
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(2);
180
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(3);
181
+ listOrderingPage.steps.verifyOptionsPositionInCorrectAnswerSection(options, ['3', '4', '2', '1']);
182
+ listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
183
+ listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
184
+ cy.log('When the user has attempted the question incorrectly and clicks on \'Check answer\' button, then incorrect icons should be displayed besides all incorrect responses, no icon should be displayed beside unattempted response a status message should not be displayed and correct answer section should not be displayed')
185
+ listOrderingPage.steps.checkAnswer();
186
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(0);
187
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(1);
188
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(2);
189
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(3);
190
+ listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
191
+ listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
192
+ });
193
+
194
+ it('Overachiever case: When the user attempts the question with more number of correct responses from the alternative accordion than the correct accordion but the score of the individual response selected from the correct accordion overpowers the combined score of the alternative accordion answers then on switching to the \'Grading view\', then points awarded should be of the correct accordion, green check-mark icons should be displayed for the correct accordion response, red cross-mark icon should be displayed for the alternative accordion responses, correct/incorrect answer label and its border should not be displayed and correct answer container should be displayed with correct accordion answers for the responses marked incorrect', () => {
195
+ cy.log('Pre-step: Switching to Edit tab and allotting points to alternative accordion such that the difference between the points is substantial and the points per response are in decimal')
196
+ listOrderingPage.steps.switchToEditTab();
197
+ listOrderingPage.steps.deleteAlternativeAnswerAccordion(0);
198
+ listOrderingPage.steps.addAlternativeAnswerAccordion(1);
199
+ listOrderingPage.steps.allotPoints(50);
200
+ listOrderingPage.steps.selectPositionForAllOptionsSpecifyCorrectAnswerSection([{ optionIndex: 0, position: '3' }, { optionIndex: 1, position: '1' }, { optionIndex: 2, position: '2' }, { optionIndex: 3, position: '4' }]);
201
+ listOrderingPage.steps.expandCorrectAnswerAccordion();
202
+ listOrderingPage.steps.allotPoints(10);
203
+ listOrderingPage.steps.switchToPreviewTab();
204
+
205
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '3' }, { optionIndex: 2, position: '1' }, { optionIndex: 3, position: '4' }]);
206
+ listOrderingPage.steps.verifyPreviewScore(12.5, 50);
207
+ listOrderingPage.steps.switchToGradingView();
208
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(0);
209
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(1);
210
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(2);
211
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(3);
212
+ listOrderingPage.steps.verifyOptionsPositionInCorrectAnswerSection(options, ['3', '1', '2', '4']);
213
+ listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
214
+ listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
215
+ cy.log('Overachiever case: When the user attempts the question with more number of correct responses from the correct accordion than the alternative accordion and clicks on \'Check answer\' button, correct icons should be displayed for the alternative accordion response, incorrect icon should be displayed for the correct accordion responses, correct/incorrect status message and correct answer section should not be displayed')
216
+ listOrderingPage.steps.checkAnswer();
217
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(0);
218
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(1);
219
+ listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(2);
220
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(3);
221
+ listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
222
+ listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
223
+ });
224
+ });
225
+ });