itemengine-cypress-automation 1.0.381-fixes-r1-4b1054a.0 → 1.0.381-regressionFixes10June-8dc1710.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (294) hide show
  1. package/Dockerfile +1 -0
  2. package/cypress/e2e/GradingGridView/gradingGridView.js +156 -0
  3. package/cypress/e2e/ILC/AudioResponseNew/barRecorderStyle.smoke.js +2 -0
  4. package/cypress/e2e/ILC/AudioResponseNew/compactRecorderStyle.smoke.js +4 -0
  5. package/cypress/e2e/ILC/AudioResponseNew/editTabBasicSection.js +4 -16
  6. package/cypress/e2e/ILC/BrainingCampManipulative/editTabBasicSection.js +1 -1
  7. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/gradingViewAndCorrectAnswerView.smoke.js +1 -1
  8. package/cypress/e2e/ILC/ChartsBar/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +33 -0
  9. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightBasic.js +25 -25
  10. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +37 -36
  11. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +37 -36
  12. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +37 -36
  13. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -0
  14. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightBasic.js +26 -25
  15. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +39 -38
  16. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +31 -30
  17. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +35 -34
  18. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePointsLocked.js +247 -0
  19. package/cypress/e2e/ILC/ChartsBar/editQuestion.smoke.js +1 -1
  20. package/cypress/e2e/ILC/ChartsBar/editTabBasicSection.js +37 -0
  21. package/cypress/e2e/ILC/ChartsBar/headerSection.js +50 -2
  22. package/cypress/e2e/ILC/ChartsBar/specifyCorrectAnswerSection.js +92 -0
  23. package/cypress/e2e/ILC/ChartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePointsLocked.js +220 -0
  24. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightBasic.js +25 -25
  25. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +47 -46
  26. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +25 -24
  27. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +25 -24
  28. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -0
  29. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightBasic.js +25 -25
  30. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +24 -23
  31. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +21 -20
  32. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +48 -46
  33. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePointsLocked.js +249 -0
  34. package/cypress/e2e/ILC/ChartsLine/editQuestion.smoke.js +3 -1
  35. package/cypress/e2e/ILC/ChartsLine/headerSection.js +18 -1
  36. package/cypress/e2e/ILC/ChartsLine/specifyCorrectAnswerSection.js +94 -0
  37. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddFeatureRadioButton.js +2 -3
  38. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddTranscriptRadioButton .js +2 -4
  39. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabStudentViewSettings.js +3 -3
  40. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerHeaderSectionAndButtons.js +2 -2
  41. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTab.js +1 -1
  42. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabSupportedFileTypes.js +6 -0
  43. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabTranscript.js +2 -3
  44. package/cypress/e2e/ILC/CkEditorInsertImage/imageInfo.js +3 -3
  45. package/cypress/e2e/ILC/CkEditorInsertTable/tableDimension&FooterProperties.js +3 -3
  46. package/cypress/e2e/ILC/CkEditorInsertTable/tableStyle.js +11 -11
  47. package/cypress/e2e/ILC/CkEditorLink/uploadSection.js +1 -1
  48. package/cypress/e2e/ILC/ContentBlocks/editTabBasics.js +63 -4
  49. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +116 -7
  50. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabBasicSection.js +1 -1
  51. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabScoring.js +1 -0
  52. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/headerSection.js +3 -3
  53. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/pagination.js +1 -1
  54. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/studentViewSettingsForGroupedLayout.js +3 -0
  55. package/cypress/e2e/ILC/DrawingResponse/drawingResponseAdditionalSettings.js +1 -0
  56. package/cypress/e2e/ILC/DrawingResponse/drawingResponseBackground.js +2 -8
  57. package/cypress/e2e/ILC/DrawingResponse/drawingResponseCustomizeAdditionalOptions.js +1 -0
  58. package/cypress/e2e/ILC/DrawingResponse/drawingResponsePreviewTabContents.smoke.js +1 -3
  59. package/cypress/e2e/ILC/EssayResponse/editTabBasicSections.js +23 -37
  60. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +210 -0
  61. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/draggableOptions.js +2 -0
  62. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/editTabBasicSection.js +1 -1
  63. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/headerSection.js +3 -3
  64. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViewInIncompleteAuthoring.smoke.js +7 -7
  65. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViews.smoke.js +11 -11
  66. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editQuestion.smoke.js +40 -0
  67. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editTabBasicSection.js +1 -1
  68. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/headerSection.js +3 -3
  69. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +216 -0
  70. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/headerSection.js +3 -3
  71. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editQuestion.smoke.js +45 -0
  72. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editTabBasicSection.js +1 -1
  73. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/headerSection.js +4 -4
  74. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/HeaderSection.js +4 -4
  75. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/editQuestion.smoke.js +1 -1
  76. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/responseAnswersAndAcceptedStudentInput.js +4 -0
  77. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/supportedFileTypes.js +3 -1
  78. package/cypress/e2e/ILC/FillInTheGapsTextNew/editTabBasicSection.js +1 -1
  79. package/cypress/e2e/ILC/FillInTheGapsTextNew/headerSection.js +3 -3
  80. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +73 -0
  81. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +38 -0
  82. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +38 -0
  83. package/cypress/e2e/ILC/Graphing/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +87 -0
  84. package/cypress/e2e/ILC/Graphing/allOrNothingForAllViews.smoke.js +2 -2
  85. package/cypress/e2e/ILC/Graphing/checkAddAlternativeButton.js +35 -0
  86. package/cypress/e2e/ILC/Graphing/editQuestion.smoke.js +28 -0
  87. package/cypress/e2e/ILC/Graphing/editTabBasicSection.js +38 -0
  88. package/cypress/e2e/ILC/Graphing/editTabScoringSection.js +1 -0
  89. package/cypress/e2e/ILC/Graphing/headerSection.js +36 -4
  90. package/cypress/e2e/ILC/Graphing/layoutAndGridOptions.js +6 -3
  91. package/cypress/e2e/ILC/GridFill/addAlternateButton.js +40 -0
  92. package/cypress/e2e/ILC/GridFill/allOrNothingBasicForAllViews.smoke.js +210 -0
  93. package/cypress/e2e/ILC/GridFill/customizeLayoutFillImageBackgroundImage.js +2 -2
  94. package/cypress/e2e/ILC/GridFill/headerSection.js +4 -4
  95. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +39 -0
  96. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  97. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +39 -0
  98. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountAllOrNothingCorrectPointsGreaterThanAlternativePoints.js +37 -0
  99. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountallOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  100. package/cypress/e2e/ILC/GridFill/scoring/cellshadeCountAllOrNothingAlternativePointsGreaterThanCorrectPoints.js +36 -0
  101. package/cypress/e2e/ILC/GridFill/scoring/checkLabelSaveAsYouGo.js +75 -0
  102. package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +2 -1
  103. package/cypress/e2e/ILC/ImageHighlight/additionalSettingsBasic.js +1 -0
  104. package/cypress/e2e/ILC/ImageHighlight/allOrNothingForAllViews.smoke.js +212 -0
  105. package/cypress/e2e/ILC/ImageHighlight/customiseHighlightStyle.js +29 -0
  106. package/cypress/e2e/ILC/ImageHighlight/editTabBasicSection.js +1 -1
  107. package/cypress/e2e/ILC/ImageHighlight/headerSection.js +3 -3
  108. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +24 -0
  109. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +24 -0
  110. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +24 -0
  111. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +86 -0
  112. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/manuallyAndNonScored.js +2 -4
  113. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +1 -1
  114. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +237 -1
  115. package/cypress/e2e/ILC/ListOrderingDropdown/checkAddAlternativeButton.js +35 -0
  116. package/cypress/e2e/ILC/ListOrderingDropdown/editTabBasicSection.js +24 -0
  117. package/cypress/e2e/ILC/ListOrderingDropdown/headerSection.js +108 -0
  118. package/cypress/e2e/ILC/ListOrderingDropdown/manuallyAndNonScoredEditTab.js +2 -1
  119. package/cypress/e2e/ILC/ListOrderingDropdown/previewContentsForAllViews.smoke.js +2 -4
  120. package/cypress/e2e/ILC/ListOrderingDropdown/specifyCorrectAnswerSection.js +7 -12
  121. package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/specifyCorrectAnswerSection.js +10 -14
  122. package/cypress/e2e/ILC/ListOrderingNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +52 -0
  123. package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +215 -0
  124. package/cypress/e2e/ILC/ListOrderingNew/editTabBasicSection.js +23 -0
  125. package/cypress/e2e/ILC/ListOrderingNew/headerSection.js +36 -9
  126. package/cypress/e2e/ILC/ListOrderingNew/manuallyAndNonScoredEditTab.js +2 -0
  127. package/cypress/e2e/ILC/ListOrderingNew/specifyCorrectAnswerSection.js +7 -23
  128. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +41 -0
  129. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +30 -0
  130. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +50 -0
  131. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +101 -0
  132. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/allOrNothingForAllViews.smoke.js +309 -0
  133. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/checkAddAlternativeButton.js +38 -0
  134. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabBasicSection.js +24 -0
  135. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabScoring.js +4 -1
  136. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/headerSection.js +38 -3
  137. package/cypress/e2e/ILC/Matching/Scoring/blankResponseScoring.js +38 -41
  138. package/cypress/e2e/ILC/Matching/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +98 -0
  139. package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +210 -0
  140. package/cypress/e2e/ILC/Matching/checkAlternativeButton.js +38 -0
  141. package/cypress/e2e/ILC/Matching/clickAndDrop.js +5 -5
  142. package/cypress/e2e/ILC/Matching/draggableOptions.js +7 -0
  143. package/cypress/e2e/ILC/Matching/editQuestion.smoke.js +3 -2
  144. package/cypress/e2e/ILC/Matching/editTabBasicSection.js +41 -0
  145. package/cypress/e2e/ILC/Matching/headerSection.js +38 -12
  146. package/cypress/e2e/ILC/Matching/questionInstructionsAndPromptSection.js +2 -15
  147. package/cypress/e2e/ILC/Matching/studentViewSettings.js +2 -0
  148. package/cypress/e2e/ILC/Matching/studentViewSettingsForGroupedLayout.js +1 -1
  149. package/cypress/e2e/ILC/MatchingDropdown/Scoring/blankResponseScoring.js +6 -6
  150. package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +208 -0
  151. package/cypress/e2e/ILC/MultipleSelection/allOrNothingBasicForAllViews.smoke.js +2 -1
  152. package/cypress/e2e/ILC/MultipleSelection/editTabBasicSection.js +1 -1
  153. package/cypress/e2e/ILC/MultipleSelection/headerSection.js +3 -3
  154. package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswer.js +1 -0
  155. package/cypress/e2e/ILC/MultipleSelectionGridNew/editTabBasicSection.js +2 -2
  156. package/cypress/e2e/ILC/MultipleSelectionGridNew/headerSection.js +3 -3
  157. package/cypress/e2e/ILC/MultipleSelectionGridNew/previewContentsForAllViews.smoke.js +100 -69
  158. package/cypress/e2e/ILC/MultipleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +1 -0
  159. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +79 -0
  160. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +42 -0
  161. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +42 -0
  162. package/cypress/e2e/ILC/NumberLine/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +75 -0
  163. package/cypress/e2e/ILC/NumberLine/checkAddAlternativeButton.js +32 -0
  164. package/cypress/e2e/ILC/NumberLine/editTabSection.js +38 -0
  165. package/cypress/e2e/ILC/NumberLine/headerSection.js +33 -4
  166. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +81 -0
  167. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +43 -0
  168. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +43 -0
  169. package/cypress/e2e/ILC/NumberLineLabel/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +76 -0
  170. package/cypress/e2e/ILC/NumberLineLabel/additionalSettingsBasic.js +1 -1
  171. package/cypress/e2e/ILC/NumberLineLabel/checkAddAlternativeButton.js +34 -0
  172. package/cypress/e2e/ILC/NumberLineLabel/editTabSection.js +38 -0
  173. package/cypress/e2e/ILC/NumberLineLabel/headerSection.js +37 -5
  174. package/cypress/e2e/ILC/NumberLineLabel/manuallyAndNonScoredEditTab.js +2 -1
  175. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/editQuestion.smoke.js +1 -1
  176. package/cypress/e2e/ILC/ShortTextResponseNew/allOrNothingBasicForAllViews.smoke.js +186 -0
  177. package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +33 -49
  178. package/cypress/e2e/ILC/ShortTextResponseNew/headerSection.js +2 -4
  179. package/cypress/e2e/ILC/SingleSelection/editTabBasicSection.js +1 -1
  180. package/cypress/e2e/ILC/SingleSelection/headerSection.js +2 -2
  181. package/cypress/e2e/ILC/SingleSelectionGridNew/editTabBasicSection.js +2 -2
  182. package/cypress/e2e/ILC/SingleSelectionGridNew/headerSection.js +3 -3
  183. package/cypress/e2e/ILC/SingleSelectionGridNew/previewContentsForAllViews.smoke.js +101 -70
  184. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +86 -0
  185. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +86 -0
  186. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  187. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +3 -1
  188. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  189. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  190. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsScoringBasic.js +10 -3
  191. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +4 -2
  192. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +5 -3
  193. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  194. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsScoringBasic.js +4 -0
  195. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +64 -0
  196. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAddEvaluation.js +2 -0
  197. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAlternateAnswer.js +2 -0
  198. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +64 -0
  199. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  200. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  201. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  202. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  203. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsScoringBasic.js +8 -0
  204. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  205. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  206. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  207. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasic.js +1 -0
  208. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasicForAlternateAnswer.js +2 -0
  209. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +2 -0
  210. package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +27 -3
  211. package/cypress/e2e/ILC/TextEntryMath/headerSection.js +43 -0
  212. package/cypress/e2e/ILC/TextSelection/additionalSettings.js +1 -0
  213. package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +231 -0
  214. package/cypress/e2e/ILC/TextSelection/editTabBasicSection.js +2 -2
  215. package/cypress/e2e/ILC/TextSelection/headerSection.js +3 -3
  216. package/cypress/e2e/ILC/TextSelection/minimumScoringPenaltyPointsAndRoundingDropdown.js +1 -0
  217. package/cypress/e2e/ILC/ThinkSphere/createReviewItem.js +1 -1
  218. package/cypress/e2e/ILC/ThinkSphere/editTabBasicSection.js +1 -1
  219. package/cypress/e2e/ILC/ThinkSphere/editThinkSphereQuestion.smoke.js +145 -54
  220. package/cypress/e2e/ILC/ThinkSphere/equationEditorEditCategoryFlyOut.js +2 -0
  221. package/cypress/e2e/ILC/ThinkSphere/planPhase.js +45 -5
  222. package/cypress/e2e/ILC/ThinkSphere/previewTabPlanSection.js +8 -8
  223. package/cypress/e2e/ILC/ThinkSphere/previewTabReviewSection.js +97 -0
  224. package/cypress/e2e/ILC/ThinkSphere/previewTabSolveSection.js +36 -0
  225. package/cypress/e2e/ILC/ThinkSphere/solvePhase.js +3 -3
  226. package/cypress/e2e/ILC/ThinkSphere/studentViewPlanTabSection.js +393 -0
  227. package/cypress/e2e/ILC/ThinkSphere/studentViewReviewTabSection.js +141 -0
  228. package/cypress/e2e/ILC/ToolAudioPlayerNew/headerSection.js +90 -2
  229. package/cypress/e2e/ILC/UploadResponse/editTabBasicSection.js +34 -0
  230. package/cypress/e2e/ILC/UploadResponse/headerSection.js +38 -1
  231. package/cypress/e2e/ILC/UploadResponse/uploadResponsePreview.js +50 -13
  232. package/cypress/e2e/ILC/VideoResponseNew/editTabBasicSection.js +14 -29
  233. package/cypress/e2e/ILC/chartsDotsPlot/headerSection.js +16 -1
  234. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsBasic.js +27 -28
  235. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +31 -30
  236. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +24 -24
  237. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +39 -37
  238. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsBasic.js +22 -23
  239. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +31 -30
  240. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +25 -24
  241. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +31 -31
  242. package/cypress/e2e/ILC/chartsDotsPlot/scoring/toleranceThresholdScoring.js +18 -19
  243. package/cypress/e2e/ILC/chartsDotsPlot/specifyCorrectAnswerSection.js +96 -0
  244. package/cypress/e2e/Sessions/fetchResponses.js +3 -3
  245. package/cypress/e2e/Sessions/saveResponseScores.js +2 -2
  246. package/cypress/fixtures/thinkSphereWhiteboardTools.js +66 -0
  247. package/cypress/pages/audioPlayerPage.js +47 -22
  248. package/cypress/pages/brainingCampManipulativePage.js +1 -1
  249. package/cypress/pages/chartsBarPage.js +45 -0
  250. package/cypress/pages/chartsDotPlotPage.js +25 -0
  251. package/cypress/pages/chartsLinePage.js +28 -3
  252. package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +5 -1
  253. package/cypress/pages/components/chartsCommonComponent.js +6 -2
  254. package/cypress/pages/components/ckEditorEquationEditorComponent.js +1 -0
  255. package/cypress/pages/components/ckEditorInsertImageComponent.js +3 -3
  256. package/cypress/pages/components/ckEditorInsertTableComponent.js +3 -3
  257. package/cypress/pages/components/ckEditorLinkComponent.js +8 -9
  258. package/cypress/pages/components/colorPopupComponent.js +6 -0
  259. package/cypress/pages/components/createQuestionBasePage.js +19 -6
  260. package/cypress/pages/components/desmosToolComponent.js +1 -1
  261. package/cypress/pages/components/draggableOptionsSectionComponent.js +2 -0
  262. package/cypress/pages/components/equationEditorSectionCommonComponent.js +10 -25
  263. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +31 -3
  264. package/cypress/pages/components/gridQuestionCommonComponent.js +55 -2
  265. package/cypress/pages/components/imageCanvasComponent.js +11 -5
  266. package/cypress/pages/components/questionInstructionsComponent.js +2 -0
  267. package/cypress/pages/components/scoringSectionBaseEditTab.js +3 -0
  268. package/cypress/pages/components/specifyRowsAndColumnsComponent.js +16 -0
  269. package/cypress/pages/contentBlocksPage.js +2 -0
  270. package/cypress/pages/desmos3DGraphingPage.js +149 -4
  271. package/cypress/pages/desmosGeometryPage.js +184 -4
  272. package/cypress/pages/drawingResponsePage.js +10 -1
  273. package/cypress/pages/fillInTheGapsDragAndDropPage.js +3 -8
  274. package/cypress/pages/gradingGridViewPage.js +64 -0
  275. package/cypress/pages/graphingPage.js +27 -8
  276. package/cypress/pages/gridFillPage.js +27 -9
  277. package/cypress/pages/imageHighlightPage.js +115 -15
  278. package/cypress/pages/index.js +1 -0
  279. package/cypress/pages/listOrderingPage.js +40 -1
  280. package/cypress/pages/matchingPage.js +29 -10
  281. package/cypress/pages/numberLineLabelPage.js +31 -8
  282. package/cypress/pages/numberLinePage.js +19 -7
  283. package/cypress/pages/singleSelectionPage.js +30 -1
  284. package/cypress/pages/textEntryMathPage.js +24 -1
  285. package/cypress/pages/textSelectionPage.js +2 -2
  286. package/cypress/pages/thinkSpherePage.js +928 -87
  287. package/cypress/pages/uploadResponsePage.js +17 -1
  288. package/cypress/pages/videoResponsePage.js +3 -0
  289. package/cypress/support/commands.js +9 -0
  290. package/cypress/support/helpers/createItem.js +22 -3
  291. package/cypress/support/helpers/utilities.js +14 -1
  292. package/package.json +2 -2
  293. /package/cypress/e2e/ILC/{ChartsDotsPlot → chartsDotsPlot}/checkAnswerFunctionalityForAllViews.js +0 -0
  294. /package/cypress/e2e/ILC/{ChartsDotsPlot → chartsDotsPlot}/editQuestion.smoke.js +0 -0
@@ -84,55 +84,46 @@ describe('Create question page - Short text response: Question Instructions, Set
84
84
  shortTextResponsePage.steps.setMaximumLimit(500);
85
85
  });
86
86
 
87
- it('When the user clears the minimum character limit input field and focuses out of it, then error message \'Error: Minimum character limit is required\' should be displayed below the input field', () => {
87
+ it('When the user clears the minimum character limit input field and focuses out of it, then error message should not be displayed', () => {
88
88
  shortTextResponsePage.steps.clearAndFocusOutOfMinimumLimitInputField();
89
- utilities.verifyInnerText(shortTextResponsePage.errorMessage(), 'Error: Minimum character limit is required.');
90
- utilities.verifyElementVisibilityState(shortTextResponsePage.errorMessage(), 'visible');
89
+ shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
91
90
  });
92
91
 
93
- shortTextResponsePage.tests.verifyErrorMessageCSSAndA11y();
94
-
95
- it('When the user enters value in minimum character limit input field then the error message should disappear', () => {
92
+ it('When the user enters a value in the minimum character limit input field, it should be accepted', () => {
96
93
  shortTextResponsePage.steps.setMinimumLimit(0);
97
- shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
98
94
  });
99
95
 
100
- it('When the user clears the maximum character limit input field and focuses out of it, then error message \'Error: Maximum character limit is required.\' should be displayed below the input field', () => {
96
+ it('When the user clears the maximum character limit input field and focuses out of it, the error message should not be displayed', () => {
101
97
  shortTextResponsePage.steps.clearAndFocusOutOfMaximumLimitInputField();
102
- utilities.verifyInnerText(shortTextResponsePage.errorMessage(), 'Error: Maximum character limit is required.');
103
- utilities.verifyElementVisibilityState(shortTextResponsePage.errorMessage(), 'visible');
98
+ shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
104
99
  });
105
100
 
106
- it('When the user enters value in maximum character limit input field then the error message should disappear', () => {
101
+ it('When the user enters a value in the maximum character limit input field, it should be accepted', () => {
107
102
  shortTextResponsePage.steps.setMaximumLimit(500);
108
103
  shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
109
104
  });
110
105
 
111
- it('When the user sets minimum limit input field value greater than maximum limit input field value then error message \'Error: Minimum limit must be less than or equal to maximum limit.\' and \'Error: Maximum limit must be greater than or equal to minimum limit.\'should be displayed below the minimum and maximum input field respectively', () => {
106
+ it('When the user sets the minimum limit input field value greater than the maximum limit input field value, error message should not be displayed', () => {
112
107
  shortTextResponsePage.steps.setMinimumLimit(700);
113
- shortTextResponsePage.steps.verifyMaximumLimitErrorMessage();
114
- shortTextResponsePage.steps.verifyMinimumLimitErrorMessage();
108
+ shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
115
109
  });
116
110
 
117
- shortTextResponsePage.tests.verifyErrorMessageCSSAndA11y();
118
-
119
- it('When the user sets minimum limit input field value less than or equal to maximum limit input field value then error message should disappear', () => {
111
+ it('When the user sets the minimum limit input field value less than or equal to the maximum limit input field value, the error message should disappear', () => {
120
112
  shortTextResponsePage.steps.setMinimumLimit(500);
121
113
  shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
122
114
  });
123
115
 
124
- it('When the user sets maximum limit input field value less than minimum limit input field value then error message \'Error: Minimum limit must be less than or equal to maximum limit.\' and \'Error: Maximum limit must be greater than or equal to minimum limit.\'should be displayed below the minimum and maximum input field respectively', () => {
116
+ it('When the user sets the maximum limit input field value less than the minimum limit input field value, error messages should be displayed below the respective input fields', () => {
125
117
  shortTextResponsePage.steps.setMaximumLimit(400);
126
- shortTextResponsePage.steps.verifyMaximumLimitErrorMessage();
127
- shortTextResponsePage.steps.verifyMinimumLimitErrorMessage();
118
+ shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
128
119
  });
129
120
 
130
- it('When the user sets maximum limit input field value greater than or equal to minimum limit input field value then error message should disappear', () => {
121
+ it('When the user sets the maximum limit input field value greater than or equal to the minimum limit input field value, the error message should not be displayed', () => {
131
122
  shortTextResponsePage.steps.setMaximumLimit(800);
132
123
  shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
133
124
  });
134
125
 
135
- it('\'Always show maximum limit\' and \'Always show minimum limit\' labels and checkbox should be displayed and by default \'Always show maximum limit\' should be checked', () => {
126
+ it('\'Always show maximum limit\' and \'Always show minimum limit\' labels and checkboxes should be displayed, and by default, \'Always show maximum limit\' should be checked', () => {
136
127
  utilities.verifyInnerText(shortTextResponsePage.alwaysShowMaxLimitLabel(), 'Always show maximum limit');
137
128
  utilities.verifyElementVisibilityState(shortTextResponsePage.alwaysShowMaxLimitLabel(), 'visible');
138
129
  utilities.verifyInnerText(shortTextResponsePage.alwaysShowMinLimitLabel(), 'Always show minimum limit');
@@ -141,7 +132,7 @@ describe('Create question page - Short text response: Question Instructions, Set
141
132
  // shortTextResponsePage.steps.verifyAlwaysShowMaximumLimitCheckboxIsChecked();
142
133
  });
143
134
 
144
- it('When the user selects \'Word\' radio button then labels should change to \'Minimum word limit\' and \'Maximum word limit\'', () => {
135
+ it('When the user selects \'Word\' radio button, the labels should change to \'Minimum word limit\' and \'Maximum word limit\'', () => {
145
136
  shortTextResponsePage.steps.selectWordRadioButton();
146
137
  utilities.verifyInnerText(shortTextResponsePage.minimumLimitLabel(), 'Minimum word limit');
147
138
  utilities.verifyInnerText(shortTextResponsePage.maximumLimitLabel(), 'Maximum word limit');
@@ -152,33 +143,27 @@ describe('Create question page - Short text response: Question Instructions, Set
152
143
  shortTextResponsePage.steps.verifyMaximumLimitInputField(20);
153
144
  });
154
145
 
155
- it('User should be able to update values in both the input fields', () => {
146
+ it('The user should be able to update values in both the input fields', () => {
156
147
  shortTextResponsePage.steps.setMinimumLimit(75);
157
148
  shortTextResponsePage.steps.setMaximumLimit(120);
158
149
  });
159
150
 
160
- it('When the user clears the minimum word limit input field and focuses out of it, then error message \'Error: Minimum word limit is required\' should be displayed below the input field', () => {
151
+ it('When the user clears the minimum word limit input field and focuses out of it, an error message should not be displayed', () => {
161
152
  shortTextResponsePage.steps.clearAndFocusOutOfMinimumLimitInputField();
162
- utilities.verifyInnerText(shortTextResponsePage.errorMessage(), 'Error: Minimum word limit is required.');
163
- utilities.verifyElementVisibilityState(shortTextResponsePage.errorMessage(), 'visible');
153
+ shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
164
154
  });
165
155
 
166
- shortTextResponsePage.tests.verifyErrorMessageCSSAndA11y();
167
-
168
- it('When the user enters value in minimum word limit input field then the error message should disappear', () => {
156
+ it('When the user enters a value in the minimum word limit input field it should be accepted', () => {
169
157
  shortTextResponsePage.steps.setMinimumLimit(0);
170
- shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
171
158
  });
172
159
 
173
- it('When the user clears the maximum word limit input field and focuses out of it, then error message \'Error: Maximum word limit is required.\' should be displayed below the input field', () => {
160
+ it('When the user clears the maximum word limit input field and focuses out of it, an error message should not be displayed', () => {
174
161
  shortTextResponsePage.steps.clearAndFocusOutOfMaximumLimitInputField();
175
- utilities.verifyInnerText(shortTextResponsePage.errorMessage(), 'Error: Maximum word limit is required.');
176
- utilities.verifyElementVisibilityState(shortTextResponsePage.errorMessage(), 'visible');
162
+ shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
177
163
  });
178
164
 
179
- it('When the user enters value in maximum word limit input field then the error message should disappear', () => {
165
+ it('When the user enters a value in the maximum word limit input field it should be accepted', () => {
180
166
  shortTextResponsePage.steps.setMaximumLimit(500);
181
- shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
182
167
  });
183
168
 
184
169
  it('CSS of \'Set limit\' sections', { tags: 'css' }, () => {
@@ -272,25 +257,23 @@ describe('Create question page - Short text response: Question Instructions, Set
272
257
  shortTextResponsePage.steps.verifyTextInAnswerInputFieldSpecifyCorrectAnswerSection('Lorem');
273
258
  });
274
259
 
275
- it('When the user reaches the character limit, then the warning message \'Maximum # characters have been entered\' should be displayed', () => {
260
+ it('When the user reaches the character limit, then the warning message should notv be displayed', () => {
276
261
  shortTextResponsePage.steps.enterTextInAnswerInputFieldSpecifyCorrectAnswerSection('Correct');
277
262
  shortTextResponsePage.steps.verifyTextInAnswerInputFieldSpecifyCorrectAnswerSection('Corre');
278
- shortTextResponsePage.steps.verifyWarningMessage('Error: Maximum 5 characters have been entered.');
263
+ shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
279
264
  });
280
265
 
281
- shortTextResponsePage.tests.verifyErrorMessageCSSAndA11y();
282
-
283
266
  it('When the user removes/deletes some characters, the warning message should disappear', () => {
284
267
  shortTextResponsePage.steps.enterTextInAnswerInputFieldSpecifyCorrectAnswerSection('{backspace}');
285
268
  shortTextResponsePage.steps.verifyTextInAnswerInputFieldSpecifyCorrectAnswerSection('');
286
269
  shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
287
270
  });
288
271
 
289
- it('When the user sets 3 as minimum character limit and enters the character less than the minimum character limit value set and focus out of response field, then the warning message \'Minimum 3 characters are required\' should be displayed', () => {
272
+ it('When the user sets 3 as minimum character limit and enters the character less than the minimum character limit value set and focus out of response field, then the warning message should not be displayed', () => {
290
273
  shortTextResponsePage.steps.setMinimumLimit(3);
291
274
  shortTextResponsePage.steps.enterTextInAnswerInputFieldSpecifyCorrectAnswerSection('Lo');
292
275
  shortTextResponsePage.steps.focusOutOfSpecifyCorrectAnswerInputField();
293
- shortTextResponsePage.steps.verifyWarningMessage('Error: Minimum 3 characters are required.');
276
+ shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
294
277
  });
295
278
 
296
279
  it('When the user enters the character greater than the minimum character limit value set by the user, then the warning message should disappear', () => {
@@ -314,10 +297,10 @@ describe('Create question page - Short text response: Question Instructions, Set
314
297
  shortTextResponsePage.steps.enterTextInAnswerInputFieldSpecifyCorrectAnswerSection('The elephant played piano under the sunshine');
315
298
  });
316
299
 
317
- it('When the user reaches the word limit, then the warning message \'Maximum # words have been entered\' should be displayed', () => {
300
+ it('When the user reaches the word limit, then the warning message should not be displayed', () => {
318
301
  shortTextResponsePage.steps.enterTextInAnswerInputFieldSpecifyCorrectAnswerSection('The elephant played piano under the sunshine while riding a bicycle');
319
302
  shortTextResponsePage.steps.verifyTextInAnswerInputFieldSpecifyCorrectAnswerSection('The elephant played piano under the sunshinewhileridingabicycle');
320
- shortTextResponsePage.steps.verifyWarningMessage('Error: Maximum 7 words have been entered.');
303
+ shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
321
304
  });
322
305
 
323
306
  it('When the user removes/deletes some words, the warning message should disappear', () => {
@@ -326,10 +309,10 @@ describe('Create question page - Short text response: Question Instructions, Set
326
309
  shortTextResponsePage.steps.verifyWarningMessageNotExist();
327
310
  });
328
311
 
329
- it('When the user enters the word less than the minimum word limit value set by the user and focus out of response field, then the warning message \'Minimum # words are required\' should be displayed', () => {
312
+ it('When the user enters the word less than the minimum word limit value set by the user and focus out of response field, then the warning message should not be displayed', () => {
330
313
  shortTextResponsePage.steps.enterTextInAnswerInputFieldSpecifyCorrectAnswerSection('abc abc');
331
314
  shortTextResponsePage.steps.focusOutOfSpecifyCorrectAnswerInputField();
332
- shortTextResponsePage.steps.verifyWarningMessage('Error: Minimum 3 words are required.');
315
+ shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
333
316
  });
334
317
 
335
318
  it('When the user enters the word greater than the minimum word limit value set by the user, then the warning message should disappear', () => {
@@ -338,8 +321,8 @@ describe('Create question page - Short text response: Question Instructions, Set
338
321
  shortTextResponsePage.steps.verifyWarningMessageNotExist();
339
322
  });
340
323
 
341
- //https://weldnorthed.atlassian.net/browse/IEI-5097
342
- it('When maximum words count is set to 20 then the user should be able to add 20 words', () => {
324
+ //Failing due to https://weldnorthed.atlassian.net/browse/IEI-6052
325
+ it.skip('When maximum words count is set to 20 then the user should be able to add 20 words', () => {
343
326
  shortTextResponsePage.steps.setMaximumLimit(20);
344
327
  shortTextResponsePage.steps.enterTextInAnswerInputFieldSpecifyCorrectAnswerSection('The elephant played piano under the sunshine while riding a bicycle');
345
328
  cy.log('Waiting to check if the text disappears after some time');
@@ -354,7 +337,8 @@ describe('Create question page - Short text response: Question Instructions, Set
354
337
  shortTextResponsePage.steps.verifyWarningMessageNotExist();
355
338
  });
356
339
 
357
- it('When maximum words count is set to 20 then the user should be able to add 20 words', () => {
340
+ //Failing due to https://weldnorthed.atlassian.net/browse/IEI-6052
341
+ it.skip('When maximum words count is set to 20 then the user should be able to add 20 words', () => {
358
342
  shortTextResponsePage.steps.enterTextInAnswerInputFieldSpecifyCorrectAnswerSection('The elephant played piano under the sunshine while riding a bicycle');
359
343
  cy.log('Waiting to check if the text disappears after some time');
360
344
  cy.wait(5000);
@@ -45,13 +45,11 @@ describe('Create item page - Short text response - text: Header section and savi
45
45
  });
46
46
 
47
47
  describe('Validation error messages', () => {
48
- dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton();
48
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please set points.']);
49
49
 
50
50
  it('Validation error messages should be displayed below required input fields', () => {
51
51
  shortTextResponsePage.steps.verifyQuestionInstructionsErrorMessageIsNotDisplayed();
52
- utilities.verifyInnerText(shortTextResponsePage.errorMessage(), 'Error: Answer is required.');
53
- shortTextResponsePage.steps.verifyPointsFieldErrorMessageIsNotDisplayed();
54
- shortTextResponsePage.steps.verifySpecifyCorrectAnswerErrorIconIsVisible();
52
+ shortTextResponsePage.steps.verifyWarningIconOnRequiredFields(['Please set points.'])
55
53
  });
56
54
 
57
55
  it('Validation error messages should disappear when required input fields are filled', () => {
@@ -174,7 +174,7 @@ describe('Create item page - Single selection: Question instructions, Options se
174
174
  });
175
175
 
176
176
  it('Warning icons should be displayed on the required input fields', () => {
177
- singleSelectionPage.steps.verifyWarningIconOnRequiredFields(['Please enter all option values', 'Please set points']);
177
+ singleSelectionPage.steps.verifyWarningIconOnRequiredFields(['Please enter all option values.', 'Please set points.']);
178
178
  });
179
179
 
180
180
  it('Warning icons should disappear when required input fields are filled', () => {
@@ -46,11 +46,11 @@ describe('Create Item page - Single Selection: Header section and Saving questio
46
46
  });
47
47
 
48
48
  describe('Validation error messages', () => {
49
- dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please enter all option values', 'Please set points']);
49
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please enter all option values.', 'Please set points.']);
50
50
 
51
51
  it('Validation error messages should be displayed below required input fields', () => {
52
52
  singleSelectionPage.steps.verifyQuestionInstructionsErrorMessageIsNotDisplayed();
53
- singleSelectionPage.steps.verifyWarningIconOnRequiredFields(['Please enter all option values', 'Please set points']);
53
+ singleSelectionPage.steps.verifyWarningIconOnRequiredFields(['Please enter all option values.', 'Please set points.']);
54
54
  });
55
55
 
56
56
  it('Validation error messages should disappear when required input fields are filled', () => {
@@ -96,7 +96,7 @@ describe('Create item page - Single selection grid: Question instructions, Speci
96
96
  });
97
97
 
98
98
  it('When the user gives an input value lower than 1 i.e. 0 in the rows input stepper, then the columns value should be reset to 1', () => {
99
- singleSelectionGridPage.steps.addInputToRowInputStepper(0);
99
+ singleSelectionGridPage.steps.enterInputToRowInputStepper(0);
100
100
  singleSelectionGridPage.steps.verifyRowsInputStepperCountInputFieldValue(1);
101
101
  });
102
102
 
@@ -1023,7 +1023,7 @@ describe('Create item page - Single selection grid: Question instructions, Speci
1023
1023
  });
1024
1024
 
1025
1025
  it('Warning icons should be displayed on the required input fields', () => {
1026
- singleSelectionGridPage.steps.verifyWarningIconOnRequiredFields(['Please enter all questions', 'Please set points']);
1026
+ singleSelectionGridPage.steps.verifyWarningIconOnRequiredFields(['Please enter all questions.', 'Please set points.']);
1027
1027
  });
1028
1028
 
1029
1029
  it('Warning icons should disappear when required input fields are filled', () => {
@@ -44,11 +44,11 @@ describe('Create item page - Single selection grid: Header section and Saving qu
44
44
  });
45
45
 
46
46
  describe('Validation error messages', () => {
47
- dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please enter all questions in the grid', 'Please set points']);
47
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please enter all questions in the grid.', 'Please set points.']);
48
48
 
49
49
  it('Validation error messages should be displayed below required input fields', () => {
50
50
  singleSelectionGridPage.steps.verifyQuestionInstructionsErrorMessageIsNotDisplayed();
51
- singleSelectionGridPage.steps.verifyWarningIconOnRequiredFields(['Please enter all questions in the grid', 'Please set points']);
51
+ singleSelectionGridPage.steps.verifyWarningIconOnRequiredFields(['Please enter all questions in the grid.', 'Please set points.']);
52
52
  });
53
53
 
54
54
  it('Validation error messages should disappear when required input fields are filled', () => {
@@ -85,7 +85,7 @@ describe('Create item page - Single selection grid: Header section and Saving qu
85
85
  });
86
86
 
87
87
  it('Should save the question with incomplete authoring and display a snackbar with the text "Saved successfully!" when the Save Question button is clicked', () => {
88
- dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please enter all questions in the grid', 'Please set points']);
88
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please enter all questions in the grid.', 'Please set points.']);
89
89
  singleSelectionGridPage.steps.saveAQuestionWithIncompleteAuthoring();
90
90
  });
91
91
  singleSelectionGridPage.tests.verifySavedSuccessfullySnackbarCSSAndA11y();
@@ -3,7 +3,7 @@ import { ckEditorToolbar, equationEditorFlyout } from "../../../pages/components
3
3
  import abortEarlySetup from "../../../support/helpers/abortEarly";
4
4
  import utilities from "../../../support/helpers/utilities";
5
5
  const css = Cypress.env('css');
6
- let previewContentViews = ['Question preview', 'Item view', 'Item preview', 'Student view', 'Grading view', 'Correct answer view'];
6
+ let previewContentViews = ['Question preview', 'Item view', 'Item preview', 'Student view', 'Grading view', 'Correct answer view', 'Print preview'];
7
7
  const views = utilities.getViews(previewContentViews);
8
8
  var itemReferenceID = "";
9
9
  describe('Create item page - Single selection grid: Preview contents', () => {
@@ -68,6 +68,9 @@ describe('Create item page - Single selection grid: Preview contents', () => {
68
68
  case 'Correct answer view':
69
69
  cy.visit(`/item-engine/demo/render-item/correct-answer-view/${utilities.base64Encoding(itemReferenceID)}`);
70
70
  break;
71
+ case 'Print preview':
72
+ cy.visit(`/item-engine/demo/render-item/print-view/${utilities.base64Encoding(itemReferenceID)}`);
73
+ break;
71
74
  default:
72
75
  throw new Error('Invalid view');
73
76
  }
@@ -84,27 +87,29 @@ describe('Create item page - Single selection grid: Preview contents', () => {
84
87
  utilities.verifyElementVisibilityState(studentViewPage.buttonGoToGradingView(), 'visible');
85
88
  }
86
89
  });
90
+
91
+ if (view !== 'Print preview') {
92
+ it('Question instructions should be visible', () => {
93
+ utilities.verifyInnerText(singleSelectionGridPage.questionInstructionsText(), 'Please select where the following animals are found');
94
+ utilities.verifyElementVisibilityState(singleSelectionGridPage.questionInstructionsText(), 'visible');
95
+ });
96
+
97
+ it(`Single selection - grid ${view} - The question grid as set by the user should be displayed in the ${view}`, () => {
98
+ singleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 0, column: 0 }, 'None');
99
+ singleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 0, column: 1 }, 'Heading');
100
+ singleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 0, column: 2 }, 'Heading');
101
+ singleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 1, column: 0 }, 'Heading');
102
+ singleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 1, column: 1 }, 'Radio button with text');
103
+ singleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 2, column: 0 }, 'Subheading');
104
+ singleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 2, column: 2 }, 'No radio button');
105
+ singleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 3, column: 0 }, 'Text');
106
+ singleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 3, column: 1 }, 'No radio button');
107
+ singleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 4, column: 2 }, 'No radio button');
108
+ cy.eyesCheckWindow(`Single selection - grid ${view} - Question grid displayed`);
109
+ });
110
+ }
87
111
 
88
- it('Question instructions should be visible', () => {
89
- utilities.verifyInnerText(singleSelectionGridPage.questionInstructionsText(), 'Please select where the following animals are found');
90
- utilities.verifyElementVisibilityState(singleSelectionGridPage.questionInstructionsText(), 'visible');
91
- });
92
-
93
- it(`Single selection - grid ${view} - The question grid as set by the user should be displayed in the ${view}`, () => {
94
- singleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 0, column: 0 }, 'None');
95
- singleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 0, column: 1 }, 'Heading');
96
- singleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 0, column: 2 }, 'Heading');
97
- singleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 1, column: 0 }, 'Heading');
98
- singleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 1, column: 1 }, 'Radio button with text');
99
- singleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 2, column: 0 }, 'Subheading');
100
- singleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 2, column: 2 }, 'No radio button');
101
- singleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 3, column: 0 }, 'Text');
102
- singleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 3, column: 1 }, 'No radio button');
103
- singleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 4, column: 2 }, 'No radio button');
104
- cy.eyesCheckWindow(`Single selection - grid ${view} - Question grid displayed`);
105
- });
106
-
107
- if (view !== 'Grading view' && view !== 'Correct answer view') {
112
+ if (view !== 'Grading view' && view !== 'Correct answer view' && view !== 'Print preview') {
108
113
  it(`When the user has added image, equation, bold text to the options, then they should be displayed in the grid in ${view}`, () => {
109
114
  singleSelectionGridPage.steps.verifyTableCellWithImageInPreviewTab({ row: 1, column: 1 });
110
115
  singleSelectionGridPage.steps.verifyTableCellWithBoldTextInPreviewTab({ row: 3, column: 1 });
@@ -125,6 +130,30 @@ describe('Create item page - Single selection grid: Preview contents', () => {
125
130
  it('The content in the grid should not be editable', () => {
126
131
  singleSelectionGridPage.steps.verifyOptionDisabledState({ row: 1, column: 1 });
127
132
  });
133
+ } else if (view === 'Print preview') {
134
+ it('Question number should be visible', () => {
135
+ utilities.verifyInnerText(singleSelectionGridPage.questionNumberPrintPreviewText(), '1');
136
+ utilities.verifyElementVisibilityState(singleSelectionGridPage.questionNumberPrintPreviewText(), 'visible');
137
+ });
138
+
139
+ it('Question instructions should be visible', () => {
140
+ utilities.verifyInnerText(singleSelectionGridPage.questionInstructionsPrintPreviewText(), 'Please select where the following animals are found');
141
+ utilities.verifyElementVisibilityState(singleSelectionGridPage.questionInstructionsPrintPreviewText(), 'visible');
142
+ });
143
+
144
+ it(`Single selection - grid ${view} - The question grid as set by the user should be displayed in the ${view}`, () => {
145
+ singleSelectionGridPage.steps.verifyTableCellPropertyPrintPreviewTab({ row: 0, column: 0 }, 'None');
146
+ singleSelectionGridPage.steps.verifyTableCellPropertyPrintPreviewTab({ row: 0, column: 1 }, 'Heading');
147
+ singleSelectionGridPage.steps.verifyTableCellPropertyPrintPreviewTab({ row: 0, column: 2 }, 'Heading');
148
+ singleSelectionGridPage.steps.verifyTableCellPropertyPrintPreviewTab({ row: 1, column: 0 }, 'Heading');
149
+ singleSelectionGridPage.steps.verifyTableCellPropertyPrintPreviewTab({ row: 1, column: 1 }, 'Radio button with text');
150
+ singleSelectionGridPage.steps.verifyTableCellPropertyPrintPreviewTab({ row: 2, column: 0 }, 'Subheading');
151
+ singleSelectionGridPage.steps.verifyTableCellPropertyPrintPreviewTab({ row: 2, column: 2 }, 'No radio button');
152
+ singleSelectionGridPage.steps.verifyTableCellPropertyPrintPreviewTab({ row: 3, column: 0 }, 'Text');
153
+ singleSelectionGridPage.steps.verifyTableCellPropertyPrintPreviewTab({ row: 3, column: 1 }, 'No radio button');
154
+ singleSelectionGridPage.steps.verifyTableCellPropertyPrintPreviewTab({ row: 4, column: 2 }, 'No radio button');
155
+ cy.eyesCheckWindow(`Single selection - grid ${view} - Question grid displayed`);
156
+ });
128
157
  } else {
129
158
  it(`The correct options should be in checked state, correct icons should be displayed besides them, correct background should be displayed behind the option`, () => {
130
159
  singleSelectionGridPage.steps.verifyOptionWithRadioButtonSelectedState({ row: 1, column: 0 });
@@ -138,56 +167,58 @@ describe('Create item page - Single selection grid: Preview contents', () => {
138
167
  });
139
168
  }
140
169
 
141
- it('CSS of preview contents', { tags: 'css' }, () => {
142
- singleSelectionGridPage.gridPreviewTab()
143
- .within(() => {
144
- utilities.verifyCSS(utilities.getNthElement(singleSelectionGridPage.tableCell().parent(), 1), {
145
- 'background-color': css.color.matrixHeadingCellBg,
146
- 'border-color': `${css.color.matrixCellBorder} ${css.color.matrixCellBorder} ${css.color.matrixCellBorder} ${css.color.correctOptionBorder}`
147
- });
148
- utilities.verifyCSS(utilities.getNthElement(singleSelectionGridPage.tableCell().parent(), 6), {
149
- 'background-color': css.color.matrixSubheadingCellBg,
150
- 'border-color': `${css.color.matrixCellBorder}`
151
- });
152
- utilities.verifyCSS(utilities.getNthElement(singleSelectionGridPage.tableCell().parent(), 9), {
153
- 'background-color': css.color.defaultBackground,
154
- 'border-color': `${css.color.matrixCellBorder}`
155
- });
156
- utilities.verifyCSS(utilities.getNthElement(singleSelectionGridPage.tableCell(), 1).find('.question-text-wrapper'), {
157
- 'color': css.color.text,
158
- 'font-size': css.fontSize.heading,
159
- 'font-weight': css.fontWeight.bold
160
- });
161
- utilities.verifyCSS(utilities.getNthElement(singleSelectionGridPage.tableCell(), 6).find('.question-text-wrapper'), {
162
- 'color': css.color.text,
163
- 'font-size': css.fontSize.default,
164
- 'font-weight': css.fontWeight.bold
165
- });
166
- utilities.verifyCSS(utilities.getNthElement(singleSelectionGridPage.tableCell(), 9).find('.question-text-wrapper'), {
167
- 'color': css.color.text,
168
- 'font-size': css.fontSize.default,
169
- 'font-weight': css.fontWeight.regular
170
+ if (view !== 'Print preview') {
171
+ it('CSS of preview contents', { tags: 'css' }, () => {
172
+ singleSelectionGridPage.gridPreviewTab()
173
+ .within(() => {
174
+ utilities.verifyCSS(utilities.getNthElement(singleSelectionGridPage.tableCell().parent(), 1), {
175
+ 'background-color': css.color.matrixHeadingCellBg,
176
+ 'border-color': `${css.color.matrixCellBorder} ${css.color.matrixCellBorder} ${css.color.matrixCellBorder} ${css.color.correctOptionBorder}`
177
+ });
178
+ utilities.verifyCSS(utilities.getNthElement(singleSelectionGridPage.tableCell().parent(), 6), {
179
+ 'background-color': css.color.matrixSubheadingCellBg,
180
+ 'border-color': `${css.color.matrixCellBorder}`
181
+ });
182
+ utilities.verifyCSS(utilities.getNthElement(singleSelectionGridPage.tableCell().parent(), 9), {
183
+ 'background-color': css.color.defaultBackground,
184
+ 'border-color': `${css.color.matrixCellBorder}`
185
+ });
186
+ utilities.verifyCSS(utilities.getNthElement(singleSelectionGridPage.tableCell(), 1).find('.question-text-wrapper'), {
187
+ 'color': css.color.text,
188
+ 'font-size': css.fontSize.heading,
189
+ 'font-weight': css.fontWeight.bold
190
+ });
191
+ utilities.verifyCSS(utilities.getNthElement(singleSelectionGridPage.tableCell(), 6).find('.question-text-wrapper'), {
192
+ 'color': css.color.text,
193
+ 'font-size': css.fontSize.default,
194
+ 'font-weight': css.fontWeight.bold
195
+ });
196
+ utilities.verifyCSS(utilities.getNthElement(singleSelectionGridPage.tableCell(), 9).find('.question-text-wrapper'), {
197
+ 'color': css.color.text,
198
+ 'font-size': css.fontSize.default,
199
+ 'font-weight': css.fontWeight.regular
200
+ });
170
201
  });
171
- });
172
- switch (view) {
173
- case 'Question preview':
174
- case 'Item preview':
175
- case 'Item view':
176
- case 'Item preview':
177
- case 'Student view':
178
- break;
179
- case 'Grading view':
180
- case 'Correct answer view':
181
- utilities.verifyCSS(utilities.getNthElement(singleSelectionGridPage.tableCell(), 10).find('.question-text-wrapper strong'), {
182
- 'color': css.color.text,
183
- 'font-size': css.fontSize.default,
184
- 'font-weight': css.fontWeight.bold
185
- });
186
- break;
187
- default:
188
- throw new Error('Invalid view');
189
- }
190
- });
202
+ switch (view) {
203
+ case 'Question preview':
204
+ case 'Item preview':
205
+ case 'Item view':
206
+ case 'Item preview':
207
+ case 'Student view':
208
+ break;
209
+ case 'Grading view':
210
+ case 'Correct answer view':
211
+ utilities.verifyCSS(utilities.getNthElement(singleSelectionGridPage.tableCell(), 10).find('.question-text-wrapper strong'), {
212
+ 'color': css.color.text,
213
+ 'font-size': css.fontSize.default,
214
+ 'font-weight': css.fontWeight.bold
215
+ });
216
+ break;
217
+ default:
218
+ throw new Error('Invalid view');
219
+ }
220
+ });
221
+ }
191
222
 
192
223
  //Remove skip once https://weldnorthed.atlassian.net/browse/IEI-4738 is resolved
193
224
  it.skip('Accessibility of preview tab', { tags: 'a11y' }, () => {
@@ -12,6 +12,8 @@ describe('Create Item page - Text entry math: Preview scoring', () => {
12
12
  abortEarlySetup();
13
13
  before(() => {
14
14
  textEntryMathPage.steps.navigateToCreateQuestion('Text Entry Math');
15
+ cy.barsPreLoaderWait();
16
+ textEntryMathPage.steps.addTextInQuestionInstructionsInputField('Enter the correct answer in the response field');
15
17
  textEntryMathPage.steps.addResponseArea();
16
18
  textEntryMathPage.steps.addResponseArea();
17
19
  textEntryMathPage.steps.addResponseArea();
@@ -238,4 +240,88 @@ describe('Create Item page - Text entry math: Preview scoring', () => {
238
240
  textEntryMathPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
239
241
  });
240
242
  });
243
+
244
+ describe('Question Preview: AutoScored - All or Nothing with blank scoring: When alternative answer points are more than correct answer points and alternative has no points plotted', () => {
245
+ abortEarlySetup();
246
+ before(() => {
247
+ textEntryMathPage.steps.navigateToCreateQuestion('Text Entry Math');
248
+ cy.barsPreLoaderWait();
249
+ textEntryMathPage.steps.addTextInQuestionInstructionsInputField('Enter the correct answer in the response field');
250
+ textEntryMathPage.steps.addResponseArea();
251
+ textEntryMathPage.steps.addResponseArea();
252
+ textEntryMathPage.steps.addResponseArea();
253
+ textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(0);
254
+ textEntryMathPage.steps.selectEvaluationMethod('Match exact', 8);
255
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(0);
256
+ equationEditorFlyout.steps.clearAll();
257
+ equationEditorFlyout.steps.enterTextInPreviewInputField('CorrectOne');
258
+ equationEditorFlyout.steps.clickOnOkButton();
259
+ textEntryMathPage.steps.expandLayoutAccordion();
260
+ textEntryMathPage.steps.focusInLayoutInputField(0);
261
+ textEntryMathPage.steps.addResponseContainer();
262
+ textEntryMathPage.steps.insertTextInEquationEditorTextArea('One');
263
+ equationEditorFlyout.steps.clickOnOkButton();
264
+ textEntryMathPage.steps.collapseResponseAccordionSpecifyCorrectAnswer(0);
265
+ textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(1);
266
+ textEntryMathPage.steps.selectEvaluationMethod('Match exact', 17);
267
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(1);
268
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'numPad', symbolName: ['six', 'multiply', 'two', 'equalTo', 'one', 'two'] }]);
269
+ equationEditorFlyout.steps.clickOnOkButton();
270
+ textEntryMathPage.steps.expandLayoutAccordion();
271
+ textEntryMathPage.steps.focusInLayoutInputField(1);
272
+ textEntryMathPage.steps.addResponseContainer();
273
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'numPad', symbolName: ['equalTo', 'one', 'two'] }]);
274
+ equationEditorFlyout.steps.clickOnOkButton();
275
+ textEntryMathPage.steps.collapseResponseAccordionSpecifyCorrectAnswer(1);
276
+ textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(2);
277
+ textEntryMathPage.steps.selectEvaluationMethod('Match exact', 26);
278
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(2);
279
+ equationEditorFlyout.steps.enterTextInPreviewInputField('9000%');
280
+ equationEditorFlyout.steps.clickOnOkButton();
281
+ textEntryMathPage.steps.expandLayoutAccordion();
282
+ textEntryMathPage.steps.focusInLayoutInputField(2);
283
+ textEntryMathPage.steps.addResponseContainer();
284
+ textEntryMathPage.steps.insertTextInEquationEditorTextArea('%');
285
+ equationEditorFlyout.steps.clickOnOkButton();
286
+ textEntryMathPage.steps.allotPoints(12);
287
+ textEntryMathPage.steps.addAlternativeAnswerAccordion(1);
288
+ textEntryMathPage.steps.allotPoints(20);
289
+ textEntryMathPage.steps.expandAdditionalSettings();
290
+ textEntryMathPage.steps.selectModalVisibilityTypeButton();
291
+ textEntryMathPage.steps.switchToPreviewTab();
292
+ });
293
+
294
+ it('When user attempts the question with responses from the correct accordion, then the user should be awarded points specified for correct points accordion (less than full points) and on switching to \'Grading\' view, correct icons should be displayed beside all the correct responses, a status message with text \'Your answer is correct\' should be displayed and correct answer section should not be displayed', () => {
295
+ textEntryMathPage.steps.resetQuestionPreview();
296
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldFormulaTemplatePreviewTab(0);
297
+ equationEditorFlyout.steps.enterTextInPreviewInputField('Correct');
298
+ equationEditorFlyout.steps.clickOnOkButton();
299
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldFormulaTemplatePreviewTab(1);
300
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'numPad', symbolName: ['six', 'multiply', 'two'] }]);
301
+ equationEditorFlyout.steps.clickOnOkButton();
302
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldFormulaTemplatePreviewTab(2);
303
+ equationEditorFlyout.steps.enterTextInPreviewInputField('9000');
304
+ equationEditorFlyout.steps.clickOnOkButton();
305
+ textEntryMathPage.steps.verifyPreviewScore(12, 20);
306
+ textEntryMathPage.steps.switchToGradingView();
307
+ textEntryMathPage.steps.verifyCorrectAnswerSectionNotExist();
308
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
309
+ textEntryMathPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
310
+ });
311
+
312
+ it('When user resets the option then full score should be awarded as alternative accordion has blank response', () => {
313
+ textEntryMathPage.steps.resetQuestionPreview();
314
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldFormulaTemplatePreviewTab(0);
315
+ equationEditorFlyout.steps.enterTextInPreviewInputField('Correct');
316
+ equationEditorFlyout.steps.clickOnOkButton();
317
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldFormulaTemplatePreviewTab(0);
318
+ equationEditorFlyout.steps.clearAll();
319
+ equationEditorFlyout.steps.clickOnOkButton();
320
+ textEntryMathPage.steps.verifyPreviewScore(20, 20);
321
+ textEntryMathPage.steps.switchToGradingView();
322
+ textEntryMathPage.steps.verifyCorrectAnswerSectionNotExist();
323
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
324
+ textEntryMathPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
325
+ });
326
+ });
241
327
  });