itemengine-cypress-automation 1.0.355 → 1.0.356-capture-image-8b4830c.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. package/Dockerfile +1 -0
  2. package/cypress/e2e/ILC/AudioResponseNew/editTabBasicSection.js +4 -16
  3. package/cypress/e2e/ILC/BrainingCampManipulative/editTabBasicSection.js +1 -1
  4. package/cypress/e2e/ILC/BrowseItems/browseReviewItems.js +49 -11
  5. package/cypress/e2e/ILC/BrowseItems/browseThinkSphereItems.js +4 -3
  6. package/cypress/e2e/ILC/BrowseItems/browseThinkSphereItemsMobileView.js +4 -3
  7. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/gradingViewAndCorrectAnswerView.smoke.js +1 -1
  8. package/cypress/e2e/ILC/ChartsBar/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +33 -0
  9. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightBasic.js +2 -2
  10. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +1 -0
  11. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +1 -0
  12. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +1 -0
  13. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -0
  14. package/cypress/e2e/ILC/ChartsBar/editTabBasicSection.js +37 -0
  15. package/cypress/e2e/ILC/ChartsBar/headerSection.js +50 -2
  16. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightBasic.js +1 -0
  17. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +1 -0
  18. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +1 -0
  19. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +1 -0
  20. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -0
  21. package/cypress/e2e/ILC/ChartsLine/editQuestion.smoke.js +3 -1
  22. package/cypress/e2e/ILC/ChartsLine/headerSection.js +18 -1
  23. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddFeatureRadioButton.js +2 -3
  24. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddTranscriptRadioButton .js +2 -4
  25. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabStudentViewSettings.js +3 -3
  26. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerHeaderSectionAndButtons.js +2 -2
  27. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTab.js +1 -1
  28. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabSupportedFileTypes.js +6 -0
  29. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabTranscript.js +2 -3
  30. package/cypress/e2e/ILC/CkEditorEquationEditor/equationEditorBasicFile.js +4 -4
  31. package/cypress/e2e/ILC/CkEditorInsertImage/imageInfo.js +4 -4
  32. package/cypress/e2e/ILC/CkEditorInsertTable/tableDimension&FooterProperties.js +3 -3
  33. package/cypress/e2e/ILC/CkEditorInsertTable/tableStyle.js +11 -11
  34. package/cypress/e2e/ILC/CkEditorLink/uploadSection.js +1 -1
  35. package/cypress/e2e/ILC/ContentBlocks/editTabBasics.js +62 -4
  36. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +119 -10
  37. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabScoring.js +1 -0
  38. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/headerSection.js +2 -0
  39. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/manuallyAndNonScoredScoringEditTab.js +4 -1
  40. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +3 -0
  41. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/pagination.js +1 -1
  42. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/styleAndLayoutCustomizationLayoutProperties.js +3 -0
  43. package/cypress/e2e/ILC/DrawingResponse/drawingResponseAdditionalSettings.js +1 -0
  44. package/cypress/e2e/ILC/DrawingResponse/drawingResponseBackground.js +2 -8
  45. package/cypress/e2e/ILC/DrawingResponse/drawingResponseCustomizeAdditionalOptions.js +1 -0
  46. package/cypress/e2e/ILC/DrawingResponse/drawingResponseEditTabBasicSection.js +3 -3
  47. package/cypress/e2e/ILC/DrawingResponse/drawingResponsePreviewTabContents.smoke.js +1 -3
  48. package/cypress/e2e/ILC/EssayResponse/createCustomCategory.smoke.js +1 -1
  49. package/cypress/e2e/ILC/EssayResponse/editCategoryFlyout.js +0 -1
  50. package/cypress/e2e/ILC/EssayResponse/editTabBasicSections.js +23 -37
  51. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +210 -0
  52. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editQuestion.smoke.js +40 -0
  53. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +216 -0
  54. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editQuestion.smoke.js +45 -0
  55. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/allOrNothingForAllViews.smoke.js +213 -0
  56. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/backgroundImageAndCanvasProperties.js +1 -0
  57. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/supportedFileTypes.js +3 -1
  58. package/cypress/e2e/ILC/FillInTheGapsTextNew/allOrNothingForAllViews.smoke.js +207 -0
  59. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +73 -0
  60. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +38 -0
  61. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +38 -0
  62. package/cypress/e2e/ILC/Graphing/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +87 -0
  63. package/cypress/e2e/ILC/Graphing/checkAddAlternativeButton.js +35 -0
  64. package/cypress/e2e/ILC/Graphing/editQuestion.smoke.js +28 -0
  65. package/cypress/e2e/ILC/Graphing/editTabBasicSection.js +38 -0
  66. package/cypress/e2e/ILC/Graphing/editTabScoringSection.js +1 -0
  67. package/cypress/e2e/ILC/Graphing/headerSection.js +36 -4
  68. package/cypress/e2e/ILC/Graphing/layoutAndGridOptions.js +6 -3
  69. package/cypress/e2e/ILC/GridFill/addAlternateButton.js +40 -0
  70. package/cypress/e2e/ILC/GridFill/customizeLayoutFillImageBackgroundImage.js +5 -6
  71. package/cypress/e2e/ILC/GridFill/customizeLayoutSectionShadeCellsGridBorders.js +2 -0
  72. package/cypress/e2e/ILC/GridFill/editTabScoringSection.js +3 -0
  73. package/cypress/e2e/ILC/GridFill/headerSection.js +1 -3
  74. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +39 -0
  75. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  76. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +39 -0
  77. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountAllOrNothingCorrectPointsGreaterThanAlternativePoints.js +37 -0
  78. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountallOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  79. package/cypress/e2e/ILC/GridFill/scoring/cellshadeCountAllOrNothingAlternativePointsGreaterThanCorrectPoints.js +36 -0
  80. package/cypress/e2e/ILC/GridFill/scoring/checkLabelSaveAsYouGo.js +75 -0
  81. package/cypress/e2e/ILC/GridFill/specifyCorrectAnswerSection.js +2 -4
  82. package/cypress/e2e/ILC/ImageHighlight/Scoring/partialDifferentWeightsScoring.js +2 -1
  83. package/cypress/e2e/ILC/ImageHighlight/headerSection.js +2 -1
  84. package/cypress/e2e/ILC/ImageHighlight/studentViewSettings.js +2 -2
  85. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +24 -0
  86. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +24 -0
  87. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +24 -0
  88. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +86 -0
  89. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +1 -1
  90. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +1 -1
  91. package/cypress/e2e/ILC/ListOrderingDropdown/checkAddAlternativeButton.js +35 -0
  92. package/cypress/e2e/ILC/ListOrderingDropdown/editTabBasicSection.js +24 -0
  93. package/cypress/e2e/ILC/ListOrderingDropdown/headerSection.js +108 -0
  94. package/cypress/e2e/ILC/ListOrderingDropdown/specifyCorrectAnswerSection.js +6 -10
  95. package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/specifyCorrectAnswerSection.js +2 -1
  96. package/cypress/e2e/ILC/ListOrderingNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +52 -0
  97. package/cypress/e2e/ILC/ListOrderingNew/editTabBasicSection.js +23 -0
  98. package/cypress/e2e/ILC/ListOrderingNew/headerSection.js +35 -9
  99. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +41 -0
  100. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +30 -0
  101. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +50 -0
  102. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +101 -0
  103. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/checkAddAlternativeButton.js +38 -0
  104. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabBasicSection.js +24 -0
  105. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabScoring.js +4 -1
  106. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/headerSection.js +35 -1
  107. package/cypress/e2e/ILC/Matching/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +98 -0
  108. package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +210 -0
  109. package/cypress/e2e/ILC/Matching/checkAlternativeButton.js +38 -0
  110. package/cypress/e2e/ILC/Matching/clickAndDrop.js +3 -5
  111. package/cypress/e2e/ILC/Matching/draggableOptions.js +4 -0
  112. package/cypress/e2e/ILC/Matching/editTabBasicSection.js +41 -0
  113. package/cypress/e2e/ILC/Matching/headerSection.js +36 -11
  114. package/cypress/e2e/ILC/Matching/questionInstructionsAndPromptSection.js +2 -15
  115. package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +208 -0
  116. package/cypress/e2e/ILC/MultipleSelection/allOrNothingBasicForAllViews.smoke.js +227 -0
  117. package/cypress/e2e/ILC/MultipleSelection/checkScoringLabelBannerAndCorrectAnswer.js +2 -0
  118. package/cypress/e2e/ILC/MultipleSelection/editTabScoringSection.js +1 -0
  119. package/cypress/e2e/ILC/MultipleSelection/partialDifferentWeightsWithAlternativeAnswer.js +69 -67
  120. package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswer.js +1 -0
  121. package/cypress/e2e/ILC/MultipleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +220 -0
  122. package/cypress/e2e/ILC/MultipleSelectionGridNew/editTabScoringSection.js +6 -0
  123. package/cypress/e2e/ILC/MultipleSelectionGridNew/previewContentsForAllViews.smoke.js +100 -69
  124. package/cypress/e2e/ILC/MultipleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +1 -0
  125. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +79 -0
  126. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +42 -0
  127. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +42 -0
  128. package/cypress/e2e/ILC/NumberLine/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +75 -0
  129. package/cypress/e2e/ILC/NumberLine/checkAddAlternativeButton.js +32 -0
  130. package/cypress/e2e/ILC/NumberLine/editTabSection.js +38 -0
  131. package/cypress/e2e/ILC/NumberLine/headerSection.js +33 -4
  132. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +81 -0
  133. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +43 -0
  134. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +43 -0
  135. package/cypress/e2e/ILC/NumberLineLabel/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +76 -0
  136. package/cypress/e2e/ILC/NumberLineLabel/additionalSettingsBasic.js +1 -1
  137. package/cypress/e2e/ILC/NumberLineLabel/checkAddAlternativeButton.js +34 -0
  138. package/cypress/e2e/ILC/NumberLineLabel/editTabSection.js +38 -0
  139. package/cypress/e2e/ILC/NumberLineLabel/headerSection.js +37 -5
  140. package/cypress/e2e/ILC/NumberLineLabel/manuallyAndNonScoredEditTab.js +2 -1
  141. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/editQuestion.smoke.js +1 -1
  142. package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +35 -51
  143. package/cypress/e2e/ILC/ShortTextResponseNew/headerSection.js +2 -4
  144. package/cypress/e2e/ILC/SingleSelection/allOrNothingBasicForAllViews.smoke.js +192 -0
  145. package/cypress/e2e/ILC/SingleSelection/checkScoringLabelBannerAndCorrectAnswer.js +2 -0
  146. package/cypress/e2e/ILC/SingleSelection/manuallyAndNonScoredScoring.js +94 -88
  147. package/cypress/e2e/ILC/SingleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +3 -1
  148. package/cypress/e2e/ILC/SingleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +209 -0
  149. package/cypress/e2e/ILC/SingleSelectionGridNew/editTabScoringSection.js +5 -0
  150. package/cypress/e2e/ILC/SingleSelectionGridNew/previewContentsForAllViews.smoke.js +101 -70
  151. package/cypress/e2e/ILC/SingleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +8 -2
  152. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +86 -0
  153. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +86 -0
  154. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  155. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +3 -1
  156. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  157. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  158. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsScoringBasic.js +10 -3
  159. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +4 -2
  160. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +5 -3
  161. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  162. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsScoringBasic.js +4 -0
  163. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +64 -0
  164. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAddEvaluation.js +2 -0
  165. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAlternateAnswer.js +2 -0
  166. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +64 -0
  167. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  168. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  169. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  170. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  171. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsScoringBasic.js +8 -0
  172. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  173. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  174. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  175. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasic.js +1 -0
  176. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasicForAlternateAnswer.js +2 -0
  177. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +2 -0
  178. package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +27 -3
  179. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodEquivalentStructures.smoke.js +86 -0
  180. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchExact.smoke.js +97 -0
  181. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchValue.smoke.js +97 -0
  182. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodSymbolsAreEquivalent.smoke.js +167 -0
  183. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodValueIsEquivalent.smoke.js +167 -1
  184. package/cypress/e2e/ILC/TextEntryMath/headerSection.js +43 -0
  185. package/cypress/e2e/ILC/TextSelection/ScoringParagraph/checkScoringLabelBannerAndCorrectAnswerSection.js +0 -1
  186. package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyPossibleOptionsSection.js +7 -12
  187. package/cypress/e2e/ILC/ThinkSphere/additionalSettings.js +1 -1
  188. package/cypress/e2e/ILC/ThinkSphere/createReviewItem.js +58 -4
  189. package/cypress/e2e/ILC/ThinkSphere/editTabBasicSection.js +208 -13
  190. package/cypress/e2e/ILC/ThinkSphere/editThinkSphereQuestion.smoke.js +259 -9
  191. package/cypress/e2e/ILC/ThinkSphere/equationEditorCreateCustomCategory.smoke.js +417 -0
  192. package/cypress/e2e/ILC/ThinkSphere/equationEditorEditCategoryFlyOut.js +291 -0
  193. package/cypress/e2e/ILC/ThinkSphere/planPhase.js +409 -4
  194. package/cypress/e2e/ILC/ThinkSphere/previewTabPlanSection.js +541 -0
  195. package/cypress/e2e/ILC/ThinkSphere/previewTabReviewSection.js +97 -0
  196. package/cypress/e2e/ILC/ThinkSphere/solvePhase.js +39 -6
  197. package/cypress/e2e/ILC/ThinkSphere/studentViewPlanTabSection.js +393 -0
  198. package/cypress/e2e/ILC/ThinkSphere/studentViewReviewTabSection.js +141 -0
  199. package/cypress/e2e/ILC/ToolAudioPlayerNew/headerSection.js +90 -2
  200. package/cypress/e2e/ILC/UploadResponse/editTabBasicSection.js +34 -0
  201. package/cypress/e2e/ILC/UploadResponse/headerSection.js +38 -1
  202. package/cypress/e2e/ILC/UploadResponse/uploadResponsePreview.js +50 -13
  203. package/cypress/e2e/ILC/VideoResponseNew/editTabBasicSection.js +14 -29
  204. package/cypress/e2e/ILC/chartsDotsPlot/headerSection.js +16 -1
  205. package/cypress/e2e/Sessions/fetchResponses.js +3 -3
  206. package/cypress/e2e/applitools.config.js +3 -3
  207. package/cypress/fixtures/theme/ilc.json +5 -1
  208. package/cypress/fixtures/uploads/sample.webm +0 -0
  209. package/cypress/fixtures/uploads/sample.wmv +0 -0
  210. package/cypress/fixtures/uploads/sample30MB.mp4 +0 -0
  211. package/cypress/pages/audioPlayerPage.js +47 -22
  212. package/cypress/pages/brainingCampManipulativePage.js +1 -1
  213. package/cypress/pages/chartsBarPage.js +20 -0
  214. package/cypress/pages/components/additionalSettingsPanel.js +3 -2
  215. package/cypress/pages/components/autoScoredScoringSectionMultiResponseType.js +2 -0
  216. package/cypress/pages/components/browseItemsPage.js +109 -2
  217. package/cypress/pages/components/ckEditorEquationEditorComponent.js +5 -4
  218. package/cypress/pages/components/ckEditorInsertImageComponent.js +2 -2
  219. package/cypress/pages/components/ckEditorInsertTableComponent.js +3 -3
  220. package/cypress/pages/components/ckEditorLinkComponent.js +8 -9
  221. package/cypress/pages/components/commonComponents.js +4 -0
  222. package/cypress/pages/components/createQuestionBasePage.js +14 -1
  223. package/cypress/pages/components/defaultToolDropdown.js +1 -1
  224. package/cypress/pages/components/editCategoryFlyout.js +2 -2
  225. package/cypress/pages/components/equationEditorSectionCommonComponent.js +10 -25
  226. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +28 -0
  227. package/cypress/pages/components/gridQuestionCommonComponent.js +56 -0
  228. package/cypress/pages/components/mcqAdditionalSettingsBase.js +4 -0
  229. package/cypress/pages/components/questionInstructionsComponent.js +9 -0
  230. package/cypress/pages/components/scoringSectionBaseEditTab.js +4 -0
  231. package/cypress/pages/contentBlocksPage.js +2 -0
  232. package/cypress/pages/desmos3DGraphingPage.js +149 -4
  233. package/cypress/pages/desmosGeometryPage.js +184 -4
  234. package/cypress/pages/drawingResponsePage.js +2 -0
  235. package/cypress/pages/gradingViewPage.js +8 -0
  236. package/cypress/pages/graphingPage.js +27 -8
  237. package/cypress/pages/gridFillPage.js +15 -6
  238. package/cypress/pages/listOrderingPage.js +32 -1
  239. package/cypress/pages/matchingPage.js +26 -7
  240. package/cypress/pages/multipleSelectionPage.js +9 -1
  241. package/cypress/pages/numberLineLabelPage.js +31 -8
  242. package/cypress/pages/numberLinePage.js +19 -7
  243. package/cypress/pages/textEntryMathPage.js +24 -1
  244. package/cypress/pages/thinkSpherePage.js +925 -47
  245. package/cypress/pages/uploadResponsePage.js +17 -1
  246. package/cypress/pages/videoResponsePage.js +3 -0
  247. package/cypress/support/commands.js +9 -0
  248. package/cypress/support/helpers/createItem.js +668 -19
  249. package/cypress/support/helpers/utilities.js +35 -2
  250. package/package.json +3 -3
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";
@@ -11,15 +12,21 @@ const allowedFilterCategories = {
11
12
  'single selection'
12
13
  ],
13
14
  'Fill in the gaps': [
14
- 'fill in the gaps with text'
15
+ 'fill in the gaps with text',
16
+ 'fill in the gaps with drag and drop'
17
+ ],
18
+ 'Drag and drop': [
19
+ 'drag and drop into categories'
20
+ ],
21
+ 'List': [
22
+ 'matching'
15
23
  ],
16
24
  'Constructed response': [
17
- 'Drawing Response',
18
- 'short text response'
25
+ 'short text response',
19
26
  ],
20
27
  'Math response': [
21
28
  'Text Entry Math'
22
- ]
29
+ ],
23
30
  };
24
31
 
25
32
  describe('Navigate to Think Sphere Browse Review Items page and view the page contents', () => {
@@ -111,6 +118,8 @@ describe('Navigate to Think Sphere Browse Review Items page and view the page co
111
118
  browseItemsPage.steps.verifySortFunctionalityOnColumnHeaderClick(1);
112
119
  });
113
120
 
121
+ browseItemsPage.tests.verifySupportedQuestionsInItemsList(allowedFilterCategories);
122
+
114
123
  it('When only one search result is present, then column sort should be disabled', () => {
115
124
  /**@TODO Add check for when only one search result is present */
116
125
  });
@@ -146,6 +155,10 @@ describe('Navigate to Think Sphere Browse Review Items page and view the page co
146
155
  browseItemsPage.steps.verifyCloseIcon();
147
156
  });
148
157
 
158
+ it('Search bar should have place holder Search by title, tags and content', () => {
159
+ thinkSpherePage.steps.verifyThinkSphereSearchBarPlaceholder();
160
+ });
161
+
149
162
  it('CSS of search bar component', { tags: 'css' }, () => {
150
163
  utilities.verifyCSS(browseItemsPage.searchBar().parent(), {
151
164
  'background-color': css.color.progressBarRemainingFill,
@@ -160,15 +173,16 @@ describe('Navigate to Think Sphere Browse Review Items page and view the page co
160
173
  });
161
174
  });
162
175
 
163
- it('When user types title/tags/content in search component and search, then it should search', () => {
164
- /**@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');
165
179
  });
166
180
 
167
181
  it('CSS of search bar in hover state', { tags: 'css' }, () => {
168
182
  browseItemsPage.steps.hoverOnSearchBarComponent();
169
183
  utilities.verifyCSS(browseItemsPage.searchBar().parent(), {
170
184
  'background-color': css.color.primaryBtn,
171
- });
185
+ });
172
186
  });
173
187
 
174
188
  it('Accessibility of search bar component', { tags: 'a11y' }, () => {
@@ -207,7 +221,10 @@ describe('Navigate to Think Sphere Browse Review Items page and view the page co
207
221
  });
208
222
  });
209
223
 
210
- 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();
211
228
  browseItemsPage.steps.clickOnNextPageButton();
212
229
  browseItemsPage.steps.verifyPaginationCount('21 - 40 of');
213
230
  browseItemsPage.steps.clickOnPreviousPageButton();
@@ -244,11 +261,31 @@ describe('Navigate to Think Sphere Browse Review Items page and view the page co
244
261
  utilities.verifyInnerText(browseItemsPage.filterButtonText(), '(show)');
245
262
  });
246
263
 
247
- 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', () => {
248
265
  browseItemsPage.steps.toggleFilterSection();
249
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();
275
+ });
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
+ });
250
285
  });
251
286
 
287
+ thinkSpherePage.tests.verifyQuestionAccordion();
288
+
252
289
  it('Filter section should have only allowed filter categories and items', () => {
253
290
  utilities.verifyElementCount(browseItemsPage.filterCategories(), categories.length);
254
291
  categories.forEach((category) => {
@@ -259,7 +296,6 @@ describe('Navigate to Think Sphere Browse Review Items page and view the page co
259
296
  });
260
297
  });
261
298
 
262
-
263
299
  it('User should be able to apply filters by selecting the checkboxes and filter chips should be displayed', () => {
264
300
  browseItemsPage.steps.clickOnFilterCategoryCheckbox(categories[0]);
265
301
  cy.pageLoadWait();
@@ -318,8 +354,10 @@ describe('Navigate to Think Sphere Browse Review Items page and view the page co
318
354
  });
319
355
  });
320
356
 
357
+ browseItemsPage.tests.verifyFilterSelectionInList(categories);
358
+
321
359
  it('CLEAR ALL button should be present beside the Applied Filters text', () => {
322
- browseItemsPage.steps.clickOnFilterCategoryCheckbox(categories[0]);
360
+ browseItemsPage.steps.clickOnFilterCategoryCheckbox(categories[1]);
323
361
  cy.pageLoadWait();
324
362
  utilities.verifyElementVisibilityState(browseItemsPage.filterChipClearAll(), 'exist');
325
363
  });
@@ -182,12 +182,12 @@ describe('Navigate to Think Sphere Browse Items page and view the page contents'
182
182
  browseItemsPage.steps.verifyPaginationCount('1 - 1 of');
183
183
  });
184
184
 
185
- browseItemsPage.tests.verifyItemReferenceId('~zzz item name', true);
186
-
187
185
  it('User should be able to clear the searchbar',()=>{
188
186
  browseItemsPage.steps.clearSearchBar();
189
187
  });
190
188
 
189
+ browseItemsPage.tests.verifyItemReferenceId('~zzz item name', true);
190
+
191
191
  it('CSS of search bar in hover state', { tags: 'css' }, () => {
192
192
  browseItemsPage.steps.hoverOnSearchBarComponent();
193
193
  utilities.verifyCSS(browseItemsPage.searchBar().parent(), {
@@ -195,7 +195,8 @@ describe('Navigate to Think Sphere Browse Items page and view the page contents'
195
195
  });
196
196
  });
197
197
 
198
- it('Accessibility of search bar component', { tags: 'a11y' }, () => {
198
+ // skip this because axeDevtools is showing zero errors still this case is showing one accessibility issue
199
+ it.skip('Accessibility of search bar component', { tags: 'a11y' }, () => {
199
200
  cy.checkAccessibility(browseItemsPage.itemListFilterWrapper());
200
201
  });
201
202
  });
@@ -294,11 +294,11 @@ describe('Navigate to Think Sphere Browse Items page and view the page contents'
294
294
  browseItemsPage.steps.verifyPaginationCount('1 - 1 of');
295
295
  });
296
296
 
297
- browseItemsPage.tests.verifyItemReferenceId('~zzz item name', true);
298
-
299
297
  it('User should be able to clear the searchbar',()=>{
300
298
  browseItemsPage.steps.clearSearchBar();
301
299
  });
300
+
301
+ browseItemsPage.tests.verifyItemReferenceId('~zzz item name', true);
302
302
 
303
303
  it('CSS of search bar in hover state', { tags: 'css' }, () => {
304
304
  browseItemsPage.steps.hoverOnSearchBarComponent();
@@ -307,7 +307,8 @@ describe('Navigate to Think Sphere Browse Items page and view the page contents'
307
307
  });
308
308
  });
309
309
 
310
- it('Accessibility of search bar component', { tags: 'a11y' }, () => {
310
+ // skip this because axeDevtools is showing zero errors still this case is showing one accessibility issue
311
+ it.skip('Accessibility of search bar component', { tags: 'a11y' }, () => {
311
312
  cy.checkAccessibility(browseItemsPage.itemListFilterWrapper());
312
313
  });
313
314
  });
@@ -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();