itemengine-cypress-automation 1.0.389-graphAndCharts-04d27f6.0 → 1.0.390-IEI-6314-testScriptForTextEntryMathValidations-dcad527.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. package/Dockerfile +1 -0
  2. package/cypress/e2e/GradingGridView/gradingGridView.js +156 -0
  3. package/cypress/e2e/ILC/AudioResponseNew/barRecorderStyle.smoke.js +2 -0
  4. package/cypress/e2e/ILC/AudioResponseNew/compactRecorderStyle.smoke.js +4 -0
  5. package/cypress/e2e/ILC/AudioResponseNew/editTabBasicSection.js +4 -16
  6. package/cypress/e2e/ILC/BrainingCampManipulative/editTabBasicSection.js +1 -1
  7. package/cypress/e2e/ILC/BrowseItems/browseReviewItems.js +3 -3
  8. package/cypress/e2e/ILC/BrowseItems/browseReviewItemsMobileView.js +3 -3
  9. package/cypress/e2e/ILC/BrowseItems/browseThinkSphereItems.js +6 -6
  10. package/cypress/e2e/ILC/BrowseItems/browseThinkSphereItemsMobileView.js +6 -6
  11. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/allOrNothingScoringForAllViews.smoke.js +356 -0
  12. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/gradingViewAndCorrectAnswerView.smoke.js +1 -1
  13. package/cypress/e2e/ILC/ChartsBar/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +33 -0
  14. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightBasic.js +27 -27
  15. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +37 -37
  16. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +37 -37
  17. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +37 -37
  18. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightBasic.js +26 -25
  19. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +39 -38
  20. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +31 -30
  21. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +35 -34
  22. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePointsLocked.js +247 -0
  23. package/cypress/e2e/ILC/ChartsBar/allOrNothingScoringForAllViews.smoke.js +287 -0
  24. package/cypress/e2e/ILC/ChartsBar/editQuestion.smoke.js +1 -1
  25. package/cypress/e2e/ILC/ChartsBar/editTabBasicSection.js +37 -0
  26. package/cypress/e2e/ILC/ChartsBar/headerSection.js +50 -2
  27. package/cypress/e2e/ILC/ChartsBar/specifyCorrectAnswerSection.js +92 -0
  28. package/cypress/e2e/ILC/ChartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePointsLocked.js +220 -0
  29. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightBasic.js +25 -26
  30. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +47 -47
  31. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +25 -25
  32. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +25 -25
  33. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightBasic.js +25 -25
  34. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +24 -23
  35. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +21 -20
  36. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +48 -46
  37. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePointsLocked.js +249 -0
  38. package/cypress/e2e/ILC/ChartsLine/allOrNothingScoringForAllViews.smoke.js +247 -0
  39. package/cypress/e2e/ILC/ChartsLine/editQuestion.smoke.js +3 -1
  40. package/cypress/e2e/ILC/ChartsLine/headerSection.js +18 -1
  41. package/cypress/e2e/ILC/ChartsLine/specifyCorrectAnswerSection.js +94 -0
  42. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddTranscriptRadioButton .js +2 -2
  43. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerHeaderSectionAndButtons.js +2 -2
  44. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTab.js +1 -1
  45. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabSupportedFileTypes.js +6 -0
  46. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabTranscript.js +2 -3
  47. package/cypress/e2e/ILC/CkEditorEquationEditor/selectModeEditorBasic.js +4 -1
  48. package/cypress/e2e/ILC/CkEditorInsertImage/imageInfo.js +4 -3
  49. package/cypress/e2e/ILC/CkEditorInsertImage/insertImageBasicFile.js +2 -0
  50. package/cypress/e2e/ILC/CkEditorInsertTable/tableDimension&FooterProperties.js +8 -8
  51. package/cypress/e2e/ILC/CkEditorInsertTable/tableStyle.js +11 -11
  52. package/cypress/e2e/ILC/CkEditorLink/linkPreview.js +2 -1
  53. package/cypress/e2e/ILC/CkEditorLink/uploadSection.js +1 -1
  54. package/cypress/e2e/ILC/ContentBlocks/editTabBasics.js +63 -4
  55. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +116 -7
  56. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabBasicSection.js +3 -3
  57. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabScoring.js +1 -0
  58. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/headerSection.js +3 -3
  59. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/pagination.js +1 -1
  60. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/studentViewSettingsForGroupedLayout.js +3 -0
  61. package/cypress/e2e/ILC/DrawingResponse/drawingResponseEditTabBasicSection.js +11 -3
  62. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +210 -0
  63. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/draggableOptions.js +2 -0
  64. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/editTabBasicSection.js +1 -1
  65. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/headerSection.js +3 -3
  66. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViewInIncompleteAuthoring.smoke.js +7 -7
  67. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViews.smoke.js +15 -16
  68. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editQuestion.smoke.js +40 -0
  69. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editTabBasicSection.js +1 -1
  70. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/headerSection.js +3 -3
  71. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +216 -0
  72. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/editTabBasicSection.js +2 -2
  73. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/headerSection.js +3 -3
  74. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editQuestion.smoke.js +45 -0
  75. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editTabBasicSection.js +1 -1
  76. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/headerSection.js +4 -4
  77. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/HeaderSection.js +4 -4
  78. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/editQuestion.smoke.js +1 -1
  79. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/responseAnswersAndAcceptedStudentInput.js +4 -0
  80. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/supportedFileTypes.js +3 -1
  81. package/cypress/e2e/ILC/FillInTheGapsTextNew/editTabBasicSection.js +1 -1
  82. package/cypress/e2e/ILC/FillInTheGapsTextNew/headerSection.js +3 -3
  83. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +73 -0
  84. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +38 -0
  85. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +38 -0
  86. package/cypress/e2e/ILC/Graphing/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +87 -0
  87. package/cypress/e2e/ILC/Graphing/allOrNothingForAllViews.smoke.js +213 -2
  88. package/cypress/e2e/ILC/Graphing/checkAddAlternativeButton.js +35 -0
  89. package/cypress/e2e/ILC/Graphing/editQuestion.smoke.js +28 -0
  90. package/cypress/e2e/ILC/Graphing/editTabBasicSection.js +38 -0
  91. package/cypress/e2e/ILC/Graphing/editTabScoringSection.js +1 -0
  92. package/cypress/e2e/ILC/Graphing/headerSection.js +37 -4
  93. package/cypress/e2e/ILC/Graphing/specifyCorrectAnswerSection.js +28 -0
  94. package/cypress/e2e/ILC/GridFill/addAlternateButton.js +40 -0
  95. package/cypress/e2e/ILC/GridFill/allOrNothingBasicForAllViews.smoke.js +210 -0
  96. package/cypress/e2e/ILC/GridFill/customizeLayoutFillImageBackgroundImage.js +2 -2
  97. package/cypress/e2e/ILC/GridFill/headerSection.js +4 -4
  98. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +39 -0
  99. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  100. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +39 -0
  101. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountAllOrNothingCorrectPointsGreaterThanAlternativePoints.js +37 -0
  102. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountallOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  103. package/cypress/e2e/ILC/GridFill/scoring/cellshadeCountAllOrNothingAlternativePointsGreaterThanCorrectPoints.js +36 -0
  104. package/cypress/e2e/ILC/GridFill/scoring/checkLabelSaveAsYouGo.js +75 -0
  105. package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +2 -1
  106. package/cypress/e2e/ILC/ImageHighlight/additionalSettingsBasic.js +1 -0
  107. package/cypress/e2e/ILC/ImageHighlight/allOrNothingForAllViews.smoke.js +212 -0
  108. package/cypress/e2e/ILC/ImageHighlight/customiseHighlightStyle.js +29 -0
  109. package/cypress/e2e/ILC/ImageHighlight/editTabBasicSection.js +1 -1
  110. package/cypress/e2e/ILC/ImageHighlight/headerSection.js +3 -3
  111. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +24 -0
  112. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +24 -0
  113. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +24 -0
  114. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +86 -0
  115. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/manuallyAndNonScored.js +2 -4
  116. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +1 -1
  117. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +237 -1
  118. package/cypress/e2e/ILC/ListOrderingDropdown/checkAddAlternativeButton.js +35 -0
  119. package/cypress/e2e/ILC/ListOrderingDropdown/editTabBasicSection.js +26 -0
  120. package/cypress/e2e/ILC/ListOrderingDropdown/headerSection.js +108 -0
  121. package/cypress/e2e/ILC/ListOrderingDropdown/manuallyAndNonScoredEditTab.js +2 -1
  122. package/cypress/e2e/ILC/ListOrderingDropdown/previewContentsForAllViews.smoke.js +2 -4
  123. package/cypress/e2e/ILC/ListOrderingDropdown/specifyCorrectAnswerSection.js +7 -12
  124. package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/specifyCorrectAnswerSection.js +10 -14
  125. package/cypress/e2e/ILC/ListOrderingNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +52 -0
  126. package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +215 -0
  127. package/cypress/e2e/ILC/ListOrderingNew/editTabBasicSection.js +23 -0
  128. package/cypress/e2e/ILC/ListOrderingNew/headerSection.js +36 -9
  129. package/cypress/e2e/ILC/ListOrderingNew/manuallyAndNonScoredEditTab.js +2 -0
  130. package/cypress/e2e/ILC/ListOrderingNew/specifyCorrectAnswerSection.js +7 -23
  131. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +41 -0
  132. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +30 -0
  133. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +50 -0
  134. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +101 -0
  135. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/allOrNothingForAllViews.smoke.js +309 -0
  136. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/checkAddAlternativeButton.js +38 -0
  137. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabBasicSection.js +24 -0
  138. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabScoring.js +4 -1
  139. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/headerSection.js +38 -3
  140. package/cypress/e2e/ILC/Matching/Scoring/blankResponseScoring.js +38 -41
  141. package/cypress/e2e/ILC/Matching/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +98 -0
  142. package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +210 -0
  143. package/cypress/e2e/ILC/Matching/checkAlternativeButton.js +38 -0
  144. package/cypress/e2e/ILC/Matching/clickAndDrop.js +5 -5
  145. package/cypress/e2e/ILC/Matching/draggableOptions.js +7 -0
  146. package/cypress/e2e/ILC/Matching/editQuestion.smoke.js +3 -2
  147. package/cypress/e2e/ILC/Matching/editTabBasicSection.js +41 -0
  148. package/cypress/e2e/ILC/Matching/headerSection.js +38 -12
  149. package/cypress/e2e/ILC/Matching/questionInstructionsAndPromptSection.js +2 -15
  150. package/cypress/e2e/ILC/Matching/studentViewSettings.js +3 -1
  151. package/cypress/e2e/ILC/Matching/studentViewSettingsForGroupedLayout.js +1 -1
  152. package/cypress/e2e/ILC/MatchingDropdown/Scoring/blankResponseScoring.js +7 -6
  153. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsScoringBasic.js +6 -6
  154. package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +208 -0
  155. package/cypress/e2e/ILC/MultipleSelection/allOrNothingBasicForAllViews.smoke.js +2 -1
  156. package/cypress/e2e/ILC/MultipleSelection/editTabBasicSection.js +1 -1
  157. package/cypress/e2e/ILC/MultipleSelection/headerSection.js +3 -3
  158. package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswer.js +1 -0
  159. package/cypress/e2e/ILC/MultipleSelectionGridNew/editTabBasicSection.js +2 -2
  160. package/cypress/e2e/ILC/MultipleSelectionGridNew/headerSection.js +3 -3
  161. package/cypress/e2e/ILC/MultipleSelectionGridNew/previewContentsForAllViews.smoke.js +100 -69
  162. package/cypress/e2e/ILC/MultipleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +1 -0
  163. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +79 -0
  164. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +42 -0
  165. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +42 -0
  166. package/cypress/e2e/ILC/NumberLine/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +75 -0
  167. package/cypress/e2e/ILC/NumberLine/allOrNothingScoringForAllViews.smoke.js +213 -0
  168. package/cypress/e2e/ILC/NumberLine/checkAddAlternativeButton.js +32 -0
  169. package/cypress/e2e/ILC/NumberLine/editTabSection.js +38 -0
  170. package/cypress/e2e/ILC/NumberLine/headerSection.js +34 -4
  171. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/allOrNothingScoringForAllViews.smoke.js +249 -0
  172. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +81 -0
  173. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +43 -0
  174. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +43 -0
  175. package/cypress/e2e/ILC/NumberLineLabel/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +76 -0
  176. package/cypress/e2e/ILC/NumberLineLabel/additionalSettingsBasic.js +0 -1
  177. package/cypress/e2e/ILC/NumberLineLabel/allOrNothingForAllViews.smoke.js +266 -0
  178. package/cypress/e2e/ILC/NumberLineLabel/checkAddAlternativeButton.js +34 -0
  179. package/cypress/e2e/ILC/NumberLineLabel/editTabSection.js +38 -0
  180. package/cypress/e2e/ILC/NumberLineLabel/headerSection.js +37 -4
  181. package/cypress/e2e/ILC/NumberLineLabel/manuallyAndNonScoredEditTab.js +2 -1
  182. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/allOrNothingForAllViews.smoke.js +268 -0
  183. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/editQuestion.smoke.js +1 -1
  184. package/cypress/e2e/ILC/ShortTextResponseNew/allOrNothingBasicForAllViews.smoke.js +186 -0
  185. package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +4 -3
  186. package/cypress/e2e/ILC/ShortTextResponseNew/headerSection.js +2 -4
  187. package/cypress/e2e/ILC/SingleSelection/editTabBasicSection.js +1 -1
  188. package/cypress/e2e/ILC/SingleSelection/headerSection.js +2 -2
  189. package/cypress/e2e/ILC/SingleSelectionGridNew/editTabBasicSection.js +2 -2
  190. package/cypress/e2e/ILC/SingleSelectionGridNew/headerSection.js +3 -3
  191. package/cypress/e2e/ILC/SingleSelectionGridNew/previewContentsForAllViews.smoke.js +101 -70
  192. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +86 -0
  193. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +86 -0
  194. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  195. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +4 -2
  196. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  197. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  198. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsScoringBasic.js +9 -2
  199. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +4 -2
  200. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +3 -1
  201. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  202. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsScoringBasic.js +4 -0
  203. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +64 -0
  204. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAddEvaluation.js +2 -0
  205. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAlternateAnswer.js +2 -0
  206. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +64 -0
  207. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  208. package/cypress/e2e/ILC/TextEntryMath/Scoring/blankResponseScoring.js +2 -2
  209. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  210. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  211. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  212. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsScoringBasic.js +8 -0
  213. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  214. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  215. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  216. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasic.js +1 -0
  217. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasicForAlternateAnswer.js +2 -0
  218. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViews.smoke.js +263 -0
  219. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +219 -0
  220. package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +27 -3
  221. package/cypress/e2e/ILC/TextEntryMath/equationEditor.smoke.js +1 -1
  222. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodEquivalentStructures.smoke.js +3 -3
  223. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchValue.smoke.js +310 -1
  224. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodSymbolsAreEquivalent.smoke.js +205 -1
  225. package/cypress/e2e/ILC/TextEntryMath/headerSection.js +43 -0
  226. package/cypress/e2e/ILC/TextEntryMathWithImage/allOrNothingScoringForAllViews.smoke.js +263 -0
  227. package/cypress/e2e/ILC/TextEntryMathWithImage/backgroundImageAndCanvasProperties.js +0 -1
  228. package/cypress/e2e/ILC/TextEntryMathWithImage/styleAndLayoutCustomization.js +1 -1
  229. package/cypress/e2e/ILC/TextSelection/additionalSettings.js +1 -0
  230. package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +231 -0
  231. package/cypress/e2e/ILC/TextSelection/editTabBasicSection.js +2 -2
  232. package/cypress/e2e/ILC/TextSelection/headerSection.js +3 -3
  233. package/cypress/e2e/ILC/TextSelection/minimumScoringPenaltyPointsAndRoundingDropdown.js +1 -0
  234. package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyPossibleOptionsSection.js +1 -0
  235. package/cypress/e2e/ILC/ThinkSphere/createReviewItem.js +1 -1
  236. package/cypress/e2e/ILC/ThinkSphere/editTabBasicSection.js +1 -1
  237. package/cypress/e2e/ILC/ThinkSphere/editThinkSphereQuestion.smoke.js +145 -54
  238. package/cypress/e2e/ILC/ThinkSphere/equationEditorEditCategoryFlyOut.js +2 -0
  239. package/cypress/e2e/ILC/ThinkSphere/gradingViewPlanTabSection.js +334 -0
  240. package/cypress/e2e/ILC/ThinkSphere/gradingViewReviewTabSection.js +140 -0
  241. package/cypress/e2e/ILC/ThinkSphere/gradingViewSolveTabSection.js +65 -0
  242. package/cypress/e2e/ILC/ThinkSphere/planPhase.js +45 -5
  243. package/cypress/e2e/ILC/ThinkSphere/previewTabPlanSection.js +8 -8
  244. package/cypress/e2e/ILC/ThinkSphere/previewTabReviewSection.js +102 -0
  245. package/cypress/e2e/ILC/ThinkSphere/previewTabSolveSection.js +41 -0
  246. package/cypress/e2e/ILC/ThinkSphere/solvePhase.js +3 -3
  247. package/cypress/e2e/ILC/ThinkSphere/studentViewPlanTabSection.js +393 -0
  248. package/cypress/e2e/ILC/ThinkSphere/studentViewReviewTabSection.js +146 -0
  249. package/cypress/e2e/ILC/ThinkSphere/studentViewSolveSection.js +53 -0
  250. package/cypress/e2e/ILC/ToolAudioPlayerNew/headerSection.js +90 -2
  251. package/cypress/e2e/ILC/UploadResponse/editTabBasicSection.js +34 -0
  252. package/cypress/e2e/ILC/UploadResponse/headerSection.js +38 -1
  253. package/cypress/e2e/ILC/UploadResponse/uploadResponsePreview.js +50 -13
  254. package/cypress/e2e/ILC/VideoResponseNew/editTabBasicSection.js +14 -29
  255. package/cypress/e2e/ILC/chartsDotsPlot/allOrNothingForAllViews.smoke.js +248 -0
  256. package/cypress/e2e/ILC/chartsDotsPlot/headerSection.js +16 -1
  257. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsBasic.js +27 -28
  258. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +31 -30
  259. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +24 -24
  260. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +39 -37
  261. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsBasic.js +22 -23
  262. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +31 -30
  263. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +25 -24
  264. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +31 -31
  265. package/cypress/e2e/ILC/chartsDotsPlot/scoring/toleranceThresholdScoring.js +18 -19
  266. package/cypress/e2e/ILC/chartsDotsPlot/specifyCorrectAnswerSection.js +96 -0
  267. package/cypress/e2e/Sessions/fetchResponses.js +3 -3
  268. package/cypress/e2e/Sessions/saveResponseScores.js +2 -2
  269. package/cypress/fixtures/thinkSphereWhiteboardTools.js +66 -0
  270. package/cypress/pages/audioPlayerPage.js +25 -0
  271. package/cypress/pages/brainingCampManipulativePage.js +1 -1
  272. package/cypress/pages/chartsBarPage.js +45 -0
  273. package/cypress/pages/chartsDotPlotPage.js +25 -0
  274. package/cypress/pages/chartsLinePage.js +29 -2
  275. package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +5 -1
  276. package/cypress/pages/components/chartsCommonComponent.js +21 -2
  277. package/cypress/pages/components/ckEditorEquationEditorComponent.js +1 -0
  278. package/cypress/pages/components/ckEditorInsertImageComponent.js +3 -3
  279. package/cypress/pages/components/ckEditorInsertTableComponent.js +3 -3
  280. package/cypress/pages/components/ckEditorLinkComponent.js +8 -9
  281. package/cypress/pages/components/colorPopupComponent.js +6 -0
  282. package/cypress/pages/components/createQuestionBasePage.js +19 -6
  283. package/cypress/pages/components/desmosToolComponent.js +1 -1
  284. package/cypress/pages/components/draggableOptionsSectionComponent.js +2 -0
  285. package/cypress/pages/components/equationEditorSectionCommonComponent.js +4 -4
  286. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +31 -3
  287. package/cypress/pages/components/fillInTheGapsTextCommonComponent.js +1 -1
  288. package/cypress/pages/components/gridQuestionCommonComponent.js +55 -2
  289. package/cypress/pages/components/imageCanvasComponent.js +11 -5
  290. package/cypress/pages/components/playbackControlsBaseComponent.js +6 -3
  291. package/cypress/pages/components/questionInstructionsComponent.js +2 -0
  292. package/cypress/pages/components/scoringSectionBaseEditTab.js +3 -0
  293. package/cypress/pages/components/specifyRowsAndColumnsComponent.js +16 -0
  294. package/cypress/pages/contentBlocksPage.js +2 -0
  295. package/cypress/pages/desmos3DGraphingPage.js +149 -4
  296. package/cypress/pages/desmosGeometryPage.js +184 -4
  297. package/cypress/pages/drawingResponsePage.js +9 -2
  298. package/cypress/pages/fillInTheGapsDragAndDropPage.js +3 -8
  299. package/cypress/pages/gradingGridViewPage.js +64 -0
  300. package/cypress/pages/graphingPage.js +28 -5
  301. package/cypress/pages/gridFillPage.js +24 -9
  302. package/cypress/pages/imageHighlightPage.js +115 -15
  303. package/cypress/pages/index.js +1 -0
  304. package/cypress/pages/listOrderingPage.js +46 -2
  305. package/cypress/pages/matchingPage.js +29 -10
  306. package/cypress/pages/numberLineLabelPage.js +26 -0
  307. package/cypress/pages/numberLinePage.js +15 -0
  308. package/cypress/pages/singleSelectionPage.js +30 -1
  309. package/cypress/pages/textEntryMathPage.js +29 -10
  310. package/cypress/pages/textSelectionPage.js +2 -2
  311. package/cypress/pages/thinkSpherePage.js +1118 -87
  312. package/cypress/pages/uploadResponsePage.js +17 -1
  313. package/cypress/pages/videoResponsePage.js +3 -0
  314. package/cypress/support/commands.js +9 -0
  315. package/cypress/support/helpers/createItem.js +22 -3
  316. package/cypress/support/helpers/utilities.js +14 -1
  317. package/package.json +1 -1
  318. /package/cypress/e2e/ILC/{ChartsDotsPlot → chartsDotsPlot}/checkAnswerFunctionalityForAllViews.js +0 -0
  319. /package/cypress/e2e/ILC/{ChartsDotsPlot → chartsDotsPlot}/editQuestion.smoke.js +0 -0
@@ -1,7 +1,10 @@
1
1
  import abortEarlySetup from "../../../support/helpers/abortEarly";
2
- import { dialogBoxBase, graphingPage } from "../../../pages";
2
+ import { dialogBoxBase, graphingPage, itemPreviewPage } from "../../../pages";
3
+ import { browseItemsPage } from "../../../pages/components";
3
4
  import utilities from "../../../support/helpers/utilities";
4
5
 
6
+ var itemReferenceID = "";
7
+
5
8
  describe('Create item page - Graphing: Header section and saving question', () => {
6
9
  before(() => {
7
10
  cy.loginAs('admin');
@@ -45,11 +48,11 @@ describe('Create item page - Graphing: Header section and saving question', () =
45
48
  });
46
49
 
47
50
  describe('Validation error messages', () => {
48
- dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton();
51
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please set points.']);
49
52
 
50
- it('No validation error messages should be displayed below required input fields', () => {
53
+ it('Validation error messages should be displayed below required input fields', () => {
51
54
  graphingPage.steps.verifyQuestionInstructionsErrorMessageIsNotDisplayed();
52
- graphingPage.steps.verifyPointsFieldErrorMessageIsNotDisplayed();
55
+ graphingPage.steps.verifyWarningIconOnRequiredFields(['Please set points.']);
53
56
  });
54
57
 
55
58
  it('Validation error messages should disappear when required input fields are filled', () => {
@@ -72,5 +75,35 @@ describe('Create item page - Graphing: Header section and saving question', () =
72
75
 
73
76
  graphingPage.tests.verifySavedSuccessfullySnackbarCSSAndA11y();
74
77
  });
78
+
79
+ describe('Saving a question with incomplete authoring', () => {
80
+ abortEarlySetup();
81
+ before(() => {
82
+ graphingPage.steps.navigateToCreateQuestion('Graphing');
83
+ cy.barsPreLoaderWait();
84
+ });
85
+
86
+ it('User should be able to save the question with incomplete authoring and display a snackbar with the text "Saved successfully!" when the Save Question button is clicked', () => {
87
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please set points.']);
88
+ graphingPage.steps.saveAQuestionWithIncompleteAuthoring();
89
+ });
90
+ graphingPage.tests.verifySavedSuccessfullySnackbarCSSAndA11y();
91
+ });
92
+ });
93
+
94
+ describe('Save as you go - Browse item page contents', () => {
95
+ abortEarlySetup();
96
+ before(() => {
97
+ graphingPage.steps.navigateToCreateQuestion('Graphing');
98
+ cy.barsPreLoaderWait();
99
+ graphingPage.steps.saveAQuestionWithIncompleteAuthoring();
100
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
101
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
102
+ browseItemsPage.steps.navigateToBrowseItemsPage();
103
+ });
104
+
105
+ it('When user saves an incompletely authored question then a warning icon should be visible in browse items page', () => {
106
+ browseItemsPage.steps.verifyWarningIconInBrowseItemPage(`${itemReferenceID}`);
107
+ });
75
108
  });
76
109
  });
@@ -68,4 +68,32 @@ describe('Create Item page - Graphing: Specify correct answer, Alternative corre
68
68
  graphingPage.steps.verifyAlternateAnswerAccordionIsCollapsed(0);
69
69
  });
70
70
  });
71
+
72
+ describe('Graphing: Modify X/Y Axis Range Inputs and Validate Answer Visibility', () => {
73
+ abortEarlySetup();
74
+ before(() => {
75
+ graphingPage.steps.navigateToCreateQuestion('Graphing');
76
+ graphingPage.steps.addTextInQuestionInstructionsInputField('Plot the graph');
77
+ graphingPage.steps.selectToolOptions(['Polygon']);
78
+ cy.barsPreLoaderWait();
79
+ });
80
+
81
+ it('When the user set a correct answer then answer should be visible in correct answer section', () => {
82
+ graphingPage.steps.selectGraphToolOptionSpecifyCorrectAnswer('Polygon');
83
+ graphingPage.steps.plotPointsOnGraphSpecifyCorrectAnswerSection([{ x: -3, xRange: 20, y: 4, yRange: 20 }, { x: 3, xRange: 20, y: 4, yRange: 20 }, { x: 3, xRange: 20, y: -4, yRange: 20 }, { x: -3, xRange: 20, y: 4, yRange: 20 }]);
84
+ graphingPage.steps.verifyPointsPlottedOnSpecifyCorrectAnswerSection([{ x: -3, xRange: 20, y: 4, yRange: 20 }, { x: 3, xRange: 20, y: 4, yRange: 20 }, { x: 3, xRange: 20, y: -4, yRange: 20 }, { x: -3, xRange: 20, y: 4, yRange: 20 }]);
85
+ });
86
+
87
+ it('When the user removes the x min value from the input field and sets a new value, the correct answer should be visible if the response falls within the new range', () => {
88
+ graphingPage.steps.enterTextInXMinInputField('-10');
89
+ graphingPage.steps.verifyXMinInputFieldValue('-10');
90
+ graphingPage.steps.verifyPointsPlottedOnSpecifyCorrectAnswerSection([{ x: -3, xRange: 20, y: 4, yRange: 20 }, { x: 3, xRange: 20, y: 4, yRange: 20 }, { x: 3, xRange: 20, y: -4, yRange: 20 }, { x: -3, xRange: 20, y: 4, yRange: 20 }]);
91
+ });
92
+
93
+ it('When the user removes the y max value from the input field and sets a new value, the correct answer should not be visible if the response does not fall within the new range', () => {
94
+ graphingPage.steps.enterTextInYMaxInputField('2');
95
+ graphingPage.steps.verifyYMaxInputFieldValue('2');
96
+ graphingPage.steps.verifyPointsPlottedNotExistOnSpecifyCorrectAnswerSection([{ x: -3, xRange: 20, y: 2, yRange: 12 }, { x: 3, xRange: 20, y: 2, yRange: 12 }]);
97
+ });
98
+ });
71
99
  });
@@ -0,0 +1,40 @@
1
+ import { gridFillPage } from "../../../pages";
2
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
3
+
4
+ describe('Create question page - Drag and Drop into Categories', () => {
5
+ before(() => {
6
+ cy.loginAs('admin');
7
+ });
8
+
9
+ describe('Check Alternative Answer Button', () => {
10
+ abortEarlySetup();
11
+ before(() => {
12
+ gridFillPage.steps.navigateToCreateQuestion('grid fill');
13
+ cy.barsPreLoaderWait();
14
+ });
15
+
16
+ it('When correct answer is not set then alternative answer should be disabled', () => {
17
+ gridFillPage.steps.addTextInQuestionInstructionsInputField('Grid Fill');
18
+ gridFillPage.steps.checkAlternativeButtonDisabled();
19
+ });
20
+
21
+ it('When correct answer is set then alternative answer should be enabled', () => {
22
+ gridFillPage.steps.allotPoints(20);
23
+ gridFillPage.steps.selectCellSpecifyCorrectAnswerSection(0, 0);
24
+ gridFillPage.steps.checkAlternativeButtonEnabled();
25
+ });
26
+
27
+ it('User should be able to add \'Alternative\' answer using the \'Add alternative\' button, when user has not set any answer in the \'Alternative\' accordion and clicks on the \'Correct\' accordion then \'Correct\' accordion should be expanded', () => {
28
+ gridFillPage.steps.clickOnAddAlternativeAnswerButton();
29
+ });
30
+
31
+ it('Alternative answer should not be allowed to be added when user has not set cell count in the correct answer section', () => {
32
+ gridFillPage.steps.uncheckMatchExactPositionOfCellsCheckbox();
33
+ gridFillPage.steps.checkAlternativeButtonDisabled();
34
+ gridFillPage.steps.addInputToCellShadeCountInputField(2);
35
+ gridFillPage.steps.checkAlternativeButtonEnabled();
36
+ gridFillPage.steps.clickOnAddAlternativeAnswerButton();
37
+ gridFillPage.steps.expandCorrectAnswerAccordion();
38
+ });
39
+ });
40
+ });
@@ -231,6 +231,216 @@ describe('Create item page - Grid fill: All or nothing', () => {
231
231
  });
232
232
  });
233
233
 
234
+ views.forEach((view) => {
235
+ describe(`${view}: Grid fill - Manually scored`, { tags: 'smoke' }, () => {
236
+ abortEarlySetup();
237
+ before(() => {
238
+ switch (view) {
239
+ case 'Question preview':
240
+ gridFillPage.steps.navigateToCreateQuestion('grid fill');
241
+ cy.barsPreLoaderWait();
242
+ gridFillPage.steps.addTextInQuestionInstructionsInputField('Which of the following is the major contributor to increased carbon dioxide levels because of urbanization? Select your answer from the options below.');
243
+ gridFillPage.steps.expandScoringTypeDropdown();
244
+ gridFillPage.steps.selectOptionFromScoringTypeDropdown('Manually scored');
245
+ gridFillPage.steps.allotPoints(20);
246
+ gridFillPage.steps.switchToPreviewTab();
247
+ break;
248
+ case 'Item preview':
249
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
250
+ itemPreviewPage.steps.switchToPreviewTab();
251
+ break;
252
+ case 'Grading view':
253
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
254
+ break;
255
+ }
256
+ });
257
+
258
+ beforeEach(() => {
259
+ switch (view) {
260
+ case 'Question preview':
261
+ gridFillPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
262
+ gridFillPage.steps.verifyCorrectIncorrectBorderNotExists();
263
+ gridFillPage.steps.resetQuestionPreview();
264
+ break;
265
+ case 'Item preview':
266
+ itemPreviewPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
267
+ gridFillPage.steps.verifyCorrectIncorrectBorderNotExists();
268
+ itemPreviewPage.steps.resetQuestionPreview();
269
+ break;
270
+ case 'Grading view':
271
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
272
+ cy.wait(2000);
273
+ break;
274
+ }
275
+ });
276
+
277
+ if (view === 'Question preview') {
278
+ after(() => {
279
+ gridFillPage.steps.clickOnSaveQuestionButton();
280
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
281
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
282
+ });
283
+ }
284
+
285
+ it('Question instructions should be visible', () => {
286
+ gridFillPage.steps.verifyQuestionInstructionsTextPreviewTab('Which of the following is the major contributor to increased carbon dioxide levels because of urbanization? Select your answer from the options below.');
287
+ gridFillPage.steps.verifyVisibityOfQuestionInstructionsText();
288
+ });
289
+
290
+ it('User should be able to attempt the question in student view, and correct/incorrect icons, "Your answer is correct/incorrect" label, and correct answer section should not be displayed in grading view', () => {
291
+ gridFillPage.steps.selectCellPreviewTab(0, 0);
292
+ gridFillPage.steps.selectCellPreviewTab(0, 1);
293
+ if (view === 'Grading view') {
294
+ studentViewPage.steps.submitResponse();
295
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'exist');
296
+ gridFillPage.steps.clickOnGoToGradingViewButton();
297
+ gradingViewPage.steps.verifyGradingViewScore('', 20);
298
+ }
299
+ if (view === 'Question preview' || view === 'Item preview') {
300
+ gridFillPage.steps.checkManuallyScoredScoringLabel();
301
+ }
302
+ gridFillPage.steps.verifyCorrectIncorrectResponseIconNotExistPreviewTab(0, 0);
303
+ gridFillPage.steps.verifyCorrectIncorrectResponseIconNotExistPreviewTab(0, 1);
304
+ gridFillPage.steps.verifyCorrectAnswerSectionNotExists();
305
+ });
306
+ });
307
+ });
308
+
309
+ views.forEach((view) => {
310
+ describe(`${view}: Grid fill - Non scored`, { tags: 'smoke' }, () => {
311
+ abortEarlySetup();
312
+ before(() => {
313
+ switch (view) {
314
+ case 'Question preview':
315
+ gridFillPage.steps.navigateToCreateQuestion('grid fill');
316
+ cy.barsPreLoaderWait();
317
+ gridFillPage.steps.addTextInQuestionInstructionsInputField('Which of the following is the major contributor to increased carbon dioxide levels because of urbanization? Select your answer from the options below.');
318
+ gridFillPage.steps.selectCellSpecifyCorrectAnswerSection(0, 0);
319
+ gridFillPage.steps.selectCellSpecifyCorrectAnswerSection(0, 1);
320
+ gridFillPage.steps.expandScoringTypeDropdown();
321
+ gridFillPage.steps.selectOptionFromScoringTypeDropdown('Non scored');
322
+ gridFillPage.steps.switchToPreviewTab();
323
+ break;
324
+ case 'Item preview':
325
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
326
+ itemPreviewPage.steps.switchToPreviewTab();
327
+ break;
328
+ case 'Grading view':
329
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
330
+ break;
331
+ }
332
+ });
333
+
334
+ beforeEach(() => {
335
+ switch (view) {
336
+ case 'Question preview':
337
+ gridFillPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
338
+ gridFillPage.steps.verifyCorrectIncorrectBorderNotExists();
339
+ gridFillPage.steps.resetQuestionPreview();
340
+ break;
341
+ case 'Item preview':
342
+ itemPreviewPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
343
+ gridFillPage.steps.verifyCorrectIncorrectBorderNotExists();
344
+ itemPreviewPage.steps.resetQuestionPreview();
345
+ break;
346
+ case 'Grading view':
347
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
348
+ cy.wait(2000);
349
+ break;
350
+ }
351
+ });
352
+
353
+ if (view === 'Question preview') {
354
+ after(() => {
355
+ gridFillPage.steps.clickOnSaveQuestionButton();
356
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
357
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
358
+ });
359
+ }
360
+
361
+ it('When the user selects "Grading" view without attempting the question then non-scoring label should be displayed, correct/incorrect status message should not be displayed, correct answers section with a label "Correct answers" should be displayed with correct answers and correct/incorrect icons should not be displayed', () => {
362
+ if (view === 'Grading view') {
363
+ studentViewPage.steps.submitResponse();
364
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'exist');
365
+ gridFillPage.steps.clickOnGoToGradingViewButton();
366
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
367
+ }
368
+ if (view === 'Question preview' || view === 'Item preview') {
369
+ gridFillPage.steps.switchToGradingView();
370
+ gridFillPage.steps.checkNonScoredScoringLabel();
371
+ }
372
+ gridFillPage.steps.verifyCorrectIncorrectResponseIconNotExistPreviewTab(0, 0);
373
+ gridFillPage.steps.verifyCorrectIncorrectResponseIconNotExistPreviewTab(0, 1);
374
+ gridFillPage.steps.verifyCorrectAnswerSectionExists();
375
+ gridFillPage.steps.verifyCorrectResponseIconCorrectAnswerSection(0, 0);
376
+ gridFillPage.steps.verifyCorrectResponseIconCorrectAnswerSection(0, 1);
377
+ gridFillPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
378
+ });
379
+
380
+ it('When the user attempts the question incorrectly then non-scoring label should be displayed and on switching to "Grading" view, incorrect icon should be displayed in the incorrect cell, correct icon should be displayed in the correct cell, and a status message with text "Your answer is incorrect" should be displayed', () => {
381
+ gridFillPage.steps.selectCellPreviewTab(0, 3);
382
+ if (view === 'Grading view') {
383
+ studentViewPage.steps.submitResponse();
384
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'exist');
385
+ gridFillPage.steps.clickOnGoToGradingViewButton();
386
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
387
+ }
388
+ if (view === 'Question preview' || view === 'Item preview') {
389
+ gridFillPage.steps.switchToGradingView();
390
+ gridFillPage.steps.checkNonScoredScoringLabel();
391
+ }
392
+ gridFillPage.steps.verifyIncorrectResponseIconPreviewTab(0, 3);
393
+ gridFillPage.steps.verifyCorrectAnswerSectionExists();
394
+ gridFillPage.steps.verifyCorrectResponseIconCorrectAnswerSection(0, 0);
395
+ gridFillPage.steps.verifyCorrectResponseIconCorrectAnswerSection(0, 1);
396
+ gridFillPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
397
+ });
398
+
399
+ it('When the user attempts the question partially correct then non-scoring label should be displayed and on switching to "Grading" view, correct icon should be displayed in the correct answer responses, and a status message with text "Your answer is incorrect" should be displayed', () => {
400
+ if (view === 'Grading view') {
401
+ studentViewPage.steps.clearResponses();
402
+ };
403
+ gridFillPage.steps.selectCellPreviewTab(0, 0);
404
+ if (view === 'Grading view') {
405
+ studentViewPage.steps.submitResponse();
406
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'exist');
407
+ gridFillPage.steps.clickOnGoToGradingViewButton();
408
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
409
+ }
410
+ if (view === 'Question preview' || view === 'Item preview') {
411
+ gridFillPage.steps.switchToGradingView();
412
+ gridFillPage.steps.checkNonScoredScoringLabel();
413
+ }
414
+ gridFillPage.steps.verifyCorrectResponseIconPreviewTab(0, 0);
415
+ gridFillPage.steps.verifyCorrectAnswerSectionExists();
416
+ gridFillPage.steps.verifyCorrectResponseIconCorrectAnswerSection(0, 0);
417
+ gridFillPage.steps.verifyCorrectResponseIconCorrectAnswerSection(0, 1);
418
+ gridFillPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
419
+ });
420
+
421
+ it('When the user attempts the question correctly, and on switching to "Grading" view, non-scoring label should be displayed, correct icons should be displayed in the correct cells, a status message with text "Your answer is correct" should be displayed and correct answer section should not be displayed', () => {
422
+ if (view === 'Grading view') {
423
+ studentViewPage.steps.clearResponses();
424
+ };
425
+ gridFillPage.steps.selectCellPreviewTab(0, 0);
426
+ gridFillPage.steps.selectCellPreviewTab(0, 1);
427
+ if (view === 'Grading view') {
428
+ studentViewPage.steps.submitResponse();
429
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'exist');
430
+ gridFillPage.steps.clickOnGoToGradingViewButton();
431
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
432
+ }
433
+ if (view === 'Question preview' || view === 'Item preview') {
434
+ gridFillPage.steps.switchToGradingView();
435
+ gridFillPage.steps.checkNonScoredScoringLabel();
436
+ }
437
+ gridFillPage.steps.verifyCorrectResponseIconPreviewTab(0, 0);
438
+ gridFillPage.steps.verifyCorrectResponseIconPreviewTab(0, 1);
439
+ gridFillPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
440
+ });
441
+ });
442
+ });
443
+
234
444
  if (!grepTags || !grepTags.includes('smoke')) {
235
445
  describe('Question preview: Auto scored - All or nothing: Minimum scoring', () => {
236
446
  abortEarlySetup();
@@ -319,9 +319,9 @@ describe('Create item page - Grid fill: Customize layout section - \'Fill Image\
319
319
  gridFillPage.steps.verifyBackgroundImageIsNotDisplayedInEditTabGrids();
320
320
  });
321
321
 
322
- it('When the user adds the image more than of 10MB, then error should not be displayed', () => {
322
+ it('User should be able to add the image more than of 10MB', () => {
323
323
  gridFillPage.steps.uploadFile('20mbFile.png');
324
- gridFillPage.steps.verifyErrorMessageIsNotDisplayed();
324
+ utilities.verifyInnerText(gridFillPage.noFileChosenLabel(), 'No file chosen');
325
325
  });
326
326
  });
327
327
 
@@ -42,14 +42,14 @@ describe('Create item page - Grid fill: Header section and Saving question', ()
42
42
  });
43
43
 
44
44
  describe('Validation error messages', () => {
45
- dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please set points']);
45
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please set points.']);
46
46
 
47
- it('Validation error messages and error icons should not be displayed below required input fields', () => {
47
+ it('Validation error messages should be displayed below required input fields', () => {
48
48
  gridFillPage.steps.verifyQuestionInstructionsErrorMessageIsNotDisplayed();
49
- gridFillPage.steps.verifyPointsFieldErrorMessageIsNotDisplayed();
50
- gridFillPage.steps.verifySpecifyCorrectAnswerErrorIconNotExists();
49
+ gridFillPage.steps.verifyWarningIconOnRequiredFields(['Please set points.']);
51
50
  });
52
51
 
52
+ //failed due to https://redmine.zeuslearning.com/issues/564243
53
53
  it('Validation error messages should disappear when required input fields are filled', () => {
54
54
  gridFillPage.steps.addTextInQuestionInstructionsInputField('Grid fill');
55
55
  gridFillPage.steps.selectCellSpecifyCorrectAnswerSection(0, 0);
@@ -190,4 +190,43 @@ describe('Create item page - Grid fill: All or nothing with alternative answers'
190
190
  gridFillPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');*/
191
191
  });
192
192
  });
193
+
194
+ describe('Save as you go: Auto Scored - All or nothing with alternate answer - When Alternative answer has points that are more than Correct answer points and alternative answer is a blank response', () => {
195
+ abortEarlySetup();
196
+ before(() => {
197
+ gridFillPage.steps.navigateToCreateQuestion('grid fill');
198
+ cy.barsPreLoaderWait();
199
+ gridFillPage.steps.allotPoints(10);
200
+ gridFillPage.steps.selectCellSpecifyCorrectAnswerSection(0, 0);
201
+ gridFillPage.steps.selectCellSpecifyCorrectAnswerSection(0, 1);
202
+ gridFillPage.steps.addAlternativeAnswerAccordion(1);
203
+ gridFillPage.steps.allotPoints(20);
204
+ gridFillPage.steps.switchToPreviewTab();
205
+ gridFillPage.steps.switchToGradingView();
206
+ });
207
+ //Save as You go - Blank Response points Greater than Correct Response points
208
+ it('When user has not attempted the question then user should not be awarded any points not even for blank response', () => {
209
+ gridFillPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
210
+ gridFillPage.steps.verifyPreviewScore(0, 20);
211
+
212
+ });
213
+
214
+ it('When user has attempted the correct response then user should be awarded the alloted points for correct response', () => {
215
+ gridFillPage.steps.selectCellPreviewTab(0, 0);
216
+ gridFillPage.steps.selectCellPreviewTab(0, 1);
217
+ gridFillPage.steps.verifyCorrectResponseIconPreviewTab(0, 0);
218
+ gridFillPage.steps.verifyCorrectResponseIconPreviewTab(0, 1);
219
+ gridFillPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
220
+ gridFillPage.steps.verifyCorrectAnswerSectionNotExists();
221
+ gridFillPage.steps.verifyPreviewScore(10, 20);
222
+ });
223
+
224
+ it('When user has attempted the blank response by selecting and unselecting then user should be awarded the alloted points for blank response', () => {
225
+ gridFillPage.steps.selectCellPreviewTab(0, 0);
226
+ gridFillPage.steps.selectCellPreviewTab(0, 1);
227
+ gridFillPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
228
+ gridFillPage.steps.verifyCorrectAnswerSectionNotExists();
229
+ gridFillPage.steps.verifyPreviewScore(20, 20);
230
+ });
231
+ });
193
232
  });
@@ -191,4 +191,43 @@ describe('Create item page - Grid fill: All or nothing with alternative answers'
191
191
  gridFillPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');*/
192
192
  });
193
193
  });
194
+
195
+ describe('Save as you go: Auto Scored - All or nothing with alternate answer - When Correct answer points are equal to Alternative answer points and alternative answer is a blank response', () => {
196
+ abortEarlySetup();
197
+ before(() => {
198
+ gridFillPage.steps.navigateToCreateQuestion('grid fill');
199
+ cy.barsPreLoaderWait();
200
+ gridFillPage.steps.allotPoints(10);
201
+ gridFillPage.steps.selectCellSpecifyCorrectAnswerSection(0, 0);
202
+ gridFillPage.steps.selectCellSpecifyCorrectAnswerSection(0, 1);
203
+ gridFillPage.steps.addAlternativeAnswerAccordion(1);
204
+ gridFillPage.steps.allotPoints(10);
205
+ gridFillPage.steps.switchToPreviewTab();
206
+ gridFillPage.steps.switchToGradingView();
207
+ });
208
+
209
+ //Save as You go - Blank Response points equal to Correct Response points
210
+ it('When user has not attempted the question then user should not be awarded any points not even for blank response', () => {
211
+ gridFillPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
212
+ gridFillPage.steps.verifyPreviewScore(0, 10);
213
+ });
214
+
215
+ it('When user has attempted the correct response then user should be awarded the alloted points for correct response', () => {
216
+ gridFillPage.steps.selectCellPreviewTab(0, 0);
217
+ gridFillPage.steps.selectCellPreviewTab(0, 1);
218
+ gridFillPage.steps.verifyCorrectResponseIconPreviewTab(0, 0);
219
+ gridFillPage.steps.verifyCorrectResponseIconPreviewTab(0, 1);
220
+ gridFillPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
221
+ gridFillPage.steps.verifyCorrectAnswerSectionNotExists();
222
+ gridFillPage.steps.verifyPreviewScore(10, 10);
223
+ });
224
+
225
+ it('When user has attempted the blank response by selecting and unselecting then user should be awarded the alloted points for blank response', () => {
226
+ gridFillPage.steps.selectCellPreviewTab(0, 0);
227
+ gridFillPage.steps.selectCellPreviewTab(0, 1);
228
+ gridFillPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
229
+ gridFillPage.steps.verifyCorrectAnswerSectionNotExists();
230
+ gridFillPage.steps.verifyPreviewScore(10,10);
231
+ });
232
+ });
194
233
  });
@@ -260,4 +260,43 @@ describe('Create item page - grid fill: All or nothing with alternative answers'
260
260
  gridFillPage.steps.verifyPreviewScore(13, 20);
261
261
  });
262
262
  });
263
+
264
+ describe('Save as you go: Auto Scored - All or nothing with alternate answer - When Correct answer points are more than Alternative answer points and alternative answer is a blank response', () => {
265
+ abortEarlySetup();
266
+ before(() => {
267
+ gridFillPage.steps.navigateToCreateQuestion('grid fill');
268
+ cy.barsPreLoaderWait();
269
+ gridFillPage.steps.allotPoints(20);
270
+ gridFillPage.steps.selectCellSpecifyCorrectAnswerSection(0, 0);
271
+ gridFillPage.steps.selectCellSpecifyCorrectAnswerSection(0, 1);
272
+ gridFillPage.steps.addAlternativeAnswerAccordion(1);
273
+ gridFillPage.steps.allotPoints(10);
274
+ gridFillPage.steps.switchToPreviewTab();
275
+ gridFillPage.steps.switchToGradingView();
276
+ });
277
+
278
+ // Save as You go - Blank Response points less than Correct Response points
279
+ it('When user has not attempted the question then user should not be awarded any points not even for blank response', () => {
280
+ gridFillPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
281
+ gridFillPage.steps.verifyPreviewScore(0, 20);
282
+ });
283
+
284
+ it('When user has attempted the correct response then user should be awarded the alloted points for correct response', () => {
285
+ gridFillPage.steps.selectCellPreviewTab(0, 0);
286
+ gridFillPage.steps.selectCellPreviewTab(0, 1);
287
+ gridFillPage.steps.verifyCorrectResponseIconPreviewTab(0, 0);
288
+ gridFillPage.steps.verifyCorrectResponseIconPreviewTab(0, 1);
289
+ gridFillPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
290
+ gridFillPage.steps.verifyCorrectAnswerSectionNotExists();
291
+ gridFillPage.steps.verifyPreviewScore(20, 20);
292
+ });
293
+
294
+ it('When user has attempted the blank response by selecting and unselecting then user should be awarded the alloted points for blank response', () => {
295
+ gridFillPage.steps.selectCellPreviewTab(0, 0);
296
+ gridFillPage.steps.selectCellPreviewTab(0, 1);
297
+ gridFillPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
298
+ gridFillPage.steps.verifyCorrectAnswerSectionNotExists();
299
+ gridFillPage.steps.verifyPreviewScore(10, 20);
300
+ });
301
+ });
263
302
  });
@@ -142,4 +142,41 @@ describe('Create item page - Grid fill : All or nothing with alternate accordion
142
142
  gridFillPage.steps.verifyCorrectAnswerSectionNotExists();*/
143
143
  });
144
144
  });
145
+
146
+ describe('Save as you go - Handling blank responses for Cell shade count with alternate answers', () => {
147
+ abortEarlySetup();
148
+ before(() => {
149
+ gridFillPage.steps.navigateToCreateQuestion('grid fill');
150
+ cy.barsPreLoaderWait();
151
+ gridFillPage.steps.uncheckMatchExactPositionOfCellsCheckbox();
152
+ gridFillPage.steps.addInputToCellShadeCountInputField(2);
153
+ gridFillPage.steps.allotPoints(10);
154
+ gridFillPage.steps.clickOnAddAlternativeAnswerButton();
155
+ gridFillPage.steps.allotPoints(5);
156
+ gridFillPage.steps.uncheckMatchExactPositionOfCellsCheckbox();
157
+ gridFillPage.steps.switchToPreviewTab();
158
+ gridFillPage.steps.switchToGradingView();
159
+ });
160
+
161
+ it('When user has not attempted the question, no correct/incorrect status message should exist and score should be 0/10', () => {
162
+ gridFillPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
163
+ gridFillPage.steps.verifyPreviewScore(0, 10);
164
+ });
165
+
166
+ it('When user selects the exact number of cells corresponding to the correct answer, full points should be awarded', () => {
167
+ gridFillPage.steps.selectCellPreviewTab(0, 0);
168
+ gridFillPage.steps.selectCellPreviewTab(0, 1);
169
+ gridFillPage.steps.verifyPreviewScore(10, 10);
170
+ gridFillPage.steps.verifyCorrectIncorrectStatusMessageExists();
171
+ gridFillPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
172
+ });
173
+
174
+ it('When user toggles the same cells (providing a blank response), alternative answer points should be awarded', () => {
175
+ gridFillPage.steps.selectCellPreviewTab(0, 0);
176
+ gridFillPage.steps.selectCellPreviewTab(0, 1);
177
+ gridFillPage.steps.verifyPreviewScore(5, 10);
178
+ gridFillPage.steps.verifyCorrectIncorrectStatusMessageExists();
179
+ gridFillPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
180
+ });
181
+ });
145
182
  });
@@ -141,5 +141,44 @@ describe('Create item page - Grid fill : All or nothing with alternative answer
141
141
  gridFillPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
142
142
  gridFillPage.steps.verifyCorrectAnswerSectionNotExists();*/
143
143
  });
144
+
145
+ });
146
+
147
+ describe('Save as you go: Cell shade count - Auto Scored - All or nothing with alternate answer - When Correct answer points are equal to Alternative answer points and alternative answer is a blank response', () => {
148
+ abortEarlySetup();
149
+ before(() => {
150
+ gridFillPage.steps.navigateToCreateQuestion('grid fill');
151
+ cy.barsPreLoaderWait();
152
+ gridFillPage.steps.uncheckMatchExactPositionOfCellsCheckbox();
153
+ gridFillPage.steps.addInputToCellShadeCountInputField(2);
154
+ gridFillPage.steps.allotPoints(10);
155
+ gridFillPage.steps.clickOnAddAlternativeAnswerButton();
156
+ gridFillPage.steps.allotPoints(10);
157
+ gridFillPage.steps.uncheckMatchExactPositionOfCellsCheckbox();
158
+ gridFillPage.steps.switchToPreviewTab();
159
+ gridFillPage.steps.switchToGradingView();
160
+ });
161
+
162
+ // Save as You go - Blank Response points equal to Correct Response points for Cell shade count
163
+ it('When user has not attempted the question then user should not be awarded any points not even for blank response', () => {
164
+ gridFillPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
165
+ gridFillPage.steps.verifyPreviewScore(0, 10);
166
+ });
167
+
168
+ it('When user has attempted the correct response then user should be awarded the alloted points for correct response', () => {
169
+ gridFillPage.steps.selectCellPreviewTab(0, 0);
170
+ gridFillPage.steps.selectCellPreviewTab(0, 1);
171
+ gridFillPage.steps.verifyPreviewScore(10, 10);
172
+ gridFillPage.steps.verifyCorrectIncorrectStatusMessageExists();
173
+ gridFillPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
174
+ });
175
+
176
+ it('When user has attempted the blank response by selecting and unselecting then user should be awarded the alloted points for blank response', () => {
177
+ gridFillPage.steps.selectCellPreviewTab(0, 0);
178
+ gridFillPage.steps.selectCellPreviewTab(0, 1);
179
+ gridFillPage.steps.verifyPreviewScore(10, 10);
180
+ gridFillPage.steps.verifyCorrectIncorrectStatusMessageExists();
181
+ gridFillPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
182
+ });
144
183
  });
145
184
  });