itemengine-cypress-automation 1.0.341-e2eFixes18March-66a79d0.0 → 1.0.341-graphAndCharts-9d8e298.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 (237) hide show
  1. package/cypress/e2e/ILC/BrowseItems/browseReviewItems.js +398 -0
  2. package/cypress/e2e/ILC/BrowseItems/browseReviewItemsMobileView.js +329 -0
  3. package/cypress/e2e/ILC/BrowseItems/browseThinkSphereItems.js +260 -0
  4. package/cypress/e2e/ILC/BrowseItems/browseThinkSphereItemsMobileView.js +368 -0
  5. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/gradingViewAndCorrectAnswerView.smoke.js +1 -1
  6. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightBasic.js +2 -2
  7. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +1 -0
  8. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +1 -0
  9. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +1 -0
  10. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -0
  11. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightBasic.js +1 -0
  12. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +1 -0
  13. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +1 -0
  14. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +1 -0
  15. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -0
  16. package/cypress/e2e/ILC/ChartsLine/editQuestion.smoke.js +1 -3
  17. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddFeatureRadioButton.js +2 -3
  18. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddTranscriptRadioButton .js +0 -2
  19. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabStudentViewSettings.js +3 -3
  20. package/cypress/e2e/ILC/CkEditorEquationEditor/equationEditorBasicFile.js +4 -4
  21. package/cypress/e2e/ILC/CkEditorInsertImage/imageInfo.js +1 -1
  22. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +84 -0
  23. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +3 -3
  24. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/checkAddAlternativeButton.js +33 -0
  25. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/clickAndDrop.js +2 -4
  26. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/draggableOptions.js +2 -4
  27. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabBasicSection.js +33 -0
  28. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/headerSection.js +39 -6
  29. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/manuallyAndNonScoredScoringEditTab.js +4 -1
  30. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +3 -0
  31. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/styleAndLayoutCustomizationLayoutProperties.js +3 -0
  32. package/cypress/e2e/ILC/DrawingResponse/drawingResponseAdditionalSettings.js +1 -0
  33. package/cypress/e2e/ILC/DrawingResponse/drawingResponseBackground.js +2 -8
  34. package/cypress/e2e/ILC/DrawingResponse/drawingResponseCustomizeAdditionalOptions.js +1 -0
  35. package/cypress/e2e/ILC/DrawingResponse/drawingResponseEditTabBasicSection.js +3 -3
  36. package/cypress/e2e/ILC/DrawingResponse/drawingResponsePreviewTabContents.smoke.js +3 -4
  37. package/cypress/e2e/ILC/EssayResponse/createCustomCategory.smoke.js +1 -1
  38. package/cypress/e2e/ILC/EssayResponse/editCategoryFlyout.js +0 -1
  39. package/cypress/e2e/ILC/EssayResponse/editTabBasicSections.js +23 -37
  40. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/blankResponseScoring.js +29 -25
  41. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +210 -0
  42. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/dropzoneStyleAndLayoutCustomization.js +6 -3
  43. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/headerSection.js +1 -0
  44. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/allOrNothingForAllView.smoke.js +201 -0
  45. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/dropdownAndDropdownMenuSection.js +4 -1
  46. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/dropdownOptionsSection.js +2 -2
  47. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/specifyCorrectAnswerSection.js +0 -1
  48. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/Scoring/blankResponseScoring.js +18 -20
  49. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +96 -0
  50. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +216 -0
  51. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/backgroundImageAndCanvasProperties.js +0 -1
  52. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/checkAddAlternative.js +37 -0
  53. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/clickAndDrop.js +4 -6
  54. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/editTabBasicSection.js +47 -0
  55. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/headerSection.js +38 -9
  56. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/studentViewSettings.js +5 -1
  57. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/styleAndLayoutCustomization.js +2 -1
  58. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/blankResponseScoring.js +21 -30
  59. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/allOrNothingForAllView.smoke.js +211 -0
  60. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/dropdownAndDropdownMenuSection.js +4 -1
  61. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editTabBasicSection.js +0 -1
  62. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/headerSection.js +2 -2
  63. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/HeaderSection.js +2 -2
  64. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/blankResponseScoring.js +23 -30
  65. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/allOrNothingForAllViews.smoke.js +213 -0
  66. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/backgroundImageAndCanvasProperties.js +0 -1
  67. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/editTabScoringSection.js +2 -0
  68. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/responseAnswersAndAcceptedStudentInput.js +2 -0
  69. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/supportedFileTypes.js +2 -4
  70. package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/blankResponseScoring.js +25 -30
  71. package/cypress/e2e/ILC/FillInTheGapsTextNew/allOrNothingForAllViews.smoke.js +207 -0
  72. package/cypress/e2e/ILC/FillInTheGapsTextNew/editTabBasicSection.js +2 -10
  73. package/cypress/e2e/ILC/FillInTheGapsTextNew/editTabScoringSection.js +2 -0
  74. package/cypress/e2e/ILC/Graphing/headerSection.js +1 -2
  75. package/cypress/e2e/ILC/Graphing/layoutAndGridOptions.js +6 -3
  76. package/cypress/e2e/ILC/GridFill/customizeLayoutFillImageBackgroundImage.js +11 -0
  77. package/cypress/e2e/ILC/GridFill/customizeLayoutSectionShadeCellsGridBorders.js +2 -0
  78. package/cypress/e2e/ILC/GridFill/editTabScoringSection.js +3 -0
  79. package/cypress/e2e/ILC/GridFill/headerSection.js +2 -4
  80. package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +1 -2
  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/ListOrderingNew/allOrNothingForAllViews.smoke.js +2 -1
  86. package/cypress/e2e/ILC/MultipleSelection/allOrNothingBasicForAllViews.smoke.js +226 -0
  87. package/cypress/e2e/ILC/MultipleSelection/allOrNothingWithAlternativeAnswer.js +6 -3
  88. package/cypress/e2e/ILC/MultipleSelection/checkScoringLabelBannerAndCorrectAnswer.js +3 -1
  89. package/cypress/e2e/ILC/MultipleSelection/editTabScoringSection.js +6 -3
  90. package/cypress/e2e/ILC/MultipleSelection/headerSection.js +1 -0
  91. package/cypress/e2e/ILC/MultipleSelection/minimumScoringPenaltyPointsAndRoundingDropdown.js +1 -1
  92. package/cypress/e2e/ILC/MultipleSelection/partialDifferentWeightsBasic.js +1 -1
  93. package/cypress/e2e/ILC/MultipleSelection/partialDifferentWeightsWithAlternativeAnswer.js +69 -64
  94. package/cypress/e2e/ILC/MultipleSelection/partialEqualWeightsWithAlternativeAnswer.js +6 -4
  95. package/cypress/e2e/ILC/MultipleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +220 -0
  96. package/cypress/e2e/ILC/MultipleSelectionGridNew/editTabScoringSection.js +11 -5
  97. package/cypress/e2e/ILC/MultipleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +4 -2
  98. package/cypress/e2e/ILC/NumberLine/headerSection.js +1 -2
  99. package/cypress/e2e/ILC/NumberLineLabel/additionalSettingsBasic.js +1 -1
  100. package/cypress/e2e/ILC/NumberLineLabel/headerSection.js +3 -4
  101. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/editQuestion.smoke.js +1 -1
  102. package/cypress/e2e/ILC/Ruler/rulerEditTabFunctionality.js +10 -0
  103. package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +31 -48
  104. package/cypress/e2e/ILC/ShortTextResponseNew/headerSection.js +2 -2
  105. package/cypress/e2e/ILC/SingleSelection/allOrNothingBasicForAllViews.smoke.js +192 -0
  106. package/cypress/e2e/ILC/SingleSelection/checkScoringLabelBannerAndCorrectAnswer.js +3 -1
  107. package/cypress/e2e/ILC/SingleSelection/headerSection.js +1 -0
  108. package/cypress/e2e/ILC/SingleSelection/manuallyAndNonScoredScoring.js +94 -88
  109. package/cypress/e2e/ILC/SingleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +3 -1
  110. package/cypress/e2e/ILC/SingleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +209 -0
  111. package/cypress/e2e/ILC/SingleSelectionGridNew/editTabScoringSection.js +5 -0
  112. package/cypress/e2e/ILC/SingleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +8 -2
  113. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +0 -2
  114. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +0 -2
  115. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +0 -2
  116. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +1 -3
  117. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +0 -2
  118. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +0 -2
  119. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsScoringBasic.js +3 -10
  120. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -4
  121. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +3 -5
  122. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +0 -2
  123. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsScoringBasic.js +0 -4
  124. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +0 -2
  125. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAddEvaluation.js +0 -2
  126. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAlternateAnswer.js +0 -2
  127. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +0 -2
  128. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +0 -2
  129. package/cypress/e2e/ILC/TextEntryMath/Scoring/blankResponseScoring.js +2 -8
  130. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +0 -2
  131. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +0 -2
  132. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +0 -2
  133. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsScoringBasic.js +0 -8
  134. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +0 -2
  135. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +0 -2
  136. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +0 -2
  137. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasic.js +0 -1
  138. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasicForAlternateAnswer.js +0 -2
  139. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViews.smoke.js +0 -8
  140. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +0 -2
  141. package/cypress/e2e/ILC/TextEntryMath/customSettings.js +4 -0
  142. package/cypress/e2e/ILC/TextEntryMath/equationEditor.smoke.js +8 -0
  143. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodEquivalentStructures.smoke.js +86 -0
  144. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchExact.smoke.js +97 -0
  145. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchValue.smoke.js +97 -0
  146. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodSymbolsAreEquivalent.smoke.js +167 -0
  147. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodValueIsEquivalent.smoke.js +167 -2
  148. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodsWithoutSetResponse.smoke.js +1 -0
  149. package/cypress/e2e/ILC/TextEntryMath/previewContentsForAllViews.smoke.js +10 -7
  150. package/cypress/e2e/ILC/TextEntryMathWithImage/styleAndLayoutCustomization.js +1 -1
  151. package/cypress/e2e/ILC/TextSelection/ScoringParagraph/allOrNothingAlternatePointsMoreThanCorrectPoints.js +80 -0
  152. package/cypress/e2e/ILC/TextSelection/ScoringParagraph/allOrNothingCorrectPointsMoreThanAlternatePoints.js +30 -0
  153. package/cypress/e2e/ILC/TextSelection/ScoringParagraph/checkScoringLabelBannerAndCorrectAnswerSection.js +109 -0
  154. package/cypress/e2e/ILC/TextSelection/checkAddAlternativeButton.js +46 -0
  155. package/cypress/e2e/ILC/TextSelection/editTabBasicSection.js +57 -0
  156. package/cypress/e2e/ILC/TextSelection/headerSection.js +38 -6
  157. package/cypress/e2e/ILC/TextSelection/questionInstructionsAndQuestion.js +1 -2
  158. package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyPossibleOptionsSection.js +7 -12
  159. package/cypress/e2e/ILC/ThinkSphere/additionalSettings.js +52 -0
  160. package/cypress/e2e/ILC/ThinkSphere/createReviewItem.js +112 -0
  161. package/cypress/e2e/ILC/ThinkSphere/editTabBasicSection.js +561 -0
  162. package/cypress/e2e/ILC/ThinkSphere/editThinkSphereQuestion.smoke.js +185 -0
  163. package/cypress/e2e/ILC/ThinkSphere/equationEditorCreateCustomCategory.smoke.js +417 -0
  164. package/cypress/e2e/ILC/ThinkSphere/equationEditorEditCategoryFlyOut.js +289 -0
  165. package/cypress/e2e/ILC/ThinkSphere/headerSection.js +53 -0
  166. package/cypress/e2e/ILC/ThinkSphere/planPhase.js +581 -0
  167. package/cypress/e2e/ILC/ThinkSphere/previewTabPlanSection.js +541 -0
  168. package/cypress/e2e/ILC/ThinkSphere/solvePhase.js +296 -0
  169. package/cypress/e2e/Sessions/fetchResponses.js +3 -3
  170. package/cypress/e2e/Sessions/scores.js +9 -5
  171. package/cypress/e2e/applitools.config.js +3 -3
  172. package/cypress/fixtures/constants.js +5 -1
  173. package/cypress/fixtures/theme/ilc.json +16 -1
  174. package/cypress/fixtures/uploads/sample.webm +0 -0
  175. package/cypress/fixtures/uploads/sample.wmv +0 -0
  176. package/cypress/fixtures/uploads/sample20MB.mp4 +0 -0
  177. package/cypress/fixtures/uploads/sample2MB.mp4 +0 -0
  178. package/cypress/fixtures/uploads/sample2MB_2.mp4 +0 -0
  179. package/cypress/fixtures/uploads/sample30MB.mp4 +0 -0
  180. package/cypress/pages/audioPlayerPage.js +22 -22
  181. package/cypress/pages/brainingCampManipulativePage.js +1 -1
  182. package/cypress/pages/components/additionalSettingsPanel.js +3 -2
  183. package/cypress/pages/components/autoScoredScoringPreviewTab.js +7 -1
  184. package/cypress/pages/components/autoScoredScoringSectionMultiResponseType.js +2 -0
  185. package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +17 -51
  186. package/cypress/pages/components/backgroundImageUploadComponent.js +32 -25
  187. package/cypress/pages/components/browseItemsPage.js +998 -7
  188. package/cypress/pages/components/ckEditorAudioPlayerComponent.js +1 -1
  189. package/cypress/pages/components/ckEditorEquationEditorComponent.js +4 -4
  190. package/cypress/pages/components/ckEditorInsertImageComponent.js +3 -3
  191. package/cypress/pages/components/ckEditorLinkComponent.js +3 -3
  192. package/cypress/pages/components/commonComponents.js +8 -1
  193. package/cypress/pages/components/createQuestionBasePage.js +1 -1
  194. package/cypress/pages/components/defaultToolDropdown.js +7 -6
  195. package/cypress/pages/components/desmosToolComponent.js +1 -1
  196. package/cypress/pages/components/editCategoryFlyout.js +2 -2
  197. package/cypress/pages/components/equationEditorSectionCommonComponent.js +13 -26
  198. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +3 -70
  199. package/cypress/pages/components/fillInTheGapsTextCommonComponent.js +29 -101
  200. package/cypress/pages/components/gridQuestionCommonComponent.js +8 -37
  201. package/cypress/pages/components/hideExpressionListComponent.js +53 -0
  202. package/cypress/pages/components/imageCanvasComponent.js +7 -6
  203. package/cypress/pages/components/index.js +1 -0
  204. package/cypress/pages/components/mcqAdditionalSettingsBase.js +4 -0
  205. package/cypress/pages/components/optionsWrapperComponent.js +1 -1
  206. package/cypress/pages/components/questionInstructionsComponent.js +7 -0
  207. package/cypress/pages/components/scoringSectionBaseEditTab.js +12 -13
  208. package/cypress/pages/desmos3DGraphingPage.js +368 -0
  209. package/cypress/pages/desmosGeometryPage.js +308 -0
  210. package/cypress/pages/dialogBoxBase.js +2 -1
  211. package/cypress/pages/dragAndDropIntoCategoriesPage.js +26 -6
  212. package/cypress/pages/drawingResponsePage.js +16 -15
  213. package/cypress/pages/fillInTheGapsDragAndDropPage.js +1 -68
  214. package/cypress/pages/fillInTheGapsOverImageDragAndDropPage.js +4 -4
  215. package/cypress/pages/fillInTheGapsOverImageDropdownPage.js +1 -1
  216. package/cypress/pages/gradingViewPage.js +8 -0
  217. package/cypress/pages/graphingPage.js +5 -8
  218. package/cypress/pages/gridFillPage.js +7 -8
  219. package/cypress/pages/imageHighlightPage.js +0 -66
  220. package/cypress/pages/index.js +3 -1
  221. package/cypress/pages/multipleSelectionGridPage.js +1 -68
  222. package/cypress/pages/multipleSelectionPage.js +10 -106
  223. package/cypress/pages/numberLineLabelPage.js +5 -8
  224. package/cypress/pages/numberLinePage.js +4 -7
  225. package/cypress/pages/selectQuestionResourceToolPage.js +8 -2
  226. package/cypress/pages/singleSelectionGridPage.js +1 -68
  227. package/cypress/pages/singleSelectionPage.js +0 -104
  228. package/cypress/pages/textSelectionPage.js +25 -6
  229. package/cypress/pages/thinkSpherePage.js +1874 -0
  230. package/cypress/support/commands.js +7 -4
  231. package/cypress/support/e2e.js +1 -0
  232. package/cypress/support/helpers/createItem.js +1181 -1
  233. package/cypress/support/helpers/utilities.js +75 -1
  234. package/deploy/smoke/deploy.yaml +2 -2
  235. package/package.json +3 -3
  236. package/scripts/dataApi.mjs +3 -0
  237. package/scripts/sorry-cypress.mjs +13 -0
@@ -169,6 +169,7 @@ describe('Create item page - Fill in the gaps with text: Question instructions,
169
169
  utilities.verifyElementVisibilityState(fillInTheGapsTextPage.warningIcon(), 'notExist');
170
170
  });
171
171
  });
172
+
172
173
  //https://weldnorthed.atlassian.net/browse/IEI-5098
173
174
  describe('Fill in the gaps text: Answer input field - Specify correct answer section', () => {
174
175
  abortEarlySetup();
@@ -193,20 +194,11 @@ describe('Create item page - Fill in the gaps with text: Question instructions,
193
194
  fillInTheGapsTextPage.steps.focusOutOfResponseAnswerInputFieldSpecifyCorrectAnswer(0);
194
195
  });
195
196
 
196
- it('When the user enters text that triggers the tooltip, then the user should be able to enter text and focus in', () => {
197
- fillInTheGapsTextPage.steps.focusInAndFocusOutOfResponseAnswerInputFieldSpecifyCorrectAnswer(0);
198
- });
199
-
200
197
  //Unable to check tooltip using cypress
201
198
  it.skip('When the user enters a long text, then the user should be able to see the tooltip', () => {
202
199
  fillInTheGapsTextPage.answerInputFieldSpecifyCorrectAnswerSection()
203
200
  .verifyTooltip('Lorem ipsum dolor sit amet, onsectetur adipiscing elit. Ut pellentesque tincidunt ornare. Integer porttitor est quis urna porttitor,eget tempus tellus dapibus.Lorem ipsum');
204
201
  });
205
-
206
- it('When the user removes text, then the user should be able to check focus', () => {
207
- fillInTheGapsTextPage.steps.clearAnswerInputField();
208
- fillInTheGapsTextPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswer(0);
209
- });
210
202
  });
211
203
 
212
204
  describe('Fill in the gaps text: Answer input field - Preview tab functionality', () => {
@@ -244,7 +236,7 @@ describe('Create item page - Fill in the gaps with text: Question instructions,
244
236
  });
245
237
 
246
238
  it('When the user removes text, then the user should be able to check focus', () => {
247
- fillInTheGapsTextPage.steps.clearAnswerInputFieldPreviewTab();
239
+ fillInTheGapsTextPage.steps.clearAnswerInputFieldPreviewTab(0);
248
240
  fillInTheGapsTextPage.steps.focusInResponseInputFieldPreviewTab(0);
249
241
  });
250
242
  });
@@ -155,6 +155,8 @@ describe('Create item page - Fill in the gaps with text: Scoring section', () =>
155
155
  fillInTheGapsTextPage.steps.navigateToCreateQuestion('fill in the gaps with text');
156
156
  cy.barsPreLoaderWait();
157
157
  fillInTheGapsTextPage.steps.selectAutoScoredScoringSubtype('Partial different weights');
158
+ fillInTheGapsTextPage.steps.enterTextInAnswerInputFieldsSpecifyCorrectAnswerSection([{ responseIndex: 0, responseText: 'Lorem' }]);
159
+ fillInTheGapsTextPage.steps.enterTextInAnswerInputFieldsSpecifyCorrectAnswerSection([{ responseIndex: 1, responseText: 'Ipsum' }]);
158
160
  });
159
161
 
160
162
  fillInTheGapsTextPage.tests.verifyContentsOfSpecifyCorrectAnswerSection();
@@ -47,10 +47,9 @@ describe('Create item page - Graphing: Header section and saving question', () =
47
47
  describe('Validation error messages', () => {
48
48
  dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton();
49
49
 
50
- it('Validation error messages should be displayed below required input fields', () => {
50
+ it('No validation error messages should be displayed below required input fields', () => {
51
51
  graphingPage.steps.verifyQuestionInstructionsErrorMessageIsNotDisplayed();
52
52
  graphingPage.steps.verifyPointsFieldErrorMessageIsNotDisplayed();
53
- utilities.verifyInnerText(utilities.getNthElement(graphingPage.errorMessage(), 0), 'Error: Please set a correct answer.');
54
53
  });
55
54
 
56
55
  it('Validation error messages should disappear when required input fields are filled', () => {
@@ -426,7 +426,8 @@ describe('Graphing: Layout section - Edit tab and preview tab tool options', ()
426
426
  graphingPage.steps.enterTextInXGridSpacingInputFieldValue(1500);
427
427
  });
428
428
 
429
- it('When user updates X grid spacing then on the x axis user should be able to plot only on the grid lines after a those many intervals', () => {
429
+ //Failing due to https://weldnorthed.atlassian.net/browse/IEI-5518
430
+ it.skip('When user updates X grid spacing then on the x axis user should be able to plot only on the grid lines after a those many intervals', () => {
430
431
  graphingPage.steps.enterTextInXGridSpacingInputFieldValue(3);
431
432
  graphingPage.steps.plotPointsOnGraphEditTab([{ x: -2, xRange: 20, y: 1, yRange: 20 }]);
432
433
  graphingPage.steps.verifyPointsPlottedOnEditTabGraph([{ x: -3, xRange: 20, y: 1, yRange: 20 }]);
@@ -555,7 +556,8 @@ describe('Graphing: Layout section - Edit tab and preview tab tool options', ()
555
556
  graphingPage.steps.enterTextInYGridSpacingInputFieldValue(1500);
556
557
  });
557
558
 
558
- it('When the user updates the Y grid spacing value then the user should be able to plot on y axis grid lines after those many intervals', () => {
559
+ //Failing due to https://weldnorthed.atlassian.net/browse/IEI-5518
560
+ it.skip('When the user updates the Y grid spacing value then the user should be able to plot on y axis grid lines after those many intervals', () => {
559
561
  graphingPage.steps.enterTextInYGridSpacingInputFieldValue(4)
560
562
  graphingPage.steps.plotPointsOnGraphEditTab([{ x: 3, xRange: 20, y: 7, yRange: 20 }]);
561
563
  graphingPage.steps.verifyPointsPlottedOnEditTabGraph([{ x: 3, xRange: 20, y: 8, yRange: 20 }]);
@@ -843,7 +845,8 @@ describe('Graphing: Layout section - Edit tab and preview tab tool options', ()
843
845
  graphingPage.steps.verifyPointsPlottedOnPreviewTab([{ x: 3, xRange: 20, y: 1, yRange: 20 }]);
844
846
  });
845
847
 
846
- it('When the user updates the Y grid spacing value then the user should be able to plot on y axis grid lines after those many intervals', () => {
848
+ //Failing due to https://weldnorthed.atlassian.net/browse/IEI-5518
849
+ it.skip('When the user updates the Y grid spacing value then the user should be able to plot on y axis grid lines after those many intervals', () => {
847
850
  graphingPage.steps.switchToEditTab();
848
851
  graphingPage.steps.enterTextInYGridSpacingInputFieldValue(4);
849
852
  graphingPage.steps.switchToPreviewTab();
@@ -111,6 +111,12 @@ describe('Create item page - Grid fill: Customize layout section - \'Fill Image\
111
111
  gridFillPage.steps.verifyFilledImageFileNameLabel('highlightImage.jpg');
112
112
  });
113
113
 
114
+ it('When the user adds the image more than of 10MB, then the file should not be uploaded', () => {
115
+ gridFillPage.steps.uploadFilledImageFile('20mbFile.png');
116
+ gridFillPage.steps.verifyFilledImageFileNameLabel('highlightImage.jpg');
117
+ gridFillPage.steps.verifyErrorMessageDoesNotHaveText();
118
+ });
119
+
114
120
  it('Delete button should appear beside uploaded file\'s name', () => {
115
121
  utilities.verifyElementVisibilityState(gridFillPage.filledImageDeleteImageButton(), 'visible');
116
122
  });
@@ -312,6 +318,11 @@ describe('Create item page - Grid fill: Customize layout section - \'Fill Image\
312
318
  it('When user has deleted the uploaded background image, then the image should not be displayed as background in grids in edit tab', () => {
313
319
  gridFillPage.steps.verifyBackgroundImageIsNotDisplayedInEditTabGrids();
314
320
  });
321
+
322
+ it('When the user adds the image more than of 10MB, then error should not be displayed', () => {
323
+ gridFillPage.steps.uploadFile('20mbFile.png');
324
+ gridFillPage.steps.verifyErrorMessageIsNotDisplayed();
325
+ });
315
326
  });
316
327
 
317
328
  describe('\'Background image\' - Image properties section edit tab', () => {
@@ -475,6 +475,8 @@ describe('Create item page - Grid fill: Customize layout section - \'Shade the c
475
475
  gridFillPage.steps.selectGridBordersToggleButton('None');
476
476
  gridFillPage.steps.switchToPreviewTab();
477
477
  gridFillPage.steps.switchToStudentView();
478
+ utilities.hoverAwayFromElement(gridFillPage.gridWrapperPreviewTab());
479
+ utilities.triggerMouseout(gridFillPage.gridWrapperPreviewTab());
478
480
  gridFillPage.steps.verifyCellBorderNotDisplayedForNoneToggleButtonInPreviewTab();
479
481
  });
480
482
 
@@ -168,6 +168,9 @@ describe('Create item page - Grid fill: Scoring section', () => {
168
168
  before(() => {
169
169
  gridFillPage.steps.navigateToCreateQuestion('grid fill');
170
170
  cy.barsPreLoaderWait();
171
+ gridFillPage.steps.addTextInQuestionInstructionsInputField('Which of the following is the major contributor to increased carbon dioxide levels because of urbanization? Select your answer from the options below.')
172
+ gridFillPage.steps.selectCellSpecifyCorrectAnswerSection(0, 0);
173
+ gridFillPage.steps.selectCellSpecifyCorrectAnswerSection(0, 1);
171
174
  });
172
175
 
173
176
  it('User should be able to select \'Non scored\' scoring type from scoring type dropdown', () => {
@@ -44,14 +44,12 @@ describe('Create item page - Grid fill: Header section and Saving question', ()
44
44
  describe('Validation error messages', () => {
45
45
  dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please set points']);
46
46
 
47
- it('Validation error messages should be displayed below required input fields', () => {
47
+ it('Validation error messages and error icons should not be displayed below required input fields', () => {
48
48
  gridFillPage.steps.verifyQuestionInstructionsErrorMessageIsNotDisplayed();
49
- utilities.verifyInnerText(gridFillPage.errorMessage(), 'Error: Please set a correct answer.');
50
49
  gridFillPage.steps.verifyPointsFieldErrorMessageIsNotDisplayed();
51
- gridFillPage.steps.verifySpecifyCorrectAnswerErrorIconIsVisible();
50
+ gridFillPage.steps.verifySpecifyCorrectAnswerErrorIconNotExists();
52
51
  });
53
52
 
54
- //failed due to https://redmine.zeuslearning.com/issues/564243
55
53
  it('Validation error messages should disappear when required input fields are filled', () => {
56
54
  gridFillPage.steps.addTextInQuestionInstructionsInputField('Grid fill');
57
55
  gridFillPage.steps.selectCellSpecifyCorrectAnswerSection(0, 0);
@@ -112,8 +112,7 @@ describe('Create item page - Grid fill : Partial equal with alternative answers'
112
112
  gridFillPage.steps.verifyCorrectIncorrectStatusMessageNotExists();*/
113
113
  });
114
114
 
115
- //Remove skip once https://weldnorthed.atlassian.net/browse/IEI-4541 is resolved
116
- it.skip('When the user has attempts the question with equal number of correct responses from correct and alternative accordion, then the user should be awarded with points of the correctly selected response and on switching to \'Grading\' view, correct icon should be displayed in responses from correct accordion, incorrect icon should be displayed in responses from the alternative accordion, correct icon should be displayed in responses from correct accordion in correct answer section and correct/incorrect status message should not be displayed', () => {
115
+ it('When the user has attempts the question with equal number of correct responses from correct and alternative accordion, then the user should be awarded with points of the correctly selected response and on switching to \'Grading\' view, correct icon should be displayed in responses from correct accordion, incorrect icon should be displayed in responses from the alternative accordion, correct icon should be displayed in responses from correct accordion in correct answer section and correct/incorrect status message should not be displayed', () => {
117
116
  gridFillPage.steps.resetQuestionPreview();
118
117
  gridFillPage.steps.selectCellPreviewTab(0, 0);
119
118
  gridFillPage.steps.selectCellPreviewTab(0, 4);
@@ -30,7 +30,6 @@ describe('Create Item page - Grid fill: Specify Correct answer, Alternative corr
30
30
  gridFillPage.tests.verifyAutoScoredAddAlternativeAnswerButtonAndValidation();
31
31
 
32
32
  it('When user has added points and selected grid cells in the \'Correct\' accordion, then the user should be able to add alternative answer for the question using \'Add alternative answer\' button', () => {
33
- gridFillPage.steps.closeWarningPopup();
34
33
  gridFillPage.steps.selectCellSpecifyCorrectAnswerSection(0, 0);
35
34
  gridFillPage.steps.allotPoints(20);
36
35
  gridFillPage.steps.addAlternativeAnswerAccordion(1);
@@ -60,11 +59,10 @@ describe('Create Item page - Grid fill: Specify Correct answer, Alternative corr
60
59
  gridFillPage.steps.verifyAlternativeAnswerAccordionNotExists(2);
61
60
  });
62
61
 
63
- //Make changes once https://redmine.zeuslearning.com/issues/579214 is resolved
64
- it('\'Error: Please set a correct answer.\' error message should be displayed', () => {
62
+ it('\'Error: Please set a correct answer.\' error message should not be displayed', () => {
65
63
  gridFillPage.steps.addInputToCellShadeCountInputField(5);
66
64
  gridFillPage.steps.clearCellShadeCountInputField();
67
- utilities.verifyInnerText(gridFillPage.errorMessage(), 'Error: Please set a correct answer.');
65
+ gridFillPage.steps.verifyErrorMessageIsNotDisplayed();
68
66
  });
69
67
 
70
68
  it('When user has given an input in \'Cell shade count\' then user should be able to add another alternate accordion', () => {
@@ -283,7 +283,8 @@ describe('Create item page - Image highlight: Partial different weights', () =>
283
283
  });
284
284
  });
285
285
 
286
- describe('Question preview: Auto scored - Partial different weights: Penalty scoring with \'Round negative score to zero\' unchecked', () => {
286
+ //Failing due to https://weldnorthed.atlassian.net/browse/IEI-5839
287
+ describe.skip('Question preview: Auto scored - Partial different weights: Penalty scoring with \'Round negative score to zero\' unchecked', () => {
287
288
  abortEarlySetup();
288
289
  before(() => {
289
290
  imageHighlightPage.steps.navigateToCreateQuestion('image highlight');
@@ -32,7 +32,8 @@ describe('Create question page - Highlight image: Header section and Saving ques
32
32
  imageHighlightPage.tests.verifyTabsSection();
33
33
  });
34
34
 
35
- describe('Cancel button', () => {
35
+ //Failing due to https://weldnorthed.atlassian.net/browse/IEI-5837
36
+ describe.skip('Cancel button', () => {
36
37
  abortEarlySetup();
37
38
  before(() => {
38
39
  imageHighlightPage.steps.navigateToCreateQuestion('image highlight');
@@ -270,10 +270,10 @@ describe('Image highlight - Student view settings', () => {
270
270
  imageHighlightPage.steps.highlightARegionInSpecifyCorrectAnswerSection(1);
271
271
  });
272
272
 
273
- it('When user tries to select more number of options than the maximum number of options dropdown, then error message \'Error: maximum # options can be selected.\' should be displayed and user should not be able to select the option', () => {
273
+ it('When user tries to select more number of options than the maximum number of options dropdown, then error message should not be displayed', () => {
274
274
  imageHighlightPage.steps.clickOnARegionInSpecifyCorrectAnswerSection(2);
275
275
  imageHighlightPage.steps.verifyRegionIsNotHighlightedInSetCorrectAnswerSection(2);
276
- utilities.verifyInnerText(imageHighlightPage.maximumOptionsCanBeSelectedErrorMessage(), 'Error: maximum 2 options can be selected.');
276
+ imageHighlightPage.steps.verifyErrorMessageIsNotDisplayed();
277
277
  });
278
278
 
279
279
  it('\'Show student the maximum number of possible selections\' label and checkbox should be displayed. By default the checkbox should be unchecked', () => {
@@ -116,7 +116,8 @@ describe('Create item page - List ordering: All or nothing ', () => {
116
116
  listOrderingPage.steps.switchToGradingView();
117
117
  listOrderingPage.steps.verifyPreviewTabPointsBackgroundForIncorrectOrPartiallyCorrectAnswer();
118
118
  };
119
- listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
119
+ //Failing due to https://weldnorthed.atlassian.net/browse/IEI-2964
120
+ // listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
120
121
  listOrderingPage.steps.verifyCorrectIncorrectAnswerLabelNotExist();
121
122
  utilities.verifyInnerText(listOrderingPage.correctAnswersLabel(), 'Correct answers');
122
123
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
@@ -201,6 +201,232 @@ describe('Create Item page - Multiple selection: All or nothing ', () => {
201
201
  });
202
202
  });
203
203
 
204
+ views.forEach((view) => {
205
+ describe(`Multiple selection - Manually scored: ${view}`, { tags: 'smoke' }, () => {
206
+ abortEarlySetup();
207
+ before(() => {
208
+ switch (view) {
209
+ case 'Question preview':
210
+ multipleSelectionPage.steps.navigateToCreateQuestion('multiple selection');
211
+ cy.barsPreLoaderWait();
212
+ multipleSelectionPage.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.');
213
+ multipleSelectionPage.steps.addInputToOptionsInputField(options);
214
+ multipleSelectionPage.steps.expandScoringTypeDropdown();
215
+ multipleSelectionPage.steps.selectOptionFromScoringTypeDropdown('Manually scored');
216
+ multipleSelectionPage.steps.allotPoints(20);
217
+ multipleSelectionPage.steps.switchToPreviewTab();
218
+ break;
219
+ case 'Item preview':
220
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
221
+ itemPreviewPage.steps.switchToPreviewTab();
222
+ break;
223
+ case 'Grading view':
224
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
225
+ break;
226
+ };
227
+ });
228
+
229
+ beforeEach(() => {
230
+ switch (view) {
231
+ case 'Question preview':
232
+ multipleSelectionPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
233
+ multipleSelectionPage.steps.resetQuestionPreview();
234
+ break;
235
+ case 'Item preview':
236
+ multipleSelectionPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
237
+ itemPreviewPage.steps.resetQuestionPreview();
238
+ break;
239
+ case 'Grading view':
240
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
241
+ break;
242
+ }
243
+ });
244
+
245
+ if (view === 'Question preview') {
246
+ after(() => {
247
+ multipleSelectionPage.steps.clickOnSaveQuestionButtonWithForceTrue();
248
+ cy.wait(5000);
249
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
250
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
251
+ });
252
+ };
253
+
254
+ it('Question instructions should be visible', () => {
255
+ multipleSelectionPage.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.');
256
+ multipleSelectionPage.steps.verifyVisibityOfQuestionInstructionsText();
257
+ });
258
+
259
+ 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', () => {
260
+ multipleSelectionPage.steps.checkOptionsCheckboxInPreviewTab(0);
261
+ multipleSelectionPage.steps.checkOptionsCheckboxInPreviewTab(1);
262
+ if (view === 'Grading view') {
263
+ studentViewPage.steps.submitResponse();
264
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
265
+ studentViewPage.steps.clickOnGoToGradingViewButton();
266
+ gradingViewPage.steps.verifyGradingViewScore('', 20);
267
+ multipleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleGradingView(0);
268
+ multipleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleGradingView(1);
269
+ multipleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleGradingView(2);
270
+ multipleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleGradingView(3);
271
+ multipleSelectionPage.steps.verifyAnswerBannerNotExist();
272
+ multipleSelectionPage.steps.verifyCorrectAnswerSectionNotExist();
273
+ };
274
+ if (view === 'Question preview' || view === 'Item preview') {
275
+ multipleSelectionPage.steps.checkManuallyScoredScoringLabel();
276
+ };
277
+ });
278
+ });
279
+ });
280
+
281
+ views.forEach((view) => {
282
+ describe(`Multiple selection - Non scored: ${view}`, { tags: 'smoke' }, () => {
283
+ abortEarlySetup();
284
+ before(() => {
285
+ switch (view) {
286
+ case 'Question preview':
287
+ multipleSelectionPage.steps.navigateToCreateQuestion('multiple selection');
288
+ cy.barsPreLoaderWait();
289
+ multipleSelectionPage.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.');
290
+ multipleSelectionPage.steps.expandScoringTypeDropdown();
291
+ multipleSelectionPage.steps.selectOptionFromScoringTypeDropdown('Non scored');
292
+ multipleSelectionPage.steps.addInputToOptionsInputField(options);
293
+ multipleSelectionPage.steps.checkOptionsCheckboxInSpecifyCorrectAnswerSection(0);
294
+ multipleSelectionPage.steps.checkOptionsCheckboxInSpecifyCorrectAnswerSection(1);
295
+ multipleSelectionPage.steps.switchToPreviewTab();
296
+ break;
297
+ case 'Item preview':
298
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
299
+ itemPreviewPage.steps.switchToPreviewTab();
300
+ break;
301
+ case 'Grading view':
302
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
303
+ break;
304
+ };
305
+ });
306
+
307
+ beforeEach(() => {
308
+ switch (view) {
309
+ case 'Question preview':
310
+ multipleSelectionPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
311
+ multipleSelectionPage.steps.resetQuestionPreview();
312
+ break;
313
+ case 'Item preview':
314
+ multipleSelectionPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
315
+ itemPreviewPage.steps.resetQuestionPreview();
316
+ break;
317
+ case 'Grading view':
318
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
319
+ break;
320
+ }
321
+ });
322
+
323
+ if (view === 'Question preview') {
324
+ after(() => {
325
+ multipleSelectionPage.steps.clickOnSaveQuestionButton();
326
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
327
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
328
+ });
329
+ };
330
+
331
+ it('When the user selects \'Grading\' view without attempting the question, dropdown numeration should be displayed, correct/incorrect status message should not be displayed, correct answers section with a label \'Correct answers\' should be displayed with correct answers and respective option numeration', () => {
332
+ if (view === 'Grading view') {
333
+ studentViewPage.steps.submitResponse();
334
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
335
+ studentViewPage.steps.clickOnGoToGradingViewButton();
336
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
337
+ };
338
+ if (view === 'Question preview' || view === 'Item preview') {
339
+ multipleSelectionPage.steps.checkNonScoredScoringLabel();
340
+ multipleSelectionPage.steps.switchToGradingView();
341
+ multipleSelectionPage.steps.verifyPreviewTabPointsBackgroundForIncorrectOrPartiallyCorrectAnswer();
342
+ };
343
+ //Remove the if-else condition and line 346 once https://weldnorthed.atlassian.net/browse/IEI-5704 is fixed.
344
+ if(view === 'Question preview'){
345
+ utilities.verifyInnerText(multipleSelectionPage.correctAnswersLabel(), 'Correct answers');
346
+ }
347
+ else{
348
+ utilities.verifyInnerText(multipleSelectionPage.correctAnswersLabel(), 'Correct answer');
349
+ }
350
+ multipleSelectionPage.steps.verifyCorrectIncorrectAnswerLabelNotExist();
351
+ multipleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleGradingView(0);
352
+ multipleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleGradingView(1);
353
+ multipleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleGradingView(2);
354
+ multipleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleGradingView(3);
355
+ });
356
+
357
+ 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', () => {
358
+ multipleSelectionPage.steps.checkOptionsCheckboxInPreviewTab(2);
359
+ multipleSelectionPage.steps.checkOptionsCheckboxInPreviewTab(3);
360
+ if (view === 'Grading view') {
361
+ studentViewPage.steps.submitResponse();
362
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
363
+ studentViewPage.steps.clickOnGoToGradingViewButton();
364
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
365
+ };
366
+ if (view === 'Question preview' || view === 'Item preview') {
367
+ multipleSelectionPage.steps.checkNonScoredScoringLabel();
368
+ multipleSelectionPage.steps.switchToGradingView();
369
+ };
370
+ multipleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleGradingView(0);
371
+ multipleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleGradingView(1);
372
+ multipleSelectionPage.steps.verifyIncorrectOptionIconGradingView(2);
373
+ multipleSelectionPage.steps.verifyIncorrectOptionIconGradingView(3);
374
+ multipleSelectionPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
375
+ multipleSelectionPage.steps.verifyCorrectAnswerSectionExist();
376
+ });
377
+
378
+ it('When the user attempts the question partially correct, then the user should be awarded 0 points and on switching to \'Grading\' view, correct icon should be displayed besides the correct answer responses, incorrect icon should be displayed besides incorrect answer response, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers along with numeration should be displayed', () => {
379
+ if (view === 'Grading view') {
380
+ studentViewPage.steps.clearResponses();
381
+ };
382
+ multipleSelectionPage.steps.checkOptionsCheckboxInPreviewTab(0);
383
+ multipleSelectionPage.steps.checkOptionsCheckboxInPreviewTab(1);
384
+ multipleSelectionPage.steps.checkOptionsCheckboxInPreviewTab(2);
385
+ multipleSelectionPage.steps.checkOptionsCheckboxInPreviewTab(3);
386
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
387
+ if (view === 'Grading view') {
388
+ studentViewPage.steps.submitResponse();
389
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
390
+ studentViewPage.steps.clickOnGoToGradingViewButton();
391
+ };
392
+ if (view === 'Question preview' || view === 'Item preview') {
393
+ multipleSelectionPage.steps.checkNonScoredScoringLabel();
394
+ multipleSelectionPage.steps.switchToGradingView();
395
+ };
396
+ multipleSelectionPage.steps.verifyCorrectOptionIconGradingView(0);
397
+ multipleSelectionPage.steps.verifyCorrectOptionIconGradingView(1);
398
+ multipleSelectionPage.steps.verifyIncorrectOptionIconGradingView(2);
399
+ multipleSelectionPage.steps.verifyIncorrectOptionIconGradingView(3);
400
+ multipleSelectionPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
401
+ multipleSelectionPage.steps.verifyCorrectAnswerSectionExist();
402
+ });
403
+
404
+ 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', () => {
405
+ if (view === 'Grading view') {
406
+ studentViewPage.steps.clearResponses();
407
+ };
408
+ multipleSelectionPage.steps.checkOptionsCheckboxInPreviewTab(0);
409
+ multipleSelectionPage.steps.checkOptionsCheckboxInPreviewTab(1);
410
+ if (view === 'Grading view') {
411
+ studentViewPage.steps.submitResponse();
412
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
413
+ studentViewPage.steps.clickOnGoToGradingViewButton();
414
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
415
+ };
416
+ if (view === 'Question preview' || view === 'Item preview') {
417
+ multipleSelectionPage.steps.checkNonScoredScoringLabel();
418
+ multipleSelectionPage.steps.switchToGradingView();
419
+ };
420
+ multipleSelectionPage.steps.verifyCorrectOptionIconGradingView(0);
421
+ multipleSelectionPage.steps.verifyCorrectOptionIconGradingView(1);
422
+ multipleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleGradingView(2);
423
+ multipleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleGradingView(3);
424
+ multipleSelectionPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
425
+ multipleSelectionPage.steps.verifyCorrectAnswerSectionNotExist();
426
+ });
427
+ });
428
+ });
429
+
204
430
  if (!grepTags || !grepTags.includes('smoke')) {
205
431
  describe('Question preview: Auto scored - All or nothing: Minimum scoring', () => {
206
432
  abortEarlySetup();
@@ -153,7 +153,8 @@ describe('Create item page - Multiple selection: All or nothing with alternative
153
153
  multipleSelectionPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');*/
154
154
  });
155
155
 
156
- it('When the user attempts the question with partially correct responses exclusively from the alternative accordion, then the user should be awarded with 0 points and on switching to \'Grading\' view, correct icons should only be displayed besides correct responses and no icons should be displayed besides unattempted correct options, incorrect icon should be displayed besides the incorrect responses and status message \'Your answer is incorrect\' should be displayed below the question preview and correct responses from correct accordion should be displayed in correct answer section', () => {
156
+ //Failing due to https://weldnorthed.atlassian.net/browse/IEI-5710
157
+ it.skip('When the user attempts the question with partially correct responses exclusively from the alternative accordion, then the user should be awarded with 0 points and on switching to \'Grading\' view, correct icons should only be displayed besides correct responses and no icons should be displayed besides unattempted correct options, incorrect icon should be displayed besides the incorrect responses and status message \'Your answer is incorrect\' should be displayed below the question preview and correct responses from correct accordion should be displayed in correct answer section', () => {
157
158
  multipleSelectionPage.steps.resetQuestionPreview();
158
159
  multipleSelectionPage.steps.checkOptionsCheckboxInPreviewTab(4);
159
160
  multipleSelectionPage.steps.checkOptionsCheckboxInPreviewTab(5);
@@ -404,7 +405,8 @@ describe('Create item page - Multiple selection: All or nothing with alternative
404
405
  multipleSelectionPage.steps.verifyCorrectIncorrectAnswerLabel('correct');*/
405
406
  });
406
407
 
407
- it('When the user attempts the question with partially correct responses exclusively from the correct accordion, then the user should be awarded with 0 points and on switching to \'Grading\' view, correct icons should only be displayed besides correct responses, no icons should be displayed besides unattempted options, incorrect icon should be displayed besides the incorrect responses, and status message \'Your answer is incorrect\' should be displayed below the question preview and correct answer from alternative accordion should be displayed in correct answer section', () => {
408
+ //Failing due to https://weldnorthed.atlassian.net/browse/IEI-5710
409
+ it.skip('When the user attempts the question with partially correct responses exclusively from the correct accordion, then the user should be awarded with 0 points and on switching to \'Grading\' view, correct icons should only be displayed besides correct responses, no icons should be displayed besides unattempted options, incorrect icon should be displayed besides the incorrect responses, and status message \'Your answer is incorrect\' should be displayed below the question preview and correct answer from alternative accordion should be displayed in correct answer section', () => {
408
410
  multipleSelectionPage.steps.resetQuestionPreview();
409
411
  multipleSelectionPage.steps.checkOptionsCheckboxInPreviewTab(0);
410
412
  multipleSelectionPage.steps.checkOptionsCheckboxInPreviewTab(5);
@@ -675,7 +677,8 @@ describe('Create item page - Multiple selection: All or nothing with alternative
675
677
  multipleSelectionPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');*/
676
678
  });
677
679
 
678
- it('When the user attempts the question with partially correct responses exclusively from the alternative accordion, then the user should be awarded with 0 points and on switching to \'Grading\' view, correct icons should only be displayed besides correct responses and no icons should be displayed besides unattempted options, incorrect icon should be displayed besides the incorrect responses, and status message \'Your answer is incorrect\' should be displayed below the question preview and correct answer from correct accordion should be displayed in correct answer section', () => {
680
+ //Failing due to https://weldnorthed.atlassian.net/browse/IEI-5710
681
+ it.skip('When the user attempts the question with partially correct responses exclusively from the alternative accordion, then the user should be awarded with 0 points and on switching to \'Grading\' view, correct icons should only be displayed besides correct responses and no icons should be displayed besides unattempted options, incorrect icon should be displayed besides the incorrect responses, and status message \'Your answer is incorrect\' should be displayed below the question preview and correct answer from correct accordion should be displayed in correct answer section', () => {
679
682
  multipleSelectionPage.steps.resetQuestionPreview();
680
683
  multipleSelectionPage.steps.checkOptionsCheckboxInPreviewTab(4);
681
684
  multipleSelectionPage.steps.checkOptionsCheckboxInPreviewTab(5);
@@ -1,5 +1,6 @@
1
1
  import { multipleSelectionPage } 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 - Multiple selection', () => {
5
6
  before(() => {
@@ -52,7 +53,7 @@ describe('Create Item page - Multiple selection', () => {
52
53
  });
53
54
 
54
55
  it('In Preview tab, when user switches to grading view then banner and correct Answer should be displayed', () => {
55
- multipleSelectionPage.steps.checkOptionsCheckboxInPreviewTab(1);
56
+ multipleSelectionPage.steps.checkOptionsCheckboxInPreviewTab(2);
56
57
  multipleSelectionPage.steps.switchToGradingView();
57
58
  multipleSelectionPage.steps.verifyAnswerBannerExist();
58
59
  multipleSelectionPage.steps.verifyCorrectAnswerSectionExist();
@@ -64,6 +65,7 @@ describe('Create Item page - Multiple selection', () => {
64
65
  before(() => {
65
66
  multipleSelectionPage.steps.navigateToCreateQuestion('multiple selection');
66
67
  cy.barsPreLoaderWait();
68
+ multipleSelectionPage.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', () => {
@@ -103,8 +103,9 @@ describe('Create item page - Multiple selection: Scoring section', () => {
103
103
 
104
104
  it('When the user unchecks a correct option in the specify correct answer section, then points per response should get updated accordingly', () => {
105
105
  multipleSelectionPage.steps.uncheckOptionsCheckboxInSpecifyCorrectAnswerSection(2);
106
- multipleSelectionPage.steps.verifyPartialEqualWeightsPointsPerResponseScore(0, '2');
107
- multipleSelectionPage.steps.verifyPartialEqualWeightsPointsPerResponseScore(1, '2');
106
+ //Failing due to https://weldnorthed.atlassian.net/browse/IEI-5714
107
+ // multipleSelectionPage.steps.verifyPartialEqualWeightsPointsPerResponseScore(0, '2');
108
+ // multipleSelectionPage.steps.verifyPartialEqualWeightsPointsPerResponseScore(1, '2');
108
109
  multipleSelectionPage.steps.verifyPartialEqualWeightsPointsPerResponseScore(2, '-');
109
110
  });
110
111
 
@@ -112,7 +113,8 @@ describe('Create item page - Multiple selection: Scoring section', () => {
112
113
  multipleSelectionPage.steps.selectAutoScoredScoringSubtype('All or nothing');
113
114
  utilities.verifyElementVisibilityState(multipleSelectionPage.pointsPerResponseLabel(), 'notExist');
114
115
  utilities.verifyElementVisibilityState(multipleSelectionPage.partialEqualWeightsPointsPerResponseScore(), 'notExist');
115
- multipleSelectionPage.steps.verifyPointsFieldValue(4);
116
+ //Failing due to https://weldnorthed.atlassian.net/browse/IEI-5714
117
+ // multipleSelectionPage.steps.verifyPointsFieldValue(4);
116
118
  });
117
119
 
118
120
  //https://redmine.zeuslearning.com/issues/566929
@@ -222,6 +224,7 @@ describe('Create item page - Multiple selection: Scoring section', () => {
222
224
  before(() => {
223
225
  multipleSelectionPage.steps.navigateToCreateQuestion('multiple selection');
224
226
  cy.barsPreLoaderWait();
227
+ multipleSelectionPage.steps.addInputToOptionsInputField(options);
225
228
  });
226
229
 
227
230
  it('User should be able to select \'Manually scored\' scoring type from scoring type dropdown', () => {
@@ -41,6 +41,7 @@ describe('Create item page - Multiple selection: Header section and Saving quest
41
41
  before(() => {
42
42
  multipleSelectionPage.steps.navigateToCreateQuestion('multiple selection');
43
43
  cy.barsPreLoaderWait();
44
+ utilities.verifyElementCount(multipleSelectionPage.optionsInputField(), 4);
44
45
  });
45
46
 
46
47
  describe('Validation error messages', () => {
@@ -46,7 +46,7 @@ describe('Create item page - Multiple selection: Minimum scoring, Penalty scorin
46
46
 
47
47
  it('When the user selects \'Penalty points for each incorrect option\' from the penalty scoring dropdown, \'Automatically set penalty for each incorrect option to total points / no. of incorrect options\' label and checkbox should be displayed, by default the checkbox should be unchecked. Two radio buttons with labels - \'Specify total penalty points\' and \'Specify points for each incorrect option\' should be displayed. By default, \'Specify total penalty points\' radio button should be checked', () => {
48
48
  multipleSelectionPage.steps.expandPenaltyScoringDropdown();
49
- multipleSelectionPage.steps.selectOptionFromPenaltyScoringDropdown('Penalty points for each incorrect option');
49
+ multipleSelectionPage.steps.selectOptionFromPenaltyScoringDropdown('penalty points for each incorrect option');
50
50
  utilities.verifyInnerText(multipleSelectionPage.automaticallySetPenaltyPointsCheckboxLabel(), 'Automatically set penalty for each incorrect option to total points / no. of incorrect options');
51
51
  multipleSelectionPage.steps.verifyAutomaticallySetPenaltyPointsCheckboxUncheckedState();
52
52
  multipleSelectionPage.steps.verifySpecifyTotalPenaltyPointsRadioButtonCheckedState();
@@ -231,7 +231,7 @@ describe('Create Item page - Multiple selection: Partial - different weights ',
231
231
  //Penalty points for each incorrect option - Specify total penalty points
232
232
  it('When the user sets penalty scoring to \'Penalty points for each incorrect option\', and \'Specify total penalty points\' radio button in checked state, allots total penalty points and attempts the question incorrectly, then the user should be awarded with negative points', () => {
233
233
  multipleSelectionPage.steps.expandPenaltyScoringDropdown();
234
- multipleSelectionPage.steps.selectOptionFromPenaltyScoringDropdown('Penalty points for each incorrect option');
234
+ multipleSelectionPage.steps.selectOptionFromPenaltyScoringDropdown('penalty points for each incorrect option');
235
235
  multipleSelectionPage.steps.allotTotalPenaltyPoints(4);
236
236
  multipleSelectionPage.steps.switchToPreviewTab();
237
237
  multipleSelectionPage.steps.checkOptionsCheckboxInPreviewTab(2);