itemengine-cypress-automation 1.0.285-applitools-da9f1a8.0 → 1.0.286-fixesE2E24thJan-7a46dd4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (207) hide show
  1. package/cypress/e2e/Gzip/gzip.js +7 -7
  2. package/cypress/e2e/ILC/AudioResponseNew/barRecorderStyle.smoke.js +26 -26
  3. package/cypress/e2e/ILC/AudioResponseNew/compactRecorderStyle.smoke.js +4 -4
  4. package/cypress/e2e/ILC/AudioResponseNew/gradingViewAndCorrectAnswerViewContents.smoke.js +2 -12
  5. package/cypress/e2e/ILC/AudioResponseNew/previewContentsForAllViews.smoke.js +2 -11
  6. package/cypress/e2e/ILC/BrainingCampManipulative/previewTabContent.smoke.js +1 -1
  7. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/allOrNothingScoringForAllViews.smoke.js +8 -17
  8. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/gradingViewAndCorrectAnswerView.smoke.js +3 -3
  9. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/previewContentsForAllViews.smoke.js +5 -14
  10. package/cypress/e2e/ILC/ChartsBar/allOrNothingScoringForAllViews.smoke.js +8 -17
  11. package/cypress/e2e/ILC/ChartsBar/gradingViewAndCorrectAnswerView.smoke.js +2 -12
  12. package/cypress/e2e/ILC/ChartsBar/previewContentsForAllViews.smoke.js +6 -15
  13. package/cypress/e2e/ILC/ChartsLine/allOrNothingScoringForAllViews.smoke.js +8 -8
  14. package/cypress/e2e/ILC/ChartsLine/gradingViewAndCorrectAnswerView.smoke.js +2 -12
  15. package/cypress/e2e/ILC/ChartsLine/previewContentsForAllViews.smoke.js +5 -14
  16. package/cypress/e2e/ILC/Compass/compassPreviewContent.smoke.js +1 -1
  17. package/cypress/e2e/ILC/ContentBlocks/previewContents.smoke.js +1 -1
  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 -15
  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 -19
  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/FeedbackScaleNew/previewContentsForAllViews.smoke.js +1 -0
  31. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/allOrNothingGroupedScoring.js +4 -4
  32. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +15 -15
  33. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/allOrNothingWithCorrectPointsEqualToAlternativePoints.js +14 -14
  34. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +14 -14
  35. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/blankResponseScoring.js +214 -0
  36. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/manuallyAndNonScored.js +4 -4
  37. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +14 -14
  38. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialDifferentWeightsBasic.js +8 -8
  39. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +14 -14
  40. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +14 -14
  41. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialEqualWeightsBasic.js +8 -8
  42. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +14 -14
  43. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +14 -14
  44. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +14 -14
  45. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/responseLevelAlternateAnswerBasicScoring.js +1 -1
  46. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +6 -15
  47. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViews.smoke.js +5 -13
  48. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/allOrNothingForAllView.smoke.js +4 -13
  49. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/previewContentsForAllViews.smoke.js +3 -12
  50. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/Scoring/blankResponseScoring.js +228 -0
  51. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/Scoring/manuallyAndNonScored.js +3 -3
  52. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +5 -14
  53. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/previewContentsForAllViews.smoke.js +5 -14
  54. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/blankResponseScoring.js +242 -0
  55. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/allOrNothingForAllView.smoke.js +4 -13
  56. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/previewContentsForAllViews.smoke.js +3 -12
  57. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/blankResponseScoring.js +245 -0
  58. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/allOrNothingForAllViews.smoke.js +4 -13
  59. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/previewContentsForAllViews.smoke.js +4 -13
  60. package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/blankResponseScoring.js +237 -0
  61. package/cypress/e2e/ILC/FillInTheGapsTextNew/allOrNothingForAllViews.smoke.js +4 -13
  62. package/cypress/e2e/ILC/FillInTheGapsTextNew/previewContentsForAllViews.smoke.js +4 -13
  63. package/cypress/e2e/ILC/Graphing/allOrNothingForAllViews.smoke.js +6 -5
  64. package/cypress/e2e/ILC/Graphing/gradingViewAndCorrectAnswerView.smoke.js +2 -12
  65. package/cypress/e2e/ILC/Graphing/previewContentsForAllViews.smoke.js +4 -13
  66. package/cypress/e2e/ILC/GridFill/allOrNothingBasicForAllViews.smoke.js +6 -16
  67. package/cypress/e2e/ILC/GridFill/previewContentsForAllViews.smoke.js +1 -9
  68. package/cypress/e2e/ILC/ImageHighlight/allOrNothingForAllViews.smoke.js +5 -15
  69. package/cypress/e2e/ILC/ImageHighlight/previewContentsForAllViews.smoke.js +4 -13
  70. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +4 -4
  71. package/cypress/e2e/ILC/ListOrderingDropdown/previewContentsForAllViews.smoke.js +3 -12
  72. package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/previewContentsForAllViews.smoke.js +2 -11
  73. package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +4 -13
  74. package/cypress/e2e/ILC/ListOrderingNew/horizontalOrientationAllOrNothingForAllViews.smoke.js +5 -5
  75. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/HorizontalOrientation/horizontalOrientationAllOrNothingForAllViews.smoke.js +5 -6
  76. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/HorizontalOrientation/previewContentsForAllViews.smoke.js +3 -12
  77. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/allOrNothingForAllViews.smoke.js +4 -14
  78. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/previewContentsForAllViews.smoke.js +4 -3
  79. package/cypress/e2e/ILC/Matching/Scoring/allOrNothingGroupedScoring.js +4 -4
  80. package/cypress/e2e/ILC/Matching/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +14 -14
  81. package/cypress/e2e/ILC/Matching/Scoring/allOrNothingWithCorrectPointsEqualToAlternativePoints.js +14 -14
  82. package/cypress/e2e/ILC/Matching/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +14 -14
  83. package/cypress/e2e/ILC/Matching/Scoring/blankResponseScoring.js +239 -0
  84. package/cypress/e2e/ILC/Matching/Scoring/manuallyAndNonScored.js +2 -2
  85. package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsScoringBasic.js +2 -2
  86. package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +7 -7
  87. package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +7 -7
  88. package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +7 -7
  89. package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsBasic.js +4 -4
  90. package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +14 -14
  91. package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +14 -14
  92. package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +14 -14
  93. package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +5 -14
  94. package/cypress/e2e/ILC/Matching/previewTabContentsForAllViews.smoke.js +6 -14
  95. package/cypress/e2e/ILC/Matching/questionInstructionsAndPromptSection.js +3 -2
  96. package/cypress/e2e/ILC/MatchingDropdown/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +7 -7
  97. package/cypress/e2e/ILC/MatchingDropdown/Scoring/allOrNothingWithCorrectPointsEqualToAlternativePoints.js +7 -7
  98. package/cypress/e2e/ILC/MatchingDropdown/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +7 -7
  99. package/cypress/e2e/ILC/MatchingDropdown/Scoring/blankResponseScoring.js +212 -0
  100. package/cypress/e2e/ILC/MatchingDropdown/Scoring/manuallyAndNonScored.js +2 -2
  101. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsScoringBasic.js +2 -2
  102. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +7 -7
  103. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternatePoints.js +7 -7
  104. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternatePoints.js +7 -7
  105. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsBasic.js +4 -4
  106. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +7 -7
  107. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +7 -7
  108. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +7 -7
  109. package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +5 -5
  110. package/cypress/e2e/ILC/MatchingDropdown/previewContentsForAllViews.smoke.js +4 -13
  111. package/cypress/e2e/ILC/MultipleSelection/allOrNothingBasicForAllViews.smoke.js +10 -19
  112. package/cypress/e2e/ILC/MultipleSelection/previewContentsForAllViews.smoke.js +2 -11
  113. package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/blankResponseScoring.js +366 -0
  114. package/cypress/e2e/ILC/MultipleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +5 -14
  115. package/cypress/e2e/ILC/MultipleSelectionGridNew/previewContentsForAllViews.smoke.js +4 -14
  116. package/cypress/e2e/ILC/NumberLine/allOrNothingScoringForAllViews.smoke.js +5 -5
  117. package/cypress/e2e/ILC/NumberLine/gradingViewAndCorrectAnswerView.smoke.js +2 -12
  118. package/cypress/e2e/ILC/NumberLine/previewTabContentsForAllViews.smoke.js +4 -13
  119. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/allOrNothingScoringForAllViews.smoke.js +6 -5
  120. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/gradingViewAndCorrectAnswerView.smoke.js +2 -3
  121. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/previewTabContentsForAllViews.smoke.js +4 -4
  122. package/cypress/e2e/ILC/NumberLineLabel/allOrNothingForAllViews.smoke.js +6 -5
  123. package/cypress/e2e/ILC/NumberLineLabel/gradingViewAndCorrectAnswerView.smoke.js +1 -10
  124. package/cypress/e2e/ILC/NumberLineLabel/previewContentsForAllViews.smoke.js +1 -10
  125. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/allOrNothingForAllViews.smoke.js +5 -5
  126. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/gradingViewAndCorrectAnswerView.smoke.js +2 -2
  127. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/previewContentsForAllViews.smoke.js +1 -1
  128. package/cypress/e2e/ILC/Protractor/protractorPreviewContents.smoke.js +1 -1
  129. package/cypress/e2e/ILC/ReadingRuler/readingrulerPreviewContents.smoke.js +1 -1
  130. package/cypress/e2e/ILC/Ruler/rulerPreviewContents.smoke.js +1 -1
  131. package/cypress/e2e/ILC/ShortTextResponseNew/allOrNothingBasicForAllViews.smoke.js +3 -12
  132. package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +16 -0
  133. package/cypress/e2e/ILC/ShortTextResponseNew/previewContentsForAllViews.smoke.js +6 -5
  134. package/cypress/e2e/ILC/SimpleCalculator/previewContents.smoke.js +1 -1
  135. package/cypress/e2e/ILC/SingleSelection/allOrNothingBasicForAllViews.smoke.js +3 -12
  136. package/cypress/e2e/ILC/SingleSelection/previewContents.smoke.js +1 -10
  137. package/cypress/e2e/ILC/SingleSelectionGridNew/Scoring/blankResponseScoring.js +306 -0
  138. package/cypress/e2e/ILC/SingleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +5 -14
  139. package/cypress/e2e/ILC/SingleSelectionGridNew/previewContentsForAllViews.smoke.js +1 -10
  140. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +243 -0
  141. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +242 -0
  142. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +289 -0
  143. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +284 -0
  144. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +238 -0
  145. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +279 -0
  146. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsScoringBasic.js +641 -0
  147. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +278 -0
  148. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +228 -0
  149. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +234 -0
  150. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsScoringBasic.js +237 -0
  151. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAddEvaluation.js +134 -0
  152. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAlternateAnswer.js +138 -0
  153. package/cypress/e2e/ILC/TextEntryMath/Scoring/blankResponseScoring.js +263 -0
  154. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +5 -5
  155. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasicForAlternateAnswer.js +166 -0
  156. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViews.smoke.js +14 -23
  157. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +6 -5
  158. package/cypress/e2e/ILC/TextEntryMath/customSettings.js +3 -3
  159. package/cypress/e2e/ILC/TextEntryMath/customSettingsSeparators.ts +193 -0
  160. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodEquivalentStructures.js +5 -5
  161. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchExact.js +1 -1
  162. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchValue.js +1 -2
  163. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodsWithoutSetResponse.js +4 -4
  164. package/cypress/e2e/ILC/TextEntryMath/previewContentsForAllViews.smoke.js +4 -13
  165. package/cypress/e2e/ILC/TextEntryMath/responseEvaluationMethodsAndCustomSettings.js +8 -8
  166. package/cypress/e2e/ILC/TextEntryMathWithImage/allOrNothingScoringForAllViews.smoke.js +17 -17
  167. package/cypress/e2e/ILC/TextEntryMathWithImage/previewTabContentsForAllViews.smoke.js +5 -13
  168. package/cypress/e2e/ILC/TextSelection/ScoringGeneric/basicScoringForAllTextSelectionTypes.smoke.js +4 -4
  169. package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +6 -16
  170. package/cypress/e2e/ILC/TextSelection/previewContentsForAllViews.smoke.js +8 -8
  171. package/cypress/e2e/ILC/ToolAudioPlayerNew/previewContents.smoke.js +3 -3
  172. package/cypress/e2e/ILC/ToolSettings/toolSettingsPreviewContents.smoke.js +3 -3
  173. package/cypress/e2e/ILC/UploadResponse/gradingViewAndCorrectAnswerViewContents.smoke.js +1 -11
  174. package/cypress/e2e/ILC/UploadResponse/previewContentsForAllViews.smoke.js +5 -14
  175. package/cypress/e2e/ILC/UploadResponse/thumbNail.smoke.js +6 -16
  176. package/cypress/e2e/ILC/VideoResponseNew/compactRecorderStyle.smoke.js +3 -3
  177. package/cypress/e2e/ILC/VideoResponseNew/gradingViewAndCorrectAnswerViewContents.smoke.js +4 -14
  178. package/cypress/e2e/ILC/VideoResponseNew/previewContentsForAllViews.smoke.js +3 -12
  179. package/cypress/e2e/ILC/chartsDotsPlot/allOrNothingForAllViews.smoke.js +9 -9
  180. package/cypress/e2e/ILC/chartsDotsPlot/gradingViewAndCorrectAnswerView.smoke.js +2 -2
  181. package/cypress/e2e/ILC/chartsDotsPlot/previewContentsForAllViews.smoke.js +4 -13
  182. package/cypress/pages/audioPlayerPage.js +4 -4
  183. package/cypress/pages/components/customSettingsSeparatorsComponent.ts +17 -0
  184. package/cypress/pages/components/equationEditorFlyout.js +1 -1
  185. package/cypress/pages/components/equationEditorSectionCommonComponent.js +1 -3
  186. package/cypress/pages/components/fillInTheGapsDragAndDropCommonComponents.js +1 -1
  187. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +5 -1
  188. package/cypress/pages/components/gridQuestionCommonComponent.js +41 -1
  189. package/cypress/pages/components/optionsWrapperComponent.js +1 -1
  190. package/cypress/pages/createItemPage.js +38 -1
  191. package/cypress/pages/dragAndDropIntoCategoriesPage.js +1 -1
  192. package/cypress/pages/fillInTheGapsDragAndDropPage.js +45 -3
  193. package/cypress/pages/fillInTheGapsOverImageDragAndDropPage.js +35 -2
  194. package/cypress/pages/graphingPage.js +3 -0
  195. package/cypress/pages/listOrderingPage.js +1 -1
  196. package/cypress/pages/matchingPage.js +34 -7
  197. package/cypress/pages/multipleSelectionPage.js +17 -2
  198. package/cypress/pages/numberLineLabelPage.js +3 -3
  199. package/cypress/pages/readingRulerPage.js +5 -3
  200. package/cypress/pages/singleSelectionPage.js +5 -2
  201. package/cypress/pages/studentViewPage.js +4 -4
  202. package/cypress/pages/textEntryMathPage.js +19 -5
  203. package/cypress/pages/textSelectionPage.js +1 -1
  204. package/cypress/support/commands.js +0 -11
  205. package/cypress/support/e2e.js +0 -1
  206. package/package.json +1 -4
  207. package/cypress/e2e/applitools.config.js +0 -14
@@ -98,7 +98,7 @@ describe('Create item page - Matching: All or nothing ', () => {
98
98
  });
99
99
  };
100
100
 
101
- 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', () => {
102
102
  if (view === 'Grading view') {
103
103
  studentViewPage.steps.submitResponse();
104
104
  utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
@@ -119,7 +119,7 @@ describe('Create item page - Matching: All or nothing ', () => {
119
119
  matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
120
120
  });
121
121
 
122
- 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', () => {
123
123
  matchingPage.steps.selectResponseFromDropdownInPreviewTab([{ dropdownIndex: 0, dropdownOption: optionsArray[0] }, { dropdownIndex: 1, dropdownOption: optionsArray[1] }, { dropdownIndex: 2, dropdownOption: optionsArray[2] }]);
124
124
  if (view === 'Grading view') {
125
125
  studentViewPage.steps.submitResponse();
@@ -138,7 +138,7 @@ describe('Create item page - Matching: All or nothing ', () => {
138
138
  matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
139
139
  });
140
140
 
141
- 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', () => {
142
142
  if (view === 'Grading view') {
143
143
  studentViewPage.steps.clearResponses();
144
144
  };
@@ -160,7 +160,7 @@ describe('Create item page - Matching: All or nothing ', () => {
160
160
  matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
161
161
  });
162
162
 
163
- 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', () => {
164
164
  if (view === 'Grading view') {
165
165
  studentViewPage.steps.clearResponses();
166
166
  };
@@ -182,7 +182,7 @@ describe('Create item page - Matching: All or nothing ', () => {
182
182
  matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
183
183
  });
184
184
 
185
- 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', () => {
186
186
  if (view === 'Grading view') {
187
187
  studentViewPage.steps.clearResponses();
188
188
  };
@@ -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') {
@@ -148,7 +140,7 @@ describe('Create Item page - Multiple selection: All or nothing ', () => {
148
140
  multipleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleCorrectAnswerSection(3);
149
141
  });
150
142
 
151
- 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', () => {
152
144
  if (view === 'Grading view') {
153
145
  studentViewPage.steps.clearResponses();
154
146
  }
@@ -168,14 +160,14 @@ describe('Create Item page - Multiple selection: All or nothing ', () => {
168
160
  multipleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleStudentView(1);
169
161
  multipleSelectionPage.steps.verifyIncorrectOptionIconStudentView(2);
170
162
  multipleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleStudentView(3);
171
- //correct answer section
172
- multipleSelectionPage.steps.verifyCorrectOptionIconCorrectAnswerSection(0);
173
- multipleSelectionPage.steps.verifyCorrectOptionIconCorrectAnswerSection(1);
174
- multipleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleCorrectAnswerSection(2);
175
- 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);
176
168
  });
177
169
 
178
- 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', () => {
179
171
  if (view === 'Grading view') {
180
172
  studentViewPage.steps.clearResponses();
181
173
  }
@@ -195,8 +187,7 @@ describe('Create Item page - Multiple selection: All or nothing ', () => {
195
187
  multipleSelectionPage.steps.verifyCorrectOptionIconStudentView(1);
196
188
  multipleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleStudentView(2);
197
189
  multipleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleStudentView(3);
198
- multipleSelectionPage.steps.verifyCorrectAnswerSectionNotExist();
199
- cy.eyesCheckWindow(`Multiple selection ${view} view - Attempting the question correctly`);
190
+ multipleSelectionPage.steps.verifyCorrectAnswerSectionNotExist()
200
191
  });
201
192
  });
202
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
+ });