itemengine-cypress-automation 1.0.189-e2e-execution-crash-83cdbd4.0 → 1.0.190-7thMayFixes-fcaf7b8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (292) hide show
  1. package/cypress/e2e/ILC/AudioPlayerNew/allSupportedFileTypes.js +81 -0
  2. package/cypress/e2e/ILC/AudioPlayerNew/barAudioPlayerStyle.js +620 -0
  3. package/cypress/e2e/ILC/AudioPlayerNew/compactAudioPlayerStyle.js +402 -0
  4. package/cypress/e2e/ILC/AudioPlayerNew/customizePlayerLayoutSettings.js +596 -0
  5. package/cypress/e2e/ILC/AudioPlayerNew/previewContents.smoke.js +162 -0
  6. package/cypress/e2e/ILC/AudioPlayerNew/standardAudioPlayerStyle.js +792 -0
  7. package/cypress/e2e/ILC/AudioPlayerNew/studentViewSettings.js +253 -0
  8. package/cypress/e2e/ILC/AudioPlayerNew/uploadAndAddAudioFile.js +313 -0
  9. package/cypress/e2e/ILC/AudioResponseNew/additionalSettingsBasic.js +1 -22
  10. package/cypress/e2e/ILC/AudioResponseNew/barRecorderStyle.smoke.js +2 -2
  11. package/cypress/e2e/ILC/AudioResponseNew/compactRecorderStyle.smoke.js +1 -1
  12. package/cypress/e2e/ILC/AudioResponseNew/editAndPreviewTabScoringSection.js +1 -1
  13. package/cypress/e2e/ILC/AudioResponseNew/editTabBasicSection.js +1 -0
  14. package/cypress/e2e/ILC/AudioResponseNew/headerSection.js +4 -20
  15. package/cypress/e2e/ILC/AudioResponseNew/standardRecorderStyle.smoke.js +1 -1
  16. package/cypress/e2e/ILC/AudioResponseNew/studentViewSettings.js +2 -11
  17. package/cypress/e2e/ILC/ChartsBar/allOrNothingScoringForAllViews.smoke.js +366 -0
  18. package/cypress/e2e/ILC/ChartsBar/checkAnswerFunctionalityForAllViews.smoke.js +181 -0
  19. package/cypress/e2e/ILC/ChartsBar/gradingViewAndCorrectAnswerView.smoke.js +283 -0
  20. package/cypress/e2e/ILC/ChartsBar/previewContentsForAllViews.smoke.js +625 -0
  21. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/additionalSettingsBasic.js +1 -1
  22. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/clickAndDrop.js +1 -1
  23. package/cypress/e2e/ILC/DrawingResponse/drawingResponseAdditionalSettings.js +2 -2
  24. package/cypress/e2e/ILC/DrawingResponse/drawingResponseBackground.js +0 -3
  25. package/cypress/e2e/ILC/DrawingResponse/drawingResponseCustomizeAdditionalOptions.js +3 -5
  26. package/cypress/e2e/ILC/DrawingResponse/drawingResponseEditTabBasicSection.js +0 -4
  27. package/cypress/e2e/ILC/DrawingResponse/drawingResponseEditTabScoring.js +0 -1
  28. package/cypress/e2e/ILC/DrawingResponse/drawingResponseGradingViewAndCorrectAnswerViewContents.smoke.js +6 -8
  29. package/cypress/e2e/ILC/DrawingResponse/drawingResponsePageHeaderSection.js +4 -24
  30. package/cypress/e2e/ILC/DrawingResponse/drawingResponsePreviewTabContents.smoke.js +0 -9
  31. package/cypress/e2e/ILC/EditTabSettingPage/itemPreviewSettingsTabFunctionality.js +418 -29
  32. package/cypress/e2e/ILC/EssayResponse/editCategoryFlyout.js +1 -1
  33. package/cypress/e2e/ILC/EssayResponse/essayResponseSpecialCharacters.js +0 -2
  34. package/cypress/e2e/ILC/EssayResponse/headerSection.js +3 -18
  35. package/cypress/e2e/ILC/EssayResponse/previewHyperlink.js +0 -1
  36. package/cypress/e2e/ILC/EssayResponseMath/mathCharacters.js +0 -1
  37. package/cypress/e2e/ILC/FeedbackScaleNew/headerSection.js +29 -1
  38. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/headerSection.js +0 -5
  39. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViews.smoke.js +2 -2
  40. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/studentViewSettings.js +1 -1
  41. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/headerSection.js +0 -4
  42. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/studentViewSettings.js +1 -1
  43. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/backgroundImageAndCanvasProperties.js +3 -3
  44. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/editTabScoring.js +1 -0
  45. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/headerSection.js +5 -5
  46. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/previewContentsForAllViews.smoke.js +2 -2
  47. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/studentViewSettings.js +4 -4
  48. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/headerSection.js +0 -4
  49. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/studentViewSettings.js +1 -1
  50. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +4 -4
  51. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +1 -1
  52. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/studentViewSettings.js +1 -1
  53. package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +5 -5
  54. package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +3 -4
  55. package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +1 -1
  56. package/cypress/e2e/ILC/FillInTheGapsTextNew/editTabScoringSection.js +1 -2
  57. package/cypress/e2e/ILC/FillInTheGapsTextNew/headerSection.js +1 -0
  58. package/cypress/e2e/ILC/FillInTheGapsTextNew/studentViewSettings.js +1 -3
  59. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +2 -2
  60. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +2 -2
  61. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +2 -2
  62. package/cypress/e2e/ILC/Graphing/addBackgroundShapesSection.js +2 -2
  63. package/cypress/e2e/ILC/Graphing/allOrNothingForAllViews.smoke.js +2 -1
  64. package/cypress/e2e/ILC/Graphing/studentViewSettings.js +1 -1
  65. package/cypress/e2e/ILC/GridFill/allOrNothingBasicForAllViews.smoke.js +6 -6
  66. package/cypress/e2e/ILC/GridFill/checkAnswerFunctionalityForAllViews.smoke.js +3 -2
  67. package/cypress/e2e/ILC/GridFill/gridLayoutContents.js +11 -3
  68. package/cypress/e2e/ILC/GridFill/headerSection.js +4 -5
  69. package/cypress/e2e/ILC/GridFill/previewContentsForAllViews.smoke.js +3 -3
  70. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingScoringCellShadeCount.js +2 -2
  71. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountAllOrNothingCorrectPointsGreaterThanAlternativePoints.js +143 -0
  72. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountPartialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +132 -0
  73. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountPartialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +143 -0
  74. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountPartialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +144 -0
  75. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountallOrNothingCorrectPointsEqualToAlternativePoints.js +143 -0
  76. package/cypress/e2e/ILC/GridFill/scoring/cellshadeCountAllOrNothingAlternativePointsGreaterThanCorrectPoints.js +131 -0
  77. package/cypress/e2e/ILC/GridFill/scoring/matchExactAndCellShadeCountCombinedScoring.js +87 -0
  78. package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsCellShadeCountBasics.js +446 -0
  79. package/cypress/e2e/ILC/GridFill/studentViewSettingsSection.js +1 -1
  80. package/cypress/e2e/ILC/ImageHighlight/allOrNothingForAllViews.smoke.js +276 -0
  81. package/cypress/e2e/ILC/ImageHighlight/checkAnswerFunctionalityForAllViews.smoke.js +141 -0
  82. package/cypress/e2e/ILC/ImageHighlight/previewContentsForAllViews.smoke.js +150 -0
  83. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +194 -0
  84. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +195 -0
  85. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +274 -0
  86. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingPenaltyScoring.js +48 -0
  87. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/manuallyAndNonScored.js +144 -0
  88. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +252 -0
  89. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsBasic.js +102 -0
  90. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +256 -0
  91. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +253 -0
  92. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +308 -0
  93. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +225 -0
  94. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +151 -0
  95. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +196 -0
  96. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +227 -0
  97. package/cypress/e2e/ILC/ListOrderingDropdown/additionalSettings.js +91 -0
  98. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +230 -0
  99. package/cypress/e2e/ILC/ListOrderingDropdown/checkAnswerFunctionalityForAllViews.smoke.js +124 -0
  100. package/cypress/e2e/ILC/ListOrderingDropdown/editTabBasicSection.js +221 -0
  101. package/cypress/e2e/ILC/ListOrderingDropdown/editTabScoring.js +203 -0
  102. package/cypress/e2e/ILC/ListOrderingDropdown/manuallyAndNonScoredEditTab.js +71 -0
  103. package/cypress/e2e/ILC/ListOrderingDropdown/minimumScoringPenaltyPointsAndRoundingDropdown.js +197 -0
  104. package/cypress/e2e/ILC/ListOrderingDropdown/previewContentsForAllViews.smoke.js +201 -0
  105. package/cypress/e2e/ILC/ListOrderingDropdown/specifyCorrectAnswerSection.js +115 -0
  106. package/cypress/e2e/ILC/ListOrderingDropdown/studentViewSettings.js +183 -0
  107. package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +216 -0
  108. package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +214 -0
  109. package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +273 -0
  110. package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingPenaltyScoring.js +52 -0
  111. package/cypress/e2e/ILC/ListOrderingNew/Scoring/manuallyAndNonScored.js +128 -0
  112. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +279 -0
  113. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsBasic.js +109 -0
  114. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +278 -0
  115. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +278 -0
  116. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +335 -0
  117. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +250 -0
  118. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsBasic.js +161 -0
  119. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +216 -0
  120. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +252 -0
  121. package/cypress/e2e/ILC/ListOrderingNew/additionalSettings.js +118 -0
  122. package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +243 -0
  123. package/cypress/e2e/ILC/ListOrderingNew/checkAnswerFunctionalityForAllViews.smoke.js +128 -0
  124. package/cypress/e2e/ILC/ListOrderingNew/editTabBasicSection.js +155 -0
  125. package/cypress/e2e/ILC/ListOrderingNew/editTabScoring.js +195 -0
  126. package/cypress/e2e/ILC/ListOrderingNew/headerSection.js +78 -0
  127. package/cypress/e2e/ILC/ListOrderingNew/manuallyAndNonScoredEditTab.js +69 -0
  128. package/cypress/e2e/ILC/ListOrderingNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +194 -0
  129. package/cypress/e2e/ILC/ListOrderingNew/previewContentsForAllViews.smoke.js +176 -0
  130. package/cypress/e2e/ILC/ListOrderingNew/specifyCorrectAnswerSection.js +112 -0
  131. package/cypress/e2e/ILC/ListOrderingNew/studentViewSettings.js +244 -0
  132. package/cypress/e2e/ILC/Matching/additionalSettings.js +1 -0
  133. package/cypress/e2e/ILC/Matching/headerSection.js +2 -2
  134. package/cypress/e2e/ILC/Matching/studentViewSettings.js +1 -1
  135. package/cypress/e2e/ILC/MultipleSelection/allOrNothingWithAlternativeAnswer.js +1 -0
  136. package/cypress/e2e/ILC/MultipleSelectionGridNew/studentViewSettings.js +1 -1
  137. package/cypress/e2e/ILC/NumberLine/LayoutSection.js +209 -0
  138. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +23 -21
  139. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +5 -3
  140. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +8 -6
  141. package/cypress/e2e/ILC/NumberLine/Scoring/manualAndNonScoredScoring.js +1 -1
  142. package/cypress/e2e/ILC/NumberLine/Scoring/partialEqualWeightsBasic.js +1 -1
  143. package/cypress/e2e/ILC/NumberLine/Scoring/partialEqualWeightsWithAlternatePointsGreaterThanCorrectPoints.js +1 -1
  144. package/cypress/e2e/ILC/NumberLine/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternatePoints.js +1 -1
  145. package/cypress/e2e/ILC/NumberLine/Scoring/partialEqualWeigtsWithCorrectPointsEqualToAlternatePoints.js +1 -1
  146. package/cypress/e2e/ILC/NumberLine/allOrNothingScoringForAllViews.smoke.js +60 -3
  147. package/cypress/e2e/ILC/NumberLine/checkAnswerFunctionalityForAllViews.smoke.js +3 -2
  148. package/cypress/e2e/ILC/NumberLine/editTabScoringSection.js +2 -9
  149. package/cypress/e2e/ILC/NumberLine/gradingViewAndCorrectAnswerView.smoke.js +2 -2
  150. package/cypress/e2e/ILC/NumberLine/headerSection.js +4 -4
  151. package/cypress/e2e/ILC/NumberLine/lineSettingsSection.js +33 -0
  152. package/cypress/e2e/ILC/NumberLine/numberLineSection.js +50 -0
  153. package/cypress/e2e/ILC/NumberLine/previewTabContentsForAllViews.smoke.js +2 -2
  154. package/cypress/e2e/ILC/NumberLine/specifyCorrectAnswerSection.js +1 -1
  155. package/cypress/e2e/ILC/NumberLine/studentViewSettings.js +3 -3
  156. package/cypress/e2e/ILC/NumberLine/toolSettings.js +2 -1
  157. package/cypress/e2e/ILC/NumberLine/toolsAndControls.js +1 -1
  158. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/allOrNothingScoringForAllViews.smoke.js +697 -0
  159. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/gradingViewAndCorrectAnswerView.smoke.js +173 -0
  160. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/layoutSection.js +211 -0
  161. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/numberLineSection.js +75 -0
  162. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/previewTabContentsForAllViews.smoke.js +204 -0
  163. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +231 -0
  164. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +231 -0
  165. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +231 -0
  166. package/cypress/e2e/ILC/NumberLineLabel/Scoring/manualAndNonScoredScoring.js +169 -0
  167. package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +274 -0
  168. package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialDifferentWeightsBasic.js +433 -0
  169. package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +274 -0
  170. package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +274 -0
  171. package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +249 -0
  172. package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialEqualWeightsBasic.js +135 -0
  173. package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +210 -0
  174. package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +248 -0
  175. package/cypress/e2e/ILC/NumberLineLabel/additionalSettingsBasic.js +115 -0
  176. package/cypress/e2e/ILC/NumberLineLabel/allOrNothingForAllViews.smoke.js +289 -0
  177. package/cypress/e2e/ILC/NumberLineLabel/checkAnswerFunctionalityForAllViews.smoke.js +154 -0
  178. package/cypress/e2e/ILC/NumberLineLabel/editTabBasicSection.js +326 -0
  179. package/cypress/e2e/ILC/NumberLineLabel/editTabScoring.js +234 -0
  180. package/cypress/e2e/ILC/NumberLineLabel/gradingViewAndCorrectAnswerView.smoke.js +164 -0
  181. package/cypress/e2e/ILC/NumberLineLabel/headerSection.js +80 -0
  182. package/cypress/e2e/ILC/NumberLineLabel/layoutSection.js +204 -0
  183. package/cypress/e2e/ILC/NumberLineLabel/manuallyAndNonScoredEditTab.js +79 -0
  184. package/cypress/e2e/ILC/NumberLineLabel/minimumScoringPenaltyPointsAndRoundingDropdown.js +85 -0
  185. package/cypress/e2e/ILC/NumberLineLabel/numberLineSection.js +51 -0
  186. package/cypress/e2e/ILC/NumberLineLabel/previewContentsForAllViews.smoke.js +120 -0
  187. package/cypress/e2e/ILC/NumberLineLabel/specifyCorrectAnswerSection.js +74 -0
  188. package/cypress/e2e/ILC/NumberLineLabel/studentViewSettings.js +183 -0
  189. package/cypress/e2e/ILC/NumberLineLabel/toolSettings.js +76 -0
  190. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/allOrNothingForAllViews.smoke.js +292 -0
  191. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/checkAnswerFunctionalityForAllViews.smoke.js +155 -0
  192. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/gradingViewAndCorrectAnswerView.smoke.js +166 -0
  193. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/layoutSection.js +360 -0
  194. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/numberLineSection.js +80 -0
  195. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/previewContentsForAllViews.smoke.js +111 -0
  196. package/cypress/e2e/ILC/Protractor/protractorPreviewContents.smoke.js +1 -1
  197. package/cypress/e2e/ILC/ReadingRuler/readingRulerEditTabBasicsSection.js +49 -1
  198. package/cypress/e2e/ILC/ShortTextResponseNew/editTabScoringSection.js +1 -1
  199. package/cypress/e2e/ILC/ShortTextResponseNew/headerSection.js +1 -7
  200. package/cypress/e2e/ILC/ShortTextResponseNew/studentViewSettings.js +1 -2
  201. package/cypress/e2e/ILC/SingleSelectionGridNew/studentViewSettings.js +1 -1
  202. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchExact.js +2 -2
  203. package/cypress/e2e/ILC/TextEntryMath/responseEvaluationMethodsAndCustomSettings.js +5 -5
  204. package/cypress/e2e/ILC/TextSelection/Scoring/allOrNothingAlternatePointsMoreThanCorrectPoints.js +0 -1
  205. package/cypress/e2e/ILC/TextSelection/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +0 -1
  206. package/cypress/e2e/ILC/TextSelection/Scoring/allOrNothingCorrectPointsMoreThanAlternatePoints.js +0 -1
  207. package/cypress/e2e/ILC/TextSelection/Scoring/basicScoringForAllTextSelectionTypes.smoke.js +0 -1
  208. package/cypress/e2e/ILC/TextSelection/additionalSettings.js +125 -0
  209. package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +0 -1
  210. package/cypress/e2e/ILC/TextSelection/checkAnswerFunctionalityForAllViews.smoke.js +2 -2
  211. package/cypress/e2e/ILC/TextSelection/editTabScoringSection.js +5 -4
  212. package/cypress/e2e/ILC/TextSelection/headerSection.js +73 -0
  213. package/cypress/e2e/ILC/TextSelection/previewContentsForAllViews.smoke.js +6 -7
  214. package/cypress/e2e/ILC/TextSelection/questionInstructionsAndQuestion.js +179 -0
  215. package/cypress/e2e/ILC/TextSelection/specifyCorrectAnswerSection.js +89 -0
  216. package/cypress/e2e/ILC/TextSelection/studentViewSettings.js +436 -0
  217. package/cypress/e2e/ILC/TextSelection/styleAndLayoutCustomizationAccordion.js +277 -0
  218. package/cypress/e2e/ILC/TextSelection/textSelectionModesInPreviewTab.js +222 -0
  219. package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyCorrectAnswerSection.js +260 -0
  220. package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyPossibleOptionsSection.js +380 -0
  221. package/cypress/e2e/ILC/ToolSettings/toolSettingsContent.js +5 -5
  222. package/cypress/e2e/ILC/ToolSettings/toolSettingsPreviewContents.smoke.js +3 -3
  223. package/cypress/e2e/ILC/VideoResponseNew/additionalSettingsBasic.js +77 -0
  224. package/cypress/e2e/ILC/VideoResponseNew/customizePlaybackControls.js +313 -0
  225. package/cypress/e2e/ILC/VideoResponseNew/editAndPreviewTabScoringSection.js +99 -0
  226. package/cypress/e2e/ILC/VideoResponseNew/editTabBasicSection.js +171 -0
  227. package/cypress/e2e/ILC/VideoResponseNew/gradingViewAndCorrectAnswerViewContents.smoke.js +179 -0
  228. package/cypress/e2e/ILC/VideoResponseNew/headerSection.js +79 -0
  229. package/cypress/e2e/ILC/VideoResponseNew/previewContentsForAllViews.smoke.js +201 -0
  230. package/cypress/e2e/ILC/VideoResponseNew/standardRecorderStyle.js +567 -0
  231. package/cypress/e2e/ILC/VideoResponseNew/studentViewSettings.js +192 -0
  232. package/cypress/fixtures/constants.js +1 -1
  233. package/cypress/fixtures/drawingToolbarOptionsAdditionalOptionsAndSpecialAndMathCharacters.js +1 -1
  234. package/cypress/fixtures/equationEditorCategoriesAndSymbols .js +20 -20
  235. package/cypress/fixtures/theme/ilc.json +22 -18
  236. package/cypress/pages/audioPlayerPage.js +669 -445
  237. package/cypress/pages/audioResponsePage.js +10 -80
  238. package/cypress/pages/brainingCampManipulativePage.js +1 -1
  239. package/cypress/pages/chartsBarPage.js +517 -0
  240. package/cypress/pages/chartsDotPlotPage.js +8 -0
  241. package/cypress/pages/chartsLinePage.js +42 -0
  242. package/cypress/pages/components/allowTeachersToDownloadStudentResponseComponent.js +58 -0
  243. package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +19 -26
  244. package/cypress/pages/components/autoScoredStudentViewSettings.js +7 -7
  245. package/cypress/pages/components/barAndLineChartComponent.js +123 -0
  246. package/cypress/pages/components/chartsCommonComponent.js +138 -0
  247. package/cypress/pages/components/commonComponents.js +1 -0
  248. package/cypress/pages/components/draggableOptionContainer.js +2 -1
  249. package/cypress/pages/components/equationEditorFlyout.js +3 -2
  250. package/cypress/pages/components/essayResponseCommonComponents.js +8 -2
  251. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +1 -0
  252. package/cypress/pages/components/imageCanvasComponent.js +5 -4
  253. package/cypress/pages/components/index.js +8 -0
  254. package/cypress/pages/components/layoutSectionComponent.js +1156 -0
  255. package/cypress/pages/components/limitNumberOfRetakeComponent.js +90 -0
  256. package/cypress/pages/components/numberLineCommonComponent.js +685 -0
  257. package/cypress/pages/components/optionsWrapperComponent.js +13 -2
  258. package/cypress/pages/components/playbackControlsBaseComponent.js +20 -13
  259. package/cypress/pages/components/questionInputFieldComponent.js +2 -1
  260. package/cypress/pages/components/questionInstructionsComponent.js +3 -19
  261. package/cypress/pages/components/resetPopupComponent.js +7 -3
  262. package/cypress/pages/components/scoringSectionBaseEditTab.js +6 -17
  263. package/cypress/pages/components/singleMultipleSelectionModeComponent.js +16 -0
  264. package/cypress/pages/components/styleAndLayoutCustomizationAccordionComponent.js +46 -0
  265. package/cypress/pages/components/toolSettingsComponent.js +6 -0
  266. package/cypress/pages/contentBlocksPage.js +19 -3
  267. package/cypress/pages/createItemPage.js +75 -8
  268. package/cypress/pages/dialogBoxBase.js +2 -2
  269. package/cypress/pages/dragAndDropIntoCategoriesPage.js +22 -24
  270. package/cypress/pages/drawingResponsePage.js +25 -4
  271. package/cypress/pages/feedbackScalePage.js +3 -0
  272. package/cypress/pages/fillInTheGapsOverImageDragAndDropPage.js +14 -0
  273. package/cypress/pages/fillInTheGapsOverImageDropdownPage.js +1 -1
  274. package/cypress/pages/graphingPage.js +19 -1
  275. package/cypress/pages/gridFillPage.js +47 -59
  276. package/cypress/pages/imageHighlightPage.js +364 -0
  277. package/cypress/pages/index.js +6 -1
  278. package/cypress/pages/itemPreviewSettingsPage.js +4 -0
  279. package/cypress/pages/listOrderingPage.js +561 -555
  280. package/cypress/pages/matchingPage.js +3 -2
  281. package/cypress/pages/multipleSelectionPage.js +23 -1
  282. package/cypress/pages/numberLineLabelPage.js +1093 -0
  283. package/cypress/pages/numberLinePage.js +696 -78
  284. package/cypress/pages/protractorPage.js +1 -1
  285. package/cypress/pages/readingRulerPage.js +1 -1
  286. package/cypress/pages/rulerPage.js +9 -5
  287. package/cypress/pages/textEntryMathPage.js +2 -2
  288. package/cypress/pages/textSelectionPage.js +461 -23
  289. package/cypress/pages/videoResponsePage.js +396 -83
  290. package/package.json +1 -1
  291. package/cypress/e2e/ILC/EssayResponse/essayResponseAdditionalSettings.js +0 -432
  292. package/cypress/e2e/ILC/EssayResponse/essayResponseAdditionalSettingsBasic.js +0 -134
@@ -1,5 +1,5 @@
1
1
  import utilities from "../support/helpers/utilities";
2
- import { createQuestionBasePage, questionInstructionsComponent, scoringSectionBaseEditTab, maximumRecorderLengthComponent, commonComponents, playbackControlsBaseComponent, autoScoredScoringPreviewTab, studentViewSettingsLabelComponent, additionalSettingsPanel, additionalSettingsAccessibilitySectionComponent } from "./components"
2
+ import { createQuestionBasePage, questionInstructionsComponent, scoringSectionBaseEditTab, maximumRecorderLengthComponent, commonComponents, playbackControlsBaseComponent, autoScoredScoringPreviewTab, studentViewSettingsLabelComponent, additionalSettingsPanel, additionalSettingsAccessibilitySectionComponent, limitNumberOfRetakeComponent, allowTeachersToDownloadStudentResponseComponent } from "./components"
3
3
  import { dialogBoxBase } from "./dialogBoxBase";
4
4
  const css = Cypress.env('css');
5
5
 
@@ -12,6 +12,8 @@ const selectors = {
12
12
  ...playbackControlsBaseComponent,
13
13
  ...studentViewSettingsLabelComponent,
14
14
  ...additionalSettingsPanel,
15
+ ...limitNumberOfRetakeComponent,
16
+ ...allowTeachersToDownloadStudentResponseComponent,
15
17
  recordedResponseHelpText: () => cy.get('[class*="preview-help-text"]'),
16
18
  playbackWaveform: () => cy.get('.audio-wave-form'),
17
19
  playbackWaveformTotalWidth: () => cy.get('.audio-wave-form wave wave canvas'),
@@ -104,15 +106,7 @@ const selectors = {
104
106
  barPreviewPauseRecordingButton: () => cy.get('.standard-recorder-pause-btn'),
105
107
  barPreviewResumeRecordingButton: () => cy.get('.standard-recorder-resume-btn'),
106
108
  barPreviewRetakeButton: () => cy.get('.standard-recorder-retake-btn'),
107
- showStudentsTheRetakeLimitsOnTooltipCheckbox: () => cy.get('[data-ngie-testid="show-students-the-retake-limits-on-tooltip-checkbox"] input'),
108
- showStudentsTheRetakeLimitsOnTooltipCheckboxLabel: () => cy.get('[data-ngie-testid="show-students-the-retake-limits-on-tooltip-checkbox"] .MuiFormControlLabel-label'),
109
- retakeLimitLabel: () => cy.get('.retake-limit-label'),
110
- retakeLimitInputField: () => cy.get('.retake-limit-wrapper input'),
111
- barPreviewPlaybackWrapper: () => cy.get('.audio-response-wrapper'),
112
-
113
- //Additional settings
114
- allowTeachersToDownloadStudentResponseLabel: () => cy.get('[data-ngie-testid="allow-teachers-to-download-student-response-checkbox"] [class*="label"]'),
115
- allowTeachersToDownloadStudentResponseCheckbox: () => cy.get('[data-ngie-testid="allow-teachers-to-download-student-response-checkbox"] input')
109
+ barPreviewPlaybackWrapper: () => cy.get('.audio-response-wrapper')
116
110
  }
117
111
 
118
112
  const steps = {
@@ -123,6 +117,9 @@ const steps = {
123
117
  ...maximumRecorderLengthComponent.steps,
124
118
  ...playbackControlsBaseComponent.steps,
125
119
  ...additionalSettingsPanel.steps,
120
+ ...limitNumberOfRetakeComponent.steps,
121
+ ...allowTeachersToDownloadStudentResponseComponent.steps,
122
+ ...commonComponents.steps,
126
123
  startRecordingStandardPreview: () => {
127
124
  audioResponsePage.standardPreviewStartRecordingButton()
128
125
  .click();
@@ -652,11 +649,6 @@ const steps = {
652
649
  .blur();
653
650
  },
654
651
 
655
- limitNumberOfRetakeCheckboxUncheckedState: () => {
656
- audioResponsePage.limitNumberOfRetakeCheckbox()
657
- .should('not.be.checked');
658
- },
659
-
660
652
  deselectAudioIndicatorsTimerButton: () => {
661
653
  audioResponsePage.audioIndicatorsTimerButton()
662
654
  .click()
@@ -730,37 +722,6 @@ const steps = {
730
722
  .should('have.class', 'ngie-toggle-button-selected');
731
723
  },
732
724
 
733
- verifyShowStudentsTheRetakeLimitsOnTooltipCheckboxUncheckedState: () => {
734
- audioResponsePage.showStudentsTheRetakeLimitsOnTooltipCheckbox()
735
- .should('not.be.checked');
736
- },
737
-
738
- checkLimitNumberOfRetakeCheckbox: () => {
739
- audioResponsePage.limitNumberOfRetakeCheckbox()
740
- .click()
741
- .should('be.checked');
742
- },
743
-
744
- /**
745
- * Verifies the value of the retake limit input field.
746
- * @param {string} value - The expected value of the retake limit input field.
747
- */
748
- verifyRetakeLimitInputFieldValue: (value) => {
749
- audioResponsePage.retakeLimitInputField()
750
- .should('have.attr', 'value', value)
751
- },
752
-
753
- /**
754
- * Sets the retake limit value.
755
- * @param {string} value - The value to set as the retake limit.
756
- */
757
- setRetakeLimit: (value) => {
758
- audioResponsePage.retakeLimitInputField()
759
- .clear()
760
- .type(value)
761
- .should('have.attr', 'value', value)
762
- },
763
-
764
725
  /**
765
726
  * Verifies the recorded time displayed in the bar preview player on the audio response page.
766
727
  * @param {string} recordingTime - The current recorded time in the format 'mm:ss'.
@@ -824,40 +785,6 @@ const steps = {
824
785
 
825
786
  verifyResponseIsRecordedHelpText: () => {
826
787
  utilities.verifyInnerText(audioResponsePage.recordedResponseHelpText(), 'Your response has been recorded.');
827
- },
828
-
829
- checkShowStudentsTheRetakeLimitsOnTooltipCheckbox: () => {
830
- audioResponsePage.showStudentsTheRetakeLimitsOnTooltipCheckbox()
831
- .click()
832
- .should('be.checked');
833
- },
834
-
835
- uncheckShowStudentsTheRetakeLimitsOnTooltipCheckbox: () => {
836
- audioResponsePage.showStudentsTheRetakeLimitsOnTooltipCheckbox()
837
- .click()
838
- .should('not.be.checked');
839
- },
840
-
841
- clearRetakeLimitInputField: () => {
842
- audioResponsePage.retakeLimitInputField()
843
- .clear();
844
- },
845
-
846
- verifyAllowTeachersToDownloadStudentResponseCheckboxChecked: () => {
847
- audioResponsePage.allowTeachersToDownloadStudentResponseCheckbox()
848
- .should('be.checked');
849
- },
850
-
851
- uncheckAllowTeachersToDownloadStudentResponseCheckbox: () => {
852
- audioResponsePage.allowTeachersToDownloadStudentResponseCheckbox()
853
- .click()
854
- .should('not.be.checked');
855
- },
856
-
857
- checkAllowTeachersToDownloadStudentResponseCheckbox: () => {
858
- audioResponsePage.allowTeachersToDownloadStudentResponseCheckbox()
859
- .click()
860
- .should('be.checked');
861
788
  }
862
789
  }
863
790
 
@@ -871,6 +798,9 @@ const tests = {
871
798
  ...studentViewSettingsLabelComponent.tests,
872
799
  ...additionalSettingsPanel.tests,
873
800
  ...additionalSettingsAccessibilitySectionComponent.tests,
801
+ ...limitNumberOfRetakeComponent.tests,
802
+ ...allowTeachersToDownloadStudentResponseComponent.tests,
803
+ ...commonComponents.tests,
874
804
  verifyRetakePopupCSSAndA11y: () => {
875
805
  it('CSS of \'Retake\' popup', { tags: 'css' }, () => {
876
806
  utilities.verifyCSS(dialogBoxBase.dialogBox(), {
@@ -112,7 +112,7 @@ const tests = {
112
112
  ...scoringSectionBaseEditTab.tests,
113
113
  ...additionalSettingsPanel.tests,
114
114
  ...additionalSettingsAccessibilitySectionComponent.tests,
115
- ...toolSettingsComponent.steps,
115
+ ...toolSettingsComponent.tests,
116
116
  }
117
117
 
118
118
  export const brainingCampManipulativePage = {
@@ -0,0 +1,517 @@
1
+ import utilities from "../support/helpers/utilities"
2
+ import { barAndLineChartComponent, chartsCommonComponent, createQuestionBasePage, questionInstructionsComponent, resetPopupComponent, scoringSectionBaseEditTab, commonComponents, autoScoredStudentViewSettings, autoScoredScoringPreviewTab } from "./components";
3
+ import { dialogBoxBase } from "./dialogBoxBase";
4
+ const css = Cypress.env('css');
5
+
6
+ const selectors = {
7
+ ...questionInstructionsComponent,
8
+ ...barAndLineChartComponent,
9
+ ...chartsCommonComponent,
10
+ ...commonComponents,
11
+ ...dialogBoxBase,
12
+ barDragHandle: () => cy.get('.bar-drag-handle'),
13
+ bar: () => cy.get('.ngie-chart-point'),
14
+ selectChartTypeMaxYLabel: () => cy.get('[class*="ChartsPreviewstyles__CustomInputFieldLabel"]'),
15
+ selectChartTypeMaxYInputField: () => cy.get('[class*="ChartsPreviewstyles__CustomInputFieldWrapper"] input'),
16
+ selectChartTypeMaxXLabel: () => cy.get('[class*="ChartsPreviewstyles__CustomInputFieldLabel"]'),
17
+ selectChartTypeMaxXInputField: () => cy.get('[class*="ChartsPreviewstyles__CustomInputFieldWrapper"] input'),
18
+ selectChartTypeBarDragHandle: () => cy.get('[class*="Chartsstyles__ChartsQuestionWrapper"] .bar-drag-handle'),
19
+ selectChartTypeBar: () => cy.get('[class*="Chartsstyles__ChartsQuestionWrapper"] .ngie-chart-point'),
20
+ barLockIcon: () => cy.get('[class*="ChartGridstyle__BarLockIconWrapper"]'),
21
+ selectChartTypeBarLabel: () => cy.get('[class*="Chartsstyles__ChartsQuestionWrapper"] [class*="ChartGridstyle__NameDiv-"]'),
22
+ selectChartTypeMaxBarCountInputField: () => cy.get('[id="max bar count"]'),
23
+ //specify correct answer section
24
+ specifyCorrectAnswerBarDragHandle: () => cy.get('.ngie-accordion .bar-drag-handle'),
25
+ specifyCorrectAnswerBar: () => cy.get('.ngie-accordion .ngie-chart-point'),
26
+
27
+ //TODO - Update selector after https://redmine.zeuslearning.com/issues/570603 is resolved
28
+ //Preview tab
29
+ previewTabBarDragHandle: () => cy.get('[class*="ChartsPreviewstyles__PreviewWrapper"]:visible .bar-drag-handle'),
30
+ previewTabBar: () => cy.get('[class*="ChartsPreviewstyles__PreviewWrapper"]:visible .ngie-chart-point'),
31
+ previewTabBarLabel: () => cy.get('[class*="ChartsPreviewstyles__PreviewWrapper"]:visible [class*="ChartGridstyle__NameDiv-"]'),
32
+ previewTabBarTooltipColorBlock: () => cy.get('[class*="ChartsPreviewstyles__PreviewWrapper"]:visible [class*="ChartTooltipstyles__ColorBox"]:visible')
33
+ }
34
+
35
+ const steps = {
36
+ ...createQuestionBasePage.steps,
37
+ ...questionInstructionsComponent.steps,
38
+ ...scoringSectionBaseEditTab.steps,
39
+ ...barAndLineChartComponent.steps,
40
+ ...autoScoredScoringPreviewTab.steps,
41
+ ...chartsCommonComponent.steps,
42
+ ...resetPopupComponent.steps,
43
+ ...autoScoredStudentViewSettings.steps,
44
+ /**
45
+ * @description set the bar height/value in the select chart type section chart
46
+ * @param {Object} barProperties - The properties and changes to be done on the bar
47
+ * @param {number} barProperties.barIndex index of the bar
48
+ * @param {number} barProperties.value value by which the bar height is to be increased as per Y axis
49
+ * @param {number} barProperties.range Maximum value of the axis on which bar value is determined
50
+ */
51
+ setBarValueInSelectChartTypeSection: ({ barIndex, value, range }) => {
52
+ utilities.getNthElement(chartsBarPage.selectChartTypeBar(), barIndex)
53
+ .invoke('attr', 'height')
54
+ .then((barValue) => {
55
+ let updatedBarValue = parseFloat(value /= range)
56
+ let originalBarValue = parseFloat(barValue)
57
+ let unitChange = parseFloat(1 / range)
58
+ if (originalBarValue < updatedBarValue) {
59
+ for (let i = originalBarValue; i < updatedBarValue; i = parseFloat((i + unitChange).toFixed(2))) {
60
+ utilities.getNthElement(chartsBarPage.selectChartTypeBarDragHandle(), barIndex)
61
+ .focus()
62
+ .type('{upArrow}');
63
+ }
64
+ } else if (originalBarValue > updatedBarValue) {
65
+ for (let i = originalBarValue; i > updatedBarValue; i = parseFloat((i - unitChange).toFixed(2))) {
66
+ utilities.getNthElement(chartsBarPage.selectChartTypeBarDragHandle(), barIndex)
67
+ .focus()
68
+ .type('{downArrow}');
69
+ }
70
+ }
71
+ utilities.getNthElement(chartsBarPage.selectChartTypeBar(), barIndex)
72
+ .should('have.attr', 'height', updatedBarValue);
73
+ });
74
+ },
75
+
76
+ /**
77
+ * @description increase the bar height/value in the specify correct answer section chart
78
+ * @param {Object} barProperties - The properties and changes to be done on the bar
79
+ * @param {number} barProperties.barIndex index of the bar
80
+ * @param {number} barProperties.value value by which the bar height is to be increased as per Y axis
81
+ * @param {number} barProperties.range Maximum value of the axis on which bar value is determined
82
+ */
83
+ setBarValueInSpecifyCorrectAnswerSection: ({ barIndex, value, range }) => {
84
+ utilities.getNthElement(chartsBarPage.specifyCorrectAnswerBar(), barIndex)
85
+ .invoke('attr', 'height')
86
+ .then((barValue) => {
87
+ let updatedBarValue = parseFloat(value /= range)
88
+ let originalBarValue = parseFloat(barValue)
89
+ let unitChange = parseFloat(1 / range)
90
+ if (originalBarValue < updatedBarValue) {
91
+ for (let i = originalBarValue; i < updatedBarValue; i = parseFloat((i + unitChange).toFixed(2))) {
92
+ utilities.getNthElement(chartsBarPage.specifyCorrectAnswerBarDragHandle(), barIndex)
93
+ .focus()
94
+ .type('{upArrow}');
95
+ }
96
+ } else if (originalBarValue > updatedBarValue) {
97
+ for (let i = originalBarValue; i > updatedBarValue; i = parseFloat((i - unitChange).toFixed(2))) {
98
+ utilities.getNthElement(chartsBarPage.specifyCorrectAnswerBarDragHandle(), barIndex)
99
+ .focus()
100
+ .type('{downArrow}');
101
+ }
102
+ }
103
+ utilities.getNthElement(chartsBarPage.specifyCorrectAnswerBar(), barIndex)
104
+ .should('have.attr', 'height', updatedBarValue);
105
+ });
106
+ },
107
+
108
+ /**
109
+ * @description Lock the bar in select chart type section chart
110
+ * @param {number} barIndex Index of the bar to be locked
111
+ */
112
+ lockBar: (barIndex) => {
113
+ utilities.triggerMouseover(utilities.getNthElement(chartsBarPage.selectChartTypeBar(), barIndex))
114
+ chartsBarPage.barAndPointTooltipLockUnlockButton()
115
+ .click();
116
+ chartsBarPage.barAndPointTooltipLockUnlockButton()
117
+ .should('have.attr', 'aria-label', 'locked bar');
118
+ utilities.triggerMouseout(utilities.getNthElement(chartsBarPage.selectChartTypeBar(), barIndex));
119
+ utilities.getNthElement(chartsBarPage.selectChartTypeBar(), barIndex)
120
+ .within(() => {
121
+ utilities.verifyElementVisibilityState(chartsBarPage.barLockIcon(), 'visible');
122
+ });
123
+ },
124
+
125
+ /**
126
+ * @description Edit bar label in select chart type section chart
127
+ * @param {number} barIndex Index of the bar to be edited
128
+ * @param {string} barLabel Label to be given to the bar
129
+ */
130
+ editBarLabelInSelectChartTypeSection: (barIndex, barLabel) => {
131
+ utilities.triggerMouseover(utilities.getNthElement(chartsBarPage.selectChartTypeBar(), barIndex))
132
+ chartsBarPage.barAndPointTooltipLabelButton()
133
+ .click();
134
+ chartsBarPage.steps.addInputToChartLabelPopupInputField(barLabel);
135
+ chartsBarPage.steps.saveGraphLabelPopup();
136
+ utilities.triggerMouseout(utilities.getNthElement(chartsBarPage.selectChartTypeBar(), barIndex));
137
+ utilities.verifyInnerText(utilities.getNthElement(chartsBarPage.selectChartTypeBarLabel(), barIndex), barLabel);
138
+ },
139
+
140
+ /**
141
+ * @description Set the Max Y value in its input field
142
+ * @param {number} value Max Y value to be set
143
+ */
144
+ setMaxYValue: (value) => {
145
+ chartsBarPage.selectChartTypeMaxYInputField()
146
+ .clear()
147
+ .type(value)
148
+ .should('have.value', value)
149
+ .blur();
150
+ },
151
+
152
+ /**
153
+ * @description Set the Max bar count value in its input field
154
+ * @param {number} value Max bar value to be set
155
+ */
156
+ setMaxBarCountValue: (value) => {
157
+ chartsBarPage.selectChartTypeMaxBarCountInputField()
158
+ .clear()
159
+ .type(value)
160
+ .should('have.value', value)
161
+ .blur();
162
+ },
163
+
164
+ //Preview tab
165
+ /**
166
+ * Verify the bar height in preview tab
167
+ * @param {Object} barProperties - The properties of the bar
168
+ * @param {number} barProperties.barIndex index of the bar
169
+ * @param {number} barProperties.barValue Height of the bar as per the axis
170
+ * @param {number} barProperties.range Maximum value of the axis on which bar value is determined
171
+ */
172
+ verifyBarHeightInPreviewTab: ({ barIndex, barValue, range }) => {
173
+ let barHeight = parseFloat(barValue /= range)
174
+ utilities.getNthElement(chartsBarPage.previewTabBar(), barIndex)
175
+ .should('have.attr', 'height', barHeight);
176
+ },
177
+
178
+ /**
179
+ * Verify the bar is locked in preview tab
180
+ * @param {number} barIndex index of the bar
181
+ */
182
+ verifyBarIsLockedInPreviewTab: (barIndex) => {
183
+ utilities.getNthElement(chartsBarPage.previewTabBar(), barIndex)
184
+ .within(() => {
185
+ utilities.verifyElementVisibilityState(chartsBarPage.barLockIcon(), 'visible');
186
+ chartsBarPage.steps.verifyDragHandleNotVisible();
187
+ });
188
+ },
189
+
190
+ /**
191
+ * Verify locked bar is uneditable in preview tab
192
+ * @param {number} barIndex index of the bar
193
+ */
194
+ verifyLockedBarIsUneditableInPreviewTab: (barIndex) => {
195
+ utilities.getNthElement(chartsBarPage.previewTabBar(), barIndex)
196
+ .invoke('attr', 'height')
197
+ .then((barValue) => {
198
+ let originalBarValue = parseFloat(barValue)
199
+ utilities.getNthElement(chartsBarPage.selectChartTypeBarDragHandle(), barIndex)
200
+ .focus()
201
+ .type('{upArrow}{upArrow}{upArrow}{downArrow}{downArrow}{downArrow}', { force: true });
202
+ utilities.getNthElement(chartsBarPage.specifyCorrectAnswerBar(), barIndex)
203
+ .should('have.attr', 'height', originalBarValue);
204
+ });
205
+ },
206
+
207
+ verifyDragHandleNotVisible: () => {
208
+ utilities.verifyElementVisibilityState(chartsBarPage.barDragHandle().find('svg'), 'notExist');
209
+ },
210
+
211
+ /**
212
+ * @description increase the bar height/value in the preview tab chart
213
+ * @param {Object} barProperties - The properties and changes to be done on the bar
214
+ * @param {number} barProperties.barIndex index of the bar
215
+ * @param {number} barProperties.value value by which the bar height is to be increased as per Y axis
216
+ * @param {number} barProperties.range Maximum value of the axis on which bar value is determined
217
+ */
218
+ setBarValueInPreviewTab: ({ barIndex, value, range }) => {
219
+ utilities.getNthElement(chartsBarPage.previewTabBar(), barIndex)
220
+ .invoke('attr', 'height')
221
+ .then((barValue) => {
222
+ let updatedBarValue = parseFloat(value /= range)
223
+ let originalBarValue = parseFloat(barValue)
224
+ let unitChange = parseFloat(1 / range)
225
+ if (originalBarValue < updatedBarValue) {
226
+ for (let i = originalBarValue; i < updatedBarValue; i = parseFloat((i + unitChange).toFixed(2))) {
227
+ utilities.getNthElement(chartsBarPage.previewTabBarDragHandle(), barIndex)
228
+ .focus()
229
+ .type('{upArrow}');
230
+ }
231
+ } else if (originalBarValue > updatedBarValue) {
232
+ for (let i = originalBarValue; i > updatedBarValue; i = parseFloat((i - unitChange).toFixed(2))) {
233
+ utilities.getNthElement(chartsBarPage.previewTabBarDragHandle(), barIndex)
234
+ .focus()
235
+ .type('{downArrow}');
236
+ }
237
+ }
238
+ utilities.getNthElement(chartsBarPage.previewTabBar(), barIndex)
239
+ .should('have.attr', 'height', updatedBarValue);
240
+ });
241
+ },
242
+
243
+ keyBoardUpBarInPreviewTab: (barIndex) => {
244
+ utilities.getNthElement(chartsBarPage.previewTabBarDragHandle(), barIndex)
245
+ .focus()
246
+ .type('{upArrow}');
247
+ },
248
+
249
+ keyBoardDownBarInPreviewTab: (barIndex) => {
250
+ utilities.getNthElement(chartsBarPage.previewTabBarDragHandle(), barIndex)
251
+ .focus()
252
+ .type('{downArrow}');
253
+ },
254
+
255
+ /**
256
+ * @description Edit bar label in preview tab chart
257
+ * @param {number} barIndex Index of the bar to be edited
258
+ * @param {string} barLabel Label to be given to the bar
259
+ */
260
+ editBarLabelInPreviewTab: (barIndex, barLabel) => {
261
+ utilities.triggerMouseover(utilities.getNthElement(chartsBarPage.previewTabBar(), barIndex))
262
+ chartsBarPage.barAndPointTooltipLabelButton()
263
+ .click();
264
+ chartsBarPage.steps.addInputToChartLabelPopupInputField(barLabel);
265
+ chartsBarPage.steps.saveGraphLabelPopup();
266
+ utilities.triggerMouseout(utilities.getNthElement(chartsBarPage.previewTabBar(), barIndex));
267
+ utilities.verifyInnerText(utilities.getNthElement(chartsBarPage.previewTabBarLabel(), barIndex), barLabel);
268
+ },
269
+
270
+ /**
271
+ * @description Delete bar in preview tab
272
+ * @param {number} barIndex Index of the bar to be deleted
273
+ */
274
+ deleteBarInPreviewTab: (barIndex) => {
275
+ utilities.triggerMouseover(utilities.getNthElement(chartsBarPage.previewTabBar(), barIndex))
276
+ chartsBarPage.barAndPointTooltipDeleteButton()
277
+ .click();
278
+ },
279
+
280
+ /**
281
+ * Verify the bar height in correct answer section tab
282
+ * @param {Object} barProperties - The properties of the bar
283
+ * @param {number} barProperties.barIndex index of the bar
284
+ * @param {number} barProperties.barValue Height of the bar as per the axis
285
+ * @param {number} barProperties.range Maximum value of the axis on which bar value is determined
286
+ */
287
+ verifyBarHeightInCorrectAnswerSection: ({ barIndex, barValue, range }) => {
288
+ let barHeight = parseFloat(barValue /= range)
289
+ chartsBarPage.previewTabChartWrapper()
290
+ .eq(1)
291
+ .within(() => {
292
+ utilities.getNthElement(chartsBarPage.bar(), barIndex)
293
+ .should('have.attr', 'height', barHeight);
294
+ });
295
+ },
296
+
297
+ /**
298
+ * Verify the bar is locked in correct answer section
299
+ * @param {number} barIndex index of the bar
300
+ */
301
+ verifyBarIsLockedInCorrectAnswerSection: (barIndex) => {
302
+ chartsBarPage.previewTabChartWrapper()
303
+ .eq(1)
304
+ .within(() => {
305
+ utilities.getNthElement(chartsBarPage.bar(), barIndex)
306
+ .within(() => {
307
+ utilities.verifyElementVisibilityState(chartsBarPage.barLockIcon(), 'visible');
308
+ utilities.verifyElementVisibilityState(chartsBarPage.barDragHandle().find('svg'), 'notExist');
309
+ });
310
+ });
311
+ },
312
+
313
+ /**
314
+ * Verify the correct/incorrect icon of bar in preview tab
315
+ * @param {number} barIndex index of the bar
316
+ * @param {string} icon correct or incorrect icon
317
+ * @example verifyBarCorrectIncorrectIconInPreviewTab(0, 'correct')
318
+ */
319
+ verifyBarCorrectIncorrectIconInPreviewTab: (barIndex, icon) => {
320
+ utilities.getNthElement(chartsBarPage.previewTabBar(), barIndex)
321
+ .within(() => {
322
+ chartsBarPage.tickIconWrapper()
323
+ .should('be.visible')
324
+ .and('have.class', `${icon}-option-icon`);
325
+ });
326
+ },
327
+
328
+ /**
329
+ * Verify the correct/incorrect icon not exists for bar in preview tab
330
+ * @param {number} barIndex index of the bar
331
+ */
332
+ verifyBarCorrectIncorrectIconNotExistsInPreviewTab: (barIndex) => {
333
+ utilities.getNthElement(chartsBarPage.previewTabBar(), barIndex)
334
+ .within(() => {
335
+ utilities.verifyElementVisibilityState(chartsBarPage.tickIconWrapper(), 'notExist');
336
+ });
337
+ },
338
+
339
+ /**
340
+ * Verify the correct/incorrect icon of bar in correct answer section
341
+ * @param {number} barIndex index of the bar
342
+ * @example verifyBarCorrectIconInCorrectAnswerSection(0)
343
+ */
344
+ verifyBarCorrectIconInCorrectAnswerSection: (barIndex) => {
345
+ chartsBarPage.previewTabChartWrapper()
346
+ .eq(1)
347
+ .within(() => {
348
+ utilities.getNthElement(chartsBarPage.bar(), barIndex)
349
+ .within(() => {
350
+ chartsBarPage.tickIconWrapper()
351
+ .should('be.visible')
352
+ .and('have.class', 'correct-option-icon');
353
+ });
354
+ });
355
+ },
356
+
357
+ /**
358
+ * Verify the correct/incorrect icon not exists for bar in correct answer section
359
+ * @param {number} barIndex index of the bar
360
+ */
361
+ verifyBarCorrectIncorrectIconNotExistsInCorrectAnswerSection: (barIndex) => {
362
+ chartsBarPage.previewTabChartWrapper()
363
+ .eq(1)
364
+ .within(() => {
365
+ utilities.getNthElement(chartsBarPage.bar(), barIndex)
366
+ .within(() => {
367
+ utilities.verifyElementVisibilityState(chartsBarPage.tickIconWrapper(), 'notExist');
368
+ });
369
+ });
370
+ },
371
+
372
+ /**
373
+ * Verify the bar is locked in correct answer section
374
+ * @param {number} barIndex index of the bar
375
+ */
376
+ verifyBarIsLockedInCorrectAnswerSection: (barIndex) => {
377
+ chartsBarPage.previewTabChartWrapper()
378
+ .eq(1)
379
+ .within(() => {
380
+ utilities.getNthElement(chartsBarPage.bar(), barIndex)
381
+ .within(() => {
382
+ utilities.verifyElementVisibilityState(chartsBarPage.barLockIcon(), 'visible');
383
+ utilities.verifyElementVisibilityState(chartsBarPage.barDragHandle().find('svg'), 'notExist');
384
+ });
385
+ });
386
+ },
387
+
388
+ /**
389
+ * @description Verify chart range in correct answer section
390
+ * @param {number} maximumValue maximum value of range
391
+ */
392
+ verifyChartRangeInCorrectAnswerSection: (maximumValue) => {
393
+ chartsBarPage.previewTabChartWrapper()
394
+ .eq(1)
395
+ .within(() => {
396
+ utilities.verifyTextContent(utilities.getNthElement(chartsBarPage.yAxisCoordinate(), 0), maximumValue);
397
+ });
398
+ },
399
+
400
+ /**
401
+ * @description Verify graph title in correct answer section
402
+ * @param {string} graphTitle Title of graph
403
+ */
404
+ verifyGraphTitleInCorrectAnswerSection: (graphTitle) => {
405
+ chartsBarPage.previewTabChartWrapper()
406
+ .eq(1)
407
+ .within(() => {
408
+ utilities.verifyTextContent(utilities.getNthElement(chartsBarPage.graphTitle(), 0), graphTitle);
409
+ });
410
+ },
411
+
412
+ /**
413
+ * @description Verify Y axis label in correct answer section
414
+ * @param {string} yAxisLabel
415
+ */
416
+ verifyYAxisLabelInCorrectAnswerSection: (yAxisLabel) => {
417
+ chartsBarPage.previewTabChartWrapper()
418
+ .eq(1)
419
+ .within(() => {
420
+ utilities.verifyTextContent(utilities.getNthElement(chartsBarPage.yAxisLabel(), 0), yAxisLabel);
421
+ });
422
+ },
423
+
424
+ /**
425
+ * @description Verify X axis label in correct answer section
426
+ * @param {string} yAxisLabel
427
+ */
428
+ verifyXAxisLabelInCorrectAnswerSection: (XAxisLabel) => {
429
+ chartsBarPage.previewTabChartWrapper()
430
+ .eq(1)
431
+ .within(() => {
432
+ utilities.verifyTextContent(utilities.getNthElement(chartsBarPage.xAxisLabel(), 0), XAxisLabel);
433
+ });
434
+ },
435
+
436
+
437
+ /**
438
+ * @description verify bar in correct answer section
439
+ * @param {Object} barProperties - The properties and changes to be done on the bar
440
+ * @param {number} barProperties.barIndex index of the bar
441
+ * @param {number} barProperties.barValue value of th bar as per Y axis
442
+ * @param {number} barProperties.range Maximum value of the axis on which bar value is determined
443
+ */
444
+ verifyBarInCorrectAnswerSection: ({ barIndex, barValue, range }) => {
445
+ chartsBarPage.steps.verifyBarHeightInCorrectAnswerSection({ barIndex: barIndex, barValue: barValue, range: range });
446
+ chartsBarPage.steps.verifyBarCorrectIconInCorrectAnswerSection(barIndex);
447
+ },
448
+
449
+ /**
450
+ * @description verify locked bar in correct answer section
451
+ * @param {Object} barProperties - The properties and changes to be done on the bar
452
+ * @param {number} barProperties.barIndex index of the bar
453
+ * @param {number} barProperties.barValue value of th bar as per Y axis
454
+ * @param {number} barProperties.range Maximum value of the axis on which bar value is determined
455
+ */
456
+ verifyLockedBarInCorrectAnswerSection: ({ barIndex, barValue, range }) => {
457
+ chartsBarPage.steps.verifyBarHeightInCorrectAnswerSection({ barIndex: barIndex, barValue: barValue, range: range });
458
+ chartsBarPage.steps.verifyBarIsLockedInCorrectAnswerSection(barIndex);
459
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconNotExistsInCorrectAnswerSection(barIndex);
460
+ },
461
+ }
462
+
463
+ const tests = {
464
+ ...autoScoredScoringPreviewTab.tests,
465
+ ...resetPopupComponent.tests,
466
+
467
+ /**
468
+ * Verify bar tooltip contents with css and a11y in preview tab
469
+ * @param {number} barIndex index of the bar
470
+ * @param {string} barBackground rgb value of the bar background
471
+ * @param {string} barLabel label of the bar
472
+ */
473
+ verifyBarTooltipContentsCSSAndA11yInPreviewTab: (barIndex, barBackground, barLabel) => {
474
+ it('When user hovers over the bar, then bar tooltip should be displayed', () => {
475
+ utilities.triggerMouseover(utilities.getNthElement(chartsBarPage.previewTabBar(), barIndex));
476
+ utilities.verifyElementVisibilityState(chartsBarPage.barAndPointTooltipWrapper(), 'visible');
477
+ });
478
+
479
+ it('The bar tooltip should contain, bar background color block, bar label button, and delete button', () => {
480
+ utilities.verifyCSS(chartsBarPage.previewTabBarTooltipColorBlock(), {
481
+ 'background-color': barBackground
482
+ });
483
+ utilities.verifyInnerText(barAndLineChartComponent.barAndPointTooltipLabelButton(), barLabel);
484
+ utilities.verifyElementVisibilityState(barAndLineChartComponent.barAndPointTooltipDeleteButton(), 'visible');
485
+ });
486
+
487
+ it('When user hovers on the delete button, then \'Delete bar\' tooltip should be displayed', () => {
488
+ chartsBarPage.barAndPointTooltipDeleteButton()
489
+ .verifyTooltip('Delete bar');
490
+ });
491
+
492
+ it('CSS of bar tooltip', { tags: 'css' }, () => {
493
+ utilities.verifyCSS(barAndLineChartComponent.barAndPointTooltipLabelButton(), {
494
+ 'color': css.color.activeButtons,
495
+ 'font-size': css.fontSize.default,
496
+ 'font-weight': css.fontWeight.bold
497
+ });
498
+ barAndLineChartComponent.barAndPointTooltipDeleteButton()
499
+ .verifyPseudoClassBeforeProperty('color', css.color.deleteIcon);
500
+ });
501
+
502
+ it('Accessibility of Reset dialog box', { tags: 'a11y' }, () => {
503
+ cy.checkAccessibility(chartsBarPage.barAndPointTooltipWrapper());
504
+ });
505
+
506
+ it('When user hovers away from the bar, then bar tooltip should be not be displayed', () => {
507
+ utilities.triggerMouseout(utilities.getNthElement(chartsBarPage.previewTabBar(), barIndex));
508
+ utilities.verifyElementVisibilityState(chartsBarPage.barAndPointTooltipWrapper(), 'notExist');
509
+ });
510
+ }
511
+ }
512
+
513
+ export const chartsBarPage = {
514
+ ...selectors,
515
+ steps,
516
+ tests
517
+ }
@@ -0,0 +1,8 @@
1
+ const selectors = {
2
+ minInputField: () => cy.get('input[aria-label="Min"]'),
3
+ maxInputField: () => cy.get('input[aria-label="Max"]')
4
+ }
5
+
6
+ export const chartsDotPlotPage = {
7
+ ...selectors
8
+ }