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
@@ -84,55 +84,46 @@ describe('Create question page - Short text response: Question Instructions, Set
84
84
  shortTextResponsePage.steps.setMaximumLimit(500);
85
85
  });
86
86
 
87
- it('When the user clears the minimum character limit input field and focuses out of it, then error message \'Error: Minimum character limit is required\' should be displayed below the input field', () => {
87
+ it('When the user clears the minimum character limit input field and focuses out of it, then error message should not be displayed', () => {
88
88
  shortTextResponsePage.steps.clearAndFocusOutOfMinimumLimitInputField();
89
- utilities.verifyInnerText(shortTextResponsePage.errorMessage(), 'Error: Minimum character limit is required.');
90
- utilities.verifyElementVisibilityState(shortTextResponsePage.errorMessage(), 'visible');
89
+ shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
91
90
  });
92
91
 
93
- shortTextResponsePage.tests.verifyErrorMessageCSSAndA11y();
94
-
95
- it('When the user enters value in minimum character limit input field then the error message should disappear', () => {
92
+ it('When the user enters a value in the minimum character limit input field, it should be accepted', () => {
96
93
  shortTextResponsePage.steps.setMinimumLimit(0);
97
- shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
98
94
  });
99
95
 
100
- it('When the user clears the maximum character limit input field and focuses out of it, then error message \'Error: Maximum character limit is required.\' should be displayed below the input field', () => {
96
+ it('When the user clears the maximum character limit input field and focuses out of it, the error message should not be displayed', () => {
101
97
  shortTextResponsePage.steps.clearAndFocusOutOfMaximumLimitInputField();
102
- utilities.verifyInnerText(shortTextResponsePage.errorMessage(), 'Error: Maximum character limit is required.');
103
- utilities.verifyElementVisibilityState(shortTextResponsePage.errorMessage(), 'visible');
98
+ shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
104
99
  });
105
100
 
106
- it('When the user enters value in maximum character limit input field then the error message should disappear', () => {
101
+ it('When the user enters a value in the maximum character limit input field, it should be accepted', () => {
107
102
  shortTextResponsePage.steps.setMaximumLimit(500);
108
103
  shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
109
104
  });
110
105
 
111
- it('When the user sets minimum limit input field value greater than maximum limit input field value then error message \'Error: Minimum limit must be less than or equal to maximum limit.\' and \'Error: Maximum limit must be greater than or equal to minimum limit.\'should be displayed below the minimum and maximum input field respectively', () => {
106
+ it('When the user sets the minimum limit input field value greater than the maximum limit input field value, error message should not be displayed', () => {
112
107
  shortTextResponsePage.steps.setMinimumLimit(700);
113
- shortTextResponsePage.steps.verifyMaximumLimitErrorMessage();
114
- shortTextResponsePage.steps.verifyMinimumLimitErrorMessage();
108
+ shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
115
109
  });
116
110
 
117
- shortTextResponsePage.tests.verifyErrorMessageCSSAndA11y();
118
-
119
- it('When the user sets minimum limit input field value less than or equal to maximum limit input field value then error message should disappear', () => {
111
+ it('When the user sets the minimum limit input field value less than or equal to the maximum limit input field value, the error message should disappear', () => {
120
112
  shortTextResponsePage.steps.setMinimumLimit(500);
121
113
  shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
122
114
  });
123
115
 
124
- it('When the user sets maximum limit input field value less than minimum limit input field value then error message \'Error: Minimum limit must be less than or equal to maximum limit.\' and \'Error: Maximum limit must be greater than or equal to minimum limit.\'should be displayed below the minimum and maximum input field respectively', () => {
116
+ it('When the user sets the maximum limit input field value less than the minimum limit input field value, error messages should be displayed below the respective input fields', () => {
125
117
  shortTextResponsePage.steps.setMaximumLimit(400);
126
- shortTextResponsePage.steps.verifyMaximumLimitErrorMessage();
127
- shortTextResponsePage.steps.verifyMinimumLimitErrorMessage();
118
+ shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
128
119
  });
129
120
 
130
- it('When the user sets maximum limit input field value greater than or equal to minimum limit input field value then error message should disappear', () => {
121
+ it('When the user sets the maximum limit input field value greater than or equal to the minimum limit input field value, the error message should not be displayed', () => {
131
122
  shortTextResponsePage.steps.setMaximumLimit(800);
132
123
  shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
133
124
  });
134
125
 
135
- it('\'Always show maximum limit\' and \'Always show minimum limit\' labels and checkbox should be displayed and by default \'Always show maximum limit\' should be checked', () => {
126
+ it('\'Always show maximum limit\' and \'Always show minimum limit\' labels and checkboxes should be displayed, and by default, \'Always show maximum limit\' should be checked', () => {
136
127
  utilities.verifyInnerText(shortTextResponsePage.alwaysShowMaxLimitLabel(), 'Always show maximum limit');
137
128
  utilities.verifyElementVisibilityState(shortTextResponsePage.alwaysShowMaxLimitLabel(), 'visible');
138
129
  utilities.verifyInnerText(shortTextResponsePage.alwaysShowMinLimitLabel(), 'Always show minimum limit');
@@ -141,7 +132,7 @@ describe('Create question page - Short text response: Question Instructions, Set
141
132
  // shortTextResponsePage.steps.verifyAlwaysShowMaximumLimitCheckboxIsChecked();
142
133
  });
143
134
 
144
- it('When the user selects \'Word\' radio button then labels should change to \'Minimum word limit\' and \'Maximum word limit\'', () => {
135
+ it('When the user selects \'Word\' radio button, the labels should change to \'Minimum word limit\' and \'Maximum word limit\'', () => {
145
136
  shortTextResponsePage.steps.selectWordRadioButton();
146
137
  utilities.verifyInnerText(shortTextResponsePage.minimumLimitLabel(), 'Minimum word limit');
147
138
  utilities.verifyInnerText(shortTextResponsePage.maximumLimitLabel(), 'Maximum word limit');
@@ -152,33 +143,27 @@ describe('Create question page - Short text response: Question Instructions, Set
152
143
  shortTextResponsePage.steps.verifyMaximumLimitInputField(20);
153
144
  });
154
145
 
155
- it('User should be able to update values in both the input fields', () => {
146
+ it('The user should be able to update values in both the input fields', () => {
156
147
  shortTextResponsePage.steps.setMinimumLimit(75);
157
148
  shortTextResponsePage.steps.setMaximumLimit(120);
158
149
  });
159
150
 
160
- it('When the user clears the minimum word limit input field and focuses out of it, then error message \'Error: Minimum word limit is required\' should be displayed below the input field', () => {
151
+ it('When the user clears the minimum word limit input field and focuses out of it, an error message should not be displayed', () => {
161
152
  shortTextResponsePage.steps.clearAndFocusOutOfMinimumLimitInputField();
162
- utilities.verifyInnerText(shortTextResponsePage.errorMessage(), 'Error: Minimum word limit is required.');
163
- utilities.verifyElementVisibilityState(shortTextResponsePage.errorMessage(), 'visible');
153
+ shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
164
154
  });
165
155
 
166
- shortTextResponsePage.tests.verifyErrorMessageCSSAndA11y();
167
-
168
- it('When the user enters value in minimum word limit input field then the error message should disappear', () => {
156
+ it('When the user enters a value in the minimum word limit input field it should be accepted', () => {
169
157
  shortTextResponsePage.steps.setMinimumLimit(0);
170
- shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
171
158
  });
172
159
 
173
- it('When the user clears the maximum word limit input field and focuses out of it, then error message \'Error: Maximum word limit is required.\' should be displayed below the input field', () => {
160
+ it('When the user clears the maximum word limit input field and focuses out of it, an error message should not be displayed', () => {
174
161
  shortTextResponsePage.steps.clearAndFocusOutOfMaximumLimitInputField();
175
- utilities.verifyInnerText(shortTextResponsePage.errorMessage(), 'Error: Maximum word limit is required.');
176
- utilities.verifyElementVisibilityState(shortTextResponsePage.errorMessage(), 'visible');
162
+ shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
177
163
  });
178
164
 
179
- it('When the user enters value in maximum word limit input field then the error message should disappear', () => {
165
+ it('When the user enters a value in the maximum word limit input field it should be accepted', () => {
180
166
  shortTextResponsePage.steps.setMaximumLimit(500);
181
- shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
182
167
  });
183
168
 
184
169
  it('CSS of \'Set limit\' sections', { tags: 'css' }, () => {
@@ -272,25 +257,23 @@ describe('Create question page - Short text response: Question Instructions, Set
272
257
  shortTextResponsePage.steps.verifyTextInAnswerInputFieldSpecifyCorrectAnswerSection('Lorem');
273
258
  });
274
259
 
275
- it('When the user reaches the character limit, then the warning message \'Maximum # characters have been entered\' should be displayed', () => {
260
+ it('When the user reaches the character limit, then the warning message should notv be displayed', () => {
276
261
  shortTextResponsePage.steps.enterTextInAnswerInputFieldSpecifyCorrectAnswerSection('Correct');
277
262
  shortTextResponsePage.steps.verifyTextInAnswerInputFieldSpecifyCorrectAnswerSection('Corre');
278
- shortTextResponsePage.steps.verifyWarningMessage('Error: Maximum 5 characters have been entered.');
263
+ shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
279
264
  });
280
265
 
281
- shortTextResponsePage.tests.verifyErrorMessageCSSAndA11y();
282
-
283
266
  it('When the user removes/deletes some characters, the warning message should disappear', () => {
284
267
  shortTextResponsePage.steps.enterTextInAnswerInputFieldSpecifyCorrectAnswerSection('{backspace}');
285
268
  shortTextResponsePage.steps.verifyTextInAnswerInputFieldSpecifyCorrectAnswerSection('');
286
269
  shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
287
270
  });
288
271
 
289
- it('When the user sets 3 as minimum character limit and enters the character less than the minimum character limit value set and focus out of response field, then the warning message \'Minimum 3 characters are required\' should be displayed', () => {
272
+ it('When the user sets 3 as minimum character limit and enters the character less than the minimum character limit value set and focus out of response field, then the warning message should not be displayed', () => {
290
273
  shortTextResponsePage.steps.setMinimumLimit(3);
291
274
  shortTextResponsePage.steps.enterTextInAnswerInputFieldSpecifyCorrectAnswerSection('Lo');
292
275
  shortTextResponsePage.steps.focusOutOfSpecifyCorrectAnswerInputField();
293
- shortTextResponsePage.steps.verifyWarningMessage('Error: Minimum 3 characters are required.');
276
+ shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
294
277
  });
295
278
 
296
279
  it('When the user enters the character greater than the minimum character limit value set by the user, then the warning message should disappear', () => {
@@ -314,10 +297,10 @@ describe('Create question page - Short text response: Question Instructions, Set
314
297
  shortTextResponsePage.steps.enterTextInAnswerInputFieldSpecifyCorrectAnswerSection('The elephant played piano under the sunshine');
315
298
  });
316
299
 
317
- it('When the user reaches the word limit, then the warning message \'Maximum # words have been entered\' should be displayed', () => {
300
+ it('When the user reaches the word limit, then the warning message should not be displayed', () => {
318
301
  shortTextResponsePage.steps.enterTextInAnswerInputFieldSpecifyCorrectAnswerSection('The elephant played piano under the sunshine while riding a bicycle');
319
302
  shortTextResponsePage.steps.verifyTextInAnswerInputFieldSpecifyCorrectAnswerSection('The elephant played piano under the sunshinewhileridingabicycle');
320
- shortTextResponsePage.steps.verifyWarningMessage('Error: Maximum 7 words have been entered.');
303
+ shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
321
304
  });
322
305
 
323
306
  it('When the user removes/deletes some words, the warning message should disappear', () => {
@@ -326,10 +309,10 @@ describe('Create question page - Short text response: Question Instructions, Set
326
309
  shortTextResponsePage.steps.verifyWarningMessageNotExist();
327
310
  });
328
311
 
329
- it('When the user enters the word less than the minimum word limit value set by the user and focus out of response field, then the warning message \'Minimum # words are required\' should be displayed', () => {
312
+ it('When the user enters the word less than the minimum word limit value set by the user and focus out of response field, then the warning message should not be displayed', () => {
330
313
  shortTextResponsePage.steps.enterTextInAnswerInputFieldSpecifyCorrectAnswerSection('abc abc');
331
314
  shortTextResponsePage.steps.focusOutOfSpecifyCorrectAnswerInputField();
332
- shortTextResponsePage.steps.verifyWarningMessage('Error: Minimum 3 words are required.');
315
+ shortTextResponsePage.steps.verifyErrorMessageIsNotDisplayed();
333
316
  });
334
317
 
335
318
  it('When the user enters the word greater than the minimum word limit value set by the user, then the warning message should disappear', () => {
@@ -338,8 +321,8 @@ describe('Create question page - Short text response: Question Instructions, Set
338
321
  shortTextResponsePage.steps.verifyWarningMessageNotExist();
339
322
  });
340
323
 
341
- //https://weldnorthed.atlassian.net/browse/IEI-5097
342
- it('When maximum words count is set to 20 then the user should be able to add 20 words', () => {
324
+ //Failing due to https://weldnorthed.atlassian.net/browse/IEI-6052
325
+ it.skip('When maximum words count is set to 20 then the user should be able to add 20 words', () => {
343
326
  shortTextResponsePage.steps.setMaximumLimit(20);
344
327
  shortTextResponsePage.steps.enterTextInAnswerInputFieldSpecifyCorrectAnswerSection('The elephant played piano under the sunshine while riding a bicycle');
345
328
  cy.log('Waiting to check if the text disappears after some time');
@@ -354,7 +337,8 @@ describe('Create question page - Short text response: Question Instructions, Set
354
337
  shortTextResponsePage.steps.verifyWarningMessageNotExist();
355
338
  });
356
339
 
357
- it('When maximum words count is set to 20 then the user should be able to add 20 words', () => {
340
+ //Failing due to https://weldnorthed.atlassian.net/browse/IEI-6052
341
+ it.skip('When maximum words count is set to 20 then the user should be able to add 20 words', () => {
358
342
  shortTextResponsePage.steps.enterTextInAnswerInputFieldSpecifyCorrectAnswerSection('The elephant played piano under the sunshine while riding a bicycle');
359
343
  cy.log('Waiting to check if the text disappears after some time');
360
344
  cy.wait(5000);
@@ -432,7 +416,7 @@ describe('Create question page - Short text response: Question Instructions, Set
432
416
 
433
417
  it('When the user enters the character less than the minimum character limit value set by the user and focus out of response field, then the warning message \'Minimum # characters are required\' should be displayed', () => {
434
418
  shortTextResponsePage.steps.enterTextInAnswerInputFieldPreviewTab('Lo');
435
- shortTextResponsePage.steps.focusOutOfSpecifyCorrectAnswerInputField();
419
+ shortTextResponsePage.steps.focusOutOfResponseInputFieldPreviewTab();
436
420
  shortTextResponsePage.steps.verifyWarningMessagePreviewTab('Minimum 3 characters are required.');
437
421
  });
438
422
 
@@ -493,7 +477,7 @@ describe('Create question page - Short text response: Question Instructions, Set
493
477
  it('When the user enters the word less than the minimum word limit value set by the user and focus out of response field, then the warning message \'Minimum 3 words are required\' should be displayed', () => {
494
478
  cy.log('Pre-step: Clearing the response field');
495
479
  shortTextResponsePage.steps.enterTextInAnswerInputFieldPreviewTab('abc abc');
496
- shortTextResponsePage.steps.focusOutOfSpecifyCorrectAnswerInputField();
480
+ shortTextResponsePage.steps.focusOutOfResponseInputFieldPreviewTab();
497
481
  shortTextResponsePage.steps.verifyWarningMessagePreviewTab('Minimum 3 words are required.');
498
482
  });
499
483
 
@@ -45,13 +45,11 @@ describe('Create item page - Short text response - text: Header section and savi
45
45
  });
46
46
 
47
47
  describe('Validation error messages', () => {
48
- dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton();
48
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please set points']);
49
49
 
50
50
  it('Validation error messages should be displayed below required input fields', () => {
51
51
  shortTextResponsePage.steps.verifyQuestionInstructionsErrorMessageIsNotDisplayed();
52
- utilities.verifyInnerText(shortTextResponsePage.errorMessage(), 'Error: Answer is required.');
53
- shortTextResponsePage.steps.verifyPointsFieldErrorMessageIsNotDisplayed();
54
- shortTextResponsePage.steps.verifySpecifyCorrectAnswerErrorIconIsVisible();
52
+ shortTextResponsePage.steps.verifyWarningIconOnRequiredFields(['Please set points'])
55
53
  });
56
54
 
57
55
  it('Validation error messages should disappear when required input fields are filled', () => {
@@ -168,6 +168,198 @@ describe('Create Item page - Single Selection: Scoring cases', () => {
168
168
  });
169
169
  });
170
170
 
171
+ views.forEach((view) => {
172
+ describe(`Single selection - Manually scored: ${view}`, { tags: 'smoke' }, () => {
173
+ abortEarlySetup();
174
+ before(() => {
175
+ switch (view) {
176
+ case 'Question preview':
177
+ singleSelectionPage.steps.navigateToCreateQuestion('single selection');
178
+ cy.barsPreLoaderWait();
179
+ singleSelectionPage.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.');
180
+ singleSelectionPage.steps.expandScoringTypeDropdown();
181
+ singleSelectionPage.steps.selectOptionFromScoringTypeDropdown('Manually scored');
182
+ singleSelectionPage.steps.allotPoints(20);
183
+ singleSelectionPage.steps.addInputToOptionsInputField(options);
184
+ singleSelectionPage.steps.switchToPreviewTab();
185
+ break;
186
+ case 'Item preview':
187
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
188
+ itemPreviewPage.steps.switchToPreviewTab();
189
+ break;
190
+ case 'Grading view':
191
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
192
+ break;
193
+ };
194
+ });
195
+
196
+ beforeEach(() => {
197
+ switch (view) {
198
+ case 'Question preview':
199
+ singleSelectionPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
200
+ singleSelectionPage.steps.resetQuestionPreview();
201
+ break;
202
+ case 'Item preview':
203
+ singleSelectionPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
204
+ itemPreviewPage.steps.resetQuestionPreview();
205
+ break;
206
+ case 'Grading view':
207
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
208
+ break;
209
+ }
210
+ });
211
+
212
+ if (view === 'Question preview') {
213
+ after(() => {
214
+ singleSelectionPage.steps.clickOnSaveQuestionButton();
215
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
216
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
217
+ });
218
+ };
219
+
220
+ it('Question instructions should be visible', () => {
221
+ singleSelectionPage.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.');
222
+ singleSelectionPage.steps.verifyVisibityOfQuestionInstructionsText();
223
+ });
224
+
225
+ it('User should be able to attempt the question in student view and correct/incorrect icons, Your answer is correct/incorrect label, correct answer section should not be displayed in grading view', () => {
226
+ singleSelectionPage.steps.checkOptionInPreviewTab(1);
227
+ if (view === 'Grading view') {
228
+ studentViewPage.steps.submitResponse();
229
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
230
+ studentViewPage.steps.clickOnGoToGradingViewButton();
231
+ gradingViewPage.steps.verifyGradingViewScore('', 20);
232
+ singleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleGradingView(0);
233
+ singleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleGradingView(1);
234
+ singleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleGradingView(2);
235
+ singleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleGradingView(3);
236
+ singleSelectionPage.steps.verifyAnswerBannerNotExist();
237
+ singleSelectionPage.steps.verifyCorrectAnswerSectionNotExist();
238
+ };
239
+ if (view === 'Question preview' || view === 'Item preview') {
240
+ singleSelectionPage.steps.checkManuallyScoredScoringLabel();
241
+ };
242
+ });
243
+ });
244
+ });
245
+
246
+ views.forEach((view) => {
247
+ describe(`Single selection - Non scored:${view}`, { tags: 'smoke' }, () => {
248
+ abortEarlySetup();
249
+ before(() => {
250
+ switch (view) {
251
+ case 'Question preview':
252
+ singleSelectionPage.steps.navigateToCreateQuestion('single selection');
253
+ cy.barsPreLoaderWait();
254
+ singleSelectionPage.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.');
255
+ singleSelectionPage.steps.expandScoringTypeDropdown();
256
+ singleSelectionPage.steps.selectOptionFromScoringTypeDropdown('Non scored');
257
+ singleSelectionPage.steps.addInputToOptionsInputField(options);
258
+ singleSelectionPage.steps.checkOptionInSpecifyCorrectAnswerSection(1);
259
+ singleSelectionPage.steps.switchToPreviewTab();
260
+ break;
261
+ case 'Item preview':
262
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
263
+ itemPreviewPage.steps.switchToPreviewTab();
264
+ break;
265
+ case 'Grading view':
266
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
267
+ break;
268
+ };
269
+ });
270
+
271
+ beforeEach(() => {
272
+ switch (view) {
273
+ case 'Question preview':
274
+ singleSelectionPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
275
+ singleSelectionPage.steps.resetQuestionPreview();
276
+ break;
277
+ case 'Item preview':
278
+ singleSelectionPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
279
+ itemPreviewPage.steps.resetQuestionPreview();
280
+ break;
281
+ case 'Grading view':
282
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
283
+ break;
284
+ }
285
+ });
286
+
287
+ if (view === 'Question preview') {
288
+ after(() => {
289
+ singleSelectionPage.steps.clickOnSaveQuestionButton();
290
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
291
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
292
+ });
293
+ };
294
+
295
+ it('When the user selects \'Grading\' view without attempting the question, 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', () => {
296
+ if (view === 'Grading view') {
297
+ studentViewPage.steps.submitResponse();
298
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
299
+ studentViewPage.steps.clickOnGoToGradingViewButton();
300
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
301
+ };
302
+ if (view === 'Question preview' || view === 'Item preview') {
303
+ singleSelectionPage.steps.checkNonScoredScoringLabel();
304
+ singleSelectionPage.steps.switchToGradingView();
305
+ singleSelectionPage.steps.verifyPreviewTabPointsBackgroundForIncorrectOrPartiallyCorrectAnswer();
306
+ };
307
+ //Remove the if-else condition and line 308 once https://weldnorthed.atlassian.net/browse/IEI-5704 is fixed.
308
+ if(view === 'Question preview'){
309
+ utilities.verifyInnerText(singleSelectionPage.correctAnswersLabel(), 'Correct answers');
310
+ }
311
+ else{
312
+ utilities.verifyInnerText(singleSelectionPage.correctAnswersLabel(), 'Correct answer');
313
+ }
314
+ singleSelectionPage.steps.verifyCorrectIncorrectAnswerLabelNotExist();
315
+ singleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleGradingView(0);
316
+ singleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleGradingView(1);
317
+ singleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleGradingView(2);
318
+ singleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleGradingView(3);
319
+ });
320
+
321
+ it('When the user attempts the question incorrectly,and on switching to \'Grading\' view non scoring label should be displayed, incorrect icon should be displayed beside incorrect response, a status message with text \'Your answer is incorrect\' and correct answer section with correct answer should be displayed', () => {
322
+ singleSelectionPage.steps.checkOptionInPreviewTab(0);
323
+ if (view === 'Grading view') {
324
+ studentViewPage.steps.submitResponse();
325
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
326
+ studentViewPage.steps.clickOnGoToGradingViewButton();
327
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
328
+ };
329
+ if (view === 'Question preview' || view === 'Item preview') {
330
+ singleSelectionPage.steps.checkNonScoredScoringLabel();
331
+ singleSelectionPage.steps.switchToGradingView();
332
+ };
333
+ singleSelectionPage.steps.verifyIncorrectOptionIconGradingView(0);
334
+ singleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleGradingView(1);
335
+ singleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleGradingView(2);
336
+ singleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleGradingView(3);
337
+ singleSelectionPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
338
+ singleSelectionPage.steps.verifyCorrectAnswerSectionExist();
339
+ });
340
+
341
+ it('When user attempts the question correctly, and on switching to \'Grading\' view non scoring label should be displayed, correct icons should be displayed beside the correct response, a status message with text \'Your answer is correct\' should be displayed and correct answer section should not be displayed', () => {
342
+ if (view === 'Grading view') {
343
+ studentViewPage.steps.clearResponses();
344
+ };
345
+ singleSelectionPage.steps.checkOptionInPreviewTab(1);
346
+ if (view === 'Grading view') {
347
+ studentViewPage.steps.submitResponse();
348
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
349
+ studentViewPage.steps.clickOnGoToGradingViewButton();
350
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
351
+ };
352
+ if (view === 'Question preview' || view === 'Item preview') {
353
+ singleSelectionPage.steps.checkNonScoredScoringLabel();
354
+ singleSelectionPage.steps.switchToGradingView();
355
+ };
356
+ singleSelectionPage.steps.verifyCorrectOptionIconGradingView(1);
357
+ singleSelectionPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
358
+ singleSelectionPage.steps.verifyCorrectAnswerSectionNotExist();
359
+ });
360
+ });
361
+ });
362
+
171
363
  if (!grepTags || !grepTags.includes('smoke')) {
172
364
  describe('Question preview: Auto scored - All or nothing: Minimum scoring', () => {
173
365
  abortEarlySetup();
@@ -1,5 +1,6 @@
1
1
  import { singleSelectionPage } from "../../../pages";
2
2
  import abortEarlySetup from "../../../support/helpers/abortEarly";
3
+ const options = ['Pollution caused by treating chemical waste', 'Pollution caused by cement production', 'Pollution caused by methane production', 'Pollution caused by cement and methane production'];
3
4
 
4
5
  describe('Create Item page - Single selection', () => {
5
6
  before(() => {
@@ -64,6 +65,7 @@ describe('Create Item page - Single selection', () => {
64
65
  before(() => {
65
66
  singleSelectionPage.steps.navigateToCreateQuestion('single selection');
66
67
  cy.barsPreLoaderWait();
68
+ singleSelectionPage.steps.addInputToOptionsInputField(options);
67
69
  });
68
70
 
69
71
  it('When the user selects \'Grading\' view without setting the answer, correct answers section and answer status banner should not be displayed', () => {