itemengine-cypress-automation 1.0.283-applitools-caab082.0 → 1.0.283

Sign up to get free protection for your applications and to get access to all the features.
Files changed (203) hide show
  1. package/cypress/e2e/ILC/AudioResponseNew/barRecorderStyle.smoke.js +26 -36
  2. package/cypress/e2e/ILC/AudioResponseNew/compactRecorderStyle.smoke.js +4 -14
  3. package/cypress/e2e/ILC/AudioResponseNew/gradingViewAndCorrectAnswerViewContents.smoke.js +2 -12
  4. package/cypress/e2e/ILC/AudioResponseNew/previewContentsForAllViews.smoke.js +2 -11
  5. package/cypress/e2e/ILC/BrainingCampManipulative/gradingViewAndCorrectAnswerViewContents.smoke.js +0 -10
  6. package/cypress/e2e/ILC/BrainingCampManipulative/previewTabContent.smoke.js +1 -10
  7. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/allOrNothingScoringForAllViews.smoke.js +8 -18
  8. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/gradingViewAndCorrectAnswerView.smoke.js +2 -12
  9. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/previewContentsForAllViews.smoke.js +5 -16
  10. package/cypress/e2e/ILC/ChartsBar/allOrNothingScoringForAllViews.smoke.js +8 -18
  11. package/cypress/e2e/ILC/ChartsBar/gradingViewAndCorrectAnswerView.smoke.js +2 -12
  12. package/cypress/e2e/ILC/ChartsBar/previewContentsForAllViews.smoke.js +6 -17
  13. package/cypress/e2e/ILC/ChartsLine/allOrNothingScoringForAllViews.smoke.js +8 -18
  14. package/cypress/e2e/ILC/ChartsLine/gradingViewAndCorrectAnswerView.smoke.js +2 -12
  15. package/cypress/e2e/ILC/ChartsLine/previewContentsForAllViews.smoke.js +5 -16
  16. package/cypress/e2e/ILC/Compass/compassPreviewContent.smoke.js +1 -10
  17. package/cypress/e2e/ILC/ContentBlocks/previewContents.smoke.js +1 -10
  18. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +21 -21
  19. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneAlternativePointsGreaterThanCorrectPoints.js +9 -9
  20. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneBasic.js +7 -6
  21. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneCorrectPointsEqualToAlternativePoints.js +10 -9
  22. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneCorrectPointsGreaterThanAlternativePoints.js +11 -10
  23. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/additionalSettings.js +1 -1
  24. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +6 -16
  25. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/previewContentsForAllViews.smoke.js +3 -12
  26. package/cypress/e2e/ILC/DrawingResponse/drawingResponseGradingViewAndCorrectAnswerViewContents.smoke.js +2 -12
  27. package/cypress/e2e/ILC/DrawingResponse/drawingResponsePreviewTabContents.smoke.js +21 -35
  28. package/cypress/e2e/ILC/EditItem/editItem.ts +133 -0
  29. package/cypress/e2e/ILC/EssayResponse/equationEditor.smoke.js +0 -8
  30. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/allOrNothingGroupedScoring.js +4 -4
  31. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +15 -15
  32. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/allOrNothingWithCorrectPointsEqualToAlternativePoints.js +14 -14
  33. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +14 -14
  34. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/blankResponseScoring.js +214 -0
  35. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/manuallyAndNonScored.js +4 -4
  36. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +14 -14
  37. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialDifferentWeightsBasic.js +8 -8
  38. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +14 -14
  39. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +14 -14
  40. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialEqualWeightsBasic.js +8 -8
  41. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +14 -14
  42. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +14 -14
  43. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +14 -14
  44. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/responseLevelAlternateAnswerBasicScoring.js +1 -1
  45. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +6 -16
  46. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViews.smoke.js +3 -12
  47. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/allOrNothingForAllView.smoke.js +4 -14
  48. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/previewContentsForAllViews.smoke.js +3 -12
  49. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/Scoring/blankResponseScoring.js +228 -0
  50. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/Scoring/manuallyAndNonScored.js +3 -3
  51. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +5 -15
  52. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/previewContentsForAllViews.smoke.js +4 -13
  53. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/blankResponseScoring.js +242 -0
  54. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/allOrNothingForAllView.smoke.js +4 -14
  55. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/previewContentsForAllViews.smoke.js +3 -12
  56. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/blankResponseScoring.js +245 -0
  57. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/allOrNothingForAllViews.smoke.js +4 -14
  58. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/previewContentsForAllViews.smoke.js +4 -13
  59. package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/blankResponseScoring.js +237 -0
  60. package/cypress/e2e/ILC/FillInTheGapsTextNew/allOrNothingForAllViews.smoke.js +4 -14
  61. package/cypress/e2e/ILC/FillInTheGapsTextNew/previewContentsForAllViews.smoke.js +4 -13
  62. package/cypress/e2e/ILC/Graphing/allOrNothingForAllViews.smoke.js +5 -15
  63. package/cypress/e2e/ILC/Graphing/gradingViewAndCorrectAnswerView.smoke.js +2 -12
  64. package/cypress/e2e/ILC/Graphing/previewContentsForAllViews.smoke.js +4 -13
  65. package/cypress/e2e/ILC/GridFill/allOrNothingBasicForAllViews.smoke.js +6 -17
  66. package/cypress/e2e/ILC/GridFill/previewContentsForAllViews.smoke.js +1 -9
  67. package/cypress/e2e/ILC/ImageHighlight/allOrNothingForAllViews.smoke.js +5 -16
  68. package/cypress/e2e/ILC/ImageHighlight/previewContentsForAllViews.smoke.js +4 -13
  69. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +4 -14
  70. package/cypress/e2e/ILC/ListOrderingDropdown/previewContentsForAllViews.smoke.js +3 -12
  71. package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/previewContentsForAllViews.smoke.js +2 -13
  72. package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +4 -14
  73. package/cypress/e2e/ILC/ListOrderingNew/horizontalOrientationAllOrNothingForAllViews.smoke.js +5 -15
  74. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/HorizontalOrientation/horizontalOrientationAllOrNothingForAllViews.smoke.js +5 -16
  75. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/HorizontalOrientation/previewContentsForAllViews.smoke.js +3 -12
  76. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/allOrNothingForAllViews.smoke.js +4 -15
  77. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/previewContentsForAllViews.smoke.js +3 -12
  78. package/cypress/e2e/ILC/Matching/Scoring/allOrNothingGroupedScoring.js +4 -4
  79. package/cypress/e2e/ILC/Matching/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +14 -14
  80. package/cypress/e2e/ILC/Matching/Scoring/allOrNothingWithCorrectPointsEqualToAlternativePoints.js +14 -14
  81. package/cypress/e2e/ILC/Matching/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +14 -14
  82. package/cypress/e2e/ILC/Matching/Scoring/blankResponseScoring.js +239 -0
  83. package/cypress/e2e/ILC/Matching/Scoring/manuallyAndNonScored.js +2 -2
  84. package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsScoringBasic.js +2 -2
  85. package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +7 -7
  86. package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +7 -7
  87. package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +7 -7
  88. package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsBasic.js +4 -4
  89. package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +14 -14
  90. package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +14 -14
  91. package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +14 -14
  92. package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +5 -15
  93. package/cypress/e2e/ILC/Matching/previewTabContentsForAllViews.smoke.js +4 -13
  94. package/cypress/e2e/ILC/Matching/questionInstructionsAndPromptSection.js +3 -2
  95. package/cypress/e2e/ILC/MatchingDropdown/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +7 -7
  96. package/cypress/e2e/ILC/MatchingDropdown/Scoring/allOrNothingWithCorrectPointsEqualToAlternativePoints.js +7 -7
  97. package/cypress/e2e/ILC/MatchingDropdown/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +7 -7
  98. package/cypress/e2e/ILC/MatchingDropdown/Scoring/blankResponseScoring.js +212 -0
  99. package/cypress/e2e/ILC/MatchingDropdown/Scoring/manuallyAndNonScored.js +2 -2
  100. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsScoringBasic.js +2 -2
  101. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +7 -7
  102. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternatePoints.js +7 -7
  103. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternatePoints.js +7 -7
  104. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsBasic.js +4 -4
  105. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +7 -7
  106. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +7 -7
  107. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +7 -7
  108. package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +5 -15
  109. package/cypress/e2e/ILC/MatchingDropdown/previewContentsForAllViews.smoke.js +4 -13
  110. package/cypress/e2e/ILC/MultipleSelection/allOrNothingBasicForAllViews.smoke.js +10 -20
  111. package/cypress/e2e/ILC/MultipleSelection/previewContentsForAllViews.smoke.js +2 -11
  112. package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/blankResponseScoring.js +366 -0
  113. package/cypress/e2e/ILC/MultipleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +5 -15
  114. package/cypress/e2e/ILC/MultipleSelectionGridNew/previewContentsForAllViews.smoke.js +4 -14
  115. package/cypress/e2e/ILC/NumberLine/allOrNothingScoringForAllViews.smoke.js +5 -15
  116. package/cypress/e2e/ILC/NumberLine/gradingViewAndCorrectAnswerView.smoke.js +2 -12
  117. package/cypress/e2e/ILC/NumberLine/previewTabContentsForAllViews.smoke.js +4 -13
  118. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/allOrNothingScoringForAllViews.smoke.js +5 -15
  119. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/gradingViewAndCorrectAnswerView.smoke.js +2 -12
  120. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/previewTabContentsForAllViews.smoke.js +4 -13
  121. package/cypress/e2e/ILC/NumberLineLabel/allOrNothingForAllViews.smoke.js +5 -15
  122. package/cypress/e2e/ILC/NumberLineLabel/gradingViewAndCorrectAnswerView.smoke.js +0 -10
  123. package/cypress/e2e/ILC/NumberLineLabel/previewContentsForAllViews.smoke.js +1 -10
  124. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/allOrNothingForAllViews.smoke.js +5 -15
  125. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/gradingViewAndCorrectAnswerView.smoke.js +2 -12
  126. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/previewContentsForAllViews.smoke.js +1 -10
  127. package/cypress/e2e/ILC/Protractor/protractorPreviewContents.smoke.js +1 -10
  128. package/cypress/e2e/ILC/ReadingRuler/readingrulerPreviewContents.smoke.js +1 -10
  129. package/cypress/e2e/ILC/Ruler/rulerPreviewContents.smoke.js +1 -10
  130. package/cypress/e2e/ILC/ShortTextResponseNew/allOrNothingBasicForAllViews.smoke.js +3 -13
  131. package/cypress/e2e/ILC/ShortTextResponseNew/previewContentsForAllViews.smoke.js +6 -14
  132. package/cypress/e2e/ILC/SimpleCalculator/previewContents.smoke.js +1 -10
  133. package/cypress/e2e/ILC/SingleSelection/allOrNothingBasicForAllViews.smoke.js +3 -13
  134. package/cypress/e2e/ILC/SingleSelection/previewContents.smoke.js +1 -10
  135. package/cypress/e2e/ILC/SingleSelectionGridNew/Scoring/blankResponseScoring.js +306 -0
  136. package/cypress/e2e/ILC/SingleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +5 -15
  137. package/cypress/e2e/ILC/SingleSelectionGridNew/previewContentsForAllViews.smoke.js +1 -10
  138. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +243 -0
  139. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +242 -0
  140. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +289 -0
  141. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +284 -0
  142. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +238 -0
  143. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +279 -0
  144. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsScoringBasic.js +641 -0
  145. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +278 -0
  146. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +228 -0
  147. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +234 -0
  148. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsScoringBasic.js +237 -0
  149. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAddEvaluation.js +134 -0
  150. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAlternateAnswer.js +138 -0
  151. package/cypress/e2e/ILC/TextEntryMath/Scoring/blankResponseScoring.js +263 -0
  152. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +5 -5
  153. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasicForAlternateAnswer.js +166 -0
  154. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViews.smoke.js +14 -24
  155. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +6 -15
  156. package/cypress/e2e/ILC/TextEntryMath/customSettings.js +3 -3
  157. package/cypress/e2e/ILC/TextEntryMath/customSettingsSeparators.ts +193 -0
  158. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodEquivalentStructures.js +5 -5
  159. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchExact.js +1 -1
  160. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchValue.js +1 -1
  161. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodsWithoutSetResponse.js +4 -4
  162. package/cypress/e2e/ILC/TextEntryMath/previewContentsForAllViews.smoke.js +4 -13
  163. package/cypress/e2e/ILC/TextEntryMath/responseEvaluationMethodsAndCustomSettings.js +8 -8
  164. package/cypress/e2e/ILC/TextEntryMathWithImage/allOrNothingScoringForAllViews.smoke.js +12 -22
  165. package/cypress/e2e/ILC/TextEntryMathWithImage/previewTabContentsForAllViews.smoke.js +5 -13
  166. package/cypress/e2e/ILC/TextSelection/ScoringGeneric/basicScoringForAllTextSelectionTypes.smoke.js +4 -14
  167. package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +6 -17
  168. package/cypress/e2e/ILC/TextSelection/previewContentsForAllViews.smoke.js +8 -17
  169. package/cypress/e2e/ILC/ToolAudioPlayerNew/previewContents.smoke.js +3 -12
  170. package/cypress/e2e/ILC/ToolSettings/toolSettingsPreviewContents.smoke.js +3 -12
  171. package/cypress/e2e/ILC/UploadResponse/gradingViewAndCorrectAnswerViewContents.smoke.js +1 -11
  172. package/cypress/e2e/ILC/UploadResponse/previewContentsForAllViews.smoke.js +5 -14
  173. package/cypress/e2e/ILC/UploadResponse/thumbNail.smoke.js +6 -17
  174. package/cypress/e2e/ILC/VideoResponseNew/compactRecorderStyle.smoke.js +3 -12
  175. package/cypress/e2e/ILC/VideoResponseNew/gradingViewAndCorrectAnswerViewContents.smoke.js +4 -14
  176. package/cypress/e2e/ILC/VideoResponseNew/previewContentsForAllViews.smoke.js +3 -12
  177. package/cypress/e2e/ILC/chartsDotsPlot/allOrNothingForAllViews.smoke.js +9 -19
  178. package/cypress/e2e/ILC/chartsDotsPlot/gradingViewAndCorrectAnswerView.smoke.js +2 -12
  179. package/cypress/e2e/ILC/chartsDotsPlot/previewContentsForAllViews.smoke.js +4 -14
  180. package/cypress/pages/audioPlayerPage.js +4 -4
  181. package/cypress/pages/components/customSettingsSeparatorsComponent.ts +17 -0
  182. package/cypress/pages/components/equationEditorFlyout.js +1 -1
  183. package/cypress/pages/components/equationEditorSectionCommonComponent.js +1 -3
  184. package/cypress/pages/components/fillInTheGapsDragAndDropCommonComponents.js +1 -1
  185. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +5 -1
  186. package/cypress/pages/components/gridQuestionCommonComponent.js +41 -1
  187. package/cypress/pages/components/optionsWrapperComponent.js +1 -1
  188. package/cypress/pages/createItemPage.js +38 -1
  189. package/cypress/pages/dragAndDropIntoCategoriesPage.js +1 -1
  190. package/cypress/pages/fillInTheGapsDragAndDropPage.js +45 -3
  191. package/cypress/pages/fillInTheGapsOverImageDragAndDropPage.js +35 -2
  192. package/cypress/pages/listOrderingPage.js +1 -1
  193. package/cypress/pages/matchingPage.js +34 -7
  194. package/cypress/pages/multipleSelectionPage.js +17 -2
  195. package/cypress/pages/numberLineLabelPage.js +3 -3
  196. package/cypress/pages/readingRulerPage.js +5 -3
  197. package/cypress/pages/singleSelectionPage.js +5 -2
  198. package/cypress/pages/textEntryMathPage.js +19 -5
  199. package/cypress/pages/textSelectionPage.js +1 -1
  200. package/cypress/support/commands.js +0 -11
  201. package/cypress/support/e2e.js +0 -1
  202. package/package.json +1 -4
  203. package/cypress/e2e/applitools.config.js +0 -14
@@ -14,14 +14,6 @@ describe('Create item page - Matching: All or nothing ', () => {
14
14
  cy.loginAs('admin');
15
15
  });
16
16
 
17
- beforeEach(() => {
18
- cy.startApplitools();
19
- });
20
-
21
- afterEach(() => {
22
- cy.eyesClose();
23
- });
24
-
25
17
  if (!grepTags || !grepTags.includes('smoke')) {
26
18
  describe('Question preview modes: Student view and Grading view', () => {
27
19
  abortEarlySetup();
@@ -106,7 +98,7 @@ describe('Create item page - Matching: All or nothing ', () => {
106
98
  });
107
99
  };
108
100
 
109
- it(`${view}: Matching dropdown - When the user selects \'Grading\' view without attempting the question, dropdown 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`, () => {
101
+ it('When the user selects \'Grading\' view without attempting the question, dropdown 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', () => {
110
102
  if (view === 'Grading view') {
111
103
  studentViewPage.steps.submitResponse();
112
104
  utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
@@ -127,7 +119,7 @@ describe('Create item page - Matching: All or nothing ', () => {
127
119
  matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
128
120
  });
129
121
 
130
- it(`${view}: Matching dropdown - 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`, () => {
122
+ 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', () => {
131
123
  matchingPage.steps.selectResponseFromDropdownInPreviewTab([{ dropdownIndex: 0, dropdownOption: optionsArray[0] }, { dropdownIndex: 1, dropdownOption: optionsArray[1] }, { dropdownIndex: 2, dropdownOption: optionsArray[2] }]);
132
124
  if (view === 'Grading view') {
133
125
  studentViewPage.steps.submitResponse();
@@ -144,10 +136,9 @@ describe('Create item page - Matching: All or nothing ', () => {
144
136
  matchingPage.steps.verifyIncorrectOptionIconDropdown(2);
145
137
  matchingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
146
138
  matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
147
- cy.eyesCheckWindow(`Matching dropdown - ${view} view - Attempting the question incorrectly`);
148
139
  });
149
140
 
150
- it(`${view}: Matching dropdown - When the user attempts the question partially correct with some correct, some incomplete and some incorrect options, 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 with numeration should be displayed`, () => {
141
+ it('When the user attempts the question partially correct with some correct, some incomplete, some incorrect options, 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 with numeration should be displayed', () => {
151
142
  if (view === 'Grading view') {
152
143
  studentViewPage.steps.clearResponses();
153
144
  };
@@ -169,7 +160,7 @@ describe('Create item page - Matching: All or nothing ', () => {
169
160
  matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
170
161
  });
171
162
 
172
- it(`${view}: Matching dropdown - When the user attempts the question partially correct with all the dropdowns correctly attempted but one dropdown incomplete, 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 with numeration should be displayed`, () => {
163
+ it('When the user attempts the question partially correct with all the dropdowns correctly attempted but one dropdown incomplete, 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 with numeration should be displayed', () => {
173
164
  if (view === 'Grading view') {
174
165
  studentViewPage.steps.clearResponses();
175
166
  };
@@ -191,7 +182,7 @@ describe('Create item page - Matching: All or nothing ', () => {
191
182
  matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
192
183
  });
193
184
 
194
- it(`${view}: Matching dropdown - 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`, () => {
185
+ 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', () => {
195
186
  if (view === 'Grading view') {
196
187
  studentViewPage.steps.clearResponses();
197
188
  };
@@ -212,7 +203,6 @@ describe('Create item page - Matching: All or nothing ', () => {
212
203
  matchingPage.steps.verifyCorrectOptionIconDropdown(2);
213
204
  matchingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
214
205
  matchingPage.steps.verifyCorrectAnswerSectionNotExists();
215
- cy.eyesCheckWindow(`Matching dropdown - ${view} view - Attempting the question correctly`);
216
206
  });
217
207
  });
218
208
  });
@@ -11,14 +11,6 @@ describe('Create item page - Matching - Preview contents in all views', () => {
11
11
  cy.loginAs('admin');
12
12
  });
13
13
 
14
- beforeEach(() => {
15
- cy.startApplitools();
16
- });
17
-
18
- afterEach(() => {
19
- cy.eyesClose();
20
- });
21
-
22
14
  views.forEach((view) => {
23
15
  describe(`Preview tab contents - ${view}`, { tags: 'smoke' }, () => {
24
16
  abortEarlySetup();
@@ -88,19 +80,18 @@ describe('Create item page - Matching - Preview contents in all views', () => {
88
80
  utilities.verifyElementVisibilityState(matchingPage.questionInstructionsText(), 'visible');
89
81
  });
90
82
 
91
- it(`Matching dropdown - ${view} - The prompt should have image, equation, bold text displayed`, () => {
83
+ it('The prompt should have image, equation, bold text displayed', () => {
92
84
  matchingPage.steps.verifyPromptWithImageInPreviewTab(0);
93
85
  matchingPage.steps.verifyPromptWithBoldTextInPreviewTab(1);
94
86
  matchingPage.steps.verifyPromptWithEquationTextInPreviewTab(2);
95
- cy.eyesCheckWindow(`Matching dropdown - ${view} - Prompt with image, equation, bold text`);
96
87
  });
97
88
 
98
89
  if (view !== 'Grading view' && view !== 'Correct answer view') {
99
- it(`User should be able to attempt the question by selecting option from the dropdowns`, () => {
90
+ it('User should be able to attempt the question by selecting option from the dropdowns', () => {
100
91
  matchingPage.steps.selectResponseFromDropdownInPreviewTab([{ dropdownIndex: 0, dropdownOption: optionsArray[0] }, { dropdownIndex: 1, dropdownOption: optionsArray[1] }, { dropdownIndex: 2, dropdownOption: optionsArray[2] }]);
101
92
  });
102
93
  } else if (view === 'Grading view') {
103
- it(`The dropdowns should be displayed filled with answers`, () => {
94
+ it('The dropdowns should be displayed filled with answers', () => {
104
95
  utilities.verifyElementCount(matchingPage.dropdownPreviewTab(), 3);
105
96
  matchingPage.steps.verifyTextDisplayedInDropdownPreviewTab(0, 'Fox');
106
97
  matchingPage.steps.verifyTextDisplayedInDropdownPreviewTab(1, 'This is a bold option');
@@ -118,7 +109,7 @@ describe('Create item page - Matching - Preview contents in all views', () => {
118
109
  matchingPage.steps.verifyDropdownIsDisabled(2);
119
110
  });
120
111
  } else {
121
- it(`The dropdowns should be displayed filled with answers`, () => {
112
+ it('The dropdowns should be displayed filled with answers', () => {
122
113
  utilities.verifyElementCount(matchingPage.dropdownPreviewTab(), 3);
123
114
  matchingPage.steps.verifyTextDisplayedInDropdownPreviewTab(0, 'Fox');
124
115
  matchingPage.steps.verifyTextDisplayedInDropdownPreviewTab(1, 'This is a bold option');
@@ -12,14 +12,6 @@ describe('Create Item page - Multiple selection: All or nothing ', () => {
12
12
  cy.loginAs('admin');
13
13
  });
14
14
 
15
- beforeEach(() => {
16
- cy.startApplitools();
17
- });
18
-
19
- afterEach(() => {
20
- cy.eyesClose();
21
- });
22
-
23
15
  if (!grepTags || !grepTags.includes('smoke')) {
24
16
  describe('Question preview modes: Student view and Grading view', () => {
25
17
  abortEarlySetup();
@@ -101,7 +93,7 @@ describe('Create Item page - Multiple selection: All or nothing ', () => {
101
93
  });
102
94
  };
103
95
 
104
- it(`${view}: Multiple selection - When the user selects \'Grading\' view without attempting the question, no icons should be displayed beside unattempted responses and correct answer should be displayed in correct answer section`, () => {
96
+ it('When the user selects \'Grading\' view without attempting the question, no icons should be displayed beside unattempted responses and correct answer should be displayed in correct answer section', () => {
105
97
  if (view === 'Grading view') {
106
98
  studentViewPage.steps.submitResponse();
107
99
  utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
@@ -124,7 +116,7 @@ describe('Create Item page - Multiple selection: All or nothing ', () => {
124
116
  multipleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleCorrectAnswerSection(3);
125
117
  });
126
118
 
127
- it(`${view}: Multiple selection - 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 icons should be displayed besides unattempted responses options and status message \'Your answer is incorrect\'should be displayed below the question preview and correct answer should be displayed in correct answer section`, () => {
119
+ 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 icons should be displayed besides unattempted responses options and status message \'Your answer is incorrect\'should be displayed below the question preview and correct answer should be displayed in correct answer section', () => {
128
120
  multipleSelectionPage.steps.checkOptionsCheckboxInPreviewTab(2);
129
121
  multipleSelectionPage.steps.checkOptionsCheckboxInPreviewTab(3);
130
122
  if (view === 'Grading view') {
@@ -146,10 +138,9 @@ describe('Create Item page - Multiple selection: All or nothing ', () => {
146
138
  multipleSelectionPage.steps.verifyCorrectOptionIconCorrectAnswerSection(1);
147
139
  multipleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleCorrectAnswerSection(2);
148
140
  multipleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleCorrectAnswerSection(3);
149
- cy.eyesCheckWindow(`Multiple selection ${view} view - Attempting the question incorrectly`);
150
141
  });
151
142
 
152
- it(`${view}: Multiple selection - When the user attempts the question partially correct, then the user should be awarded 0 points and on switching to \'Grading\' view, correct icons should be displayed besides the correct responses, incorrect icons should be displayed beside the incorrect responses and no icon should be displayed besides unattempted options, and status message \'Your answer is incorrect\'should be displayed below the question preview and correct answer should be displayed in correct answer section`, () => {
143
+ it('When the user attempts the question partially correct, then the user should be awarded 0 points and on switching to \'Grading\' view, correct icons should be displayed besides the correct responses, incorrect icons should be displayed beside the incorrect responses and no icon should be displayed besides unattempted options, and status message \'Your answer is incorrect\'should be displayed below the question preview and correct answer should be displayed in correct answer section', () => {
153
144
  if (view === 'Grading view') {
154
145
  studentViewPage.steps.clearResponses();
155
146
  }
@@ -169,14 +160,14 @@ describe('Create Item page - Multiple selection: All or nothing ', () => {
169
160
  multipleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleStudentView(1);
170
161
  multipleSelectionPage.steps.verifyIncorrectOptionIconStudentView(2);
171
162
  multipleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleStudentView(3);
172
- //correct answer section
173
- multipleSelectionPage.steps.verifyCorrectOptionIconCorrectAnswerSection(0);
174
- multipleSelectionPage.steps.verifyCorrectOptionIconCorrectAnswerSection(1);
175
- multipleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleCorrectAnswerSection(2);
176
- multipleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleCorrectAnswerSection(3);
163
+ //correct answer section
164
+ multipleSelectionPage.steps.verifyCorrectOptionIconCorrectAnswerSection(0);
165
+ multipleSelectionPage.steps.verifyCorrectOptionIconCorrectAnswerSection(1);
166
+ multipleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleCorrectAnswerSection(2);
167
+ multipleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleCorrectAnswerSection(3);
177
168
  });
178
169
 
179
- it(`${view}: Multiple selection - 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, and status message \'Your answer is correct\'should be displayed below the question preview and correct answer section should not be displayed`, () => {
170
+ 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, and status message \'Your answer is correct\'should be displayed below the question preview and correct answer section should not be displayed', () => {
180
171
  if (view === 'Grading view') {
181
172
  studentViewPage.steps.clearResponses();
182
173
  }
@@ -196,8 +187,7 @@ describe('Create Item page - Multiple selection: All or nothing ', () => {
196
187
  multipleSelectionPage.steps.verifyCorrectOptionIconStudentView(1);
197
188
  multipleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleStudentView(2);
198
189
  multipleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleStudentView(3);
199
- multipleSelectionPage.steps.verifyCorrectAnswerSectionNotExist();
200
- cy.eyesCheckWindow(`Multiple selection ${view} view - Attempting the question correctly`);
190
+ multipleSelectionPage.steps.verifyCorrectAnswerSectionNotExist()
201
191
  });
202
192
  });
203
193
  });
@@ -12,14 +12,6 @@ describe('Create item page - Multiple selection: Preview contents', () => {
12
12
  cy.loginAs('admin');
13
13
  });
14
14
 
15
- beforeEach(() => {
16
- cy.startApplitools();
17
- });
18
-
19
- afterEach(() => {
20
- cy.eyesClose();
21
- });
22
-
23
15
  views.forEach((view) => {
24
16
  describe(`Preview tab contents - ${view}`, { tags: 'smoke' }, () => {
25
17
  abortEarlySetup();
@@ -85,18 +77,17 @@ describe('Create item page - Multiple selection: Preview contents', () => {
85
77
  utilities.verifyElementVisibilityState(multipleSelectionPage.questionInstructionsText(), 'visible');
86
78
  });
87
79
 
88
- it(`Multiple selection - ${view} - When the user has added image, bold text and equation to the options input they should be displayed in the ${view}`, () => {
80
+ it(`When the user has added image, bold text and equation to the options input they should be displayed in the ${view}`, () => {
89
81
  multipleSelectionPage.steps.verifyImageInPreviewTab(0);
90
82
  multipleSelectionPage.steps.verifyBoldTextInPreviewTab(1);
91
83
  multipleSelectionPage.steps.verifyEquationTextInPreviewTab(2);
92
- cy.eyesCheckWindow(`Multiple selection - ${view} - Image, Bold Text, and Equation Display`);
93
84
  });
94
85
 
95
86
  if (view !== 'Grading view' && view !== 'Correct answer view') {
96
87
  it(`All the options should be in unchecked state`, () => {
97
88
  for (let index = 0; index < 4; index++) {
98
89
  multipleSelectionPage.steps.verifyOptionsCheckboxInPreviewTabUncheckedState(index);
99
- }
90
+ };
100
91
  });
101
92
 
102
93
  it(`User should able to select options in the ${view}`, () => {
@@ -0,0 +1,366 @@
1
+ import { dialogBoxBase, multipleSelectionGridPage, gradingViewPage, itemPreviewPage, studentViewPage } from "../../../../pages";
2
+ import abortEarlySetup from "../../../../support/helpers/abortEarly";
3
+ import utilities from "../../../../support/helpers/utilities";
4
+ var itemReferenceID = "";
5
+
6
+ describe('Create item page - Multiple selection grid : Partial equal weights for blank responses', () => {
7
+ before(() => {
8
+ cy.loginAs('admin');
9
+ });
10
+
11
+ describe(`Auto scored - All or nothing scoring`, () => {
12
+ abortEarlySetup();
13
+ before(() => {
14
+ multipleSelectionGridPage.steps.navigateToCreateQuestion('multiple selection grid');
15
+ cy.barsPreLoaderWait();
16
+ multipleSelectionGridPage.steps.addTextInQuestionInstructionsInputField('Multiple selection grid blank responses');
17
+ multipleSelectionGridPage.steps.allotPoints(24);
18
+ multipleSelectionGridPage.steps.switchToPreviewTab();
19
+ });
20
+
21
+ 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, correct/incorrect status message should not be displayed, correct answers section with a label \'Correct answers\' should be displayed with correct answers', () => {
22
+ multipleSelectionGridPage.steps.switchToGradingView();
23
+ multipleSelectionGridPage.steps.verifyPreviewScore(0, 24);
24
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 1, column: 0 });
25
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 0 });
26
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 0 });
27
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 0 });
28
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 1, column: 1 });
29
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 1 });
30
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 1 });
31
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 1 });
32
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
33
+ multipleSelectionGridPage.steps.verifyBlankAnswerResponseCorrectAnswerSection([{ row: 1, column: 0 }, { row: 1, column: 1 }, { row: 2, column: 0 }, { row: 2, column: 1 }, { row: 3, column: 0 }, { row: 3, column: 1 }, { row: 4, column: 0 }, { row: 4, column: 1 }]);
34
+ });
35
+
36
+ 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 no icons should be displayed beside all the cells, full points should be allocated and correct answer section should not be displayed', () => {
37
+ multipleSelectionGridPage.steps.resetQuestionPreview();
38
+ multipleSelectionGridPage.steps.selectOptionsForAllQuestionStemsInPreviewTab([{ row: 1, column: 0 }]);
39
+ multipleSelectionGridPage.steps.unselectOptionsInPreviewTab({ row: 1, column: 0 });
40
+ multipleSelectionGridPage.steps.switchToGradingView();
41
+ multipleSelectionGridPage.steps.verifyPreviewScore(24, 24);
42
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 1, column: 0 });
43
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 0 });
44
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 0 });
45
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 0 });
46
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 1, column: 1 });
47
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 1 });
48
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 1 });
49
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 1 });
50
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
51
+ multipleSelectionGridPage.steps.verifyCorrectAnswerSectionNotExists();
52
+ });
53
+
54
+ it('When the user has not set any answer in the \'Specify correct answer\' section and selects incorrect cell in the preview tab then no icon should be displayed beside the empty responses, incorrect icons should be displayed beside incorrect cell, zero points should be allocated and correct answer section should be displayed', () => {
55
+ multipleSelectionGridPage.steps.resetQuestionPreview();
56
+ multipleSelectionGridPage.steps.selectOptionsForAllQuestionStemsInPreviewTab([{ row: 1, column: 0 }]);
57
+ multipleSelectionGridPage.steps.switchToGradingView();
58
+ multipleSelectionGridPage.steps.verifyPreviewScore(0, 24);
59
+ multipleSelectionGridPage.steps.verifyIncorrectOptionBackgroundAndIcon({ row: 1, column: 0 });
60
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 0 });
61
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 0 });
62
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 0 });
63
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 1, column: 1 });
64
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 1 });
65
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 1 });
66
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 1 });
67
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
68
+ multipleSelectionGridPage.steps.verifyBlankAnswerResponseCorrectAnswerSection([{ row: 1, column: 0 }, { row: 1, column: 1 }, { row: 2, column: 0 }, { row: 2, column: 1 }, { row: 3, column: 0 }, { row: 3, column: 1 }, { row: 4, column: 0 }, { row: 4, column: 1 }]);
69
+ });
70
+
71
+ it('When the user sets an answer in the \'Specify correct answer\' section then on switching to \'Grading\' view without attempting the question, correct/incorrect status message should not be displayed, correct answers section with a label \'Correct answers\' should be displayed with correct answers', () => {
72
+ multipleSelectionGridPage.steps.switchToEditTab();
73
+ multipleSelectionGridPage.steps.setAnswersForAllQuestionStemsInSpecifyCorrectAnswerSection([{ row: 1, column: 0 }, { row: 2, column: 1 }, { row: 3, column: 0 }, { row: 3, column: 1 } ]);
74
+ multipleSelectionGridPage.steps.switchToPreviewTab();
75
+ multipleSelectionGridPage.steps.switchToGradingView();
76
+ multipleSelectionGridPage.steps.verifyPreviewScore(0, 24);
77
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 1, column: 0 });
78
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 0 });
79
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 0 });
80
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 0 });
81
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 1, column: 1 });
82
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 1 });
83
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 1 });
84
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 1 });
85
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
86
+ multipleSelectionGridPage.steps.verifyBlankAnswerResponseCorrectAnswerSection([{ row: 1, column: 1 }, { row: 2, column: 0 }, { row: 4, column: 0 }, { row: 4, column: 1 }]);
87
+ multipleSelectionGridPage.steps.verifyCorrectAnswerResponses([{ row: 1, column: 0 }, { row: 2, column: 1 }, { row: 3, column: 0 }, { row: 3, column: 1 } ]);
88
+ });
89
+
90
+ it('When the user has an set any answer in the \'Specify correct answer\' section and interacts with the question in the preview tab then no icons should be displayed beside all the cells, zero points should be awarded and correct answer section should be displayed', () => {
91
+ multipleSelectionGridPage.steps.resetQuestionPreview();
92
+ multipleSelectionGridPage.steps.selectOptionsForAllQuestionStemsInPreviewTab([{ row: 1, column: 0 }]);
93
+ multipleSelectionGridPage.steps.unselectOptionsInPreviewTab({ row: 1, column: 0 });
94
+ multipleSelectionGridPage.steps.switchToGradingView();
95
+ multipleSelectionGridPage.steps.verifyPreviewScore(0, 24);
96
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 1, column: 0 });
97
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 0 });
98
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 0 });
99
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 0 });
100
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 1, column: 1 });
101
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 1 });
102
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 1 });
103
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 1 });
104
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
105
+ multipleSelectionGridPage.steps.verifyBlankAnswerResponseCorrectAnswerSection([{ row: 1, column: 1 }, { row: 2, column: 0 }, { row: 4, column: 0 }, { row: 4, column: 1 }]);
106
+ multipleSelectionGridPage.steps.verifyCorrectAnswerResponses([{ row: 1, column: 0 }, { row: 2, column: 1 }, { row: 3, column: 0 }, { row: 3, column: 1 } ]);
107
+ });
108
+
109
+ it('When the user has set an answer in the \'Specify correct answer\' section and selects incorrect cell in the preview tab then no icon should be displayed beside the empty responses, incorrect icons should be displayed beside incorrect cell, zero points should be allocated and correct answer section should be displayed', () => {
110
+ multipleSelectionGridPage.steps.resetQuestionPreview();
111
+ multipleSelectionGridPage.steps.selectOptionsForAllQuestionStemsInPreviewTab([{ row: 1, column: 1 }]);
112
+ multipleSelectionGridPage.steps.switchToGradingView();
113
+ multipleSelectionGridPage.steps.verifyPreviewScore(0, 24);
114
+ multipleSelectionGridPage.steps.verifyIncorrectOptionBackgroundAndIcon({ row: 1, column: 1 });
115
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 0 });
116
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 0 });
117
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 0 });
118
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 1, column: 0 });
119
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 1 });
120
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 1 });
121
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 1 });
122
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
123
+ multipleSelectionGridPage.steps.verifyBlankAnswerResponseCorrectAnswerSection([{ row: 1, column: 1 }, { row: 2, column: 0 }, { row: 4, column: 0 }, { row: 4, column: 1 }]);
124
+ multipleSelectionGridPage.steps.verifyCorrectAnswerResponses([{ row: 1, column: 0 }, { row: 2, column: 1 }, { row: 3, column: 0 }, { row: 3, column: 1 } ]);
125
+ });
126
+
127
+ 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 cells, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers should be displayed', () => {
128
+ multipleSelectionGridPage.steps.resetQuestionPreview();
129
+ multipleSelectionGridPage.steps.selectOptionsForAllQuestionStemsInPreviewTab([{ row: 1, column: 1 }, { row: 2, column: 0 }, { row: 4, column: 1 }]);
130
+ multipleSelectionGridPage.steps.switchToGradingView();
131
+ multipleSelectionGridPage.steps.verifyPreviewScore(0, 24);
132
+ multipleSelectionGridPage.steps.verifyIncorrectOptionBackgroundAndIcon({ row: 1, column: 1 });
133
+ multipleSelectionGridPage.steps.verifyIncorrectOptionBackgroundAndIcon({ row: 2, column: 0 });
134
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 0 });
135
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 0 });
136
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 1, column: 0 });
137
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 1 });
138
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 1 });
139
+ multipleSelectionGridPage.steps.verifyIncorrectOptionBackgroundAndIcon({ row: 4, column: 1 });
140
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
141
+ multipleSelectionGridPage.steps.verifyBlankAnswerResponseCorrectAnswerSection([{ row: 1, column: 1 }, { row: 2, column: 0 }, { row: 4, column: 0 }, { row: 4, column: 1 }]);
142
+ multipleSelectionGridPage.steps.verifyCorrectAnswerResponses([{ row: 1, column: 0 }, { row: 2, column: 1 }, { row: 3, column: 0 }, { row: 3, column: 1 } ]);
143
+ });
144
+
145
+ it('When the user attempts the question partially correct by selecting incorrect cells from rows that have a correct answer set, then the user should be awarded 0 points and on switching to \'Grading\' view, incorrect icons should be displayed besides all incorrect cells, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers should be displayed', () => {
146
+ multipleSelectionGridPage.steps.resetQuestionPreview();
147
+ multipleSelectionGridPage.steps.selectOptionsForAllQuestionStemsInPreviewTab([{ row: 1, column: 1 }, { row: 2, column: 0 }, { row: 3, column: 0 }, { row: 3, column: 1 }]);
148
+ multipleSelectionGridPage.steps.switchToGradingView();
149
+ multipleSelectionGridPage.steps.verifyPreviewScore(0, 24);
150
+ multipleSelectionGridPage.steps.verifyIncorrectOptionBackgroundAndIcon({ row: 1, column: 1 });
151
+ multipleSelectionGridPage.steps.verifyIncorrectOptionBackgroundAndIcon({ row: 2, column: 0 });
152
+ multipleSelectionGridPage.steps.verifyCorrectOptionBackgroundAndIcon({ row: 3, column: 0 });
153
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 0 });
154
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 1, column: 0 });
155
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 1 });
156
+ multipleSelectionGridPage.steps.verifyCorrectOptionBackgroundAndIcon({ row: 3, column: 1 });
157
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 1 });
158
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
159
+ multipleSelectionGridPage.steps.verifyBlankAnswerResponseCorrectAnswerSection([{ row: 1, column: 1 }, { row: 2, column: 0 }, { row: 4, column: 0 }, { row: 4, column: 1 }]);
160
+ multipleSelectionGridPage.steps.verifyCorrectAnswerResponses([{ row: 1, column: 0 }, { row: 2, column: 1 }, { row: 3, column: 0 }, { row: 3, column: 1 } ]);
161
+ });
162
+
163
+ it('When the user attempts the question partially correct by selecting incorrect cells from rows that doesn\'t have a correct answer set, then the user should be awarded 0 points and on switching to \'Grading\' view, incorrect icons should be displayed besides all incorrect cells, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers should be displayed', () => {
164
+ multipleSelectionGridPage.steps.resetQuestionPreview();
165
+ multipleSelectionGridPage.steps.selectOptionsForAllQuestionStemsInPreviewTab([{ row: 1, column: 0 }, { row: 2, column: 0}, { row: 3, column: 0 }, { row: 3, column: 1 }, { row: 4, column: 0 }]);
166
+ multipleSelectionGridPage.steps.switchToGradingView();
167
+ multipleSelectionGridPage.steps.verifyPreviewScore(0, 24);
168
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 1, column: 1 });
169
+ multipleSelectionGridPage.steps.verifyIncorrectOptionBackgroundAndIcon({ row: 2, column: 0 });
170
+ multipleSelectionGridPage.steps.verifyCorrectOptionBackgroundAndIcon({ row: 3, column: 0 });
171
+ multipleSelectionGridPage.steps.verifyIncorrectOptionBackgroundAndIcon({ row: 4, column: 0 });
172
+ multipleSelectionGridPage.steps.verifyCorrectOptionBackgroundAndIcon({ row: 1, column: 0 });
173
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 1 });
174
+ multipleSelectionGridPage.steps.verifyCorrectOptionBackgroundAndIcon({ row: 3, column: 1 });
175
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 1 });
176
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
177
+ multipleSelectionGridPage.steps.verifyBlankAnswerResponseCorrectAnswerSection([{ row: 1, column: 1 }, { row: 2, column: 0 }, { row: 4, column: 0 }, { row: 4, column: 1 }]);
178
+ multipleSelectionGridPage.steps.verifyCorrectAnswerResponses([{ row: 1, column: 0 }, { row: 2, column: 1 }, { row: 3, column: 0 }, { row: 3, column: 1 } ]);
179
+ });
180
+
181
+ 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 cells, 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', () => {
182
+ multipleSelectionGridPage.steps.resetQuestionPreview();
183
+ multipleSelectionGridPage.steps.selectOptionsForAllQuestionStemsInPreviewTab([{ row: 1, column: 0 }, { row: 2, column: 1 }, { row: 3, column: 0 }, { row: 3, column: 1 }]);
184
+ multipleSelectionGridPage.steps.switchToGradingView();
185
+ multipleSelectionGridPage.steps.verifyPreviewScore(24, 24);
186
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 1, column: 1 });
187
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 0 });
188
+ multipleSelectionGridPage.steps.verifyCorrectOptionBackgroundAndIcon({ row: 3, column: 0 });
189
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 0 });
190
+ multipleSelectionGridPage.steps.verifyCorrectOptionBackgroundAndIcon({ row: 1, column: 0 });
191
+ multipleSelectionGridPage.steps.verifyCorrectOptionBackgroundAndIcon({ row: 2, column: 1 });
192
+ multipleSelectionGridPage.steps.verifyCorrectOptionBackgroundAndIcon({ row: 3, column: 1 });
193
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 1 });
194
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
195
+ });
196
+ });
197
+
198
+ describe(`Auto scored - Partial equal weights`, () => {
199
+ abortEarlySetup();
200
+ before(() => {
201
+ multipleSelectionGridPage.steps.navigateToCreateQuestion('multiple selection grid');
202
+ cy.barsPreLoaderWait();
203
+ multipleSelectionGridPage.steps.addTextInQuestionInstructionsInputField('Multiple selection grid');
204
+ multipleSelectionGridPage.steps.allotPoints(24);
205
+ multipleSelectionGridPage.steps.selectAutoScoredScoringSubtype('Partial equal weights')
206
+ multipleSelectionGridPage.steps.switchToPreviewTab();
207
+ });
208
+
209
+ 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, correct/incorrect status message should not be displayed, correct answers section with a label \'Correct answers\' should be displayed with correct answers', () => {
210
+ multipleSelectionGridPage.steps.switchToGradingView();
211
+ multipleSelectionGridPage.steps.verifyPreviewScore(0, 24);
212
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 1, column: 0 });
213
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 0 });
214
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 0 });
215
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 0 });
216
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 1, column: 1 });
217
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 1 });
218
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 1 });
219
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 1 });
220
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
221
+ multipleSelectionGridPage.steps.verifyBlankAnswerResponseCorrectAnswerSection([{ row: 1, column: 0 }, { row: 1, column: 1 }, { row: 2, column: 0 }, { row: 2, column: 1 }, { row: 3, column: 0 }, { row: 3, column: 1 }, { row: 4, column: 0 }, { row: 4, column: 1 }]);
222
+ });
223
+
224
+ 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 no icons should be displayed beside all the cells, full points should be allocated and correct answer section should not be displayed', () => {
225
+ multipleSelectionGridPage.steps.resetQuestionPreview();
226
+ multipleSelectionGridPage.steps.selectOptionsForAllQuestionStemsInPreviewTab([{ row: 1, column: 0 }]);
227
+ multipleSelectionGridPage.steps.unselectOptionsInPreviewTab({ row: 1, column: 0 });
228
+ multipleSelectionGridPage.steps.switchToGradingView();
229
+ multipleSelectionGridPage.steps.verifyPreviewScore(24, 24);
230
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 1, column: 0 });
231
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 0 });
232
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 0 });
233
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 0 });
234
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 1, column: 1 });
235
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 1 });
236
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 1 });
237
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 1 });
238
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
239
+ multipleSelectionGridPage.steps.verifyCorrectAnswerSectionNotExists();
240
+ });
241
+
242
+ it('When the user has not set any answer in the \'Specify correct answer\' section and selects incorrect cell in the preview tab then no icon should be displayed beside the empty responses, incorrect icons should be displayed beside incorrect cell, points should be allocated for the blank rows, correct/incorrect status message should not be displayed and correct answer section should be displayed', () => {
243
+ multipleSelectionGridPage.steps.resetQuestionPreview();
244
+ multipleSelectionGridPage.steps.selectOptionsForAllQuestionStemsInPreviewTab([{ row: 1, column: 0 }]);
245
+ multipleSelectionGridPage.steps.switchToGradingView();
246
+ multipleSelectionGridPage.steps.verifyPreviewScore(18, 24);
247
+ multipleSelectionGridPage.steps.verifyIncorrectOptionBackgroundAndIcon({ row: 1, column: 0 });
248
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 0 });
249
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 0 });
250
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 0 });
251
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 1, column: 1 });
252
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 1 });
253
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 1 });
254
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 1 });
255
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
256
+ multipleSelectionGridPage.steps.verifyBlankAnswerResponseCorrectAnswerSection([{ row: 1, column: 0 }, { row: 1, column: 1 }, { row: 2, column: 0 }, { row: 2, column: 1 }, { row: 3, column: 0 }, { row: 3, column: 1 }, { row: 4, column: 0 }, { row: 4, column: 1 }]);
257
+ });
258
+
259
+ it('When the user sets an answer in the \'Specify correct answer\' section then on switching to \'Grading\' view without attempting the question, correct/incorrect status message should not be displayed, correct answers section with a label \'Correct answers\' should be displayed with correct answers', () => {
260
+ multipleSelectionGridPage.steps.switchToEditTab();
261
+ multipleSelectionGridPage.steps.setAnswersForAllQuestionStemsInSpecifyCorrectAnswerSection([{ row: 1, column: 0 }, { row: 2, column: 1 }, { row: 3, column: 0 }, { row: 3, column: 1 } ]);
262
+ multipleSelectionGridPage.steps.switchToPreviewTab();
263
+ multipleSelectionGridPage.steps.switchToGradingView();
264
+ multipleSelectionGridPage.steps.verifyPreviewScore(0, 24);
265
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 1, column: 0 });
266
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 0 });
267
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 0 });
268
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 0 });
269
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 1, column: 1 });
270
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 1 });
271
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 1 });
272
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 1 });
273
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
274
+ multipleSelectionGridPage.steps.verifyBlankAnswerResponseCorrectAnswerSection([{ row: 1, column: 1 }, { row: 2, column: 0 }, { row: 4, column: 0 }, { row: 4, column: 1 }]);
275
+ multipleSelectionGridPage.steps.verifyCorrectAnswerResponses([{ row: 1, column: 0 }, { row: 2, column: 1 }, { row: 3, column: 0 }, { row: 3, column: 1 } ]);
276
+ });
277
+
278
+ it('When the user has set an answer in the \'Specify correct answer\' section and selects incorrect cell in the preview tab then no icon should be displayed beside the empty responses, incorrect icons should be displayed beside incorrect cell, points should be allocated for blank rows, correct/incorrect status message should not be displayed and correct answer section should be displayed', () => {
279
+ multipleSelectionGridPage.steps.resetQuestionPreview();
280
+ multipleSelectionGridPage.steps.selectOptionsForAllQuestionStemsInPreviewTab([{ row: 1, column: 1 }]);
281
+ multipleSelectionGridPage.steps.switchToGradingView();
282
+ multipleSelectionGridPage.steps.verifyPreviewScore(6, 24);
283
+ multipleSelectionGridPage.steps.verifyIncorrectOptionBackgroundAndIcon({ row: 1, column: 1 });
284
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 0 });
285
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 0 });
286
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 0 });
287
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 1, column: 0 });
288
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 1 });
289
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 1 });
290
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 1 });
291
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
292
+ multipleSelectionGridPage.steps.verifyBlankAnswerResponseCorrectAnswerSection([{ row: 1, column: 1 }, { row: 2, column: 0 }, { row: 4, column: 0 }, { row: 4, column: 1 }]);
293
+ multipleSelectionGridPage.steps.verifyCorrectAnswerResponses([{ row: 1, column: 0 }, { row: 2, column: 1 }, { row: 3, column: 0 }, { row: 3, column: 1 } ]);
294
+ });
295
+
296
+ 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 cells, correct/incorrect status message should not be displayed and correct answer section with all correct answers should be displayed', () => {
297
+ multipleSelectionGridPage.steps.resetQuestionPreview();
298
+ multipleSelectionGridPage.steps.selectOptionsForAllQuestionStemsInPreviewTab([{ row: 1, column: 1 }, { row: 2, column: 0 }, { row: 4, column: 1 }]);
299
+ multipleSelectionGridPage.steps.switchToGradingView();
300
+ multipleSelectionGridPage.steps.verifyPreviewScore(0, 24);
301
+ multipleSelectionGridPage.steps.verifyIncorrectOptionBackgroundAndIcon({ row: 1, column: 1 });
302
+ multipleSelectionGridPage.steps.verifyIncorrectOptionBackgroundAndIcon({ row: 2, column: 0 });
303
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 0 });
304
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 0 });
305
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 1, column: 0 });
306
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 1 });
307
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 1 });
308
+ multipleSelectionGridPage.steps.verifyIncorrectOptionBackgroundAndIcon({ row: 4, column: 1 });
309
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
310
+ multipleSelectionGridPage.steps.verifyBlankAnswerResponseCorrectAnswerSection([{ row: 1, column: 1 }, { row: 2, column: 0 }, { row: 4, column: 0 }, { row: 4, column: 1 }]);
311
+ multipleSelectionGridPage.steps.verifyCorrectAnswerResponses([{ row: 1, column: 0 }, { row: 2, column: 1 }, { row: 3, column: 0 }, { row: 3, column: 1 } ]);
312
+ });
313
+
314
+ it('When the user attempts the question partially correct by selecting incorrect cells from rows that have a correct answer set, then the user should be awarded 0 points and on switching to \'Grading\' view, incorrect icons should be displayed besides all incorrect cells, correct/incorrect status message should not be displayed and correct answer section with all correct answers should be displayed', () => {
315
+ multipleSelectionGridPage.steps.resetQuestionPreview();
316
+ multipleSelectionGridPage.steps.selectOptionsForAllQuestionStemsInPreviewTab([{ row: 1, column: 1 }, { row: 2, column: 0 }, { row: 3, column: 0 }, { row: 3, column: 1 }]);
317
+ multipleSelectionGridPage.steps.switchToGradingView();
318
+ multipleSelectionGridPage.steps.verifyPreviewScore(12, 24);
319
+ multipleSelectionGridPage.steps.verifyIncorrectOptionBackgroundAndIcon({ row: 1, column: 1 });
320
+ multipleSelectionGridPage.steps.verifyIncorrectOptionBackgroundAndIcon({ row: 2, column: 0 });
321
+ multipleSelectionGridPage.steps.verifyCorrectOptionBackgroundAndIcon({ row: 3, column: 0 });
322
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 0 });
323
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 1, column: 0 });
324
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 1 });
325
+ multipleSelectionGridPage.steps.verifyCorrectOptionBackgroundAndIcon({ row: 3, column: 1 });
326
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 1 });
327
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
328
+ multipleSelectionGridPage.steps.verifyBlankAnswerResponseCorrectAnswerSection([{ row: 1, column: 1 }, { row: 2, column: 0 }, { row: 4, column: 0 }, { row: 4, column: 1 }]);
329
+ multipleSelectionGridPage.steps.verifyCorrectAnswerResponses([{ row: 1, column: 0 }, { row: 2, column: 1 }, { row: 3, column: 0 }, { row: 3, column: 1 } ]);
330
+ });
331
+
332
+ it('When the user attempts the question partially correct by selecting incorrect cells from rows that doesn\'t have a correct answer set, then the user should be awarded 0 points and on switching to \'Grading\' view, incorrect icons should be displayed besides all incorrect cells, correct/incorrect status message should not be displayed and correct answer section with all correct answers should be displayed', () => {
333
+ multipleSelectionGridPage.steps.resetQuestionPreview();
334
+ multipleSelectionGridPage.steps.selectOptionsForAllQuestionStemsInPreviewTab([{ row: 1, column: 0 }, { row: 2, column: 0 }, { row: 3, column: 0 }, { row: 3, column: 1 }, { row: 4, column: 0 }]);
335
+ multipleSelectionGridPage.steps.switchToGradingView();
336
+ multipleSelectionGridPage.steps.verifyPreviewScore(12, 24);
337
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 1, column: 1 });
338
+ multipleSelectionGridPage.steps.verifyIncorrectOptionBackgroundAndIcon({ row: 2, column: 0 });
339
+ multipleSelectionGridPage.steps.verifyCorrectOptionBackgroundAndIcon({ row: 3, column: 0 });
340
+ multipleSelectionGridPage.steps.verifyIncorrectOptionBackgroundAndIcon({ row: 4, column: 0 });
341
+ multipleSelectionGridPage.steps.verifyCorrectOptionBackgroundAndIcon({ row: 1, column: 0 });
342
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 1 });
343
+ multipleSelectionGridPage.steps.verifyCorrectOptionBackgroundAndIcon({ row: 3, column: 1 });
344
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 1 });
345
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
346
+ multipleSelectionGridPage.steps.verifyBlankAnswerResponseCorrectAnswerSection([{ row: 1, column: 1 }, { row: 2, column: 0 }, { row: 4, column: 0 }, { row: 4, column: 1 }]);
347
+ multipleSelectionGridPage.steps.verifyCorrectAnswerResponses([{ row: 1, column: 0 }, { row: 2, column: 1 }, { row: 3, column: 0 }, { row: 3, column: 1 } ]);
348
+ });
349
+
350
+ 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 cells, correct icon should be displayed besides the correct answer responses, correct/incorrect status message should not be displayed and correct answer section should not be displayed', () => {
351
+ multipleSelectionGridPage.steps.resetQuestionPreview();
352
+ multipleSelectionGridPage.steps.selectOptionsForAllQuestionStemsInPreviewTab([{ row: 1, column: 0 }, { row: 2, column: 1 }, { row: 3, column: 0 }, { row: 3, column: 1 }]);
353
+ multipleSelectionGridPage.steps.switchToGradingView();
354
+ multipleSelectionGridPage.steps.verifyPreviewScore(24, 24);
355
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 1, column: 1 });
356
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 0 });
357
+ multipleSelectionGridPage.steps.verifyCorrectOptionBackgroundAndIcon({ row: 3, column: 0 });
358
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 0 });
359
+ multipleSelectionGridPage.steps.verifyCorrectOptionBackgroundAndIcon({ row: 1, column: 0 });
360
+ multipleSelectionGridPage.steps.verifyCorrectOptionBackgroundAndIcon({ row: 2, column: 1 });
361
+ multipleSelectionGridPage.steps.verifyCorrectOptionBackgroundAndIcon({ row: 3, column: 1 });
362
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 1 });
363
+ multipleSelectionGridPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
364
+ });
365
+ });
366
+ });