itemengine-cypress-automation 1.0.361-mcqRegressionFixes-c3229ca.0 → 1.0.363-bump-version-c5f4368.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 (238) 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 +39 -7
  5. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/gradingViewAndCorrectAnswerView.smoke.js +1 -1
  6. package/cypress/e2e/ILC/ChartsBar/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +33 -0
  7. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightBasic.js +2 -2
  8. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +1 -0
  9. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +1 -0
  10. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +1 -0
  11. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -0
  12. package/cypress/e2e/ILC/ChartsBar/editTabBasicSection.js +37 -0
  13. package/cypress/e2e/ILC/ChartsBar/headerSection.js +50 -2
  14. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightBasic.js +1 -0
  15. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +1 -0
  16. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +1 -0
  17. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +1 -0
  18. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -0
  19. package/cypress/e2e/ILC/ChartsLine/editQuestion.smoke.js +3 -1
  20. package/cypress/e2e/ILC/ChartsLine/headerSection.js +18 -1
  21. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddFeatureRadioButton.js +2 -3
  22. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddTranscriptRadioButton .js +2 -4
  23. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabStudentViewSettings.js +3 -3
  24. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerHeaderSectionAndButtons.js +2 -2
  25. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTab.js +1 -1
  26. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabSupportedFileTypes.js +6 -0
  27. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabTranscript.js +2 -3
  28. package/cypress/e2e/ILC/CkEditorEquationEditor/equationEditorBasicFile.js +4 -4
  29. package/cypress/e2e/ILC/CkEditorInsertImage/imageInfo.js +4 -4
  30. package/cypress/e2e/ILC/CkEditorInsertTable/tableDimension&FooterProperties.js +3 -3
  31. package/cypress/e2e/ILC/CkEditorInsertTable/tableStyle.js +11 -11
  32. package/cypress/e2e/ILC/CkEditorLink/uploadSection.js +1 -1
  33. package/cypress/e2e/ILC/ContentBlocks/editTabBasics.js +62 -4
  34. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +119 -10
  35. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabScoring.js +1 -0
  36. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/headerSection.js +2 -0
  37. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/manuallyAndNonScoredScoringEditTab.js +4 -1
  38. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +3 -0
  39. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/pagination.js +1 -1
  40. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/styleAndLayoutCustomizationLayoutProperties.js +3 -0
  41. package/cypress/e2e/ILC/DrawingResponse/drawingResponseAdditionalSettings.js +1 -0
  42. package/cypress/e2e/ILC/DrawingResponse/drawingResponseBackground.js +2 -8
  43. package/cypress/e2e/ILC/DrawingResponse/drawingResponseCustomizeAdditionalOptions.js +1 -0
  44. package/cypress/e2e/ILC/DrawingResponse/drawingResponseEditTabBasicSection.js +3 -3
  45. package/cypress/e2e/ILC/DrawingResponse/drawingResponsePreviewTabContents.smoke.js +1 -3
  46. package/cypress/e2e/ILC/EssayResponse/createCustomCategory.smoke.js +2 -2
  47. package/cypress/e2e/ILC/EssayResponse/editCategoryFlyout.js +0 -1
  48. package/cypress/e2e/ILC/EssayResponse/editTabBasicSections.js +23 -37
  49. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +210 -0
  50. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editQuestion.smoke.js +40 -0
  51. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +216 -0
  52. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editQuestion.smoke.js +45 -0
  53. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/allOrNothingForAllViews.smoke.js +213 -0
  54. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/backgroundImageAndCanvasProperties.js +1 -0
  55. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/supportedFileTypes.js +3 -1
  56. package/cypress/e2e/ILC/FillInTheGapsTextNew/allOrNothingForAllViews.smoke.js +207 -0
  57. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +73 -0
  58. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +38 -0
  59. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +38 -0
  60. package/cypress/e2e/ILC/Graphing/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +87 -0
  61. package/cypress/e2e/ILC/Graphing/checkAddAlternativeButton.js +35 -0
  62. package/cypress/e2e/ILC/Graphing/editQuestion.smoke.js +28 -0
  63. package/cypress/e2e/ILC/Graphing/editTabBasicSection.js +38 -0
  64. package/cypress/e2e/ILC/Graphing/editTabScoringSection.js +1 -0
  65. package/cypress/e2e/ILC/Graphing/headerSection.js +36 -4
  66. package/cypress/e2e/ILC/Graphing/layoutAndGridOptions.js +6 -3
  67. package/cypress/e2e/ILC/GridFill/addAlternateButton.js +40 -0
  68. package/cypress/e2e/ILC/GridFill/customizeLayoutFillImageBackgroundImage.js +5 -6
  69. package/cypress/e2e/ILC/GridFill/customizeLayoutSectionShadeCellsGridBorders.js +2 -0
  70. package/cypress/e2e/ILC/GridFill/editTabScoringSection.js +3 -0
  71. package/cypress/e2e/ILC/GridFill/headerSection.js +1 -3
  72. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +39 -0
  73. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  74. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +39 -0
  75. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountAllOrNothingCorrectPointsGreaterThanAlternativePoints.js +37 -0
  76. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountallOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  77. package/cypress/e2e/ILC/GridFill/scoring/cellshadeCountAllOrNothingAlternativePointsGreaterThanCorrectPoints.js +36 -0
  78. package/cypress/e2e/ILC/GridFill/scoring/checkLabelSaveAsYouGo.js +75 -0
  79. package/cypress/e2e/ILC/GridFill/specifyCorrectAnswerSection.js +2 -4
  80. package/cypress/e2e/ILC/ImageHighlight/Scoring/partialDifferentWeightsScoring.js +2 -1
  81. package/cypress/e2e/ILC/ImageHighlight/headerSection.js +2 -1
  82. package/cypress/e2e/ILC/ImageHighlight/studentViewSettings.js +2 -2
  83. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +24 -0
  84. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +24 -0
  85. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +24 -0
  86. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +86 -0
  87. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +1 -1
  88. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +1 -1
  89. package/cypress/e2e/ILC/ListOrderingDropdown/checkAddAlternativeButton.js +35 -0
  90. package/cypress/e2e/ILC/ListOrderingDropdown/editTabBasicSection.js +24 -0
  91. package/cypress/e2e/ILC/ListOrderingDropdown/headerSection.js +108 -0
  92. package/cypress/e2e/ILC/ListOrderingDropdown/specifyCorrectAnswerSection.js +6 -10
  93. package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/specifyCorrectAnswerSection.js +2 -1
  94. package/cypress/e2e/ILC/ListOrderingNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +52 -0
  95. package/cypress/e2e/ILC/ListOrderingNew/editTabBasicSection.js +23 -0
  96. package/cypress/e2e/ILC/ListOrderingNew/headerSection.js +35 -9
  97. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +41 -0
  98. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +30 -0
  99. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +50 -0
  100. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +101 -0
  101. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/checkAddAlternativeButton.js +38 -0
  102. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabBasicSection.js +24 -0
  103. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabScoring.js +4 -1
  104. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/headerSection.js +35 -1
  105. package/cypress/e2e/ILC/Matching/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +98 -0
  106. package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +210 -0
  107. package/cypress/e2e/ILC/Matching/checkAlternativeButton.js +38 -0
  108. package/cypress/e2e/ILC/Matching/clickAndDrop.js +3 -5
  109. package/cypress/e2e/ILC/Matching/draggableOptions.js +4 -0
  110. package/cypress/e2e/ILC/Matching/editTabBasicSection.js +41 -0
  111. package/cypress/e2e/ILC/Matching/headerSection.js +36 -11
  112. package/cypress/e2e/ILC/Matching/questionInstructionsAndPromptSection.js +2 -15
  113. package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +208 -0
  114. package/cypress/e2e/ILC/MultipleSelection/allOrNothingBasicForAllViews.smoke.js +227 -0
  115. package/cypress/e2e/ILC/MultipleSelection/checkScoringLabelBannerAndCorrectAnswer.js +2 -0
  116. package/cypress/e2e/ILC/MultipleSelection/editTabScoringSection.js +1 -0
  117. package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswer.js +1 -0
  118. package/cypress/e2e/ILC/MultipleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +220 -0
  119. package/cypress/e2e/ILC/MultipleSelectionGridNew/editTabScoringSection.js +6 -0
  120. package/cypress/e2e/ILC/MultipleSelectionGridNew/previewContentsForAllViews.smoke.js +100 -69
  121. package/cypress/e2e/ILC/MultipleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +1 -0
  122. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +79 -0
  123. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +42 -0
  124. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +42 -0
  125. package/cypress/e2e/ILC/NumberLine/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +75 -0
  126. package/cypress/e2e/ILC/NumberLine/checkAddAlternativeButton.js +32 -0
  127. package/cypress/e2e/ILC/NumberLine/editTabSection.js +38 -0
  128. package/cypress/e2e/ILC/NumberLine/headerSection.js +33 -4
  129. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +81 -0
  130. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +43 -0
  131. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +43 -0
  132. package/cypress/e2e/ILC/NumberLineLabel/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +76 -0
  133. package/cypress/e2e/ILC/NumberLineLabel/additionalSettingsBasic.js +1 -1
  134. package/cypress/e2e/ILC/NumberLineLabel/checkAddAlternativeButton.js +34 -0
  135. package/cypress/e2e/ILC/NumberLineLabel/editTabSection.js +38 -0
  136. package/cypress/e2e/ILC/NumberLineLabel/headerSection.js +37 -5
  137. package/cypress/e2e/ILC/NumberLineLabel/manuallyAndNonScoredEditTab.js +2 -1
  138. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/editQuestion.smoke.js +1 -1
  139. package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +35 -51
  140. package/cypress/e2e/ILC/ShortTextResponseNew/headerSection.js +2 -4
  141. package/cypress/e2e/ILC/SingleSelection/allOrNothingBasicForAllViews.smoke.js +192 -0
  142. package/cypress/e2e/ILC/SingleSelection/checkScoringLabelBannerAndCorrectAnswer.js +2 -0
  143. package/cypress/e2e/ILC/SingleSelection/manuallyAndNonScoredScoring.js +94 -88
  144. package/cypress/e2e/ILC/SingleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +3 -1
  145. package/cypress/e2e/ILC/SingleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +209 -0
  146. package/cypress/e2e/ILC/SingleSelectionGridNew/editTabScoringSection.js +5 -0
  147. package/cypress/e2e/ILC/SingleSelectionGridNew/previewContentsForAllViews.smoke.js +101 -70
  148. package/cypress/e2e/ILC/SingleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +4 -0
  149. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +86 -0
  150. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +86 -0
  151. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  152. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +3 -1
  153. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  154. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  155. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsScoringBasic.js +10 -3
  156. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +4 -2
  157. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +5 -3
  158. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  159. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsScoringBasic.js +4 -0
  160. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +64 -0
  161. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAddEvaluation.js +2 -0
  162. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAlternateAnswer.js +2 -0
  163. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +64 -0
  164. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  165. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  166. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  167. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  168. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsScoringBasic.js +8 -0
  169. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  170. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  171. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  172. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasic.js +1 -0
  173. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasicForAlternateAnswer.js +2 -0
  174. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +2 -0
  175. package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +27 -3
  176. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodSymbolsAreEquivalent.smoke.js +70 -0
  177. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodValueIsEquivalent.smoke.js +70 -0
  178. package/cypress/e2e/ILC/TextEntryMath/headerSection.js +43 -0
  179. package/cypress/e2e/ILC/TextSelection/ScoringParagraph/checkScoringLabelBannerAndCorrectAnswerSection.js +0 -1
  180. package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyPossibleOptionsSection.js +7 -12
  181. package/cypress/e2e/ILC/ThinkSphere/createReviewItem.js +54 -1
  182. package/cypress/e2e/ILC/ThinkSphere/editTabBasicSection.js +53 -2
  183. package/cypress/e2e/ILC/ThinkSphere/editThinkSphereQuestion.smoke.js +145 -54
  184. package/cypress/e2e/ILC/ThinkSphere/equationEditorCreateCustomCategory.smoke.js +417 -0
  185. package/cypress/e2e/ILC/ThinkSphere/equationEditorEditCategoryFlyOut.js +291 -0
  186. package/cypress/e2e/ILC/ThinkSphere/planPhase.js +91 -9
  187. package/cypress/e2e/ILC/ThinkSphere/previewTabPlanSection.js +12 -12
  188. package/cypress/e2e/ILC/ThinkSphere/previewTabReviewSection.js +97 -0
  189. package/cypress/e2e/ILC/ThinkSphere/solvePhase.js +35 -2
  190. package/cypress/e2e/ILC/ThinkSphere/studentViewPlanTabSection.js +393 -0
  191. package/cypress/e2e/ILC/ThinkSphere/studentViewReviewTabSection.js +141 -0
  192. package/cypress/e2e/ILC/ToolAudioPlayerNew/headerSection.js +90 -2
  193. package/cypress/e2e/ILC/UploadResponse/editTabBasicSection.js +34 -0
  194. package/cypress/e2e/ILC/UploadResponse/headerSection.js +38 -1
  195. package/cypress/e2e/ILC/UploadResponse/uploadResponsePreview.js +50 -13
  196. package/cypress/e2e/ILC/VideoResponseNew/editTabBasicSection.js +14 -29
  197. package/cypress/e2e/ILC/chartsDotsPlot/headerSection.js +16 -1
  198. package/cypress/e2e/Sessions/fetchResponses.js +3 -3
  199. package/cypress/pages/audioPlayerPage.js +47 -22
  200. package/cypress/pages/brainingCampManipulativePage.js +1 -1
  201. package/cypress/pages/chartsBarPage.js +20 -0
  202. package/cypress/pages/components/additionalSettingsPanel.js +3 -2
  203. package/cypress/pages/components/autoScoredScoringSectionMultiResponseType.js +2 -0
  204. package/cypress/pages/components/browseItemsPage.js +109 -2
  205. package/cypress/pages/components/ckEditorEquationEditorComponent.js +5 -4
  206. package/cypress/pages/components/ckEditorInsertImageComponent.js +2 -2
  207. package/cypress/pages/components/ckEditorInsertTableComponent.js +3 -3
  208. package/cypress/pages/components/ckEditorLinkComponent.js +8 -9
  209. package/cypress/pages/components/commonComponents.js +4 -0
  210. package/cypress/pages/components/createQuestionBasePage.js +14 -1
  211. package/cypress/pages/components/defaultToolDropdown.js +1 -1
  212. package/cypress/pages/components/editCategoryFlyout.js +2 -2
  213. package/cypress/pages/components/equationEditorSectionCommonComponent.js +10 -25
  214. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +28 -0
  215. package/cypress/pages/components/gridQuestionCommonComponent.js +55 -0
  216. package/cypress/pages/components/mcqAdditionalSettingsBase.js +1 -0
  217. package/cypress/pages/components/questionInstructionsComponent.js +9 -0
  218. package/cypress/pages/components/scoringSectionBaseEditTab.js +3 -1
  219. package/cypress/pages/contentBlocksPage.js +2 -0
  220. package/cypress/pages/desmos3DGraphingPage.js +149 -4
  221. package/cypress/pages/desmosGeometryPage.js +184 -4
  222. package/cypress/pages/drawingResponsePage.js +2 -0
  223. package/cypress/pages/gradingViewPage.js +8 -0
  224. package/cypress/pages/graphingPage.js +27 -8
  225. package/cypress/pages/gridFillPage.js +15 -6
  226. package/cypress/pages/listOrderingPage.js +32 -1
  227. package/cypress/pages/matchingPage.js +26 -7
  228. package/cypress/pages/multipleSelectionPage.js +9 -1
  229. package/cypress/pages/numberLineLabelPage.js +31 -8
  230. package/cypress/pages/numberLinePage.js +19 -7
  231. package/cypress/pages/textEntryMathPage.js +24 -1
  232. package/cypress/pages/thinkSpherePage.js +637 -11
  233. package/cypress/pages/uploadResponsePage.js +17 -1
  234. package/cypress/pages/videoResponsePage.js +3 -0
  235. package/cypress/support/commands.js +9 -0
  236. package/cypress/support/helpers/createItem.js +22 -3
  237. package/cypress/support/helpers/utilities.js +14 -1
  238. package/package.json +2 -2
package/Dockerfile CHANGED
@@ -27,6 +27,7 @@ RUN chmod +x ./deploy/fillInTheGapsQuestion/run.sh
27
27
  RUN chmod +x ./deploy/resourcesAndToolsQuestion/run.sh
28
28
  RUN chmod +x ./deploy/audioResponseQuestion/run.sh
29
29
  RUN chmod +x ./deploy/dataApi/run.sh
30
+ RUN chmod +x ./deploy/feedbackScaleQuestion/run.sh
30
31
 
31
32
  RUN npm ci
32
33
 
@@ -183,26 +183,14 @@ describe('Create Item page - Audio response: Question instructions, Audio record
183
183
 
184
184
  //Note: a11y is covered for Stop recording if silence is detected after section in HeaderSection file using verifyCreateItemWrapperContentsA11y
185
185
 
186
- it('When the user has set \'Stop recording if silence is detected after\' value to \'0\' (zero) then a validation text \'Error: Value must be greater than 0 secs.\' should be displayed', () => {
186
+ it('When the user has set \'Stop recording if silence is detected after\' value to \'0\' (zero) then a validation text \'Error: Value must be greater than 0 secs.\' should not be displayed', () => {
187
187
  audioResponsePage.steps.setStopRecordingIfSilenceIsDetectedAfter('0');
188
- utilities.verifyInnerText(audioResponsePage.errorMessage(), 'Error: Value must be greater than 0 secs.');
188
+ utilities.verifyElementVisibilityState(audioResponsePage.errorMessage(), 'notExist');
189
189
  });
190
190
 
191
- it('When the user has set \'Stop recording if silence is detected after\' value to \'0\' (zero) then a validation text \'Error: Value must be greater than 0 secs.\' should be displayed', () => {
191
+ it('When the user has set \'Stop recording if silence is detected after\' value to \'0\' (zero) then a validation text \'Error: Value must be greater than 0 secs.\' should not be displayed', () => {
192
192
  audioResponsePage.steps.setStopRecordingIfSilenceIsDetectedAfter('0');
193
- utilities.verifyInnerText(audioResponsePage.errorMessage(), 'Error: Value must be greater than 0 secs.');
194
- });
195
-
196
- it('CSS of error message \'Error: Value must be greater than 0 secs.\'', { tags: 'css' }, () => {
197
- utilities.verifyCSS(audioResponsePage.errorMessage(), {
198
- 'color': css.color.errorText,
199
- 'font-size': css.fontSize.small,
200
- 'font-weight': css.fontWeight.regular
201
- });
202
- });
203
-
204
- it('Accessibility of \'Error: Value must be greater than 0 secs.\' is displayed', { tags: 'a11y' }, () => {
205
- cy.checkAccessibility(audioResponsePage.errorMessage());
193
+ utilities.verifyElementVisibilityState(audioResponsePage.errorMessage(), 'notExist');
206
194
  });
207
195
 
208
196
  it('When the user updates the \'Stop recording if silence is detected after\' value the validation text should disappear. User should be able to add only numeric values and should not able to add decimal points', () => {
@@ -91,7 +91,7 @@ describe('Create item : Brainingcamp manipulative - Edit tab basics', () => {
91
91
 
92
92
  it('When user focuses in and out of \'Enter a share code\' input field, then error message \'Error: Please enter share code.\' should not be displayed', () => {
93
93
  brainingCampManipulativePage.steps.focusInAndFocusOutOfEnterAShareCodeInputField();
94
- utilities.verifyInnerText(brainingCampManipulativePage.errorMessage(), 'Error: Please enter share code.');
94
+ utilities.verifyElementVisibilityState(brainingCampManipulativePage.errorMessage(), 'notExist')
95
95
  });
96
96
 
97
97
  brainingCampManipulativePage.tests.verifyErrorMessageCSSAndA11y();
@@ -1,3 +1,4 @@
1
+ import { thinkSpherePage } from '../../../pages';
1
2
  import { browseItemsPage } from '../../../pages/components/browseItemsPage';
2
3
  import abortEarlySetup from '../../../support/helpers/abortEarly';
3
4
  import utilities from "../../../support/helpers/utilities";
@@ -117,6 +118,8 @@ describe('Navigate to Think Sphere Browse Review Items page and view the page co
117
118
  browseItemsPage.steps.verifySortFunctionalityOnColumnHeaderClick(1);
118
119
  });
119
120
 
121
+ browseItemsPage.tests.verifySupportedQuestionsInItemsList(allowedFilterCategories);
122
+
120
123
  it('When only one search result is present, then column sort should be disabled', () => {
121
124
  /**@TODO Add check for when only one search result is present */
122
125
  });
@@ -152,6 +155,10 @@ describe('Navigate to Think Sphere Browse Review Items page and view the page co
152
155
  browseItemsPage.steps.verifyCloseIcon();
153
156
  });
154
157
 
158
+ it('Search bar should have place holder Search by title, tags and content', () => {
159
+ thinkSpherePage.steps.verifyThinkSphereSearchBarPlaceholder();
160
+ });
161
+
155
162
  it('CSS of search bar component', { tags: 'css' }, () => {
156
163
  utilities.verifyCSS(browseItemsPage.searchBar().parent(), {
157
164
  'background-color': css.color.progressBarRemainingFill,
@@ -166,15 +173,16 @@ describe('Navigate to Think Sphere Browse Review Items page and view the page co
166
173
  });
167
174
  });
168
175
 
169
- it('When user types title/tags/content in search component and search, then it should search', () => {
170
- /**@TODO Add check for when user types title/tags/content in search component and search */
176
+ it('When user hovers on the search bar, it should show the tooltip with text \'search', () => {
177
+ browseItemsPage.steps.hoverOnSearchBarComponent();
178
+ browseItemsPage.searchBarParent().verifyTooltip('Search');
171
179
  });
172
180
 
173
181
  it('CSS of search bar in hover state', { tags: 'css' }, () => {
174
182
  browseItemsPage.steps.hoverOnSearchBarComponent();
175
183
  utilities.verifyCSS(browseItemsPage.searchBar().parent(), {
176
184
  'background-color': css.color.primaryBtn,
177
- });
185
+ });
178
186
  });
179
187
 
180
188
  it('Accessibility of search bar component', { tags: 'a11y' }, () => {
@@ -213,7 +221,10 @@ describe('Navigate to Think Sphere Browse Review Items page and view the page co
213
221
  });
214
222
  });
215
223
 
216
- it('When user clicks on the next page button, then it should display the next page data', () => {
224
+ browseItemsPage.tests.verifyFirstPreviousNextPageButtons();
225
+
226
+ it('When user clicks on the next page button, then it should display the next page data and when the user clicks the previous page button, it should display the previous page data', () => {
227
+ browseItemsPage.steps.navigateToReviewItemsPage();
217
228
  browseItemsPage.steps.clickOnNextPageButton();
218
229
  browseItemsPage.steps.verifyPaginationCount('21 - 40 of');
219
230
  browseItemsPage.steps.clickOnPreviousPageButton();
@@ -250,11 +261,31 @@ describe('Navigate to Think Sphere Browse Review Items page and view the page co
250
261
  utilities.verifyInnerText(browseItemsPage.filterButtonText(), '(show)');
251
262
  });
252
263
 
253
- it('Filter section should open when filter button is clicked', () => {
264
+ it('Filter section should open when filter button is clicked and the question types accordion should be open by default', () => {
254
265
  browseItemsPage.steps.toggleFilterSection();
255
266
  utilities.verifyInnerText(browseItemsPage.filterButtonText(), '(hide)');
267
+ thinkSpherePage.steps.verifyFilterSectionExpanded();
268
+ });
269
+
270
+ it('The author should be able to close and open the question types accordion', () => {
271
+ thinkSpherePage.steps.clickOnQuestionTypesAccordion();
272
+ thinkSpherePage.steps.verifyFilterSectionCollapsed();
273
+ thinkSpherePage.steps.clickOnQuestionTypesAccordion();
274
+ thinkSpherePage.steps.verifyFilterSectionExpanded();
256
275
  });
257
276
 
277
+ it('By default, every question category accordion in the filter section should be closed and all checkboxes unchecked.', () => {
278
+ thinkSpherePage.filterSectionQuestionAccordion().each(($accordion) => {
279
+ thinkSpherePage.steps.verifyElementDoesNotHaveExpandedClass(cy.wrap($accordion));
280
+ });
281
+
282
+ thinkSpherePage.checkBox().each(($ch) => {
283
+ thinkSpherePage.steps.verifyElementDoesNotHaveCheckedClass(cy.wrap($ch));
284
+ });
285
+ });
286
+
287
+ thinkSpherePage.tests.verifyQuestionAccordion();
288
+
258
289
  it('Filter section should have only allowed filter categories and items', () => {
259
290
  utilities.verifyElementCount(browseItemsPage.filterCategories(), categories.length);
260
291
  categories.forEach((category) => {
@@ -265,7 +296,6 @@ describe('Navigate to Think Sphere Browse Review Items page and view the page co
265
296
  });
266
297
  });
267
298
 
268
-
269
299
  it('User should be able to apply filters by selecting the checkboxes and filter chips should be displayed', () => {
270
300
  browseItemsPage.steps.clickOnFilterCategoryCheckbox(categories[0]);
271
301
  cy.pageLoadWait();
@@ -324,8 +354,10 @@ describe('Navigate to Think Sphere Browse Review Items page and view the page co
324
354
  });
325
355
  });
326
356
 
357
+ browseItemsPage.tests.verifyFilterSelectionInList(categories);
358
+
327
359
  it('CLEAR ALL button should be present beside the Applied Filters text', () => {
328
- browseItemsPage.steps.clickOnFilterCategoryCheckbox(categories[0]);
360
+ browseItemsPage.steps.clickOnFilterCategoryCheckbox(categories[1]);
329
361
  cy.pageLoadWait();
330
362
  utilities.verifyElementVisibilityState(browseItemsPage.filterChipClearAll(), 'exist');
331
363
  });
@@ -20,8 +20,8 @@ describe('Create item page - Charts - Bar horizontal orientation: Grading view,
20
20
  before(() => {
21
21
  chartsBarPage.steps.navigateToCreateQuestion('charts');
22
22
  cy.barsPreLoaderWait();
23
- chartsBarPage.steps.addTextInQuestionInstructionsInputField('Set the bar on the chart for the profits of the years');
24
23
  chartsBarPage.steps.selectHorizontalDirectionRadioButton();
24
+ chartsBarPage.steps.addTextInQuestionInstructionsInputField('Set the bar on the chart for the profits of the years');
25
25
  chartsBarPage.steps.selectAddBarOrPointToolbarOption();
26
26
  chartsBarPage.steps.addBarOrPointInChartInSelectChartTypeSection();
27
27
  chartsBarPage.steps.setGraphTitle('Graph of profits');
@@ -0,0 +1,33 @@
1
+ import { chartsBarPage } from "../../../../pages";
2
+ import abortEarlySetup from "../../../../support/helpers/abortEarly";
3
+
4
+ describe('Create Item page - Charts Bar', () => {
5
+ before(() => {
6
+ cy.loginAs('admin');
7
+ });
8
+
9
+ describe('Question Preview: Auto Scored Without Points', () => {
10
+ abortEarlySetup();
11
+ before(() => {
12
+ chartsBarPage.steps.navigateToCreateQuestion('charts');
13
+ cy.barsPreLoaderWait();
14
+ chartsBarPage.steps.addTextInQuestionInstructionsInputField('Set the bar on the chart for the profits of the years');
15
+ chartsBarPage.steps.addBarOrPointInChartInSelectChartTypeSection();
16
+ chartsBarPage.steps.addBarOrPointInChartInSelectChartTypeSection();
17
+ chartsBarPage.steps.setBarValueInSpecifyCorrectAnswerSection({ barIndex: 0, value: 3, range: 10 });
18
+ chartsBarPage.steps.setBarValueInSpecifyCorrectAnswerSection({ barIndex: 1, value: 5, range: 10 });
19
+ chartsBarPage.steps.switchToPreviewTab();
20
+ });
21
+
22
+ it('In Preview tab, when points are not set then manually scored scoring label should be displayed', () => {
23
+ chartsBarPage.steps.checkManuallyScoredScoringLabel();
24
+ });
25
+
26
+ it('In Preview tab, when user switches to grading view then banner and correct answer should be displayed', () => {
27
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 0, value: 3, range: 10 });
28
+ chartsBarPage.steps.switchToGradingView();
29
+ chartsBarPage.steps.verifyAnswerStatusBannerExist();
30
+ chartsBarPage.steps.verifyCorrectAnswerSectionExist();
31
+ });
32
+ });
33
+ });
@@ -6,6 +6,7 @@ describe('Create item page - Charts - Bar: Partial different weights', () => {
6
6
  cy.loginAs('admin');
7
7
  });
8
8
 
9
+ //Failing due to https://weldnorthed.atlassian.net/browse/IEI-5954
9
10
  describe('Charts - Bar: Partial different weights scoring', () => {
10
11
  abortEarlySetup();
11
12
  before(() => {
@@ -27,8 +28,7 @@ describe('Create item page - Charts - Bar: Partial different weights', () => {
27
28
  chartsBarPage.steps.switchToPreviewTab();
28
29
  });
29
30
 
30
- //Need to remove skip once https://redmine.zeuslearning.com/issues/577535 is resolved
31
- it.skip('When the user selects \'Grading\' view without attempting the question, then user should be provided with 0 points, correct/incorrect icons should not be displayed for any bar, the correct answer should be displayed in the correct answer section graph and correct/incorrect status message should not be displayed', () => {
31
+ it('When the user selects \'Grading\' view without attempting the question, then user should be provided with 0 points, correct/incorrect icons should not be displayed for any bar, the correct answer should be displayed in the correct answer section graph and correct/incorrect status message should not be displayed', () => {
32
32
  chartsBarPage.steps.switchToGradingView();
33
33
  chartsBarPage.steps.verifyPreviewScore(0, 20);
34
34
  chartsBarPage.steps.verifyBarCorrectIncorrectIconNotExistsInPreviewTab(0);
@@ -6,6 +6,7 @@ describe('Create Item page - Charts - Bar: Partial different weights scoring wit
6
6
  cy.loginAs('admin');
7
7
  });
8
8
 
9
+ //Failing due to https://weldnorthed.atlassian.net/browse/IEI-5954
9
10
  describe('Question Preview: AutoScored - Partial different weights with alternative answer: When alternate answer points are more than correct answer points', () => {
10
11
  abortEarlySetup();
11
12
  before(() => {
@@ -6,6 +6,7 @@ describe('Create Item page - Charts - Bar: Partial different weights scoring wit
6
6
  cy.loginAs('admin');
7
7
  });
8
8
 
9
+ //Failing due to https://weldnorthed.atlassian.net/browse/IEI-5954
9
10
  describe('Question Preview: AutoScored - Partial different weights with alternative answer: When correct answer points are equal to alternative answer points', () => {
10
11
  abortEarlySetup();
11
12
  before(() => {
@@ -6,6 +6,7 @@ describe('Create Item page - Charts - Bar: Partial different weights scoring wit
6
6
  cy.loginAs('admin');
7
7
  });
8
8
 
9
+ //Failing due to https://weldnorthed.atlassian.net/browse/IEI-5954
9
10
  describe('Question Preview: AutoScored - Partial different weights with alternative answer: When correct answer points are more than alternative answer points', () => {
10
11
  abortEarlySetup();
11
12
  before(() => {
@@ -6,6 +6,7 @@ describe('Create Item page - List ordering: Preview tab scoring', () => {
6
6
  cy.loginAs('admin');
7
7
  });
8
8
 
9
+ //Failing due to https://weldnorthed.atlassian.net/browse/IEI-5954
9
10
  describe('Question preview: Auto scored - Partial different weights: Minimum scoring', () => {
10
11
  abortEarlySetup();
11
12
  before(() => {
@@ -0,0 +1,37 @@
1
+ import { chartsBarPage } from "../../../pages";
2
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
3
+
4
+ describe('Create item page - Charts Bar', () => {
5
+ before(() => {
6
+ cy.loginAs('admin');
7
+ });
8
+
9
+ describe('User should be able to edit incomplete authored question', () => {
10
+ abortEarlySetup();
11
+ before(() => {
12
+ chartsBarPage.steps.navigateToCreateQuestion('charts');
13
+ cy.barsPreLoaderWait();
14
+ chartsBarPage.steps.saveAQuestionWithIncompleteAuthoring();
15
+ chartsBarPage.steps.editItem();
16
+ });
17
+
18
+ it('Warning icons should be displayed on the required input fields', () => {
19
+ chartsBarPage.steps.verifyWarningIconOnRequiredFields([
20
+ 'Please set points',
21
+ ]);
22
+ });
23
+
24
+ it('When required input fields are filled then warning icons should disappear', () => {
25
+ chartsBarPage.steps.allotPoints(10);
26
+ chartsBarPage.steps.verifyErrorMessageIsNotDisplayed();
27
+ });
28
+
29
+ it('Clicking on Save Question button the question should get saved and a snackbar with text \'Saved successfully!\' should be displayed', () => {
30
+ chartsBarPage.steps.saveAQuestionAndVerifySnackbar();
31
+ });
32
+
33
+ it('Warning icon should not be visible', () => {
34
+ chartsBarPage.steps.verifyWarningIconNotExist();
35
+ });
36
+ });
37
+ });
@@ -1,8 +1,11 @@
1
1
  import abortEarlySetup from "../../../support/helpers/abortEarly";
2
- import { chartsBarPage, dialogBoxBase } from "../../../pages";
2
+ import { chartsBarPage, dialogBoxBase, itemPreviewPage } from "../../../pages";
3
+ import { browseItemsPage } from "../../../pages/components";
3
4
  import utilities from "../../../support/helpers/utilities";
4
5
  const css = Cypress.env('css');
5
6
 
7
+ var itemReferenceID = "";
8
+
6
9
  describe('Create item page - Charts - Bar: Header section and saving question', () => {
7
10
  before(() => {
8
11
  cy.loginAs('admin');
@@ -94,7 +97,22 @@ describe('Create item page - Charts - Bar: Header section and saving question',
94
97
  cy.barsPreLoaderWait();
95
98
  });
96
99
 
97
- chartsBarPage.tests.verifyCreateItemWrapperContentsA11y();
100
+ describe('Validation error messages', () => {
101
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please set points']);
102
+
103
+ it('Validation error messages should be displayed below required input fields', () => {
104
+ chartsBarPage.steps.verifyQuestionInstructionsErrorMessageIsNotDisplayed();
105
+ chartsBarPage.steps.verifyWarningIconOnRequiredFields(['Please set points']);
106
+ chartsBarPage.steps.verifySpecifyCorrectAnswerErrorIconNotExists();
107
+ });
108
+
109
+ it('Validation error messages should disappear when required input fields are filled', () => {
110
+ chartsBarPage.steps.allotPoints(10);
111
+ chartsBarPage.steps.verifyErrorMessageIsNotDisplayed();
112
+ });
113
+
114
+ chartsBarPage.tests.verifyCreateItemWrapperContentsA11y();
115
+ });
98
116
 
99
117
  describe('Saving a question', () => {
100
118
  it('When user clicks on "Save question" button, then the question should get saved and a snackbar with text \'Saved successfully!\' should be displayed', () => {
@@ -103,5 +121,35 @@ describe('Create item page - Charts - Bar: Header section and saving question',
103
121
 
104
122
  chartsBarPage.tests.verifySavedSuccessfullySnackbarCSSAndA11y();
105
123
  });
124
+
125
+ describe('Saving a question with incomplete authoring', () => {
126
+ abortEarlySetup();
127
+ before(() => {
128
+ chartsBarPage.steps.navigateToCreateQuestion('charts');
129
+ cy.barsPreLoaderWait();
130
+ });
131
+
132
+ it('User should be able to save the question with incomplete authoring and display a snackbar with the text "Saved successfully!" when the Save Question button is clicked', () => {
133
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please set points']);
134
+ chartsBarPage.steps.saveAQuestionWithIncompleteAuthoring();
135
+ });
136
+ chartsBarPage.tests.verifySavedSuccessfullySnackbarCSSAndA11y();
137
+ });
138
+ });
139
+
140
+ describe('Save as you go - Browse item page contents', () => {
141
+ abortEarlySetup();
142
+ before(() => {
143
+ chartsBarPage.steps.navigateToCreateQuestion('charts');
144
+ cy.barsPreLoaderWait();
145
+ chartsBarPage.steps.saveAQuestionWithIncompleteAuthoring();
146
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
147
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
148
+ browseItemsPage.steps.navigateToBrowseItemsPage();
149
+ });
150
+
151
+ it('When user saves an incompletely authored question then a warning icon should be visible in browse items page', () => {
152
+ browseItemsPage.steps.verifyWarningIconInBrowseItemPage(`${itemReferenceID}`);
153
+ });
106
154
  });
107
155
  });
@@ -6,6 +6,7 @@ describe('Create item page - Charts - Line: Partial different weights', () => {
6
6
  cy.loginAs('admin');
7
7
  });
8
8
 
9
+ //Failing due to https://weldnorthed.atlassian.net/browse/IEI-5954
9
10
  describe('Charts - Line: Partial different weights scoring', () => {
10
11
  abortEarlySetup();
11
12
  before(() => {
@@ -6,6 +6,7 @@ describe('Create Item page - Charts - Line : Partial different weights scoring w
6
6
  cy.loginAs('admin');
7
7
  });
8
8
 
9
+ //Failing due to https://weldnorthed.atlassian.net/browse/IEI-5954
9
10
  describe('Question Preview: AutoScored - Partial different weights with alternative answer: When alternate answer points are more than correct answer points', () => {
10
11
  abortEarlySetup();
11
12
  before(() => {
@@ -6,6 +6,7 @@ describe('Create Item page - Charts - Line: Partial different weights scoring wi
6
6
  cy.loginAs('admin');
7
7
  });
8
8
 
9
+ //Failing due to https://weldnorthed.atlassian.net/browse/IEI-5954
9
10
  describe('Question Preview: AutoScored - Partial different weights with alternative answer: When correct answer points are equal to alternative answer points', () => {
10
11
  abortEarlySetup();
11
12
  before(() => {
@@ -6,6 +6,7 @@ describe('Create Item page - Charts - Line: Partial different weights scoring wi
6
6
  cy.loginAs('admin');
7
7
  });
8
8
 
9
+ //Failing due to https://weldnorthed.atlassian.net/browse/IEI-5954
9
10
  describe('Question Preview: AutoScored - Partial different weights with alternative answer: When correct answer points are more than alternative answer points', () => {
10
11
  abortEarlySetup();
11
12
  before(() => {
@@ -6,6 +6,7 @@ describe('Create Item page - List ordering: Preview tab scoring', () => {
6
6
  cy.loginAs('admin');
7
7
  });
8
8
 
9
+ //Failing due to https://weldnorthed.atlassian.net/browse/IEI-5954
9
10
  describe('Question preview: Auto scored - Partial different weights: Minimum scoring', () => {
10
11
  abortEarlySetup();
11
12
  before(() => {
@@ -33,7 +33,9 @@ describe('Edit item - Charts -Line', () => {
33
33
 
34
34
  it('User should be able to edit correct answer and save the question', () => {
35
35
  chartsLinePage.steps.editItem();
36
- chartsLinePage.steps.setPointValueInSpecifyCorrectAnswerSection({pointIndex: 0, value: 2, range: 10 });
36
+ chartsLinePage.steps.lockPoint(2);
37
+ chartsLinePage.steps.unlockPoint(0);
38
+ chartsLinePage.steps.setPointValueInSpecifyCorrectAnswerSection({pointIndex: 0, value: 3, range: 10 });
37
39
  chartsLinePage.steps.setPointValueInSpecifyCorrectAnswerSection({pointIndex: 1, value: 6, range: 10 });
38
40
  chartsLinePage.steps.saveAQuestionAndVerifySnackbar();
39
41
  });
@@ -95,11 +95,28 @@ describe('Create item page - Charts - Bar: Header section and saving question',
95
95
  before(() => {
96
96
  chartsLinePage.steps.navigateToCreateQuestion('charts');
97
97
  cy.barsPreLoaderWait();
98
+ chartsLinePage.steps.selectLineButton();
98
99
  });
99
100
 
100
- chartsLinePage.tests.verifyCreateItemWrapperContentsA11y();
101
+ describe('Validation error messages', () => {
102
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please set points']);
103
+
104
+ it('Validation error messages should be displayed below required input fields', () => {
105
+ chartsLinePage.steps.verifyQuestionInstructionsErrorMessageIsNotDisplayed();
106
+ chartsLinePage.steps.verifyWarningIconOnRequiredFields(['Please set points']);
107
+ chartsLinePage.steps.verifySpecifyCorrectAnswerErrorIconNotExists();
108
+ });
109
+
110
+ it('Validation error messages should disappear when required input fields are filled', () => {
111
+ chartsLinePage.steps.allotPoints(10);
112
+ chartsLinePage.steps.verifyErrorMessageIsNotDisplayed();
113
+ });
114
+
115
+ chartsLinePage.tests.verifyCreateItemWrapperContentsA11y();
116
+ });
101
117
 
102
118
  describe('Saving a question', () => {
119
+
103
120
  it('When user clicks on "Save question" button, then the question should get saved and a snackbar with text \'Saved successfully!\' should be displayed', () => {
104
121
  chartsLinePage.steps.saveAQuestionAndVerifySnackbar();
105
122
  });
@@ -131,18 +131,17 @@ describe('Audio player: Edit tab', () => {
131
131
  });
132
132
 
133
133
  it('\'Source URL\' label and input field should not be displayed', () => {
134
- utilities.verifyElementVisibilityState(multipleSelectionPage.sourceUrlLabel(), 'notExist');
135
134
  utilities.verifyElementVisibilityState(audioPlayerPage.sourceUrlInputField(), 'notExist');
136
135
  });
137
136
 
138
137
  it('\'Upload\' label should be displayed', () => {
139
138
  utilities.verifyInnerText(multipleSelectionPage.uploadLabel(), 'Upload');
140
- utilities.verifyElementVisibilityState(multipleSelectionPage.uploadLabel(), 'visible');
139
+ utilities.verifyElementVisibilityState(multipleSelectionPage.uploadLabel(), 'exist');
141
140
  });
142
141
 
143
142
  it('\'File name\' label should be displayed', () => {
144
143
  utilities.verifyInnerText(multipleSelectionPage.fileNameLabel(), 'File name');
145
- utilities.verifyElementVisibilityState(multipleSelectionPage.fileNameLabel(), 'visible');
144
+ utilities.verifyElementVisibilityState(multipleSelectionPage.fileNameLabel(), 'exist');
146
145
  });
147
146
 
148
147
  it('\'Choose File\' button should be displayed', () => {
@@ -117,10 +117,8 @@ describe('Audio player: Edit tab', () => {
117
117
 
118
118
  it('When the user adds the transcript file and file upload is inprogress, file name and progress bar should be displayed below \'File name\' label. Progress bar should disappear once file is uploaded', () => {
119
119
  multipleSelectionPage.steps.uploadTranscriptFile('sample.txt');
120
- utilities.verifyElementVisibilityState(multipleSelectionPage.transcriptFileUploadProgressBar(), 'visible');
121
120
  utilities.verifyInnerText(multipleSelectionPage.uploadedTranscriptFileNameLabel(), 'sample.txt');
122
121
  utilities.verifyElementVisibilityState(multipleSelectionPage.uploadedTranscriptFileNameLabel(), 'visible');
123
- utilities.verifyElementVisibilityState(multipleSelectionPage.transcriptFileUploadProgressBar(), 'hidden');
124
122
  });
125
123
 
126
124
  it('CSS of progress bar and file name when file upload is in progress', { tags: 'css' }, () => {
@@ -189,8 +187,8 @@ describe('Audio player: Edit tab', () => {
189
187
  });
190
188
 
191
189
  it('The user should be able to enter text in the \'Transcript\' input field', () => {
192
- multipleSelectionPage.steps.enterTextInTranscriptInputField('This is a transcript text');
193
- utilities.verifyTextContent(multipleSelectionPage.typeInTranscriptInputField(), 'This is a transcript text');
190
+ multipleSelectionPage.steps.enterTextInCKEditorTranscriptInputField('This is a transcript text');
191
+ utilities.verifyTextContent(multipleSelectionPage.cKEditorTranscriptInputField(), 'This is a transcript text');
194
192
  });
195
193
 
196
194
  it('CSS of \'Type in transcript\' Section', { tags: 'css' }, () => {
@@ -182,9 +182,9 @@ describe('Audio player: Edit tab', () => {
182
182
 
183
183
  it('\'Playback Limit\' label and empty input field should be displayed', () => {
184
184
  utilities.verifyInnerText(multipleSelectionPage.playbackLimitLabel(), 'Playback Limit');
185
- utilities.verifyElementVisibilityState(multipleSelectionPage.playbackLimitLabel(), 'visible');
185
+ utilities.verifyElementVisibilityState(multipleSelectionPage.playbackLimitLabel(), 'exist');
186
186
  utilities.verifyInnerText(multipleSelectionPage.playbackLimitInputField(), '');
187
- utilities.verifyElementVisibilityState(multipleSelectionPage.playbackLimitInputField(), 'visible');
187
+ utilities.verifyElementVisibilityState(multipleSelectionPage.playbackLimitInputField(), 'exist');
188
188
  });
189
189
 
190
190
  it('When the user focuses in and out of the \'Playback Limit\' input field, no error message should be displayed', () => {
@@ -228,7 +228,7 @@ describe('Audio player: Edit tab', () => {
228
228
 
229
229
  it('\'Allow students to download the audio\' label and checkbox should be displayed. By default the \'Allow students to download the audio\' checkbox should be unchecked.', () => {
230
230
  utilities.verifyInnerText(multipleSelectionPage.allowStudentsToDownloadAudioLabel(), 'Allow students to download the audio');
231
- utilities.verifyElementVisibilityState(multipleSelectionPage.allowStudentsToDownloadAudioLabel(), 'visible');
231
+ utilities.verifyElementVisibilityState(multipleSelectionPage.allowStudentsToDownloadAudioLabel(), 'exist');
232
232
  multipleSelectionPage.steps.verifyAllowStudentsToDownloadAudioCheckboxNotChecked();
233
233
  });
234
234
 
@@ -31,8 +31,8 @@ describe('Audio player: Header section, buttons and saving item', () => {
31
31
 
32
32
  describe('OK button Contents', () => {
33
33
  it('\'OK\' button should be displayed in popup.', () => {
34
- utilities.verifyInnerText(multipleSelectionPage.okButton(), 'OK');
35
- utilities.verifyElementVisibilityState(multipleSelectionPage.okButton(), 'visible');
34
+ utilities.verifyInnerText(multipleSelectionPage.audioPlayerOkButton(), 'OK');
35
+ utilities.verifyElementVisibilityState(multipleSelectionPage.audioPlayerOkButton(), 'visible');
36
36
  });
37
37
 
38
38
  it('CSS of \'OK\' button', { tags: 'css' }, () => {
@@ -32,7 +32,7 @@ describe('Audio player: Edit tab', () => {
32
32
  multipleSelectionPage.steps.switchToEditTab();
33
33
  multipleSelectionPage.steps.clickOnAudioPlayerBlock();
34
34
  multipleSelectionPage.steps.clickOnLimitPlayAttempts();
35
- multipleSelectionPage.steps.setPlaybackLimit(2);
35
+ multipleSelectionPage.steps.setCKEditorPlaybackLimit(2);
36
36
  multipleSelectionPage.steps.clickOnOKButton();
37
37
  multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
38
38
  multipleSelectionPage.steps.switchToPreviewTab();
@@ -24,6 +24,7 @@ describe('Audio player: Edit tab', () => {
24
24
  multipleSelectionPage.steps.clickOnOKButton();
25
25
  multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
26
26
  multipleSelectionPage.steps.switchToPreviewTab();
27
+ cy.wait(5000); //Adding a dynamic wait for audio to load in preview tab
27
28
  multipleSelectionPage.steps.startPlayback();
28
29
  multipleSelectionPage.steps.waitForPlaybackToBegin();
29
30
  });
@@ -36,6 +37,7 @@ describe('Audio player: Edit tab', () => {
36
37
  multipleSelectionPage.steps.clickOnOKButton();
37
38
  multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
38
39
  multipleSelectionPage.steps.switchToPreviewTab();
40
+ cy.wait(5000); //Adding a dynamic wait for audio to load in preview tab
39
41
  multipleSelectionPage.steps.startPlayback();
40
42
  multipleSelectionPage.steps.waitForPlaybackToBegin();
41
43
  });
@@ -48,6 +50,7 @@ describe('Audio player: Edit tab', () => {
48
50
  multipleSelectionPage.steps.clickOnOKButton();
49
51
  multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
50
52
  multipleSelectionPage.steps.switchToPreviewTab();
53
+ cy.wait(5000); //Adding a dynamic wait for audio to load in preview tab
51
54
  multipleSelectionPage.steps.startPlayback();
52
55
  multipleSelectionPage.steps.waitForPlaybackToBegin();
53
56
  });
@@ -69,6 +72,7 @@ describe('Audio player: Edit tab', () => {
69
72
  multipleSelectionPage.steps.clickOnOKButton();
70
73
  multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
71
74
  multipleSelectionPage.steps.switchToPreviewTab();
75
+ cy.wait(5000); //Adding a dynamic wait for audio to load in preview tab
72
76
  multipleSelectionPage.steps.startPlayback();
73
77
  multipleSelectionPage.steps.waitForPlaybackToBegin();
74
78
  });
@@ -82,6 +86,7 @@ describe('Audio player: Edit tab', () => {
82
86
  multipleSelectionPage.steps.clickOnOKButton();
83
87
  multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
84
88
  multipleSelectionPage.steps.switchToPreviewTab();
89
+ cy.wait(5000); //Adding a dynamic wait for audio to load in preview tab
85
90
  multipleSelectionPage.steps.startPlayback();
86
91
  multipleSelectionPage.steps.waitForPlaybackToBegin();
87
92
  });
@@ -95,6 +100,7 @@ describe('Audio player: Edit tab', () => {
95
100
  multipleSelectionPage.steps.clickOnOKButton();
96
101
  multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
97
102
  multipleSelectionPage.steps.switchToPreviewTab();
103
+ cy.wait(5000); //Adding a dynamic wait for audio to load in preview tab
98
104
  multipleSelectionPage.steps.startPlayback();
99
105
  multipleSelectionPage.steps.waitForPlaybackToBegin();
100
106
  });
@@ -32,7 +32,6 @@ describe('Audio player: Edit tab', () => {
32
32
  multipleSelectionPage.steps.switchToEditTab();
33
33
  multipleSelectionPage.steps.clickOnAudioPlayerBlock();
34
34
  multipleSelectionPage.steps.uploadTranscriptFile('sample.txt');
35
- utilities.verifyElementVisibilityState(multipleSelectionPage.transcriptFileUploadProgressBar(), 'visible');
36
35
  multipleSelectionPage.steps.clickOnOKButton();
37
36
  multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
38
37
  multipleSelectionPage.steps.switchToPreviewTab();
@@ -49,7 +48,7 @@ describe('Audio player: Edit tab', () => {
49
48
  multipleSelectionPage.steps.switchToEditTab();
50
49
  multipleSelectionPage.steps.clickOnAudioPlayerBlock();
51
50
  multipleSelectionPage.steps.clickOnTypeInTranscriptRadioButton();
52
- multipleSelectionPage.steps.enterTextInTranscriptInputField('In triangle ABC,m ∠ ABC = (4x-12) ° and m ∠ ACB = (2x + 26) °');
51
+ multipleSelectionPage.steps.enterTextInCKEditorTranscriptInputField('In triangle ABC,m ∠ ABC = (4x-12) ° and m ∠ ACB = (2x + 26) °');
53
52
  multipleSelectionPage.steps.clickOnOKButton();
54
53
  multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
55
54
  multipleSelectionPage.steps.switchToPreviewTab();
@@ -73,7 +72,7 @@ describe('Audio player: Edit tab', () => {
73
72
  multipleSelectionPage.steps.uploadFile('sample.mp3');
74
73
  utilities.verifyElementVisibilityState(multipleSelectionPage.fileUploadProgressBar(), 'hidden');
75
74
  multipleSelectionPage.steps.clickOnTypeInTranscriptRadioButton();
76
- multipleSelectionPage.steps.enterTextInTranscriptInputField('In triangle ABC,m ∠ ABC = (4x-12) ° and m ∠ ACB = (2x + 26) °');
75
+ multipleSelectionPage.steps.enterTextInCKEditorTranscriptInputField('In triangle ABC,m ∠ ABC = (4x-12) ° and m ∠ ACB = (2x + 26) °');
77
76
  multipleSelectionPage.steps.clickOnOKButton();
78
77
  });
79
78