itemengine-cypress-automation 1.0.355 → 1.0.356-capture-image-8b4830c.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 (250) hide show
  1. package/Dockerfile +1 -0
  2. package/cypress/e2e/ILC/AudioResponseNew/editTabBasicSection.js +4 -16
  3. package/cypress/e2e/ILC/BrainingCampManipulative/editTabBasicSection.js +1 -1
  4. package/cypress/e2e/ILC/BrowseItems/browseReviewItems.js +49 -11
  5. package/cypress/e2e/ILC/BrowseItems/browseThinkSphereItems.js +4 -3
  6. package/cypress/e2e/ILC/BrowseItems/browseThinkSphereItemsMobileView.js +4 -3
  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 +2 -2
  10. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +1 -0
  11. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +1 -0
  12. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +1 -0
  13. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -0
  14. package/cypress/e2e/ILC/ChartsBar/editTabBasicSection.js +37 -0
  15. package/cypress/e2e/ILC/ChartsBar/headerSection.js +50 -2
  16. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightBasic.js +1 -0
  17. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +1 -0
  18. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +1 -0
  19. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +1 -0
  20. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -0
  21. package/cypress/e2e/ILC/ChartsLine/editQuestion.smoke.js +3 -1
  22. package/cypress/e2e/ILC/ChartsLine/headerSection.js +18 -1
  23. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddFeatureRadioButton.js +2 -3
  24. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddTranscriptRadioButton .js +2 -4
  25. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabStudentViewSettings.js +3 -3
  26. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerHeaderSectionAndButtons.js +2 -2
  27. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTab.js +1 -1
  28. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabSupportedFileTypes.js +6 -0
  29. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabTranscript.js +2 -3
  30. package/cypress/e2e/ILC/CkEditorEquationEditor/equationEditorBasicFile.js +4 -4
  31. package/cypress/e2e/ILC/CkEditorInsertImage/imageInfo.js +4 -4
  32. package/cypress/e2e/ILC/CkEditorInsertTable/tableDimension&FooterProperties.js +3 -3
  33. package/cypress/e2e/ILC/CkEditorInsertTable/tableStyle.js +11 -11
  34. package/cypress/e2e/ILC/CkEditorLink/uploadSection.js +1 -1
  35. package/cypress/e2e/ILC/ContentBlocks/editTabBasics.js +62 -4
  36. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +119 -10
  37. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabScoring.js +1 -0
  38. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/headerSection.js +2 -0
  39. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/manuallyAndNonScoredScoringEditTab.js +4 -1
  40. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +3 -0
  41. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/pagination.js +1 -1
  42. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/styleAndLayoutCustomizationLayoutProperties.js +3 -0
  43. package/cypress/e2e/ILC/DrawingResponse/drawingResponseAdditionalSettings.js +1 -0
  44. package/cypress/e2e/ILC/DrawingResponse/drawingResponseBackground.js +2 -8
  45. package/cypress/e2e/ILC/DrawingResponse/drawingResponseCustomizeAdditionalOptions.js +1 -0
  46. package/cypress/e2e/ILC/DrawingResponse/drawingResponseEditTabBasicSection.js +3 -3
  47. package/cypress/e2e/ILC/DrawingResponse/drawingResponsePreviewTabContents.smoke.js +1 -3
  48. package/cypress/e2e/ILC/EssayResponse/createCustomCategory.smoke.js +1 -1
  49. package/cypress/e2e/ILC/EssayResponse/editCategoryFlyout.js +0 -1
  50. package/cypress/e2e/ILC/EssayResponse/editTabBasicSections.js +23 -37
  51. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +210 -0
  52. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editQuestion.smoke.js +40 -0
  53. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +216 -0
  54. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editQuestion.smoke.js +45 -0
  55. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/allOrNothingForAllViews.smoke.js +213 -0
  56. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/backgroundImageAndCanvasProperties.js +1 -0
  57. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/supportedFileTypes.js +3 -1
  58. package/cypress/e2e/ILC/FillInTheGapsTextNew/allOrNothingForAllViews.smoke.js +207 -0
  59. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +73 -0
  60. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +38 -0
  61. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +38 -0
  62. package/cypress/e2e/ILC/Graphing/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +87 -0
  63. package/cypress/e2e/ILC/Graphing/checkAddAlternativeButton.js +35 -0
  64. package/cypress/e2e/ILC/Graphing/editQuestion.smoke.js +28 -0
  65. package/cypress/e2e/ILC/Graphing/editTabBasicSection.js +38 -0
  66. package/cypress/e2e/ILC/Graphing/editTabScoringSection.js +1 -0
  67. package/cypress/e2e/ILC/Graphing/headerSection.js +36 -4
  68. package/cypress/e2e/ILC/Graphing/layoutAndGridOptions.js +6 -3
  69. package/cypress/e2e/ILC/GridFill/addAlternateButton.js +40 -0
  70. package/cypress/e2e/ILC/GridFill/customizeLayoutFillImageBackgroundImage.js +5 -6
  71. package/cypress/e2e/ILC/GridFill/customizeLayoutSectionShadeCellsGridBorders.js +2 -0
  72. package/cypress/e2e/ILC/GridFill/editTabScoringSection.js +3 -0
  73. package/cypress/e2e/ILC/GridFill/headerSection.js +1 -3
  74. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +39 -0
  75. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  76. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +39 -0
  77. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountAllOrNothingCorrectPointsGreaterThanAlternativePoints.js +37 -0
  78. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountallOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  79. package/cypress/e2e/ILC/GridFill/scoring/cellshadeCountAllOrNothingAlternativePointsGreaterThanCorrectPoints.js +36 -0
  80. package/cypress/e2e/ILC/GridFill/scoring/checkLabelSaveAsYouGo.js +75 -0
  81. package/cypress/e2e/ILC/GridFill/specifyCorrectAnswerSection.js +2 -4
  82. package/cypress/e2e/ILC/ImageHighlight/Scoring/partialDifferentWeightsScoring.js +2 -1
  83. package/cypress/e2e/ILC/ImageHighlight/headerSection.js +2 -1
  84. package/cypress/e2e/ILC/ImageHighlight/studentViewSettings.js +2 -2
  85. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +24 -0
  86. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +24 -0
  87. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +24 -0
  88. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +86 -0
  89. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +1 -1
  90. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +1 -1
  91. package/cypress/e2e/ILC/ListOrderingDropdown/checkAddAlternativeButton.js +35 -0
  92. package/cypress/e2e/ILC/ListOrderingDropdown/editTabBasicSection.js +24 -0
  93. package/cypress/e2e/ILC/ListOrderingDropdown/headerSection.js +108 -0
  94. package/cypress/e2e/ILC/ListOrderingDropdown/specifyCorrectAnswerSection.js +6 -10
  95. package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/specifyCorrectAnswerSection.js +2 -1
  96. package/cypress/e2e/ILC/ListOrderingNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +52 -0
  97. package/cypress/e2e/ILC/ListOrderingNew/editTabBasicSection.js +23 -0
  98. package/cypress/e2e/ILC/ListOrderingNew/headerSection.js +35 -9
  99. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +41 -0
  100. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +30 -0
  101. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +50 -0
  102. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +101 -0
  103. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/checkAddAlternativeButton.js +38 -0
  104. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabBasicSection.js +24 -0
  105. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabScoring.js +4 -1
  106. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/headerSection.js +35 -1
  107. package/cypress/e2e/ILC/Matching/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +98 -0
  108. package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +210 -0
  109. package/cypress/e2e/ILC/Matching/checkAlternativeButton.js +38 -0
  110. package/cypress/e2e/ILC/Matching/clickAndDrop.js +3 -5
  111. package/cypress/e2e/ILC/Matching/draggableOptions.js +4 -0
  112. package/cypress/e2e/ILC/Matching/editTabBasicSection.js +41 -0
  113. package/cypress/e2e/ILC/Matching/headerSection.js +36 -11
  114. package/cypress/e2e/ILC/Matching/questionInstructionsAndPromptSection.js +2 -15
  115. package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +208 -0
  116. package/cypress/e2e/ILC/MultipleSelection/allOrNothingBasicForAllViews.smoke.js +227 -0
  117. package/cypress/e2e/ILC/MultipleSelection/checkScoringLabelBannerAndCorrectAnswer.js +2 -0
  118. package/cypress/e2e/ILC/MultipleSelection/editTabScoringSection.js +1 -0
  119. package/cypress/e2e/ILC/MultipleSelection/partialDifferentWeightsWithAlternativeAnswer.js +69 -67
  120. package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswer.js +1 -0
  121. package/cypress/e2e/ILC/MultipleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +220 -0
  122. package/cypress/e2e/ILC/MultipleSelectionGridNew/editTabScoringSection.js +6 -0
  123. package/cypress/e2e/ILC/MultipleSelectionGridNew/previewContentsForAllViews.smoke.js +100 -69
  124. package/cypress/e2e/ILC/MultipleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +1 -0
  125. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +79 -0
  126. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +42 -0
  127. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +42 -0
  128. package/cypress/e2e/ILC/NumberLine/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +75 -0
  129. package/cypress/e2e/ILC/NumberLine/checkAddAlternativeButton.js +32 -0
  130. package/cypress/e2e/ILC/NumberLine/editTabSection.js +38 -0
  131. package/cypress/e2e/ILC/NumberLine/headerSection.js +33 -4
  132. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +81 -0
  133. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +43 -0
  134. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +43 -0
  135. package/cypress/e2e/ILC/NumberLineLabel/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +76 -0
  136. package/cypress/e2e/ILC/NumberLineLabel/additionalSettingsBasic.js +1 -1
  137. package/cypress/e2e/ILC/NumberLineLabel/checkAddAlternativeButton.js +34 -0
  138. package/cypress/e2e/ILC/NumberLineLabel/editTabSection.js +38 -0
  139. package/cypress/e2e/ILC/NumberLineLabel/headerSection.js +37 -5
  140. package/cypress/e2e/ILC/NumberLineLabel/manuallyAndNonScoredEditTab.js +2 -1
  141. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/editQuestion.smoke.js +1 -1
  142. package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +35 -51
  143. package/cypress/e2e/ILC/ShortTextResponseNew/headerSection.js +2 -4
  144. package/cypress/e2e/ILC/SingleSelection/allOrNothingBasicForAllViews.smoke.js +192 -0
  145. package/cypress/e2e/ILC/SingleSelection/checkScoringLabelBannerAndCorrectAnswer.js +2 -0
  146. package/cypress/e2e/ILC/SingleSelection/manuallyAndNonScoredScoring.js +94 -88
  147. package/cypress/e2e/ILC/SingleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +3 -1
  148. package/cypress/e2e/ILC/SingleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +209 -0
  149. package/cypress/e2e/ILC/SingleSelectionGridNew/editTabScoringSection.js +5 -0
  150. package/cypress/e2e/ILC/SingleSelectionGridNew/previewContentsForAllViews.smoke.js +101 -70
  151. package/cypress/e2e/ILC/SingleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +8 -2
  152. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +86 -0
  153. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +86 -0
  154. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  155. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +3 -1
  156. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  157. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  158. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsScoringBasic.js +10 -3
  159. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +4 -2
  160. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +5 -3
  161. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  162. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsScoringBasic.js +4 -0
  163. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +64 -0
  164. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAddEvaluation.js +2 -0
  165. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAlternateAnswer.js +2 -0
  166. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +64 -0
  167. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  168. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  169. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  170. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  171. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsScoringBasic.js +8 -0
  172. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  173. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  174. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  175. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasic.js +1 -0
  176. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasicForAlternateAnswer.js +2 -0
  177. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +2 -0
  178. package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +27 -3
  179. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodEquivalentStructures.smoke.js +86 -0
  180. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchExact.smoke.js +97 -0
  181. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchValue.smoke.js +97 -0
  182. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodSymbolsAreEquivalent.smoke.js +167 -0
  183. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodValueIsEquivalent.smoke.js +167 -1
  184. package/cypress/e2e/ILC/TextEntryMath/headerSection.js +43 -0
  185. package/cypress/e2e/ILC/TextSelection/ScoringParagraph/checkScoringLabelBannerAndCorrectAnswerSection.js +0 -1
  186. package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyPossibleOptionsSection.js +7 -12
  187. package/cypress/e2e/ILC/ThinkSphere/additionalSettings.js +1 -1
  188. package/cypress/e2e/ILC/ThinkSphere/createReviewItem.js +58 -4
  189. package/cypress/e2e/ILC/ThinkSphere/editTabBasicSection.js +208 -13
  190. package/cypress/e2e/ILC/ThinkSphere/editThinkSphereQuestion.smoke.js +259 -9
  191. package/cypress/e2e/ILC/ThinkSphere/equationEditorCreateCustomCategory.smoke.js +417 -0
  192. package/cypress/e2e/ILC/ThinkSphere/equationEditorEditCategoryFlyOut.js +291 -0
  193. package/cypress/e2e/ILC/ThinkSphere/planPhase.js +409 -4
  194. package/cypress/e2e/ILC/ThinkSphere/previewTabPlanSection.js +541 -0
  195. package/cypress/e2e/ILC/ThinkSphere/previewTabReviewSection.js +97 -0
  196. package/cypress/e2e/ILC/ThinkSphere/solvePhase.js +39 -6
  197. package/cypress/e2e/ILC/ThinkSphere/studentViewPlanTabSection.js +393 -0
  198. package/cypress/e2e/ILC/ThinkSphere/studentViewReviewTabSection.js +141 -0
  199. package/cypress/e2e/ILC/ToolAudioPlayerNew/headerSection.js +90 -2
  200. package/cypress/e2e/ILC/UploadResponse/editTabBasicSection.js +34 -0
  201. package/cypress/e2e/ILC/UploadResponse/headerSection.js +38 -1
  202. package/cypress/e2e/ILC/UploadResponse/uploadResponsePreview.js +50 -13
  203. package/cypress/e2e/ILC/VideoResponseNew/editTabBasicSection.js +14 -29
  204. package/cypress/e2e/ILC/chartsDotsPlot/headerSection.js +16 -1
  205. package/cypress/e2e/Sessions/fetchResponses.js +3 -3
  206. package/cypress/e2e/applitools.config.js +3 -3
  207. package/cypress/fixtures/theme/ilc.json +5 -1
  208. package/cypress/fixtures/uploads/sample.webm +0 -0
  209. package/cypress/fixtures/uploads/sample.wmv +0 -0
  210. package/cypress/fixtures/uploads/sample30MB.mp4 +0 -0
  211. package/cypress/pages/audioPlayerPage.js +47 -22
  212. package/cypress/pages/brainingCampManipulativePage.js +1 -1
  213. package/cypress/pages/chartsBarPage.js +20 -0
  214. package/cypress/pages/components/additionalSettingsPanel.js +3 -2
  215. package/cypress/pages/components/autoScoredScoringSectionMultiResponseType.js +2 -0
  216. package/cypress/pages/components/browseItemsPage.js +109 -2
  217. package/cypress/pages/components/ckEditorEquationEditorComponent.js +5 -4
  218. package/cypress/pages/components/ckEditorInsertImageComponent.js +2 -2
  219. package/cypress/pages/components/ckEditorInsertTableComponent.js +3 -3
  220. package/cypress/pages/components/ckEditorLinkComponent.js +8 -9
  221. package/cypress/pages/components/commonComponents.js +4 -0
  222. package/cypress/pages/components/createQuestionBasePage.js +14 -1
  223. package/cypress/pages/components/defaultToolDropdown.js +1 -1
  224. package/cypress/pages/components/editCategoryFlyout.js +2 -2
  225. package/cypress/pages/components/equationEditorSectionCommonComponent.js +10 -25
  226. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +28 -0
  227. package/cypress/pages/components/gridQuestionCommonComponent.js +56 -0
  228. package/cypress/pages/components/mcqAdditionalSettingsBase.js +4 -0
  229. package/cypress/pages/components/questionInstructionsComponent.js +9 -0
  230. package/cypress/pages/components/scoringSectionBaseEditTab.js +4 -0
  231. package/cypress/pages/contentBlocksPage.js +2 -0
  232. package/cypress/pages/desmos3DGraphingPage.js +149 -4
  233. package/cypress/pages/desmosGeometryPage.js +184 -4
  234. package/cypress/pages/drawingResponsePage.js +2 -0
  235. package/cypress/pages/gradingViewPage.js +8 -0
  236. package/cypress/pages/graphingPage.js +27 -8
  237. package/cypress/pages/gridFillPage.js +15 -6
  238. package/cypress/pages/listOrderingPage.js +32 -1
  239. package/cypress/pages/matchingPage.js +26 -7
  240. package/cypress/pages/multipleSelectionPage.js +9 -1
  241. package/cypress/pages/numberLineLabelPage.js +31 -8
  242. package/cypress/pages/numberLinePage.js +19 -7
  243. package/cypress/pages/textEntryMathPage.js +24 -1
  244. package/cypress/pages/thinkSpherePage.js +925 -47
  245. package/cypress/pages/uploadResponsePage.js +17 -1
  246. package/cypress/pages/videoResponsePage.js +3 -0
  247. package/cypress/support/commands.js +9 -0
  248. package/cypress/support/helpers/createItem.js +668 -19
  249. package/cypress/support/helpers/utilities.js +35 -2
  250. package/package.json +3 -3
@@ -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
 
@@ -69,6 +69,9 @@ describe('Create item page - Multiple selection grid: Preview contents', () => {
69
69
  case 'Correct answer view':
70
70
  cy.visit(`/item-engine/demo/render-item/correct-answer-view/${utilities.base64Encoding(itemReferenceID)}`);
71
71
  break;
72
+ case 'Print preview':
73
+ cy.visit(`/item-engine/demo/render-item/print-view/${utilities.base64Encoding(itemReferenceID)}`);
74
+ break;
72
75
  default:
73
76
  throw new Error('Invalid view');
74
77
  }
@@ -86,26 +89,28 @@ describe('Create item page - Multiple selection grid: Preview contents', () => {
86
89
  }
87
90
  });
88
91
 
89
- it('Question instructions should be visible', () => {
90
- utilities.verifyInnerText(multipleSelectionGridPage.questionInstructionsText(), 'Please select where the following animals are found');
91
- utilities.verifyElementVisibilityState(multipleSelectionGridPage.questionInstructionsText(), 'visible');
92
- });
93
-
94
- it(`Multiple selection grid - The question grid as set by the user should be displayed in the ${view}`, () => {
95
- multipleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 0, column: 0 }, 'None');
96
- multipleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 0, column: 1 }, 'Heading');
97
- multipleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 0, column: 2 }, 'Heading');
98
- multipleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 1, column: 0 }, 'Heading');
99
- multipleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 1, column: 1 }, 'Checkbox with text');
100
- multipleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 2, column: 0 }, 'Subheading');
101
- multipleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 2, column: 2 }, 'No checkbox');
102
- multipleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 3, column: 0 }, 'Text');
103
- multipleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 3, column: 1 }, 'No checkbox');
104
- multipleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 4, column: 2 }, 'No checkbox');
105
- cy.eyesCheckWindow(`Multiple selection grid - ${view} - Question grid displayed`);
106
- });
92
+ if (view !== 'Print preview') {
93
+ it('Question instructions should be visible', () => {
94
+ utilities.verifyInnerText(multipleSelectionGridPage.questionInstructionsText(), 'Please select where the following animals are found');
95
+ utilities.verifyElementVisibilityState(multipleSelectionGridPage.questionInstructionsText(), 'visible');
96
+ });
97
+
98
+ it(`Multiple selection grid - The question grid as set by the user should be displayed in the ${view}`, () => {
99
+ multipleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 0, column: 0 }, 'None');
100
+ multipleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 0, column: 1 }, 'Heading');
101
+ multipleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 0, column: 2 }, 'Heading');
102
+ multipleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 1, column: 0 }, 'Heading');
103
+ multipleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 1, column: 1 }, 'Checkbox with text');
104
+ multipleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 2, column: 0 }, 'Subheading');
105
+ multipleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 2, column: 2 }, 'No checkbox');
106
+ multipleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 3, column: 0 }, 'Text');
107
+ multipleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 3, column: 1 }, 'No checkbox');
108
+ multipleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 4, column: 2 }, 'No checkbox');
109
+ cy.eyesCheckWindow(`Multiple selection grid - ${view} - Question grid displayed`);
110
+ });
111
+ }
107
112
 
108
- if (view !== 'Grading view' && view !== 'Correct answer view') {
113
+ if (view !== 'Grading view' && view !== 'Correct answer view' && view !== 'Print preview') {
109
114
  it(`When the user has added image, equation, bold text to the options, then they should be displayed in the grid in ${view}`, () => {
110
115
  multipleSelectionGridPage.steps.verifyTableCellWithImageInPreviewTab({ row: 1, column: 1 });
111
116
  multipleSelectionGridPage.steps.verifyTableCellWithBoldTextInPreviewTab({ row: 3, column: 1 });
@@ -126,6 +131,30 @@ describe('Create item page - Multiple selection grid: Preview contents', () => {
126
131
  it('The content in the grid should not be editable', () => {
127
132
  multipleSelectionGridPage.steps.verifyOptionDisabledState({ row: 1, column: 1 });
128
133
  });
134
+ } else if (view === 'Print preview') {
135
+ it('Question number should be visible', () => {
136
+ utilities.verifyInnerText(multipleSelectionGridPage.questionNumberPrintPreviewText(), '1');
137
+ utilities.verifyElementVisibilityState(multipleSelectionGridPage.questionNumberPrintPreviewText(), 'visible');
138
+ });
139
+
140
+ it('Question instructions should be visible', () => {
141
+ utilities.verifyInnerText(multipleSelectionGridPage.questionInstructionsPrintPreviewText(), 'Please select where the following animals are found');
142
+ utilities.verifyElementVisibilityState(multipleSelectionGridPage.questionInstructionsPrintPreviewText(), 'visible');
143
+ });
144
+
145
+ it(`Multiple selection - grid ${view} - The question grid as set by the user should be displayed in the ${view}`, () => {
146
+ multipleSelectionGridPage.steps.verifyTableCellPropertyPrintPreviewTab({ row: 0, column: 0 }, 'None');
147
+ multipleSelectionGridPage.steps.verifyTableCellPropertyPrintPreviewTab({ row: 0, column: 1 }, 'Heading');
148
+ multipleSelectionGridPage.steps.verifyTableCellPropertyPrintPreviewTab({ row: 0, column: 2 }, 'Heading');
149
+ multipleSelectionGridPage.steps.verifyTableCellPropertyPrintPreviewTab({ row: 1, column: 0 }, 'Heading');
150
+ multipleSelectionGridPage.steps.verifyTableCellPropertyPrintPreviewTab({ row: 1, column: 1 }, 'Radio button with text');
151
+ multipleSelectionGridPage.steps.verifyTableCellPropertyPrintPreviewTab({ row: 2, column: 0 }, 'Subheading');
152
+ multipleSelectionGridPage.steps.verifyTableCellPropertyPrintPreviewTab({ row: 2, column: 2 }, 'No radio button');
153
+ multipleSelectionGridPage.steps.verifyTableCellPropertyPrintPreviewTab({ row: 3, column: 0 }, 'Text');
154
+ multipleSelectionGridPage.steps.verifyTableCellPropertyPrintPreviewTab({ row: 3, column: 1 }, 'No radio button');
155
+ multipleSelectionGridPage.steps.verifyTableCellPropertyPrintPreviewTab({ row: 4, column: 2 }, 'No radio button');
156
+ cy.eyesCheckWindow(`Single selection - grid ${view} - Question grid displayed`);
157
+ });
129
158
  } else {
130
159
  it(`The correct options should be in checked state, correct icons should be displayed besides them, correct background should be displayed behind the option`, () => {
131
160
  multipleSelectionGridPage.steps.verifyOptionWithCheckboxSelectedState({ row: 1, column: 0 });
@@ -139,56 +168,58 @@ describe('Create item page - Multiple selection grid: Preview contents', () => {
139
168
  });
140
169
  }
141
170
 
142
- it('CSS of preview contents', { tags: 'css' }, () => {
143
- multipleSelectionGridPage.gridPreviewTab()
144
- .within(() => {
145
- utilities.verifyCSS(utilities.getNthElement(multipleSelectionGridPage.tableCell().parent(), 1), {
146
- 'background-color': css.color.matrixHeadingCellBg,
147
- 'border-bottom-color': `${css.color.matrixCellBorder}`
148
- });
149
- utilities.verifyCSS(utilities.getNthElement(multipleSelectionGridPage.tableCell().parent(), 6), {
150
- 'background-color': css.color.matrixSubheadingCellBg,
151
- 'border-color': `${css.color.matrixCellBorder}`
152
- });
153
- utilities.verifyCSS(utilities.getNthElement(multipleSelectionGridPage.tableCell().parent(), 9), {
154
- 'background-color': css.color.defaultBackground,
155
- 'border-color': `${css.color.matrixCellBorder}`
156
- });
157
- utilities.verifyCSS(utilities.getNthElement(multipleSelectionGridPage.tableCell(), 1).find('.question-text-wrapper'), {
158
- 'color': css.color.text,
159
- 'font-size': css.fontSize.heading,
160
- 'font-weight': css.fontWeight.bold
161
- });
162
- utilities.verifyCSS(utilities.getNthElement(multipleSelectionGridPage.tableCell(), 6).find('.question-text-wrapper'), {
163
- 'color': css.color.text,
164
- 'font-size': css.fontSize.default,
165
- 'font-weight': css.fontWeight.bold
166
- });
167
- utilities.verifyCSS(utilities.getNthElement(multipleSelectionGridPage.tableCell(), 9).find('.question-text-wrapper'), {
168
- 'color': css.color.text,
169
- 'font-size': css.fontSize.default,
170
- 'font-weight': css.fontWeight.regular
171
+ if (view !== 'Print preview') {
172
+ it('CSS of preview contents', { tags: 'css' }, () => {
173
+ multipleSelectionGridPage.gridPreviewTab()
174
+ .within(() => {
175
+ utilities.verifyCSS(utilities.getNthElement(multipleSelectionGridPage.tableCell().parent(), 1), {
176
+ 'background-color': css.color.matrixHeadingCellBg,
177
+ 'border-bottom-color': `${css.color.matrixCellBorder}`
178
+ });
179
+ utilities.verifyCSS(utilities.getNthElement(multipleSelectionGridPage.tableCell().parent(), 6), {
180
+ 'background-color': css.color.matrixSubheadingCellBg,
181
+ 'border-color': `${css.color.matrixCellBorder}`
182
+ });
183
+ utilities.verifyCSS(utilities.getNthElement(multipleSelectionGridPage.tableCell().parent(), 9), {
184
+ 'background-color': css.color.defaultBackground,
185
+ 'border-color': `${css.color.matrixCellBorder}`
186
+ });
187
+ utilities.verifyCSS(utilities.getNthElement(multipleSelectionGridPage.tableCell(), 1).find('.question-text-wrapper'), {
188
+ 'color': css.color.text,
189
+ 'font-size': css.fontSize.heading,
190
+ 'font-weight': css.fontWeight.bold
191
+ });
192
+ utilities.verifyCSS(utilities.getNthElement(multipleSelectionGridPage.tableCell(), 6).find('.question-text-wrapper'), {
193
+ 'color': css.color.text,
194
+ 'font-size': css.fontSize.default,
195
+ 'font-weight': css.fontWeight.bold
196
+ });
197
+ utilities.verifyCSS(utilities.getNthElement(multipleSelectionGridPage.tableCell(), 9).find('.question-text-wrapper'), {
198
+ 'color': css.color.text,
199
+ 'font-size': css.fontSize.default,
200
+ 'font-weight': css.fontWeight.regular
201
+ });
171
202
  });
172
- });
173
- switch (view) {
174
- case 'Question preview':
175
- case 'Item preview':
176
- case 'Item view':
177
- case 'Item preview':
178
- case 'Student view':
179
- break;
180
- case 'Grading view':
181
- case 'Correct answer view':
182
- utilities.verifyCSS(utilities.getNthElement(multipleSelectionGridPage.tableCell(), 10).find('.question-text-wrapper strong'), {
183
- 'color': css.color.successBtn,
184
- 'font-size': css.fontSize.default,
185
- 'font-weight': css.fontWeight.bold
186
- });
187
- break;
188
- default:
189
- throw new Error('Invalid view');
190
- }
191
- });
203
+ switch (view) {
204
+ case 'Question preview':
205
+ case 'Item preview':
206
+ case 'Item view':
207
+ case 'Item preview':
208
+ case 'Student view':
209
+ break;
210
+ case 'Grading view':
211
+ case 'Correct answer view':
212
+ utilities.verifyCSS(utilities.getNthElement(multipleSelectionGridPage.tableCell(), 10).find('.question-text-wrapper strong'), {
213
+ 'color': css.color.successBtn,
214
+ 'font-size': css.fontSize.default,
215
+ 'font-weight': css.fontWeight.bold
216
+ });
217
+ break;
218
+ default:
219
+ throw new Error('Invalid view');
220
+ }
221
+ });
222
+ }
192
223
 
193
224
  //Failing due to https://weldnorthed.atlassian.net/browse/IEI-4738
194
225
  it.skip('Accessibility of preview tab', { tags: 'a11y' }, () => {
@@ -38,6 +38,7 @@ describe('Multiple selection grid - Additional settings', () => {
38
38
  multipleSelectionGridPage.steps.navigateToCreateQuestion('multiple selection grid');
39
39
  cy.barsPreLoaderWait();
40
40
  multipleSelectionGridPage.steps.expandStyleAndLayoutCustomizationAccordion();
41
+ multipleSelectionGridPage.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.');
41
42
  });
42
43
 
43
44
  multipleSelectionGridPage.tests.verifyRowAndColumnSpacingFunctionalityPreviewTab();
@@ -235,4 +235,83 @@ describe('Create Item page - Number line: All or nothing with alternative answer
235
235
  numberLinePage.steps.verifyCorrectAnswerSectionNotExist();*/
236
236
  });
237
237
  });
238
+
239
+ 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', () => {
240
+ abortEarlySetup();
241
+ before(() => {
242
+ numberLinePage.steps.navigateToCreateQuestion('Number line');
243
+ cy.barsPreLoaderWait();
244
+ numberLinePage.steps.addTextInQuestionInstructionsInputField('Plot points on the number line');
245
+ numberLinePage.steps.selectNumberLineToolOptionSpecifyCorrectAnswer('Point');
246
+ numberLinePage.steps.allotPoints(12);
247
+ numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("horizontal", range, 0);
248
+ numberLinePage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [0]);
249
+ numberLinePage.steps.addAlternativeAnswerAccordion(1);
250
+ numberLinePage.steps.allotPoints(20);
251
+ numberLinePage.steps.switchToPreviewTab();
252
+ });
253
+
254
+ 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', () => {
255
+ numberLinePage.steps.plotPointOnNumberLinePreviewTab("horizontal", range, 0);
256
+ numberLinePage.steps.verifyPreviewScore(12, 20);
257
+ numberLinePage.steps.switchToGradingView();
258
+ numberLinePage.steps.verifyCorrectIncorrectAnswerLabel('correct');
259
+ numberLinePage.steps.verifyCorrectAnswerSectionNotExist();
260
+ numberLinePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
261
+ });
262
+
263
+ it('When user resets the option then full score should be awarded as alternative accordion has blank response', () => {
264
+ numberLinePage.steps.resetQuestionPreview();
265
+ numberLinePage.steps.plotPointOnNumberLinePreviewTab("horizontal", range, 0);
266
+ numberLinePage.steps.selectNumberLineControlOptionPreviewTab('Delete');
267
+ numberLinePage.steps.plotPointOnNumberLinePreviewTab("horizontal", range, 0);
268
+ numberLinePage.steps.verifyPreviewScore(20, 20);
269
+ numberLinePage.steps.switchToGradingView();
270
+ numberLinePage.steps.verifyCorrectIncorrectAnswerLabel('correct');
271
+ numberLinePage.steps.verifyCorrectAnswerSectionNotExist();
272
+ numberLinePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
273
+ })
274
+ });
275
+
276
+ describe('Question Preview: AutoScored - All or Nothing with blank scoring: When alternative answer points are more than correct answer points and correct answer has no points plotted', () => {
277
+ abortEarlySetup();
278
+ before(() => {
279
+ numberLinePage.steps.navigateToCreateQuestion('Number line');
280
+ cy.barsPreLoaderWait();
281
+ numberLinePage.steps.addTextInQuestionInstructionsInputField('Plot points on the number line');
282
+ numberLinePage.steps.selectNumberLineToolOptionSpecifyCorrectAnswer('Point');
283
+ numberLinePage.steps.allotPoints(12);
284
+ numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("horizontal", range, 0);
285
+ numberLinePage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [0]);
286
+ numberLinePage.steps.addAlternativeAnswerAccordion(1);
287
+ numberLinePage.steps.allotPoints(20);
288
+ numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("horizontal", range, 0);
289
+ numberLinePage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [0]);
290
+ numberLinePage.steps.expandCorrectAnswerAccordion();
291
+ numberLinePage.steps.selectNumberLineControlOptionSpecifyCorrectAnswerSection('Delete');
292
+ numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("horizontal", range, 0);
293
+ numberLinePage.steps.switchToPreviewTab();
294
+ })
295
+
296
+ it('When user attempts the question with responses from the correct accordion i.e select and resets an option, 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', () => {
297
+ numberLinePage.steps.plotPointOnNumberLinePreviewTab("horizontal", range, 0);
298
+ numberLinePage.steps.selectNumberLineControlOptionPreviewTab('Delete');
299
+ numberLinePage.steps.plotPointOnNumberLinePreviewTab("horizontal", range, 0);
300
+ numberLinePage.steps.verifyPreviewScore(12, 20);
301
+ numberLinePage.steps.switchToGradingView();
302
+ numberLinePage.steps.verifyCorrectIncorrectAnswerLabel('correct');
303
+ numberLinePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
304
+ })
305
+
306
+ it('When user attempts the question with responses from the alternative accordion then full score should be awarded', () => {
307
+ numberLinePage.steps.resetQuestionPreview();
308
+ numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Point');
309
+ numberLinePage.steps.plotPointOnNumberLinePreviewTab("horizontal", range, 0);
310
+ numberLinePage.steps.verifyPreviewScore(20, 20);
311
+ numberLinePage.steps.switchToGradingView();
312
+ numberLinePage.steps.verifyCorrectIncorrectAnswerLabel('correct');
313
+ numberLinePage.steps.verifyCorrectAnswerSectionNotExist();
314
+ numberLinePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
315
+ })
316
+ })
238
317
  });
@@ -238,4 +238,46 @@ describe('Create Item page - Number line: All or nothing with alternative answer
238
238
  numberLinePage.steps.verifyCorrectAnswerSectionNotExist();*/
239
239
  });
240
240
  });
241
+
242
+ describe('Question Preview: AutoScored - All or Nothing with blank scoring: When alternative answer points are equal than correct answer points', () => {
243
+ abortEarlySetup();
244
+ before(() => {
245
+ numberLinePage.steps.navigateToCreateQuestion('Number line');
246
+ cy.barsPreLoaderWait();
247
+ numberLinePage.steps.addTextInQuestionInstructionsInputField('Plot points on the number line');
248
+ numberLinePage.steps.selectNumberLineToolOptionSpecifyCorrectAnswer('Point');
249
+ numberLinePage.steps.allotPoints(12);
250
+ numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("horizontal", range, 0);
251
+ numberLinePage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [0]);
252
+ numberLinePage.steps.addAlternativeAnswerAccordion(1);
253
+ numberLinePage.steps.allotPoints(12);
254
+ numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("horizontal", range, 0);
255
+ numberLinePage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [0]);
256
+ numberLinePage.steps.expandCorrectAnswerAccordion();
257
+ numberLinePage.steps.selectNumberLineControlOptionSpecifyCorrectAnswerSection('Delete');
258
+ numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("horizontal", range, 0);
259
+ numberLinePage.steps.switchToPreviewTab();
260
+ });
261
+
262
+ it('When user attempts the question with responses from the correct accordion i.e select and resets an option, 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', () => {
263
+ numberLinePage.steps.plotPointOnNumberLinePreviewTab("horizontal", range, 0);
264
+ numberLinePage.steps.selectNumberLineControlOptionPreviewTab('Delete');
265
+ numberLinePage.steps.plotPointOnNumberLinePreviewTab("horizontal", range, 0);
266
+ numberLinePage.steps.verifyPreviewScore(12, 12);
267
+ numberLinePage.steps.switchToGradingView();
268
+ numberLinePage.steps.verifyCorrectIncorrectAnswerLabel('correct');
269
+ numberLinePage.steps.verifyCorrectAnswerSectionNotExist();
270
+ numberLinePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
271
+ });
272
+
273
+ it('When user attempts the question with responses from the alternative accordion then full score should be awarded', () => {
274
+ numberLinePage.steps.resetQuestionPreview();
275
+ numberLinePage.steps.plotPointOnNumberLinePreviewTab("horizontal", range, 0);
276
+ numberLinePage.steps.verifyPreviewScore(12, 12);
277
+ numberLinePage.steps.switchToGradingView();
278
+ numberLinePage.steps.verifyCorrectIncorrectAnswerLabel('correct');
279
+ numberLinePage.steps.verifyCorrectAnswerSectionNotExist();
280
+ numberLinePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
281
+ })
282
+ });
241
283
  });
@@ -278,4 +278,46 @@ describe('Create Item page - Number line: All or nothing with alternative answer
278
278
  cy.checkAccessibility(numberLinePage.previewTabQuestionWrapper());
279
279
  });
280
280
  });
281
+
282
+ describe('Question Preview: AutoScored - All or Nothing with blank scoring: When correct answer points are greater than alternative answer points', () => {
283
+ abortEarlySetup();
284
+ before(() => {
285
+ numberLinePage.steps.navigateToCreateQuestion('Number line');
286
+ cy.barsPreLoaderWait();
287
+ numberLinePage.steps.addTextInQuestionInstructionsInputField('Plot points on the number line');
288
+ numberLinePage.steps.selectNumberLineToolOptionSpecifyCorrectAnswer('Point');
289
+ numberLinePage.steps.allotPoints(21);
290
+ numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("horizontal", range, 0);
291
+ numberLinePage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [0]);
292
+ numberLinePage.steps.addAlternativeAnswerAccordion(1);
293
+ numberLinePage.steps.allotPoints(12);
294
+ numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("horizontal", range, 0);
295
+ numberLinePage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [0]);
296
+ numberLinePage.steps.expandCorrectAnswerAccordion();
297
+ numberLinePage.steps.selectNumberLineControlOptionSpecifyCorrectAnswerSection('Delete');
298
+ numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("horizontal", range, 0);
299
+ numberLinePage.steps.switchToPreviewTab();
300
+ });
301
+
302
+ it('When user attempts the question with responses from the correct accordion i.e select and resets an option, 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', () => {
303
+ numberLinePage.steps.plotPointOnNumberLinePreviewTab("horizontal", range, 0);
304
+ numberLinePage.steps.selectNumberLineControlOptionPreviewTab('Delete');
305
+ numberLinePage.steps.plotPointOnNumberLinePreviewTab("horizontal", range, 0);
306
+ numberLinePage.steps.verifyPreviewScore(21, 21);
307
+ numberLinePage.steps.switchToGradingView();
308
+ numberLinePage.steps.verifyCorrectIncorrectAnswerLabel('correct');
309
+ numberLinePage.steps.verifyCorrectAnswerSectionNotExist();
310
+ numberLinePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
311
+ });
312
+
313
+ it('When user attempts the question with responses from the alternative accordion then full score should be awarded', () => {
314
+ numberLinePage.steps.resetQuestionPreview();
315
+ numberLinePage.steps.plotPointOnNumberLinePreviewTab("horizontal", range, 0);
316
+ numberLinePage.steps.verifyPreviewScore(12, 21);
317
+ numberLinePage.steps.switchToGradingView();
318
+ numberLinePage.steps.verifyCorrectIncorrectAnswerLabel('correct');
319
+ numberLinePage.steps.verifyCorrectAnswerSectionNotExist();
320
+ numberLinePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
321
+ })
322
+ });
281
323
  });
@@ -0,0 +1,75 @@
1
+ import { numberLinePage } from "../../../../pages";
2
+ import abortEarlySetup from "../../../../support/helpers/abortEarly";
3
+ const range = 22.18;
4
+
5
+ describe('Create Item page - Number line', () => {
6
+ before(() => {
7
+ cy.loginAs('admin');
8
+ });
9
+
10
+ describe('Question Preview: Auto Scored With Points', () => {
11
+ abortEarlySetup();
12
+ before(() => {
13
+ numberLinePage.steps.navigateToCreateQuestion('Number line');
14
+ cy.barsPreLoaderWait();
15
+ numberLinePage.steps.switchToPreviewTab();
16
+ });
17
+ it('In Preview tab, when an answer is not set then manually scored scoring label should be displayed', () => {
18
+ numberLinePage.steps.checkManuallyScoredScoringLabel();
19
+ });
20
+ it('In Preview tab, when user switches to grading view then no banner and correct answer should be displayed', () => {
21
+ numberLinePage.steps.plotPointOnNumberLinePreviewTab("horizontal", range, 0);
22
+ numberLinePage.steps.switchToGradingView();
23
+ numberLinePage.steps.verifyAnswerStatusBannerNotExist();
24
+ numberLinePage.steps.verifyCorrectAnswerSectionNotExist();
25
+ });
26
+ it('When user allocates points to the question then the scoring label should be displayed as manually scored and banner and correct answer status should not exist', () => {
27
+ numberLinePage.steps.switchToEditTab();
28
+ numberLinePage.steps.allotPoints(10);
29
+ numberLinePage.steps.switchToPreviewTab();
30
+ numberLinePage.steps.checkManuallyScoredScoringLabel();
31
+ numberLinePage.steps.plotPointOnNumberLinePreviewTab("horizontal", range, 0);
32
+ numberLinePage.steps.switchToGradingView();
33
+ numberLinePage.steps.verifyAnswerStatusBannerNotExist();
34
+ numberLinePage.steps.verifyCorrectAnswerSectionNotExist();
35
+ });
36
+ });
37
+
38
+ describe('Question Preview: Auto Scored Without Points', () => {
39
+ abortEarlySetup();
40
+ before(() => {
41
+ numberLinePage.steps.navigateToCreateQuestion('Number line');
42
+ cy.barsPreLoaderWait();
43
+ numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("horizontal", range, 0);
44
+ numberLinePage.steps.switchToPreviewTab();
45
+ });
46
+ it('In Preview tab, when points are not set then manually scored scoring label should be displayed', () => {
47
+ numberLinePage.steps.checkManuallyScoredScoringLabel();
48
+ });
49
+ it('In Preview tab, when user switches to grading view then banner and correct answer should be displayed', () => {
50
+ numberLinePage.steps.plotPointOnNumberLinePreviewTab("horizontal", range, -4);
51
+ numberLinePage.steps.switchToGradingView();
52
+ numberLinePage.steps.verifyAnswerStatusBannerExist();
53
+ numberLinePage.steps.verifyCorrectAnswerSectionExist();
54
+ });
55
+ });
56
+
57
+ describe('Question Preview: Non Scored', () => {
58
+ abortEarlySetup();
59
+ before(() => {
60
+ numberLinePage.steps.navigateToCreateQuestion('Number line');
61
+ cy.barsPreLoaderWait();
62
+ numberLinePage.steps.addQuestionInstructions('Number line question');
63
+ });
64
+
65
+ it('When the user selects \'Grading\' view without setting the answer, correct answers section and answer status banner should not be displayed', () => {
66
+ numberLinePage.steps.expandScoringTypeDropdown();
67
+ numberLinePage.steps.selectOptionFromScoringTypeDropdown('Non scored');
68
+ numberLinePage.steps.switchToPreviewTab();
69
+ numberLinePage.steps.plotPointOnNumberLinePreviewTab("horizontal", range, 0);
70
+ numberLinePage.steps.switchToGradingView();
71
+ numberLinePage.steps.verifyAnswerStatusBannerNotExist();
72
+ numberLinePage.steps.verifyCorrectAnswerSectionNotExist();
73
+ });
74
+ });
75
+ });
@@ -0,0 +1,32 @@
1
+ import { numberLinePage } from "../../../pages";
2
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
3
+
4
+ const range = 22.18;
5
+ describe('Create question page - Number Line', () => {
6
+ before(() => {
7
+ cy.loginAs('admin');
8
+ });
9
+
10
+ describe('Check Alternative Answer Button', () => {
11
+ abortEarlySetup();
12
+ before(() => {
13
+ numberLinePage.steps.navigateToCreateQuestion('Number line');
14
+ cy.barsPreLoaderWait();
15
+ });
16
+
17
+ it('When correct answer is not set then alternative answer should be disabled', () => {
18
+ numberLinePage.steps.checkAlternativeButtonDisabled();
19
+ });
20
+
21
+ it('When correct answer is set then alternative answer should be enabled', () => {
22
+ numberLinePage.steps.allotPoints(10);
23
+ numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("horizontal", range, 0);
24
+ numberLinePage.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
+ numberLinePage.steps.clickOnAddAlternativeAnswerButton();
29
+ numberLinePage.steps.expandCorrectAnswerAccordion();
30
+ });
31
+ });
32
+ });
@@ -0,0 +1,38 @@
1
+ import { numberLinePage } from "../../../pages";
2
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
3
+
4
+ describe('Create item page - Number Line', () => {
5
+ before(() => {
6
+ cy.loginAs('admin');
7
+ });
8
+
9
+ describe('User should be able to edit incomplete authored question', () => {
10
+ abortEarlySetup();
11
+ before(() => {
12
+ numberLinePage.steps.navigateToCreateQuestion('Number line');
13
+ cy.barsPreLoaderWait();
14
+ numberLinePage.steps.saveAQuestionWithIncompleteAuthoring();
15
+ numberLinePage.steps.editItem();
16
+ });
17
+
18
+ it('Warning icons should be displayed on the required input fields', () => {
19
+ numberLinePage.steps.verifyWarningIconOnRequiredFields([
20
+ 'Please set points',
21
+ ]);
22
+ });
23
+
24
+ it('When required input fields are filled then warning icons should disappear', () => {
25
+ numberLinePage.steps.allotPoints(10);
26
+ numberLinePage.steps.verifyErrorMessageIsNotDisplayed();
27
+ numberLinePage.steps.verifySpecifyCorrectAnswerErrorIconNotExists();
28
+ });
29
+
30
+ it('Clicking on Save Question button the question should get saved and a snackbar with text \'Saved successfully!\' should be displayed', () => {
31
+ numberLinePage.steps.saveAQuestionAndVerifySnackbar();
32
+ });
33
+
34
+ it('Warning icon should not be visible', () => {
35
+ numberLinePage.steps.verifyWarningIconNotExist();
36
+ });
37
+ });
38
+ });
@@ -1,7 +1,9 @@
1
1
  import abortEarlySetup from "../../../support/helpers/abortEarly";
2
- import { dialogBoxBase, numberLinePage } from "../../../pages";
2
+ import { dialogBoxBase, numberLinePage, itemPreviewPage } from "../../../pages";
3
+ import { browseItemsPage } from "../../../pages/components";
3
4
  import utilities from "../../../support/helpers/utilities";
4
5
  const range = 20.75;
6
+ var itemReferenceID = "";
5
7
 
6
8
  describe('Create item page - Number line: Header section and saving question', () => {
7
9
  before(() => {
@@ -46,12 +48,11 @@ describe('Create item page - Number line: Header section and saving question', (
46
48
  });
47
49
 
48
50
  describe('Validation error messages', () => {
49
- dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton();
51
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please set points']);
50
52
 
51
53
  it('Validation error messages should be displayed below required input fields', () => {
52
54
  numberLinePage.steps.verifyQuestionInstructionsErrorMessageIsNotDisplayed();
53
- numberLinePage.steps.verifyPointsFieldErrorMessageIsNotDisplayed();
54
- utilities.verifyInnerText(numberLinePage.errorMessage(), 'Error: Please set a correct answer.');
55
+ numberLinePage.steps.verifyWarningIconOnRequiredFields(['Please set points'])
55
56
  });
56
57
 
57
58
  it('Validation error messages should disappear when required input fields are filled', () => {
@@ -73,5 +74,33 @@ describe('Create item page - Number line: Header section and saving question', (
73
74
 
74
75
  numberLinePage.tests.verifySavedSuccessfullySnackbarCSSAndA11y();
75
76
  });
77
+
78
+ describe('Saving a question with incomplete authoring', () => {
79
+ abortEarlySetup();
80
+ before(() => {
81
+ numberLinePage.steps.navigateToCreateQuestion('Number line');
82
+ cy.barsPreLoaderWait();
83
+ });
84
+ 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', () => {
85
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please set points']);
86
+ numberLinePage.steps.saveAQuestionWithIncompleteAuthoring();
87
+ });
88
+ numberLinePage.tests.verifySavedSuccessfullySnackbarCSSAndA11y();
89
+ });
90
+
91
+ describe('Save as you go - Browse item page contents', () => {
92
+ abortEarlySetup();
93
+ before(() => {
94
+ numberLinePage.steps.navigateToCreateQuestion('Number line');
95
+ cy.barsPreLoaderWait();
96
+ numberLinePage.steps.saveAQuestionWithIncompleteAuthoring();
97
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
98
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
99
+ browseItemsPage.steps.navigateToBrowseItemsPage();
100
+ });
101
+ it('When user saves an incompletely authored question then a warning icon should be visible in browse items page', () => {
102
+ browseItemsPage.steps.verifyWarningIconInBrowseItemPage(`${itemReferenceID}`);
103
+ });
104
+ });
76
105
  });
77
106
  });