itemengine-cypress-automation 1.0.340-IEI-5539-0eefd17.0 → 1.0.341-IEI-5600-IEI-5708-defa90b.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 (249) hide show
  1. package/cypress/e2e/ILC/BrowseItems/browseReviewItems.js +398 -0
  2. package/cypress/e2e/ILC/BrowseItems/browseReviewItemsMobileView.js +329 -0
  3. package/cypress/e2e/ILC/BrowseItems/browseThinkSphereItems.js +260 -0
  4. package/cypress/e2e/ILC/BrowseItems/browseThinkSphereItemsMobileView.js +368 -0
  5. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/gradingViewAndCorrectAnswerView.smoke.js +1 -1
  6. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightBasic.js +2 -2
  7. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +1 -0
  8. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +1 -0
  9. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +1 -0
  10. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -0
  11. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightBasic.js +1 -0
  12. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +1 -0
  13. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +1 -0
  14. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +1 -0
  15. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -0
  16. package/cypress/e2e/ILC/ChartsLine/editQuestion.smoke.js +1 -3
  17. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddFeatureRadioButton.js +2 -3
  18. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddTranscriptRadioButton .js +0 -2
  19. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabStudentViewSettings.js +3 -3
  20. package/cypress/e2e/ILC/CkEditorEquationEditor/equationEditorBasicFile.js +4 -4
  21. package/cypress/e2e/ILC/CkEditorInsertImage/imageInfo.js +1 -1
  22. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +84 -0
  23. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +3 -3
  24. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/checkAddAlternativeButton.js +33 -0
  25. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/clickAndDrop.js +2 -4
  26. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/draggableOptions.js +2 -4
  27. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabBasicSection.js +33 -0
  28. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/headerSection.js +39 -6
  29. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/manuallyAndNonScoredScoringEditTab.js +4 -1
  30. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +3 -0
  31. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/styleAndLayoutCustomizationLayoutProperties.js +3 -0
  32. package/cypress/e2e/ILC/DrawingResponse/drawingResponseAdditionalSettings.js +1 -0
  33. package/cypress/e2e/ILC/DrawingResponse/drawingResponseBackground.js +2 -8
  34. package/cypress/e2e/ILC/DrawingResponse/drawingResponseCustomizeAdditionalOptions.js +1 -0
  35. package/cypress/e2e/ILC/DrawingResponse/drawingResponseEditTabBasicSection.js +3 -3
  36. package/cypress/e2e/ILC/DrawingResponse/drawingResponsePreviewTabContents.smoke.js +3 -4
  37. package/cypress/e2e/ILC/EssayResponse/createCustomCategory.smoke.js +1 -1
  38. package/cypress/e2e/ILC/EssayResponse/editCategoryFlyout.js +0 -1
  39. package/cypress/e2e/ILC/EssayResponse/editTabBasicSections.js +23 -37
  40. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/blankResponseScoring.js +29 -25
  41. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +210 -0
  42. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/dropzoneStyleAndLayoutCustomization.js +6 -3
  43. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/editQuestion.smoke.js +3 -2
  44. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/headerSection.js +1 -0
  45. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/allOrNothingForAllView.smoke.js +201 -0
  46. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/dropdownAndDropdownMenuSection.js +4 -1
  47. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/dropdownOptionsSection.js +2 -2
  48. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editTabBasicSection.js +1 -1
  49. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/specifyCorrectAnswerSection.js +0 -1
  50. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/Scoring/blankResponseScoring.js +18 -20
  51. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +96 -0
  52. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +216 -0
  53. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/backgroundImageAndCanvasProperties.js +0 -1
  54. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/checkAddAlternative.js +37 -0
  55. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/clickAndDrop.js +4 -6
  56. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/editTabBasicSection.js +47 -0
  57. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/headerSection.js +38 -9
  58. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/studentViewSettings.js +5 -1
  59. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/styleAndLayoutCustomization.js +2 -1
  60. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/blankResponseScoring.js +21 -30
  61. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/allOrNothingForAllView.smoke.js +211 -0
  62. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/dropdownAndDropdownMenuSection.js +4 -1
  63. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editTabBasicSection.js +0 -1
  64. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/headerSection.js +2 -2
  65. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/HeaderSection.js +2 -2
  66. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/blankResponseScoring.js +23 -30
  67. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/allOrNothingForAllViews.smoke.js +213 -0
  68. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/backgroundImageAndCanvasProperties.js +0 -1
  69. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/editTabScoringSection.js +2 -0
  70. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/responseAnswersAndAcceptedStudentInput.js +2 -0
  71. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/supportedFileTypes.js +2 -4
  72. package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/blankResponseScoring.js +25 -30
  73. package/cypress/e2e/ILC/FillInTheGapsTextNew/allOrNothingForAllViews.smoke.js +207 -0
  74. package/cypress/e2e/ILC/FillInTheGapsTextNew/editTabBasicSection.js +3 -11
  75. package/cypress/e2e/ILC/FillInTheGapsTextNew/editTabScoringSection.js +2 -0
  76. package/cypress/e2e/ILC/Graphing/headerSection.js +1 -2
  77. package/cypress/e2e/ILC/Graphing/layoutAndGridOptions.js +6 -3
  78. package/cypress/e2e/ILC/GridFill/customizeLayoutFillImageBackgroundImage.js +11 -0
  79. package/cypress/e2e/ILC/GridFill/customizeLayoutSectionShadeCellsGridBorders.js +2 -0
  80. package/cypress/e2e/ILC/GridFill/editTabScoringSection.js +3 -0
  81. package/cypress/e2e/ILC/GridFill/headerSection.js +2 -4
  82. package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +1 -2
  83. package/cypress/e2e/ILC/GridFill/specifyCorrectAnswerSection.js +2 -4
  84. package/cypress/e2e/ILC/ImageHighlight/Scoring/partialDifferentWeightsScoring.js +2 -1
  85. package/cypress/e2e/ILC/ImageHighlight/editQuestion.smoke.js +2 -1
  86. package/cypress/e2e/ILC/ImageHighlight/headerSection.js +2 -1
  87. package/cypress/e2e/ILC/ImageHighlight/studentViewSettings.js +2 -2
  88. package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +2 -1
  89. package/cypress/e2e/ILC/MultipleSelection/allOrNothingBasicForAllViews.smoke.js +226 -0
  90. package/cypress/e2e/ILC/MultipleSelection/allOrNothingWithAlternativeAnswer.js +6 -3
  91. package/cypress/e2e/ILC/MultipleSelection/checkScoringLabelBannerAndCorrectAnswer.js +3 -1
  92. package/cypress/e2e/ILC/MultipleSelection/editTabBasicSection.js +1 -1
  93. package/cypress/e2e/ILC/MultipleSelection/editTabScoringSection.js +6 -3
  94. package/cypress/e2e/ILC/MultipleSelection/headerSection.js +1 -0
  95. package/cypress/e2e/ILC/MultipleSelection/minimumScoringPenaltyPointsAndRoundingDropdown.js +1 -1
  96. package/cypress/e2e/ILC/MultipleSelection/partialDifferentWeightsBasic.js +1 -1
  97. package/cypress/e2e/ILC/MultipleSelection/partialDifferentWeightsWithAlternativeAnswer.js +69 -64
  98. package/cypress/e2e/ILC/MultipleSelection/partialEqualWeightsWithAlternativeAnswer.js +6 -4
  99. package/cypress/e2e/ILC/MultipleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +220 -0
  100. package/cypress/e2e/ILC/MultipleSelectionGridNew/editTabScoringSection.js +11 -5
  101. package/cypress/e2e/ILC/MultipleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +4 -2
  102. package/cypress/e2e/ILC/NumberLine/headerSection.js +1 -2
  103. package/cypress/e2e/ILC/NumberLineLabel/additionalSettingsBasic.js +1 -1
  104. package/cypress/e2e/ILC/NumberLineLabel/headerSection.js +3 -4
  105. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/editQuestion.smoke.js +1 -1
  106. package/cypress/e2e/ILC/Ruler/rulerEditTabFunctionality.js +10 -0
  107. package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +31 -48
  108. package/cypress/e2e/ILC/ShortTextResponseNew/headerSection.js +2 -2
  109. package/cypress/e2e/ILC/SingleSelection/allOrNothingBasicForAllViews.smoke.js +192 -0
  110. package/cypress/e2e/ILC/SingleSelection/checkScoringLabelBannerAndCorrectAnswer.js +3 -1
  111. package/cypress/e2e/ILC/SingleSelection/headerSection.js +1 -0
  112. package/cypress/e2e/ILC/SingleSelection/manuallyAndNonScoredScoring.js +94 -88
  113. package/cypress/e2e/ILC/SingleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +3 -1
  114. package/cypress/e2e/ILC/SingleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +209 -0
  115. package/cypress/e2e/ILC/SingleSelectionGridNew/editTabScoringSection.js +5 -0
  116. package/cypress/e2e/ILC/SingleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +8 -2
  117. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +0 -2
  118. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +0 -2
  119. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +0 -2
  120. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +1 -3
  121. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +0 -2
  122. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +0 -2
  123. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsScoringBasic.js +3 -10
  124. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -4
  125. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +3 -5
  126. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +0 -2
  127. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsScoringBasic.js +0 -4
  128. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +0 -2
  129. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAddEvaluation.js +0 -2
  130. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAlternateAnswer.js +0 -2
  131. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +0 -2
  132. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +0 -2
  133. package/cypress/e2e/ILC/TextEntryMath/Scoring/blankResponseScoring.js +2 -8
  134. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +0 -2
  135. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +0 -2
  136. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +0 -2
  137. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsScoringBasic.js +0 -8
  138. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +0 -2
  139. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +0 -2
  140. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +0 -2
  141. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasic.js +0 -1
  142. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasicForAlternateAnswer.js +0 -2
  143. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViews.smoke.js +77 -6
  144. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +0 -2
  145. package/cypress/e2e/ILC/TextEntryMath/customSettings.js +4 -0
  146. package/cypress/e2e/ILC/TextEntryMath/editQuestion.smoke.js +1 -1
  147. package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +1 -1
  148. package/cypress/e2e/ILC/TextEntryMath/equationEditor.smoke.js +8 -0
  149. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodEquivalentStructures.smoke.js +86 -0
  150. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchExact.smoke.js +97 -0
  151. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchValue.smoke.js +97 -0
  152. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodSymbolsAreEquivalent.smoke.js +167 -0
  153. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodValueIsEquivalent.smoke.js +167 -2
  154. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodsWithoutSetResponse.smoke.js +1 -0
  155. package/cypress/e2e/ILC/TextEntryMath/previewContentsForAllViews.smoke.js +10 -7
  156. package/cypress/e2e/ILC/TextEntryMathWithImage/allOrNothingScoringForAllViews.smoke.js +1 -0
  157. package/cypress/e2e/ILC/TextEntryMathWithImage/styleAndLayoutCustomization.js +1 -1
  158. package/cypress/e2e/ILC/TextSelection/ScoringParagraph/allOrNothingAlternatePointsMoreThanCorrectPoints.js +80 -0
  159. package/cypress/e2e/ILC/TextSelection/ScoringParagraph/allOrNothingCorrectPointsMoreThanAlternatePoints.js +30 -0
  160. package/cypress/e2e/ILC/TextSelection/ScoringParagraph/checkScoringLabelBannerAndCorrectAnswerSection.js +109 -0
  161. package/cypress/e2e/ILC/TextSelection/checkAddAlternativeButton.js +46 -0
  162. package/cypress/e2e/ILC/TextSelection/editTabBasicSection.js +57 -0
  163. package/cypress/e2e/ILC/TextSelection/headerSection.js +38 -6
  164. package/cypress/e2e/ILC/TextSelection/questionInstructionsAndQuestion.js +1 -2
  165. package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyPossibleOptionsSection.js +7 -12
  166. package/cypress/e2e/ILC/ThinkSphere/additionalSettings.js +52 -0
  167. package/cypress/e2e/ILC/ThinkSphere/createReviewItem.js +112 -0
  168. package/cypress/e2e/ILC/ThinkSphere/editTabBasicSection.js +561 -0
  169. package/cypress/e2e/ILC/ThinkSphere/editThinkSphereQuestion.smoke.js +278 -0
  170. package/cypress/e2e/ILC/ThinkSphere/equationEditorCreateCustomCategory.smoke.js +417 -0
  171. package/cypress/e2e/ILC/ThinkSphere/equationEditorEditCategoryFlyOut.js +291 -0
  172. package/cypress/e2e/ILC/ThinkSphere/headerSection.js +53 -0
  173. package/cypress/e2e/ILC/ThinkSphere/planPhase.js +621 -0
  174. package/cypress/e2e/ILC/ThinkSphere/previewTabPlanSection.js +542 -0
  175. package/cypress/e2e/ILC/ThinkSphere/previewTabReviewSection.js +98 -0
  176. package/cypress/e2e/ILC/ThinkSphere/solvePhase.js +296 -0
  177. package/cypress/e2e/ILC/ThinkSphere/studentViewPlanTabSection.js +394 -0
  178. package/cypress/e2e/ILC/ThinkSphere/studentViewReviewTabSection.js +142 -0
  179. package/cypress/e2e/ILC/ToolSettings/toolSettingsPreviewContents.smoke.js +1 -0
  180. package/cypress/e2e/Sessions/fetchResponses.js +3 -3
  181. package/cypress/e2e/Sessions/scores.js +9 -5
  182. package/cypress/e2e/applitools.config.js +3 -3
  183. package/cypress/fixtures/constants.js +5 -1
  184. package/cypress/fixtures/theme/ilc.json +16 -1
  185. package/cypress/fixtures/uploads/sample.webm +0 -0
  186. package/cypress/fixtures/uploads/sample.wmv +0 -0
  187. package/cypress/fixtures/uploads/sample20MB.mp4 +0 -0
  188. package/cypress/fixtures/uploads/sample2MB.mp4 +0 -0
  189. package/cypress/fixtures/uploads/sample2MB_2.mp4 +0 -0
  190. package/cypress/fixtures/uploads/sample30MB.mp4 +0 -0
  191. package/cypress/pages/audioPlayerPage.js +22 -22
  192. package/cypress/pages/brainingCampManipulativePage.js +1 -1
  193. package/cypress/pages/chartsLinePage.js +1 -1
  194. package/cypress/pages/components/additionalSettingsPanel.js +3 -2
  195. package/cypress/pages/components/autoScoredScoringPreviewTab.js +7 -1
  196. package/cypress/pages/components/autoScoredScoringSectionMultiResponseType.js +2 -0
  197. package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +17 -51
  198. package/cypress/pages/components/backgroundImageUploadComponent.js +32 -25
  199. package/cypress/pages/components/browseItemsPage.js +998 -7
  200. package/cypress/pages/components/ckEditorAudioPlayerComponent.js +1 -1
  201. package/cypress/pages/components/ckEditorEquationEditorComponent.js +4 -4
  202. package/cypress/pages/components/ckEditorInsertImageComponent.js +3 -3
  203. package/cypress/pages/components/ckEditorLinkComponent.js +3 -3
  204. package/cypress/pages/components/commonComponents.js +8 -1
  205. package/cypress/pages/components/createQuestionBasePage.js +1 -1
  206. package/cypress/pages/components/defaultToolDropdown.js +7 -6
  207. package/cypress/pages/components/desmosToolComponent.js +1 -1
  208. package/cypress/pages/components/editCategoryFlyout.js +2 -2
  209. package/cypress/pages/components/equationEditorSectionCommonComponent.js +13 -26
  210. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +3 -70
  211. package/cypress/pages/components/fillInTheGapsTextCommonComponent.js +29 -101
  212. package/cypress/pages/components/gridQuestionCommonComponent.js +8 -37
  213. package/cypress/pages/components/hideExpressionListComponent.js +53 -0
  214. package/cypress/pages/components/imageCanvasComponent.js +7 -6
  215. package/cypress/pages/components/index.js +1 -0
  216. package/cypress/pages/components/mcqAdditionalSettingsBase.js +4 -0
  217. package/cypress/pages/components/optionsWrapperComponent.js +1 -1
  218. package/cypress/pages/components/questionInstructionsComponent.js +7 -0
  219. package/cypress/pages/components/scoringSectionBaseEditTab.js +12 -13
  220. package/cypress/pages/desmos3DGraphingPage.js +368 -0
  221. package/cypress/pages/desmosGeometryPage.js +308 -0
  222. package/cypress/pages/dialogBoxBase.js +2 -1
  223. package/cypress/pages/dragAndDropIntoCategoriesPage.js +26 -6
  224. package/cypress/pages/drawingResponsePage.js +17 -16
  225. package/cypress/pages/fillInTheGapsDragAndDropPage.js +1 -68
  226. package/cypress/pages/fillInTheGapsOverImageDragAndDropPage.js +4 -4
  227. package/cypress/pages/fillInTheGapsOverImageDropdownPage.js +1 -1
  228. package/cypress/pages/gradingViewPage.js +8 -0
  229. package/cypress/pages/graphingPage.js +5 -8
  230. package/cypress/pages/gridFillPage.js +7 -8
  231. package/cypress/pages/imageHighlightPage.js +0 -66
  232. package/cypress/pages/index.js +3 -1
  233. package/cypress/pages/multipleSelectionGridPage.js +1 -68
  234. package/cypress/pages/multipleSelectionPage.js +10 -106
  235. package/cypress/pages/numberLineLabelPage.js +5 -8
  236. package/cypress/pages/numberLinePage.js +4 -7
  237. package/cypress/pages/selectQuestionResourceToolPage.js +8 -2
  238. package/cypress/pages/singleSelectionGridPage.js +1 -68
  239. package/cypress/pages/singleSelectionPage.js +0 -104
  240. package/cypress/pages/textSelectionPage.js +25 -6
  241. package/cypress/pages/thinkSpherePage.js +2170 -0
  242. package/cypress/support/commands.js +7 -4
  243. package/cypress/support/e2e.js +1 -0
  244. package/cypress/support/helpers/createItem.js +1181 -1
  245. package/cypress/support/helpers/utilities.js +75 -1
  246. package/deploy/smoke/deploy.yaml +2 -2
  247. package/package.json +3 -3
  248. package/scripts/dataApi.mjs +3 -0
  249. package/scripts/sorry-cypress.mjs +13 -0
@@ -1,5 +1,6 @@
1
1
  {
2
2
  "color": {
3
+ "boxShadow": "rgba(82, 0, 255, 0.1)",
3
4
  "primaryBtn": "rgb(255, 255, 255)",
4
5
  "primaryBtnBg": "rgb(82, 0, 255)",
5
6
  "primaryBtnBorder": "rgb(0, 0, 124)",
@@ -20,6 +21,7 @@
20
21
  "text": "rgb(0, 0, 46)",
21
22
  "textAreaErrorBg": "rgb(255, 244, 241)",
22
23
  "errorText": "rgb(209, 51, 51)",
24
+ "desmosErrorText": "rgb(164, 93, 0)",
23
25
  "labelText": "rgba(0, 0, 48, 0.87)",
24
26
  "optionsText": "rgb(0, 0, 73)",
25
27
  "optionsSelectedText": "rgb(82, 0, 255)",
@@ -122,6 +124,7 @@
122
124
  "lightThemeBtnBorder": "rgb(94, 110, 255)",
123
125
  "geoGebraCanvasBorder": "rgb(102, 102, 102)",
124
126
  "geoGebraHttpsBg": "rgb(233, 238, 255)",
127
+ "desmosHttpsBg": "rgba(255, 251, 214, 0.4)",
125
128
  "enabledSwitchBg": "rgb(48, 160, 79)",
126
129
  "disabledSwitchBg": "rgb(0, 0, 124)",
127
130
  "gridCellHoverStateBg": "rgba(186, 201, 255, 0.6)",
@@ -155,7 +158,19 @@
155
158
  "newFontColor": "rgb(128, 25, 0)",
156
159
  "newResponseFieldColor": "rgb(119, 60, 60)",
157
160
  "blackText": "rgb(0, 0, 0)",
158
- "blackTextBoxText":"rgba(0, 0, 0, 0.38)"
161
+ "blackTextBoxText":"rgba(0, 0, 0, 0.38)",
162
+ "whiteColor": "rgba(255, 255, 255, 1)",
163
+ "phasesSectionBorderColor": "rgba(186, 201, 255, 1)",
164
+ "optionColor": "rgb(13, 71, 161)",
165
+ "borderColor": "rgb(205, 205, 206)",
166
+ "buttonHoverColor": "rgb(68, 0, 211)",
167
+ "tableRowHoverColor": "rgba(0, 0, 0, 0.04)",
168
+ "dialogBoxBoxShadow": "rgba(0, 0, 0, 0.25)",
169
+ "desktopMobileViewtoggleButtonSelectedBg": "rgb(227, 242, 253)",
170
+ "progressBarBackgroundColor": "rgba(0, 0, 46, 0.7)",
171
+ "questionInstructionBG": "rgb(235, 239, 255)",
172
+ "deletePageColor": "rgb(124, 0, 0)",
173
+ "dropdownDefaultBG": "rgb(227, 240, 237)"
159
174
  },
160
175
  "fontSize": {
161
176
  "extraSmall": "10px",
@@ -14,11 +14,11 @@ const selectors = {
14
14
  uploadAudioFileUploadLabel: () => cy.get('[class*="AudioPlayerstyles__AudioLabel"]').eq(0),
15
15
  uploadAudioFileNameLabel: () => cy.get('[class*="AudioPlayerstyles__AudioLabel"]').eq(1),
16
16
  deleteAudioFileButton: () => cy.get('[aria-label="Delete"]'),
17
- sourceUrlLabel: () => cy.get('[class*="AudioPlayerstyles__AudioLabel"]').eq(0),
18
- sourceUrlInputField: () => cy.get('input[aria-label="Source URL"]'),
17
+ sourceUrlLabel: () => cy.get('[class*="AudioPlayerFormstyles__TextFieldLabel"]').eq(0),
18
+ sourceUrlInputField: () => cy.get('[class*="AudioPlayerFormstyles__Text"] input[type="text"]'),
19
19
  uploadAudioChooseFileButton: () => cy.get('.choose-file-upload-button'),
20
20
  uploadAudioNoFileChosenLabel: () => cy.get('[aria-label="No file chosen"]').eq(0),
21
- uploadedFileNameLabel: () => cy.get('.selected-file').eq(0),
21
+ uploadedFileNameLabel: () => cy.get('[class*="AudioPlayerFormstyles__FileInputWrapper"] .selected-file-wrapper').eq(0),
22
22
  audioFileUploadProgressBar: () => cy.get('[class*="AudioPlayerstyles__ProgressBar-"]').eq(0),
23
23
  inputTypeFile: () => cy.get('input[type="file"]'),
24
24
  audioPlayerStyleLabel: () => cy.get('.player-style-label'),
@@ -28,7 +28,7 @@ const selectors = {
28
28
  standardStyleToggleButtonLabel: () => cy.get('[data-ngie-testid="standard-toggle-button"] .ngie-toggle-button-label'),
29
29
  barStyleToggleButtonLabel: () => cy.get('[data-ngie-testid="bar-toggle-button"] .ngie-toggle-button-label'),
30
30
  compactStyleToggleButtonLabel: () => cy.get('[data-ngie-testid="compact-toggle-button"] .ngie-toggle-button-label'),
31
- compactPlayerOptionsLabel: () => cy.get('.options-label'),
31
+ compactPlayerOptionsLabel: () => cy.get('.compact-player-wrapper .options-label'),
32
32
  defaultPlayerOptionButton: () => cy.get('[data-ngie-testid="default-toggle-button"]'),
33
33
  textPlayerOptionButton: () => cy.get('[data-ngie-testid="text-toggle-button"]'),
34
34
  imagePlayerOptionButton: () => cy.get('[data-ngie-testid="image-toggle-button"]'),
@@ -45,28 +45,28 @@ const selectors = {
45
45
  customizePlayerLayoutProgressIndicatorButton: () => cy.get('[data-ngie-testid="progressbar-toggle-button"]'),
46
46
  customizePlayerLayoutToggleButtonLabel: () => cy.get('[class*="ToggleButtonMUI5style__ButtonLabelWrapper"]'),
47
47
  uncheckAllButton: () => cy.get('[class*="AudioPlayerstyles__UncheckButton"]'),
48
- uploadTranscriptFileLabel: () => cy.get('[class*="RadioGroupMUI5styles__RadioOptionContainer"] .ngie-radio-label').eq(2),
49
- uploadTranscriptFileRadioButton: () => cy.get('.ngie-radio-btn input').eq(2),
50
- typeInTranscriptLabel: () => cy.get('[class*="RadioGroupMUI5styles__RadioOptionContainer"] .ngie-radio-label').eq(3),
51
- typeInTranscriptRadioButton: () => cy.get('.ngie-radio-btn input').eq(3),
52
- transcriptInputField: () => cy.get('[role="textbox"][title="Transcript"]'),
53
- allowStudentsToDownloadAudioLabel: () => cy.get('[data-ngie-testid="allow-students-to-download-the-audio-checkbox"] .MuiFormControlLabel-label'),
54
- allowStudentsToDownloadAudioCheckbox: () => cy.get('[data-ngie-testid="allow-students-to-download-the-audio-checkbox"] input'),
55
- limitPlayAttemptsLabel: () => cy.get('[data-ngie-testid="limit-play-attempts-checkbox"] .MuiFormControlLabel-label'),
56
- limitPlayAttemptsCheckbox: () => cy.get('[data-ngie-testid="limit-play-attempts-checkbox"] input'),
48
+ uploadTranscriptFileLabel: () => cy.get('.upload-transcript-opt-label'),
49
+ uploadTranscriptFileRadioButton: () => cy.get('.upload-transcript-opt-label input'),
50
+ typeInTranscriptLabel: () => cy.get('.type-in-transcript-opt-label'),
51
+ typeInTranscriptRadioButton: () => cy.get('[aria-label="Type in transcript"][type="radio"]'),
52
+ transcriptInputField: () => cy.get('[title="Transcript"]'),
53
+ allowStudentsToDownloadAudioLabel: () => cy.get('.allow-students-to-download-audio .MuiFormControlLabel-label').eq(0),
54
+ allowStudentsToDownloadAudioCheckbox: () => cy.get('.allow-students-to-download-audio input'),
55
+ limitPlayAttemptsLabel: () => cy.get('.allow-students-to-download-audio .MuiFormControlLabel-label').eq(1),
56
+ limitPlayAttemptsCheckbox: () => cy.get('.allow-students-to-download-audio input').eq(1),
57
57
  playAttemptsLimitLabel: () => cy.get('.playback-limit-wrapper [class*="Label"]'),
58
- playAttemptsLimitInputField: () => cy.get('.playback-limit-wrapper input'),
58
+ playAttemptsLimitInputField: () => cy.get('.freeResponseAudioFormTextInput input'),
59
59
  studentViewSettingsLabel: () => cy.get('[class*="AudioPlayerstyles__TranscriptLabelWrapper"]').eq(0),
60
60
  audioOverviewLabel: () => cy.get('.additional-settings-label'),
61
61
  audioOverviewInputField: () => cy.get('[title="Description"]'),
62
- transcriptLabel: () => cy.get('.audio-resource-label-wrapper').eq(1),
62
+ transcriptLabel: () => cy.get('.freeResponseAudioFormTextInput .transcript-label'),
63
63
  uploadTranscriptUploadLabel: () => cy.get('[class*="AudioPlayerstyles__AudioLabel"]').eq(2),
64
64
  uploadTranscriptFileNameLabel: () => cy.get('[class*="AudioPlayerstyles__AudioLabel"]').eq(3),
65
65
  uploadTranscriptChooseFileButton: () => cy.get('.upload-audio-file-input-wrapper button').eq(1),
66
66
  uploadTranscriptNoFileChosenLabel: () => cy.get('[aria-label="No file chosen"]').eq(1),
67
- transcriptInputTypeFile: () => cy.get('input[type="file"]').eq(1),
68
- uploadedTranscriptFileNameLabel: () => cy.get('.selected-file').eq(1),
69
- transcriptFileUploadProgressBar: () => cy.get('[class*="AudioPlayerstyles__ProgressBar-"]').eq(1),
67
+ transcriptInputTypeFile: () => cy.get('.upload-transcript-file input[type="file"]'),
68
+ uploadedTranscriptFileNameLabel: () => cy.get('.upload-transcript-file .selected-file-wrapper'),
69
+ transcriptFileUploadProgressBar: () => cy.get('.audio-player-form-progressbar'),
70
70
  transcriptInputFieldLabel: () => cy.get('.additional-settings-label').eq(1),
71
71
  deleteTranscriptButton: () => cy.get('[aria-label*="Delete"]'),
72
72
 
@@ -788,14 +788,14 @@ const steps = {
788
788
  audioPlayerPage.audioOverviewInputField()
789
789
  .find('[data-widget="ngie_equation"]')
790
790
  .should('have.attr', 'aria-label', constants.CKEditorInputFieldEnteredEquationAriaLabel)
791
- // .contains(constants.CKEditorInputFieldEnteredEquationText);
791
+ // .contains(constants.CKEditorInputFieldEnteredEquationText);
792
792
  },
793
793
 
794
794
  verifyEquationInAudioOverviewPreviewTab: () => {
795
795
  audioPlayerPage.audioOverviewPreviewTab()
796
796
  .find('[role="math"]')
797
797
  .should('have.attr', 'aria-label', constants.CKEditorInputFieldEnteredEquationAriaLabel)
798
- // .contains(constants.CKEditorInputFieldEnteredEquationText);
798
+ // .contains(constants.CKEditorInputFieldEnteredEquationText);
799
799
  },
800
800
 
801
801
  verifyLinkInAudioOverviewInputField: () => {
@@ -896,14 +896,14 @@ const steps = {
896
896
  audioPlayerPage.transcriptInputField()
897
897
  .find('[data-widget="ngie_equation"]')
898
898
  .should('have.attr', 'aria-label', constants.CKEditorInputFieldEnteredEquationAriaLabel)
899
- // .contains(constants.CKEditorInputFieldEnteredEquationText);
899
+ // .contains(constants.CKEditorInputFieldEnteredEquationText);
900
900
  },
901
901
 
902
902
  verifyEquationInTranscriptPreviewTab: () => {
903
903
  audioPlayerPage.transcriptContentPreviewTab()
904
904
  .find('[role="math"]')
905
905
  .should('have.attr', 'aria-label', constants.CKEditorInputFieldEnteredEquationAriaLabel)
906
- // .contains(constants.CKEditorInputFieldEnteredEquationText);
906
+ // .contains(constants.CKEditorInputFieldEnteredEquationText);
907
907
  },
908
908
 
909
909
  verifyLinkInTranscriptInputField: () => {
@@ -20,7 +20,7 @@ const selectors = {
20
20
  selectAManipulativeLabel: () => cy.get('[class*="SelectManipulativeWrapper"] [class*="BrainingcampManipulativestyle__WrapperSubHeader"]'),
21
21
  enterAShareCodeLabel: () => cy.get('[class*="EnterShareCodeWrapper"] [class*="BrainingcampManipulativestyle__WrapperSubHeader"]'),
22
22
  enterAShareCodeInputField: () => cy.get('[class*="EnterShareCodeWrapper"] input'),
23
- previewTabCanvas: () => cy.get('.canvas'),
23
+ previewTabCanvas: () => cy.get('.bcm-inner'),
24
24
  }
25
25
 
26
26
  const steps = {
@@ -130,11 +130,11 @@ const steps = {
130
130
  chartsLinePage.barAndPointTooltipLockUnlockButton()
131
131
  .should('have.attr', 'aria-label', 'unlocked bar');
132
132
  utilities.triggerMouseout(utilities.getNthElement(chartsLinePage.selectChartTypePoint(), pointIndex));
133
- cy.wait(500); // Add a small delay to ensure the tooltip is hidden
134
133
  utilities.getNthElement(chartsLinePage.selectChartTypePoint(), pointIndex)
135
134
  .within(() => {
136
135
  utilities.verifyElementVisibilityState(chartsLinePage.pointLockIcon(), 'notExist');
137
136
  });
137
+ cy.wait(500); // Add a small delay to ensure the tooltip is hidden
138
138
  utilities.hoverAwayFromElement();
139
139
  },
140
140
 
@@ -23,8 +23,8 @@ const selectors = {
23
23
  return cy.get('[aria-labelledby*="Font-Size-dropdown-label"] [role="option"]')
24
24
  }
25
25
  },
26
- fontSizeListOptionLabels: () => cy.get('[aria-labelledby="Font-Size-dropdown-label Font-Size-placeholder"] li[role="option"] .dropdown-label-text'),
27
- fontSizesLabels: () => cy.get('[aria-labelledby="Font-Size-dropdown-label Font-Size-placeholder"] li[role="option"] .dropdown-post-label-text'),
26
+ fontSizeListOptionLabels: () => cy.get('[aria-labelledby*="Font-Size-dropdown-label"] li[role="option"] .dropdown-label-text'),
27
+ fontSizesLabels: () => cy.get('[aria-labelledby*="Font-Size-dropdown-label"] li[role="option"] .dropdown-post-label-text'),
28
28
  }
29
29
 
30
30
  const steps = {
@@ -69,6 +69,7 @@ const steps = {
69
69
 
70
70
  expandFontSizeDropdown: () => {
71
71
  additionalSettingsPanel.fontSizeDropdown()
72
+ .trigger('mouseover')
72
73
  .click();
73
74
  }
74
75
  }
@@ -149,6 +149,12 @@ const steps = {
149
149
  checkManuallyScoredScoringLabel: () => {
150
150
  autoScoredScoringPreviewTab.scoringTypeLabelPreviewTab()
151
151
  .should('have.text', 'Manually scored');
152
+ },
153
+
154
+ checkNonScoredScoringLabel: () => {
155
+ //Need to update once https://weldnorthed.atlassian.net/browse/IEI-5618 is resolved
156
+ autoScoredScoringPreviewTab.scoringTypeLabelPreviewTab()
157
+ .contains('Non scored', { matchCase: false });
152
158
  }
153
159
  }
154
160
 
@@ -161,7 +167,7 @@ const tests = {
161
167
  .should('be.checked');
162
168
  autoScoredScoringPreviewTab.gradingViewRadioButton()
163
169
  .should('not.be.checked');
164
- autoScoredScoringPreviewTab.steps.verifyPreviewScore(0, 0);
170
+ autoScoredScoringPreviewTab.steps.checkManuallyScoredScoringLabel();
165
171
  autoScoredScoringPreviewTab.steps.verifyCorrectIncorrectIconsNotExist();
166
172
  });
167
173
 
@@ -76,6 +76,7 @@ const steps = {
76
76
 
77
77
  expandPenaltyScoringDropdown: () => {
78
78
  autoScoredScoringSectionMultiResponseType.penaltyScoringDropdown()
79
+ .trigger('mouseover')
79
80
  .click();
80
81
  cy.wait(500);
81
82
  utilities.verifyElementVisibilityState(autoScoredScoringSectionMultiResponseType.penaltyScoringDropdownListOptions(), 'visible');
@@ -147,6 +148,7 @@ const steps = {
147
148
 
148
149
  expandRoundingDropdown: () => {
149
150
  autoScoredScoringSectionMultiResponseType.roundingDropdown()
151
+ .trigger('mouseover')
150
152
  .click();
151
153
  },
152
154
 
@@ -141,7 +141,7 @@ const steps = {
141
141
  checkAlternativeButtonEnabled: () => {
142
142
  autoScoredSpecifyCorrectAnswerSection.alternativeAnswerButton()
143
143
  .should('be.enabled');
144
- }
144
+ },
145
145
  }
146
146
 
147
147
  const tests = {
@@ -326,65 +326,31 @@ const tests = {
326
326
  .verifyPseudoClassBeforeProperty('color', css.color.activeButtons);
327
327
  });
328
328
 
329
- it('If user has not selected correct answer in the correct accordion, the user should get a warning popup', () => {
330
- autoScoredSpecifyCorrectAnswerSection.steps.clickOnAddAlternativeAnswerButton();
331
- dialogBoxBase.steps.allFieldsRequiredWarningPopupContents();
332
- });
333
-
334
- it('CSS of warning popup', { tags: 'css' }, () => {
335
- utilities.verifyCSS(dialogBoxBase.dialogBoxTitle(), {
336
- 'color': css.color.flyoutTitle,
337
- 'font-size': css.fontSize.heading,
338
- 'font-weight': css.fontWeight.semibold
339
- });
340
- utilities.verifyCSS(dialogBoxBase.dialogBoxContent(), {
341
- 'color': css.color.labels,
342
- 'font-size': css.fontSize.default,
343
- 'font-weight': css.fontWeight.regular
344
- });
345
- utilities.verifyCSS(dialogBoxBase.buttonClose().find('svg'), {
346
- 'fill': css.color.closeIcon
347
- });
348
- });
349
-
350
- it('Accessibility of warning popup', { tags: 'a11y' }, () => {
351
- cy.checkAccessibility(dialogBoxBase.dialogBox());
352
- });
353
-
354
- it('Warning popup should close on clicking the Close icon button', () => {
355
- dialogBoxBase.steps.closeWarningPopup();
356
- utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'notExist');
357
- });
358
-
359
- it('\'Error: Please set a correct answer.\' validation error messages should be displayed in the correct accordion, points error message should not be displayed', () => {
360
- autoScoredSpecifyCorrectAnswerSection.correctAnswerAccordion()
361
- .within(() => {
362
- utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'visible');
363
- });
364
- scoringSectionBaseEditTab.pointsWrapper()
365
- .within(() => {
366
- utilities.verifyElementVisibilityState(scoringSectionBaseEditTab.pleaseEnterPointsErrorMessage(), 'notExist');
367
- });
368
- if (questionType != 'list ordering' && questionType != 'short text response' && questionType != 'text entry math' && questionType != 'text selection' && questionType != 'fill in the gaps with text' && questionType != 'fill in the gaps over image text') {
369
- steps.verifySpecifyCorrectAnswerErrorMessage();
370
- }
371
- else if (questionType === 'short text response' || questionType === 'fill in the gaps with text' || questionType === 'fill in the gaps over image text' || questionType === 'text entry math') {
372
- utilities.verifyInnerText(utilities.getNthElement(commonComponents.errorMessage(), -1), 'Error: Answer is required.');
373
- } else if (questionType === 'text selection') {
374
- utilities.verifyInnerText(commonComponents.alertMessage(), 'Error: Please set a correct answer.');
375
- }
329
+ it('If user has not selected correct answer in the correct accordion, then the Add alternative answer button should be in disabled state', () => {
330
+ utilities.verifyElementDisabled(autoScoredSpecifyCorrectAnswerSection.alternativeAnswerButton());
376
331
  });
377
332
  },
378
333
 
379
334
  verifyWarningPopupAndAccordionNavigationWhenNoPointsAddedInAlternativeAccordion: () => {
380
- it('When user tries to expand correct accordion when all the mandatory fields are not filled in the alternative accordion, then a warning popup should be displayed and on closing the popup, alternative 2 accordion should be in expanded state', () => {
335
+ it('When user tries to expand correct accordion when all the mandatory fields are not filled in the alternative accordion, then correct answer accordion should be expanded and alternative 2 accordion should be in collapsed state', () => {
336
+ autoScoredSpecifyCorrectAnswerSection.correctAnswerAccordion()
337
+ .click();
338
+ autoScoredSpecifyCorrectAnswerSection.alternativeAnswerAccordion()
339
+ .eq(1)
340
+ .should('have.attr', 'aria-expanded', 'false');
381
341
  autoScoredSpecifyCorrectAnswerSection.correctAnswerAccordion()
342
+ .should('have.attr', 'aria-expanded', 'true');
343
+ });
344
+
345
+ it('When user tries to expand alternative accordion when all the mandatory fields are not filled in the correct accordion, then correct answer accordion should be collapsed and alternative 2 accordion should be in expanded state', () => {
346
+ autoScoredSpecifyCorrectAnswerSection.alternativeAnswerAccordion()
347
+ .eq(1)
382
348
  .click();
383
- dialogBoxBase.steps.allFieldsRequiredWarningPopupContents();
384
- dialogBoxBase.steps.closeWarningPopup();
385
349
  autoScoredSpecifyCorrectAnswerSection.alternativeAnswerAccordion()
386
350
  .eq(1)
387
351
  .should('have.attr', 'aria-expanded', 'true');
352
+ autoScoredSpecifyCorrectAnswerSection.correctAnswerAccordion()
353
+ .should('have.attr', 'aria-expanded', 'false');
388
354
  });
389
355
  }
390
356
  }
@@ -59,29 +59,7 @@ const steps = {
59
59
  }
60
60
 
61
61
  const tests = {
62
- verifyBackgroundImageSectionContentWithCSSAndA11y: (questionType = null) => {
63
- it('\'Background image\' label should be visible', () => {
64
- if (questionType === 'graphing') {
65
- utilities.verifyInnerText(backgroundImageUploadComponent.backgroundImageLabel(), 'Background');
66
- } else {
67
- utilities.verifyInnerText(backgroundImageUploadComponent.backgroundImageLabel(), 'Background image');
68
- }
69
- });
70
-
71
- it('\'Upload\' label and \'Choose file\' button should be displayed', () => {
72
- utilities.verifyInnerText(backgroundImageUploadComponent.uploadLabel(), 'Upload');
73
- utilities.verifyElementVisibilityState(backgroundImageUploadComponent.uploadLabel(), 'visible');
74
- utilities.verifyInnerText(backgroundImageUploadComponent.chooseFileButton(), 'Choose file');
75
- utilities.verifyElementVisibilityState(backgroundImageUploadComponent.chooseFileButton(), 'visible');
76
- });
77
-
78
- it('\'File name\' label should be displayed and by default \'No file chosen\' text should be displayed below the \'File name\' label.', () => {
79
- utilities.verifyInnerText(backgroundImageUploadComponent.fileNameLabel(), 'File name');
80
- utilities.verifyElementVisibilityState(backgroundImageUploadComponent.fileNameLabel(), 'visible');
81
- utilities.verifyInnerText(backgroundImageUploadComponent.noFileChosenLabel(), 'No file chosen');
82
- utilities.verifyElementVisibilityState(backgroundImageUploadComponent.noFileChosenLabel(), 'visible');
83
- });
84
-
62
+ verifyCSSAndA11yBeforeUpload: () => {
85
63
  it('CSS of upload section', { tags: 'css' }, () => {
86
64
  utilities.verifyCSS(backgroundImageUploadComponent.uploadLabel(), {
87
65
  'color': css.color.labels,
@@ -109,12 +87,13 @@ const tests = {
109
87
  it('Accessibility of Upload section before uploading image', { tags: 'a11y' }, () => {
110
88
  cy.checkAccessibility(backgroundImageUploadComponent.uploadLabel().parents('.edit-question-edit-tab-wrapper'));
111
89
  });
90
+ },
112
91
 
92
+ verifyImageUploadFunctionality: (questionType = null) => {
113
93
  it('When the user adds the image 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 and uploaded image should be displayed', () => {
114
94
  backgroundImageUploadComponent.steps.uploadFile('highlightImage.jpg');
115
- utilities.verifyElementVisibilityState(backgroundImageUploadComponent.uploadImageProgressBar(), 'visible');
116
95
  backgroundImageUploadComponent.steps.verifyFileNameLabel('highlightImage.jpg');
117
- if (questionType !== 'graphing' && questionType !== 'grid fill' && questionType !== 'image highlight') {
96
+ if (!['graphing', 'grid fill', 'image highlight', 'thinkSphere'].includes(questionType)) {
118
97
  imageCanvasComponent.steps.verifyImageIsUploaded();
119
98
  }
120
99
  });
@@ -129,6 +108,34 @@ const tests = {
129
108
  });
130
109
  },
131
110
 
111
+ verifyBackgroundImageSectionContentWithCSSAndA11y: (questionType = null) => {
112
+ it('\'Background image\' label should be visible', () => {
113
+ if (questionType === 'graphing') {
114
+ utilities.verifyInnerText(backgroundImageUploadComponent.backgroundImageLabel(), 'Background');
115
+ } else {
116
+ utilities.verifyInnerText(backgroundImageUploadComponent.backgroundImageLabel(), 'Background image');
117
+ }
118
+ });
119
+
120
+ it('\'Upload\' label and \'Choose file\' button should be displayed', () => {
121
+ utilities.verifyInnerText(backgroundImageUploadComponent.uploadLabel(), 'Upload');
122
+ utilities.verifyElementVisibilityState(backgroundImageUploadComponent.uploadLabel(), 'visible');
123
+ utilities.verifyInnerText(backgroundImageUploadComponent.chooseFileButton(), 'Choose file');
124
+ utilities.verifyElementVisibilityState(backgroundImageUploadComponent.chooseFileButton(), 'visible');
125
+ });
126
+
127
+ it('\'File name\' label should be displayed and by default \'No file chosen\' text should be displayed below the \'File name\' label.', () => {
128
+ utilities.verifyInnerText(backgroundImageUploadComponent.fileNameLabel(), 'File name');
129
+ utilities.verifyElementVisibilityState(backgroundImageUploadComponent.fileNameLabel(), 'visible');
130
+ utilities.verifyInnerText(backgroundImageUploadComponent.noFileChosenLabel(), 'No file chosen');
131
+ utilities.verifyElementVisibilityState(backgroundImageUploadComponent.noFileChosenLabel(), 'visible');
132
+ });
133
+
134
+ tests.verifyCSSAndA11yBeforeUpload();
135
+
136
+ tests.verifyImageUploadFunctionality(questionType);
137
+ },
138
+
132
139
  verifyDeleteImagePopupContentAndFunctionality: () => {
133
140
  it('When the user hovers on \'Delete\' button, \'Delete image\' text should be displayed in tooltip', () => {
134
141
  backgroundImageUploadComponent.deleteImageIcon()