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
@@ -0,0 +1,620 @@
1
+ import { audioPlayerPage } from "../../../pages";
2
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
3
+ import utilities from "../../../support/helpers/utilities";
4
+ const css = Cypress.env('css');
5
+
6
+ describe('Bar audio player style: Preview tab functionality', () => {
7
+ before(() => {
8
+ cy.loginAs('admin');
9
+ });
10
+
11
+ describe('Bar playback preview : Play, pause and seek', () => {
12
+ let actualAudioSeekedInPercent = 50
13
+ abortEarlySetup();
14
+ before(() => {
15
+ audioPlayerPage.steps.navigateToCreateResource('audio player');
16
+ audioPlayerPage.steps.uploadFile('uploads/sample.mp3');
17
+ audioPlayerPage.steps.switchToPreviewTab();
18
+ });
19
+
20
+ it('When the user switches to preview tab, then the bar playback player preview with \'Backward\', \'Play\', \'Forward\', \'Volume control\', \'Elapsed time\', \'Progress bar\', \'Total time\', \'Playback speed\' and \'Add pin\' buttons should be displayed', () => {
21
+ utilities.verifyElementVisibilityState(audioPlayerPage.standardPreviewPlayerWrapper(), 'notExist');
22
+ utilities.verifyElementVisibilityState(audioPlayerPage.audioPlayerToolbar(), 'visible');
23
+ utilities.verifyElementVisibilityState(audioPlayerPage.backwardButton(), 'visible');
24
+ utilities.verifyElementVisibilityState(audioPlayerPage.playbackPlayButton(), 'visible');
25
+ utilities.verifyElementVisibilityState(audioPlayerPage.forwardButton(), 'visible');
26
+ utilities.verifyElementVisibilityState(audioPlayerPage.volumeControlButton(), 'visible');
27
+ utilities.verifyElementVisibilityState(audioPlayerPage.playbackElapsedTime(), 'visible');
28
+ utilities.verifyInnerText(audioPlayerPage.playbackElapsedTime(), '00:00');
29
+ utilities.verifyElementVisibilityState(audioPlayerPage.progressBar(), 'visible');
30
+ utilities.verifyElementVisibilityState(audioPlayerPage.playbackTotalTime(), 'visible');
31
+ utilities.verifyInnerText(audioPlayerPage.playbackTotalTime(), '00:00');
32
+ utilities.verifyElementVisibilityState(audioPlayerPage.playbackSpeedButton(), 'visible');
33
+ utilities.verifyElementVisibilityState(audioPlayerPage.addPinButton(), 'visible');
34
+ });
35
+
36
+ it('Accessibility of bar playback player in default state', { tags: 'a11y' }, () => {
37
+ cy.checkAccessibility(audioPlayerPage.playbackPlayButton().parents('.audio-resource-preview-wrapper'));
38
+ });
39
+
40
+ it('When the user hovers over the \'Play\' button, a tooltip \'Play\' should be displayed and on moving away the focus, the tooltip should disappear', () => {
41
+ audioPlayerPage.playbackPlayButton()
42
+ .verifyTooltip('Play');
43
+ });
44
+
45
+ it('When the user clicks on \'Play\' button, then the audio file should load and the user should be able to play the audio. Timer should display the amount of audio that has been played and the total audio length in (mm:ss) format.', () => {
46
+ audioPlayerPage.steps.startPlayback();
47
+ audioPlayerPage.steps.waitForPlaybackToBegin();
48
+ audioPlayerPage.steps.verifyAudioPlaybackTimer('00:03', '00:45');
49
+ });
50
+
51
+ it('When the user hovers over the \'Pause\' button, a tooltip \'Pause\' should be displayed and on moving away the focus, the tooltip should disappear', () => {
52
+ audioPlayerPage.playbackPauseButton()
53
+ .verifyTooltip('Pause');
54
+ });
55
+
56
+ it('CSS of \'Preview\' section if playback is initiated', { tags: 'css' }, () => {
57
+ utilities.verifyCSS(audioPlayerPage.playbackPauseButton().find('#pause'), {
58
+ 'stroke': css.color.secondaryBtnActive,
59
+ });
60
+ utilities.verifyCSS(audioPlayerPage.playbackElapsedTime(), {
61
+ 'color': css.color.playbackTime,
62
+ 'font-size': css.fontSize.small,
63
+ 'font-weight': css.fontWeight.bold
64
+ });
65
+ utilities.verifyCSS(audioPlayerPage.playbackTotalTime(), {
66
+ 'color': css.color.playbackTime,
67
+ 'font-size': css.fontSize.small,
68
+ 'font-weight': css.fontWeight.bold
69
+ });
70
+ utilities.verifyCSS(audioPlayerPage.progressBar().find('.MuiSlider-rail'), {
71
+ 'background-color': css.color.progressBarRemainingFill
72
+ });
73
+ utilities.verifyCSS(audioPlayerPage.progressBar().find('.MuiSlider-track'), {
74
+ 'background-color': css.color.progressBarElapsedFill
75
+ });
76
+ });
77
+
78
+ it('Accessibility of \'Preview\' section if playback is initiated', { tags: 'a11y' }, () => {
79
+ cy.checkAccessibility(audioPlayerPage.playbackPauseButton().parents('.audio-resource-preview-wrapper'));
80
+ });
81
+
82
+ it('When the audio player is in playback state and the user clicks on \'Pause\' button, then playback should get paused. Progress bar and timer should not update further and the \'Pause\' button should get replaced with \'Play\' button', () => {
83
+ audioPlayerPage.steps.resetQuestionPreview();
84
+ audioPlayerPage.steps.startPlayback();
85
+ audioPlayerPage.steps.waitForPlaybackToBegin();
86
+ audioPlayerPage.steps.verifyAudioPlaybackTimer('00:10', '00:45');
87
+ audioPlayerPage.steps.pauseAndVerifyProgressBarSliderPosition();
88
+ audioPlayerPage.steps.verifyAudioPlaybackTimer('00:10', '00:45');
89
+ utilities.verifyElementVisibilityState(audioPlayerPage.playbackPlayButton(), 'visible');
90
+ utilities.verifyElementVisibilityState(audioPlayerPage.playbackPauseButton(), 'notExist');
91
+ });
92
+
93
+ it('Accessibility of \'Preview\' section if if playback is paused', { tags: 'a11y' }, () => {
94
+ cy.checkAccessibility(audioPlayerPage.playbackPlayButton().parents('.audio-resource-preview-wrapper'));
95
+ });
96
+
97
+ it('When audio player is in paused state and user clicks on \'Play\' button, then playback should get resumed and \'Play\' button should get replaced with \'Pause\' button.', () => {
98
+ audioPlayerPage.steps.startPlayback();
99
+ utilities.verifyElementVisibilityState(audioPlayerPage.playbackPauseButton(), 'visible');
100
+ utilities.verifyElementVisibilityState(audioPlayerPage.playbackPlayButton(), 'notExist');
101
+ });
102
+
103
+ it('When the user seeks the progress bar slider while the audio is playing, then the audio should continue to play from the position where the slider is seeked', () => {
104
+ audioPlayerPage.steps.seekProgressBarSliderToCenter();
105
+ audioPlayerPage.steps.addWaitToPlayAudio(1000);
106
+ audioPlayerPage.steps.verifyProgressBarSliderPosition(actualAudioSeekedInPercent);
107
+ });
108
+
109
+ it('When the user seeks the progress bar slider while the audio is paused, then the audio playback should be in paused state and on playing the audio, then the audio should play from the position where the slider is seeked', () => {
110
+ audioPlayerPage.steps.pausePlayback();
111
+ audioPlayerPage.steps.seekProgressBarSliderToCenter();
112
+ audioPlayerPage.steps.startPlayback();
113
+ audioPlayerPage.steps.addWaitToPlayAudio(3000);
114
+ audioPlayerPage.steps.verifyProgressBarSliderPosition(actualAudioSeekedInPercent);
115
+ });
116
+
117
+ it('When the audio playback is completed, the \'Pause\' button should get replaced with \'Play\' button', () => {
118
+ audioPlayerPage.steps.verifyAudioPlaybackTimer('00:45', '00:45');
119
+ utilities.verifyElementVisibilityState(audioPlayerPage.playbackPlayButton(), 'visible');
120
+ utilities.verifyElementVisibilityState(audioPlayerPage.playbackPauseButton(), 'notExist');
121
+ audioPlayerPage.steps.verifyProgressBarSliderPosition(99);
122
+ });
123
+
124
+ it('CSS of progress bar in hover state', { tags: 'css' }, () => {
125
+ audioPlayerPage.steps.hoverOnProgressBarSlider();
126
+ utilities.verifyCSS(audioPlayerPage.progressBarSlider().parents('span[class*="MuiSlider-thumb"]'), {
127
+ 'box-shadow': `${css.color.progressBarSliderHoverBackground} 0px 0px 0px 8px`
128
+ });
129
+ });
130
+ });
131
+
132
+ describe('Bar playback preview : Volume control', () => {
133
+ abortEarlySetup();
134
+ before(() => {
135
+ audioPlayerPage.steps.navigateToCreateResource('audio player');
136
+ audioPlayerPage.steps.uploadFile('uploads/sample.mp3');
137
+ audioPlayerPage.steps.switchToPreviewTab();
138
+ audioPlayerPage.steps.startPlayback();
139
+ audioPlayerPage.steps.waitForPlaybackToBegin();
140
+ });
141
+
142
+ it('When the user hovers over \'Volume control\' button, volume control settings should open and by default it should be set to full volume and on hovering away from the button, the volume slider should disappear', () => {
143
+ audioPlayerPage.steps.hoverOnVolumeControlButton();
144
+ utilities.verifyElementVisibilityState(audioPlayerPage.volumeControlSlider(), 'visible');
145
+ audioPlayerPage.steps.verifyVolumeOfPlaybackPlayer('100');
146
+ utilities.hoverAwayFromElement();
147
+ utilities.verifyElementVisibilityState(audioPlayerPage.volumeControlSlider(), 'notExist');
148
+ });
149
+
150
+ it('When volume is not set as 0 and user clicks on volume control button, then the audio should be muted and the volume control button should change to a muted state', () => {
151
+ audioPlayerPage.steps.clickOnVolumeButton();
152
+ audioPlayerPage.steps.hoverOnVolumeControlButton();
153
+ audioPlayerPage.steps.verifyVolumeOfPlaybackPlayer('0');
154
+ utilities.hoverAwayFromElement();
155
+ utilities.verifyElementVisibilityState(audioPlayerPage.volumeControlSlider(), 'notExist');
156
+ utilities.verifyElementVisibilityState(audioPlayerPage.muteVolumeIcon(), 'visible');
157
+ utilities.hoverAwayFromElement();
158
+ });
159
+
160
+ it('When the user clicks on the muted volume control button then the volume setting slider should return to full volume and the volume control button should change to an unmuted state', () => {
161
+ audioPlayerPage.steps.clickOnVolumeButton();
162
+ audioPlayerPage.steps.hoverOnVolumeControlButton();
163
+ audioPlayerPage.steps.verifyVolumeOfPlaybackPlayer('100');
164
+ audioPlayerPage.steps.verifyUnmutedVolumeIconIsDisplayedInPreviewTab();
165
+ });
166
+
167
+ it('CSS of volume control section', { tags: 'css' }, () => {
168
+ utilities.verifyCSS(audioPlayerPage.volumeControlSlider(), {
169
+ 'background': `${css.color.transparent} linear-gradient(to right, ${css.color.progressBarElapsedFill} 0%, ${css.color.progressBarElapsedFill} 100%, ${css.color.defaultBackground} 0%, ${css.color.defaultBackground} 100%) repeat scroll 0% 0% / auto padding-box border-box`
170
+ });
171
+ audioPlayerPage.unmutedVolumeIcon()
172
+ .verifyPseudoClassBeforeProperty('color', css.color.activeButtons);
173
+ });
174
+
175
+ it('Accessibility of volume control section', { tags: 'a11y' }, () => {
176
+ cy.checkAccessibility(audioPlayerPage.volumeControlSlider());
177
+ cy.checkAccessibility(audioPlayerPage.playbackPauseButton().parents('.audio-resource-preview-wrapper'));
178
+ });
179
+
180
+ it('When the user drags the volume control all the way down, audio should be muted and the button should update to a muted state', () => {
181
+ audioPlayerPage.steps.setVolumeSliderForPlayback(0);
182
+ audioPlayerPage.steps.verifyVolumeOfPlaybackPlayer('0');
183
+ utilities.verifyElementVisibilityState(audioPlayerPage.muteVolumeIcon(), 'visible');
184
+ });
185
+
186
+ it('CSS of volume control section in muted state', { tags: 'css' }, () => {
187
+ utilities.verifyCSS(audioPlayerPage.volumeControlSlider(), {
188
+ 'background': `${css.color.transparent} linear-gradient(to right, ${css.color.progressBarElapsedFill} 0%, ${css.color.progressBarElapsedFill} 0%, ${css.color.defaultBackground} -100%, ${css.color.defaultBackground} 100%) repeat scroll 0% 0% / auto padding-box border-box`
189
+ });
190
+ audioPlayerPage.muteVolumeIcon()
191
+ .verifyPseudoClassBeforeProperty('color', css.color.activeButtons);
192
+ });
193
+
194
+ it('Accessibility of volume control section in muted state', { tags: 'a11y' }, () => {
195
+ cy.checkAccessibility(audioPlayerPage.volumeControlSlider());
196
+ cy.checkAccessibility(audioPlayerPage.playbackPauseButton().parents('.audio-resource-preview-wrapper'));
197
+ });
198
+
199
+ it('User should be able to unmute the audio by dragging the volume control higher again', () => {
200
+ audioPlayerPage.steps.setVolumeSliderForPlayback(99);
201
+ audioPlayerPage.steps.verifyVolumeOfPlaybackPlayer('100');
202
+ audioPlayerPage.steps.verifyUnmutedVolumeIconIsDisplayedInPreviewTab();
203
+ });
204
+ });
205
+
206
+ describe('Bar playback preview : Playback speed', () => {
207
+ const playbackSpeedOptions = ['0.5', '1', '1.25', '1.5', '1.75', '2'];
208
+ abortEarlySetup();
209
+ before(() => {
210
+ audioPlayerPage.steps.navigateToCreateResource('audio player');
211
+ audioPlayerPage.steps.uploadFile('uploads/sample.mp3');
212
+ audioPlayerPage.steps.switchToPreviewTab();
213
+ });
214
+
215
+ audioPlayerPage.tests.verifyPlaybackSpeedContents(playbackSpeedOptions);
216
+
217
+ for (let index = 0; index < playbackSpeedOptions.length; index++) {
218
+ it(`When the user selects playback speed option ${playbackSpeedOptions[index]}x, the audio playback speed should be changed accordingly`, () => {
219
+ audioPlayerPage.steps.resetQuestionPreview();
220
+ audioPlayerPage.steps.hoverOnPlaybackSpeedButton();
221
+ audioPlayerPage.steps.selectPlaybackSpeed(`${playbackSpeedOptions[index]}x`);
222
+ utilities.verifyElementVisibilityState(audioPlayerPage.playbackSpeedOption(), 'notExist');
223
+ audioPlayerPage.steps.startPlayback();
224
+ audioPlayerPage.steps.waitForPlaybackToBegin();
225
+ audioPlayerPage.steps.addWaitToPlayAudio(4000);
226
+ audioPlayerPage.steps.pausePlayback();
227
+ utilities.verifyInnerText(audioPlayerPage.playbackElapsedTime(), `00:0${1 + (4 * playbackSpeedOptions[index])}`);
228
+ });
229
+ };
230
+ });
231
+
232
+ describe('Bar playback preview : Backward and Forward buttons', () => {
233
+ abortEarlySetup();
234
+ before(() => {
235
+ audioPlayerPage.steps.navigateToCreateResource('audio player');
236
+ audioPlayerPage.steps.uploadFile('uploads/sample.mp3');
237
+ audioPlayerPage.steps.switchToPreviewTab();
238
+ });
239
+
240
+ it('When the user hovers over the \'Backward\' button, a tooltip \'Backward Button\' should be displayed and on moving away the focus, the tooltip should disappear', () => {
241
+ audioPlayerPage.backwardButton()
242
+ .verifyTooltip('Backward by 10s');
243
+ });
244
+
245
+ it('When the user hovers over the \'Forward\' button, a tooltip \'Forward Button\' should be displayed and on moving away the focus, the tooltip should disappear', () => {
246
+ audioPlayerPage.forwardButton()
247
+ .verifyTooltip('Forward by 10s');
248
+ });
249
+
250
+ it('CSS of \'Backward\' and \'Forward\' button in default and hover state', { tags: 'css' }, () => {
251
+ utilities.verifyCSS(audioPlayerPage.backwardButton().find('path').eq(1), {
252
+ 'stroke': css.color.activeButtons
253
+ });
254
+ utilities.verifyCSS(audioPlayerPage.forwardButton().find('path').eq(1), {
255
+ 'stroke': css.color.activeButtons
256
+ });
257
+ utilities.triggerMouseover(audioPlayerPage.backwardButton());
258
+ utilities.verifyCSS(audioPlayerPage.backwardButton(), {
259
+ 'background-color': css.color.selectToolbarOptionBg
260
+ });
261
+ utilities.triggerMouseout(audioPlayerPage.backwardButton());
262
+ utilities.triggerMouseover(audioPlayerPage.forwardButton());
263
+ utilities.verifyCSS(audioPlayerPage.forwardButton(), {
264
+ 'background-color': css.color.selectToolbarOptionBg
265
+ });
266
+ utilities.triggerMouseout(audioPlayerPage.forwardButton());
267
+ });
268
+
269
+ it('When playback is not initiated and user clicks on forward or backward button, then there should not be any changes', () => {
270
+ audioPlayerPage.steps.clickOnForwardButton();
271
+ audioPlayerPage.steps.verifyProgressBarSliderPosition(0);
272
+ audioPlayerPage.steps.verifyAudioPlaybackTimer('00:00', '00:00');
273
+ audioPlayerPage.steps.clickOnBackwardButton();
274
+ audioPlayerPage.steps.verifyProgressBarSliderPosition(0);
275
+ audioPlayerPage.steps.verifyAudioPlaybackTimer('00:00', '00:00');
276
+ });
277
+
278
+ it('When the audio player is in playback state and the user clicks on \'Forward\' button, then playback should get forwarded by 10 seconds and both the progress bar and elapsed time should be updated accordingly', () => {
279
+ audioPlayerPage.steps.startPlayback();
280
+ audioPlayerPage.steps.waitForPlaybackToBegin();
281
+ audioPlayerPage.steps.addWaitToPlayAudio(4000);
282
+ audioPlayerPage.steps.clickOnForwardButton();
283
+ audioPlayerPage.steps.verifyAudioPlaybackTimer('00:15', '00:45');
284
+ });
285
+
286
+ it('When audio player is in paused state and the user clicks on \'Forward\' button, then playback should get forwarded by 10 seconds and both the progress bar and elapsed time should be updated accordingly', () => {
287
+ audioPlayerPage.steps.pausePlayback();
288
+ audioPlayerPage.steps.clickOnForwardButton();
289
+ audioPlayerPage.steps.verifyAudioPlaybackTimer('00:25', '00:45');
290
+ });
291
+
292
+ it('When the audio player is in playback state and the user clicks on \'Backward\' button, then playback should get backtracked by 10 seconds and both the progress bar and elapsed time should be updated accordingly', () => {
293
+ audioPlayerPage.steps.startPlayback();
294
+ audioPlayerPage.steps.addWaitToPlayAudio(3000);
295
+ audioPlayerPage.steps.clickOnBackwardButton();
296
+ audioPlayerPage.steps.verifyAudioPlaybackTimer('00:18', '00:45');
297
+ });
298
+
299
+ it('When audio player is in paused state and the user clicks on \'Backward\' button, then playback should get backtracked by 10 seconds and both the progress bar and elapsed time should be updated accordingly', () => {
300
+ audioPlayerPage.steps.pausePlayback();
301
+ audioPlayerPage.steps.clickOnBackwardButton();
302
+ audioPlayerPage.steps.verifyAudioPlaybackTimer('00:09', '00:45');
303
+ });
304
+
305
+ it('When the elapsed time is less than 10 seconds and user clicks on backward button, then the playback should be backtracked to 0 and both the progress bar and elapsed time should be updated accordingly', () => {
306
+ audioPlayerPage.steps.clickOnBackwardButton();
307
+ audioPlayerPage.steps.verifyAudioPlaybackTimer('00:00', '00:45');
308
+ });
309
+
310
+ it('When the difference between total time and elapsed time is less than 10 seconds and user clicks on forward button, then the playback should be forwarded to its completed state and both the progress bar and elapsed time should be updated accordingly', () => {
311
+ audioPlayerPage.steps.seekProgressBarSliderToCenter();
312
+ audioPlayerPage.steps.startPlayback();
313
+ audioPlayerPage.steps.addWaitToPlayAudio(15000);
314
+ audioPlayerPage.steps.clickOnForwardButton();
315
+ audioPlayerPage.steps.verifyAudioPlaybackTimer('00:45', '00:45');
316
+ });
317
+ });
318
+
319
+ describe('Bar playback player : Add pin', () => {
320
+ abortEarlySetup();
321
+ before(() => {
322
+ audioPlayerPage.steps.navigateToCreateResource('audio player');
323
+ audioPlayerPage.steps.uploadFile('uploads/sample.mp3');
324
+ audioPlayerPage.steps.switchToPreviewTab();
325
+ });
326
+
327
+ it('When playback is not initiated and user clicks on add pin button, then there should not be any changes and pins panel should not be displayed', () => {
328
+ audioPlayerPage.steps.clickOnAddPinButton();
329
+ utilities.verifyElementVisibilityState(audioPlayerPage.pinsPanel(), 'notExist');
330
+ });
331
+
332
+ it('When the audio player is in playback state and the user clicks on \'Add pin\' button, pins panel should be displayed', () => {
333
+ audioPlayerPage.steps.startPlayback();
334
+ audioPlayerPage.steps.waitForPlaybackToBegin();
335
+ audioPlayerPage.steps.clickOnAddPinButton();
336
+ utilities.verifyElementVisibilityState(audioPlayerPage.pinsPanel(), 'visible');
337
+ });
338
+
339
+ it('By default in the pins panel \'Pins\' title, close \'X\' button, \'+Add pin\' button and \'No pins added\' help text should be displayed', () => {
340
+ utilities.verifyInnerText(audioPlayerPage.pinsTitle(), 'Pins');
341
+ utilities.verifyElementVisibilityState(audioPlayerPage.pinsTitle(), 'visible');
342
+ utilities.verifyElementVisibilityState(audioPlayerPage.pinsPanelCloseButton(), 'visible');
343
+ utilities.verifyInnerText(audioPlayerPage.pinsPanelAddPinButton(), 'Add pin');
344
+ utilities.verifyElementVisibilityState(audioPlayerPage.pinsPanelAddPinButton(), 'visible');
345
+ utilities.verifyInnerText(audioPlayerPage.noPinsAddedHelpText(), 'No pins added');
346
+ utilities.verifyElementVisibilityState(audioPlayerPage.noPinsAddedHelpText(), 'visible');
347
+ });
348
+
349
+ it('When the user clicks on add pin button in the pins panel, then add pin button should be displayed in active state, \'Time\' label, input field with the text \'00:00\', \'Cancel\' button and \'Save\' button should be displayed in the pins panel', () => {
350
+ audioPlayerPage.steps.clickOnPinsPanelAddPinButton();
351
+ audioPlayerPage.steps.verifyPinsPanelAddPinButtonActiveState();
352
+ utilities.verifyInnerText(audioPlayerPage.pinsPanelTimeLabel(), 'Time');
353
+ utilities.verifyElementVisibilityState(audioPlayerPage.pinsPanelTimeLabel(), 'visible');
354
+ utilities.verifyElementVisibilityState(audioPlayerPage.pinsPanelTimeInputFieldWrapper(), 'visible');
355
+ utilities.verifyInputFieldValue(audioPlayerPage.pinsPanelTimeInputFieldMinutes(), '00');
356
+ utilities.verifyInnerText(audioPlayerPage.pinsPanelTimeInputFieldWrapper(), ':');
357
+ utilities.verifyInputFieldValue(audioPlayerPage.pinsPanelTimeInputFieldSeconds(), '00');
358
+ utilities.verifyInnerText(audioPlayerPage.addPinSectionCancelButton(), 'Cancel');
359
+ utilities.verifyElementVisibilityState(audioPlayerPage.addPinSectionCancelButton(), 'visible');
360
+ utilities.verifyInnerText(audioPlayerPage.addPinSectionSaveButton(), 'Save');
361
+ utilities.verifyElementVisibilityState(audioPlayerPage.addPinSectionSaveButton(), 'visible');
362
+ });
363
+
364
+ it('CSS of selected add pin button and add pin section', { tags: 'css' }, () => {
365
+ utilities.verifyCSS(audioPlayerPage.pinsPanelAddPinButton(), {
366
+ 'background-color': css.color.selectToolbarOptionBg
367
+ });
368
+ utilities.verifyCSS(audioPlayerPage.pinsPanelAddPinButton().find('span'), {
369
+ 'color': css.color.activeButtons,
370
+ 'font-size': css.fontSize.default,
371
+ 'font-weight': css.fontWeight.semibold
372
+ });
373
+ audioPlayerPage.pinsPanelAddPinButton()
374
+ .verifyPseudoClassBeforeProperty('color', css.color.activeButtons);
375
+ utilities.verifyCSS(audioPlayerPage.pinsPanelTimeLabel().find('span'), {
376
+ 'color': css.color.labels,
377
+ 'font-size': css.fontSize.normal,
378
+ 'font-weight': css.fontWeight.semibold
379
+ });
380
+ utilities.verifyCSS(audioPlayerPage.pinsPanelTimeInputFieldMinutes(), {
381
+ 'color': css.color.text,
382
+ 'font-size': css.fontSize.default,
383
+ 'font-weight': css.fontWeight.regular
384
+ });
385
+ utilities.verifyCSS(audioPlayerPage.pinsPanelTimeInputFieldSeconds(), {
386
+ 'color': css.color.text,
387
+ 'font-size': css.fontSize.default,
388
+ 'font-weight': css.fontWeight.regular
389
+ });
390
+ utilities.verifyCSS(audioPlayerPage.addPinSectionCancelButton(), {
391
+ 'text-decoration': 'underline'
392
+ });
393
+ utilities.verifyCSS(audioPlayerPage.addPinSectionCancelButton().find('span'), {
394
+ 'color': css.color.activeButtons,
395
+ 'font-size': css.fontSize.normal,
396
+ 'font-weight': css.fontWeight.regular
397
+ });
398
+ utilities.verifyCSS(audioPlayerPage.addPinSectionSaveButton(), {
399
+ 'background-color': css.color.activeButtons
400
+ });
401
+ utilities.verifyCSS(audioPlayerPage.addPinSectionSaveButton().find('p'), {
402
+ 'color': css.color.whiteText,
403
+ 'font-size': css.fontSize.default,
404
+ 'font-weight': css.fontWeight.semibold
405
+ });
406
+ utilities.verifyCSS(audioPlayerPage.noPinsAddedHelpText().find('span'), {
407
+ 'color': css.color.text,
408
+ 'font-size': css.fontSize.normal,
409
+ 'font-weight': css.fontWeight.regular
410
+ });
411
+ });
412
+
413
+ it('Accessibility of add pin section and add pin button in selected state', () => {
414
+ cy.checkAccessibility(audioPlayerPage.pinsPanelAddPinButton().parents('[class*="AddPinstyles__PinsCollectionWrapper"]'));
415
+ });
416
+
417
+ it('No pins added help text should still be displayed', () => {
418
+ utilities.verifyElementVisibilityState(audioPlayerPage.noPinsAddedHelpText(), 'visible');
419
+ });
420
+
421
+ it('User should be able to give a timestamp input in the time input field', () => {
422
+ audioPlayerPage.steps.addInputToTimeInputFieldInPinsPanel('00:30');
423
+ utilities.verifyInputFieldValue(audioPlayerPage.pinsPanelTimeInputFieldMinutes(), '00');
424
+ utilities.verifyInputFieldValue(audioPlayerPage.pinsPanelTimeInputFieldSeconds(), '30');
425
+ });
426
+
427
+ it('The minute and seconds input field should have the maximum and minimum value as per the uploaded audio and the values should update accordingly', () => {
428
+ audioPlayerPage.steps.verifyMaximumAndMinimumValueOfMinutesTimeInputField(0, 0);
429
+ audioPlayerPage.steps.verifyMaximumAndMinimumValueOfSecondsTimeInputField(0, 45);
430
+ audioPlayerPage.steps.switchToEditTab();
431
+ audioPlayerPage.steps.uploadFile('uploads/sample1.mp3');
432
+ utilities.verifyTextContent(audioPlayerPage.uploadedFileNameLabel(), 'sample1.mp3');
433
+ audioPlayerPage.steps.switchToPreviewTab();
434
+ audioPlayerPage.steps.resetQuestionPreview(); //Added as audio does not load when quickly switched to preview tab
435
+ utilities.verifyElementVisibilityState(audioPlayerPage.playbackPlayButton(), 'visible');
436
+ audioPlayerPage.steps.startPlayback();
437
+ audioPlayerPage.steps.waitForPlaybackToBegin();
438
+ audioPlayerPage.steps.clickOnAddPinButton();
439
+ audioPlayerPage.steps.clickOnPinsPanelAddPinButton();
440
+ audioPlayerPage.steps.verifyMaximumAndMinimumValueOfMinutesTimeInputField(0, 0);
441
+ audioPlayerPage.steps.verifyMaximumAndMinimumValueOfSecondsTimeInputField(0, 58);
442
+ });
443
+
444
+ it('When the user add inputs a value greater than the maximum value in time input fields then it should be reset to the maximum value', () => {
445
+ audioPlayerPage.steps.addInputToTimeInputFieldInPinsPanel('10:59');
446
+ utilities.verifyInputFieldValue(audioPlayerPage.pinsPanelTimeInputFieldMinutes(), '00');
447
+ utilities.verifyInputFieldValue(audioPlayerPage.pinsPanelTimeInputFieldSeconds(), '58');
448
+ });
449
+
450
+ it('User should only be able to give real numbers input in the time input field', () => {
451
+ audioPlayerPage.steps.addInputToTimeInputFieldInPinsPanel('a0b0:3.#0');
452
+ utilities.verifyInputFieldValue(audioPlayerPage.pinsPanelTimeInputFieldMinutes(), '00');
453
+ utilities.verifyInputFieldValue(audioPlayerPage.pinsPanelTimeInputFieldSeconds(), '30');
454
+ });
455
+
456
+ it('When user clicks on cancel button, then the add pin section should not be displayed', () => {
457
+ audioPlayerPage.steps.clickOnAddPinSectionCancelButton();
458
+ utilities.verifyElementVisibilityState(audioPlayerPage.addPinContainer(), 'notExist');
459
+ });
460
+
461
+ it('When the user clicks on pins panel add pin button again, then the time input field, cancel button and save button should be displayed in their default state', () => {
462
+ audioPlayerPage.steps.clickOnPinsPanelAddPinButton();
463
+ utilities.verifyInnerText(audioPlayerPage.pinsPanelTimeLabel(), 'Time');
464
+ utilities.verifyElementVisibilityState(audioPlayerPage.pinsPanelTimeLabel(), 'visible');
465
+ utilities.verifyElementVisibilityState(audioPlayerPage.pinsPanelTimeInputFieldWrapper(), 'visible');
466
+ utilities.verifyInputFieldValue(audioPlayerPage.pinsPanelTimeInputFieldMinutes(), '00');
467
+ utilities.verifyInnerText(audioPlayerPage.pinsPanelTimeInputFieldWrapper(), ':');
468
+ utilities.verifyInputFieldValue(audioPlayerPage.pinsPanelTimeInputFieldSeconds(), '00');
469
+ utilities.verifyInnerText(audioPlayerPage.addPinSectionCancelButton(), 'Cancel');
470
+ utilities.verifyElementVisibilityState(audioPlayerPage.addPinSectionCancelButton(), 'visible');
471
+ utilities.verifyInnerText(audioPlayerPage.addPinSectionSaveButton(), 'Save');
472
+ utilities.verifyElementVisibilityState(audioPlayerPage.addPinSectionSaveButton(), 'visible');
473
+ });
474
+
475
+ it('When user gives an input in time input field and clicks on save button, then add pin section should not be displayed and the pin should be saved', () => {
476
+ audioPlayerPage.steps.addInputToTimeInputFieldInPinsPanel('00:29');
477
+ audioPlayerPage.steps.clickOnAddPinSectionSaveButton();
478
+ utilities.verifyElementVisibilityState(audioPlayerPage.addPinContainer(), 'notExist');
479
+ utilities.verifyElementVisibilityState(audioPlayerPage.pinsPanelAddedPinWrapper(), 'visible');
480
+ });
481
+
482
+ it('The added pin time should be displayed in the pins panel along with a delete button', () => {
483
+ audioPlayerPage.steps.verifyAddedPinTimeStampAndDeleteButton(0, '00:29');
484
+ });
485
+
486
+ it('No pins added help text should not be displayed', () => {
487
+ utilities.verifyElementVisibilityState(audioPlayerPage.noPinsAddedHelpText(), 'notExist');
488
+ });
489
+
490
+ it('User should be able to add multiple pins', () => {
491
+ audioPlayerPage.steps.clickOnPinsPanelAddPinButton();
492
+ audioPlayerPage.steps.addInputToTimeInputFieldInPinsPanel('00:15');
493
+ audioPlayerPage.steps.clickOnAddPinSectionSaveButton();
494
+ audioPlayerPage.steps.verifyAddedPinTimeStampAndDeleteButton(1, '00:15');
495
+ audioPlayerPage.steps.clickOnPinsPanelAddPinButton();
496
+ audioPlayerPage.steps.addInputToTimeInputFieldInPinsPanel('00:43');
497
+ audioPlayerPage.steps.clickOnAddPinSectionSaveButton();
498
+ audioPlayerPage.steps.verifyAddedPinTimeStampAndDeleteButton(2, '00:43');
499
+ });
500
+
501
+ it('The added pins should be displayed on the progress bar', () => {
502
+ audioPlayerPage.steps.verifyProgressBarPin(0, '00:29');
503
+ audioPlayerPage.steps.verifyProgressBarPin(1, '00:15');
504
+ audioPlayerPage.steps.verifyProgressBarPin(2, '00:43');
505
+ });
506
+
507
+ it('When the player is in play state and the user clicks on a pin, then the progress bar slider should be set to the clicked pin bookmark', () => {
508
+ audioPlayerPage.steps.clickOnProgressBarPin('00:29');
509
+ audioPlayerPage.steps.verifyProgressBarSliderPosition(50);
510
+ audioPlayerPage.steps.clickOnProgressBarPin('00:43');
511
+ audioPlayerPage.steps.verifyProgressBarSliderPosition(75);
512
+ });
513
+
514
+ it('When the player is in paused state and the user clicks on a pin, then the progress bar slider should be set to the clicked pin bookmark', () => {
515
+ audioPlayerPage.steps.pausePlayback();
516
+ audioPlayerPage.steps.clickOnProgressBarPin('00:15');
517
+ audioPlayerPage.steps.verifyProgressBarSliderPosition(25);
518
+ });
519
+
520
+ it('When the user clicks on the pin delete button, then the pin should be deleted from the pins panel and the progress bar', () => {
521
+ audioPlayerPage.steps.clickOnAddedPinDeleteButton(1);
522
+ audioPlayerPage.steps.verifyAddedPinTimeStampAndDeleteButton(0, '00:29');
523
+ audioPlayerPage.steps.verifyAddedPinTimeStampAndDeleteButton(1, '00:43');
524
+ utilities.verifyElementCount(audioPlayerPage.pinsPanelAddedPinWrapper(), 2);
525
+ audioPlayerPage.steps.verifyProgressBarPin(0, '00:29');
526
+ audioPlayerPage.steps.verifyProgressBarPin(1, '00:43');
527
+ utilities.verifyElementCount(audioPlayerPage.progressBarPin(), 2);
528
+ });
529
+
530
+ it('When no pins are present, then the no pins added help text should be displayed again', () => {
531
+ audioPlayerPage.steps.clickOnAddedPinDeleteButton(0);
532
+ audioPlayerPage.steps.clickOnAddedPinDeleteButton(0);
533
+ utilities.verifyElementVisibilityState(audioPlayerPage.pinsPanelAddedPinWrapper(), 'notExist');
534
+ utilities.verifyElementVisibilityState(audioPlayerPage.noPinsAddedHelpText(), 'visible');
535
+ });
536
+
537
+ it('When the user clicks on pins panel close button, then the pins panel should not be displayed', () => {
538
+ cy.log('Pre-step: Add pins before closing pins panel');
539
+ audioPlayerPage.steps.clickOnPinsPanelAddPinButton();
540
+ audioPlayerPage.steps.addInputToTimeInputFieldInPinsPanel('00:29');
541
+ audioPlayerPage.steps.clickOnAddPinSectionSaveButton();
542
+ audioPlayerPage.steps.verifyAddedPinTimeStampAndDeleteButton(0, '00:29');
543
+ audioPlayerPage.steps.clickOnPinsPanelAddPinButton();
544
+ audioPlayerPage.steps.addInputToTimeInputFieldInPinsPanel('00:15');
545
+ audioPlayerPage.steps.clickOnAddPinSectionSaveButton();
546
+ audioPlayerPage.steps.verifyAddedPinTimeStampAndDeleteButton(1, '00:15');
547
+ audioPlayerPage.steps.clickOnPinsPanelCloseButton();
548
+ utilities.verifyElementVisibilityState(audioPlayerPage.pinsPanel(), 'notExist');
549
+ });
550
+
551
+ it('When user has added pins and closed the pins panel, then the added pins should be displayed on the progress bar', () => {
552
+ audioPlayerPage.steps.verifyProgressBarPin(0, '00:29');
553
+ audioPlayerPage.steps.verifyProgressBarPin(1, '00:15');
554
+ });
555
+
556
+ it('When the user clicks on the add pin button in the toolbar, then the pins panel should be displayed again and the previously added pins should be displayed', () => {
557
+ audioPlayerPage.steps.clickOnAddPinButton()
558
+ utilities.verifyElementVisibilityState(audioPlayerPage.pinsPanel(), 'visible');
559
+ audioPlayerPage.steps.verifyAddedPinTimeStampAndDeleteButton(0, '00:29');
560
+ audioPlayerPage.steps.verifyAddedPinTimeStampAndDeleteButton(1, '00:15');
561
+ });
562
+
563
+ it('CSS of toolbar \'Add pin\' button and pins panel', { tags: 'css' }, () => {
564
+ utilities.verifyCSS(audioPlayerPage.addPinButton().find('path'), {
565
+ 'fill': css.color.activeButtons
566
+ });
567
+ utilities.triggerMouseover(audioPlayerPage.addPinButton());
568
+ utilities.verifyCSS(audioPlayerPage.addPinButton(), {
569
+ 'background-color': css.color.selectToolbarOptionBg
570
+ });
571
+ utilities.triggerMouseout(audioPlayerPage.addPinButton());
572
+ utilities.verifyCSS(audioPlayerPage.pinsPanelAddPinButton(), {
573
+ 'background-color': css.color.transparent
574
+ });
575
+ utilities.verifyCSS(audioPlayerPage.pinsPanelAddPinButton().find('span'), {
576
+ 'color': css.color.activeButtons,
577
+ 'font-size': css.fontSize.default,
578
+ 'font-weight': css.fontWeight.semibold
579
+ });
580
+ audioPlayerPage.pinsPanelAddPinButton()
581
+ .verifyPseudoClassBeforeProperty('color', css.color.activeButtons);
582
+ utilities.verifyCSS(audioPlayerPage.pinsPanelTimeLabel().find('span'), {
583
+ 'color': css.color.labels,
584
+ 'font-size': css.fontSize.normal,
585
+ 'font-weight': css.fontWeight.semibold
586
+ });
587
+ utilities.verifyCSS(audioPlayerPage.pinsTitle(), {
588
+ 'color': css.color.labels,
589
+ 'font-size': css.fontSize.default,
590
+ 'font-weight': css.fontWeight.semibold
591
+ });
592
+ utilities.verifyCSS(audioPlayerPage.pinsPanelCloseButton().find('svg'), {
593
+ 'fill': css.color.activeButtons
594
+ });
595
+ utilities.verifyCSS(audioPlayerPage.pinsPanelTimeInputFieldSeconds(), {
596
+ 'color': css.color.text,
597
+ 'font-size': css.fontSize.default,
598
+ 'font-weight': css.fontWeight.regular
599
+ });
600
+ utilities.verifyCSS(audioPlayerPage.pinsPanelAddedPinTimeStamp(), {
601
+ 'color': css.color.playbackTime,
602
+ 'font-size': css.fontSize.default,
603
+ 'font-weight': css.fontWeight.bold
604
+ });
605
+ utilities.getNthElement(audioPlayerPage.pinsPanelAddedPinDeleteButton(), 0)
606
+ .verifyPseudoClassBeforeProperty('color', css.color.activeButtons);
607
+ utilities.getNthElement(audioPlayerPage.progressBar(), 0)
608
+ .verifyPseudoClassBeforeProperty('background-color', css.color.progressBarPin);
609
+ });
610
+
611
+ it('Accessibility of pins panel', () => {
612
+ cy.checkAccessibility(audioPlayerPage.pinsPanelAddPinButton().parents('.resource-and-tool-preview-wrapper'));
613
+ })
614
+
615
+ it('When the user clicks on the add pin button in the toolbar, then the pins panel should not be displayed', () => {
616
+ audioPlayerPage.steps.clickOnAddPinButton()
617
+ utilities.verifyElementVisibilityState(audioPlayerPage.pinsPanel(), 'notExist');
618
+ });
619
+ });
620
+ });