itemengine-cypress-automation 1.0.51 → 1.0.63

Sign up to get free protection for your applications and to get access to all the features.
Files changed (134) hide show
  1. package/cypress/e2e/ILC/AudioPlayer/audioPlayerEditTab.js +342 -0
  2. package/cypress/e2e/ILC/AudioPlayer/audioPlayerEditTabAddFeatureRadioButton.js +218 -0
  3. package/cypress/e2e/ILC/AudioPlayer/audioPlayerEditTabTitleDescriptionAndTranscript.js +187 -0
  4. package/cypress/e2e/ILC/AudioPlayer/audioPlayerHeaderSection.js +73 -0
  5. package/cypress/e2e/ILC/AudioPlayer/audioPlayerPreviewTab.js +302 -0
  6. package/cypress/e2e/ILC/AudioPlayer/audioPlayerPreviewTabPlaybackPlayer.js +245 -0
  7. package/cypress/e2e/ILC/AudioPlayer/audioPlayerPreviewTabSupportedFileTypes.js +78 -0
  8. package/cypress/e2e/ILC/AudioPlayer/audioPlayerPreviewTabTitleDescriptionAndTranscript.js +248 -0
  9. package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsAllOrNothingAlternatePointsGreaterThanCorrectPoints.js +1 -1
  10. package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardAllOrNothingAlternatePointsGreaterThanCorrectPoints.js +1 -1
  11. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownAdditionalSettingsAnswerNumeration.js +206 -0
  12. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownAdditionalSettingsBasic.js +222 -0
  13. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownAdditionalSettingsResponseAccordions.js +366 -0
  14. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownAllOrNothingWithAlternateAnswer.js +624 -0
  15. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownPartialDifferentWeightsWithAlternateAnswer.js +865 -0
  16. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownPartialEqualWeightsWithAlternateAnswer.js +763 -0
  17. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownSupportedFileTypes.js +86 -0
  18. package/cypress/e2e/ILC/Highlight/HighlightScoring/allOrNothingAlternatePointsMoreThanCorrectPoints.js +213 -0
  19. package/cypress/e2e/ILC/Highlight/HighlightScoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +215 -0
  20. package/cypress/e2e/ILC/Highlight/HighlightScoring/allOrNothingCorrectPointsMoreThanAlternatePoints.js +215 -0
  21. package/cypress/e2e/ILC/Highlight/HighlightScoring/allOrNothingScoring.js +187 -0
  22. package/cypress/e2e/ILC/Highlight/HighlightScoring/manualAndNonScored.js +162 -0
  23. package/cypress/e2e/ILC/Highlight/HighlightScoring/partialDifferentWeightsAlternatePointsMoreThanCorrectPoints.js +316 -0
  24. package/cypress/e2e/ILC/Highlight/HighlightScoring/partialDifferentWeightsCorrectEqualToAlternatePoints.js +385 -0
  25. package/cypress/e2e/ILC/Highlight/HighlightScoring/partialDifferentWeightsCorrectPointsMoreThanAlternatePoints.js +316 -0
  26. package/cypress/e2e/ILC/Highlight/HighlightScoring/partialDifferentWeightsScoring.js +245 -0
  27. package/cypress/e2e/ILC/Highlight/HighlightScoring/partialEqualWeightsAlternatePointsMoreThanCorrectPoints.js +250 -0
  28. package/cypress/e2e/ILC/Highlight/HighlightScoring/partialEqualWeightsCorrectPointEqualToAlternatePoints.js +266 -0
  29. package/cypress/e2e/ILC/Highlight/HighlightScoring/partialEqualWeightsCorrectPointsMoreThanAlternatePoints.js +250 -0
  30. package/cypress/e2e/ILC/Highlight/HighlightScoring/partialEqualWeightsScoring.js +226 -0
  31. package/cypress/e2e/ILC/Highlight/highlightAdditionalSettingsBasic.js +221 -0
  32. package/cypress/e2e/ILC/Highlight/highlightAdditionalSettingsMaximumNumberOfAnswers.js +137 -0
  33. package/cypress/e2e/ILC/Highlight/highlightBasicScoringForTextSelectionTypes.js +457 -0
  34. package/cypress/e2e/ILC/Highlight/highlightColorLibraryFlyout.js +143 -0
  35. package/cypress/e2e/ILC/Highlight/highlightEditTabScoringSection.js +361 -0
  36. package/cypress/e2e/ILC/Highlight/highlightHeaderSection.js +91 -0
  37. package/cypress/e2e/ILC/Highlight/highlightQuestionInstructionsAndQuestion.js +178 -0
  38. package/cypress/e2e/ILC/Highlight/highlightScoringSectionBasic.js +21 -0
  39. package/cypress/e2e/ILC/Highlight/highlightSetCorrectAnswerSection.js +204 -0
  40. package/cypress/e2e/ILC/Highlight/highlightTextSelectionDropdownAndHighlightOptionsSection.js +175 -0
  41. package/cypress/e2e/ILC/Highlight/highlightTextSelectionTypeInPreviewTab.js +237 -0
  42. package/cypress/e2e/ILC/Highlight/highlightTextSelectionTypeInSetCorrectAnswerSection.js +341 -0
  43. package/cypress/e2e/ILC/Highlight/highlightTextSelectionTypesInHighlightOptionsSection.js +375 -0
  44. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridAdditionalSettingsBasic.js +11 -5
  45. package/cypress/e2e/ILC/MultipleSelectionGrid/{multipleSelectionGridQuestionStemAdditionalSettings.js → multipleSelectionGridAdditionalSettingsQuestionStem.js} +0 -11
  46. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridAllOrNothingAlternatePointsGreaterThanCorrectPoints.js +263 -0
  47. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridAllOrNothingCorrectPointsEqualToAlternatePoints.js +263 -0
  48. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridAllOrNothingCorrectPointsGreaterThanAlternatePoints.js +261 -0
  49. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridPartialDifferentWeightsAlternatePointsGreaterThanCorrectPoints.js +340 -0
  50. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridPartialDifferentWeightsCorrectPointsEqualToAlternatePoints.js +310 -0
  51. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridPartialDifferentWeightsCorrectPointsGreaterThanAlternatePoints.js +341 -0
  52. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridPartialEqualWeightsAlternatePointsGreaterThanCorrectPoints.js +313 -0
  53. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridPartialEqualWeightsCorrectPointsEqualToAlternatePoints.js +285 -0
  54. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridPartialEqualWeightsCorrectPointsGreaterThanAlternatePoints.js +316 -0
  55. package/cypress/e2e/ILC/ReadingRuler/readingRulerEditTabBasicsSection.js +185 -0
  56. package/cypress/e2e/ILC/ReadingRuler/readingRulerHeaderSection.js +55 -0
  57. package/cypress/e2e/ILC/ReadingRuler/readingRulerPreviewTab.js +257 -0
  58. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridAllOrNothingAlternatePointsGreaterThanCorrectPoints.js +173 -0
  59. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridAllOrNothingCorrectPointsEqualToAlternatePoints.js +179 -0
  60. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridAllOrNothingCorrectPointsGreaterThanAlternatePoints.js +174 -0
  61. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridPartialDifferentWeightsAlternatePointsGreaterThanCorrectPoints.js +247 -0
  62. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridPartialDifferentWeightsCorrectPointsEqualToAlternatePoints.js +219 -0
  63. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridPartialDifferentWeightsCorrectPointsGreaterThanAlternatePoints.js +246 -0
  64. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridPartialEqualWeightsAlternatePointsGreaterThanCorrectPoints.js +225 -0
  65. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridPartialEqualWeightsCorrectPointsEqualToAlternatePoints.js +197 -0
  66. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridPartialEqualWeightsCorrectPointsGreaterThanAlternatePoints.js +226 -0
  67. package/cypress/e2e/ILC/VideoResponse/videoResponseAdditionalSettings.js +135 -0
  68. package/cypress/e2e/ILC/VideoResponse/videoResponseAdditionalSettingsBasic.js +88 -0
  69. package/cypress/e2e/ILC/VideoResponse/videoResponseEditTabBasic.js +78 -0
  70. package/cypress/e2e/ILC/VideoResponse/videoResponseHeaderSection.js +74 -0
  71. package/cypress/e2e/ILC/VideoResponse/videoResponsePreviewTab.js +627 -0
  72. package/cypress/e2e/ILC/VideoResponse/videoResponseScoringSection.js +76 -0
  73. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownAddResponseContainer.js +230 -0
  74. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownAdditionalSettings.js +247 -0
  75. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownAllOrNothingScoring.js +352 -0
  76. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownConditionalCheckboxes.js +258 -0
  77. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownEditAriaLabelCheckbox.js +134 -0
  78. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownEditTabBasicSection.js +132 -0
  79. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownEditTabScoringSection.js +237 -0
  80. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownHeaderSection.js +113 -0
  81. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownImageProperties.js +156 -0
  82. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownManualAndNonScoredScoring.js +165 -0
  83. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownOptionsForResponse.js +303 -0
  84. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownPartialDifferentWeightsScoring.js +372 -0
  85. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownPartialEqualWeightsScoring.js +371 -0
  86. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownPreviewTab.js +77 -0
  87. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownSetCorrectAnswerSection.js +117 -0
  88. package/cypress/pages/dragAndDropIntoCategoriesAllOrNothingScoring.js +1 -1
  89. package/package.json +1 -1
  90. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridAllOrNothingWithAlternateAnswer.js +0 -731
  91. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridPartialDifferentWeightsWithAlternateAnswer.js +0 -942
  92. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridPartialEqualWeightsWithAlternateAnswer.js +0 -864
  93. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridAllOrNothingWithAlternateAnswer.js +0 -472
  94. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridPartialDifferentWeightsWithAlternateAnswer.js +0 -662
  95. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridPartialEqualWeightsWIthAlternateAnswer.js +0 -595
  96. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsAllOrNothing.js +0 -0
  97. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsAllOrNothingCorrectPointsEqualToAlternatePoints.js +0 -0
  98. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsAllOrNothingCorrectPointsGreaterThanAlternatePoints.js +0 -0
  99. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsPartialScoreForEachCell.js +0 -0
  100. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsPartialScoreForEachCellAlternatePointsGreaterThanCorrectPoints.js +0 -0
  101. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsPartialScoreForEachCellCorrectPointsEqualToAlternatePoints.js +0 -0
  102. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsPartialScoreForEachCellCorrectPointsGreaterThanAlternatePoints.js +0 -0
  103. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsPartialScoreForEachResponse.js +0 -0
  104. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsPartialScoreForEachResponseAlternatePointsGreaterThanCorrectPoints.js +0 -0
  105. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsPartialScoreForEachResponseCorrectPointsEqualToAlternatePoints.js +0 -0
  106. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsPartialScoreForEachResponseCorrectPointsGreaterThanAlternatePoints.js +0 -0
  107. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsTotalScoreDividedBetweenCell.js +0 -0
  108. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsTotalScoreDividedBetweenCellsAlternatePointsGreaterThanCorrectPoints.js +0 -0
  109. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsTotalScoreDividedBetweenCellsCorrectPointsEqualToAlternatePoints.js +0 -0
  110. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsTotalScoreDividedBetweenCellsCorrectPointsGreaterThanAlternatePoints.js +0 -0
  111. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsTotalScoreDividedBetweenResponses.js +0 -0
  112. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsTotalScoreDividedBetweenResponsesAlternatePointsGreaterThanCorrectPoints.js +0 -0
  113. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsTotalScoreDividedBetweenResponsesCorrectPointsEqualToAlternatePoints.js +0 -0
  114. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsTotalScoreDividedBetweenResponsesCorrectPointsGreaterThanAlternatePoints.js +0 -0
  115. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardAllOrNothing.js +0 -0
  116. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardAllOrNothingCorrectPointsEqualToAlternatePoints.js +0 -0
  117. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardAllOrNothingCorrectPointsGreaterThanAlternatePoints.js +0 -0
  118. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardPartialScoreForEachCell.js +0 -0
  119. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardPartialScoreForEachCellAlternatePointsGreaterThanCorrectPoints.js +0 -0
  120. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardPartialScoreForEachCellCorrectPointsEqualToAlternatePoints.js +0 -0
  121. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardPartialScoreForEachCellCorrectPointsGreaterThanAlternatePoints.js +0 -0
  122. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardPartialScoreForEachResponse.js +0 -0
  123. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardPartialScoreForEachResponseAlternatePointsGreaterThanCorrectPoints.js +0 -0
  124. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardPartialScoreForEachResponseCorrectPointsEqualToAlternatePoints.js +0 -0
  125. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardPartialScoreForEachResponseCorrectPointsGreaterThanAlternatePoints.js +0 -0
  126. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardTotalScoreDividedBetweenCell.js +0 -0
  127. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardTotalScoreDividedBetweenCellAlternatePointsGreaterThanCorrectPoints.js +0 -0
  128. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardTotalScoreDividedBetweenCellCorrectPointsEqualToAlternatePoints.js +0 -0
  129. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardTotalScoreDividedBetweenCellCorrectPointsGreaterThanAlternatePoints.js +0 -0
  130. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardTotalScoreDividedBetweenResponse.js +0 -0
  131. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardTotalScoreDividedBetweenResponseAlternatePointsGreaterThanCorrectPoints.js +0 -0
  132. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardTotalScoreDividedBetweenResponseCorrectPointsEqualToAlternatePoints.js +0 -0
  133. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardTotalScoreDividedBetweenResponseCorrectPointsGreaterThanAlternatePoints.js +0 -0
  134. /package/cypress/e2e/ILC/MultipleSelectionGrid/{multipleSelectionGridOptionsAdditionalSettings.js → multipleSelectionAdditionalSettingsGridOptions.js} +0 -0
@@ -0,0 +1,187 @@
1
+ import { audioPlayerPage } from "../../../pages";
2
+ import utilities from "../../../support/helpers/utilities";
3
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
4
+ const css = Cypress.env('css');
5
+
6
+ describe('Audio player: Edit tab', () => {
7
+ before(() => {
8
+ cy.loginAs('admin');
9
+ });
10
+
11
+ describe('\'Title\' section', () => {
12
+ abortEarlySetup();
13
+ before(() => {
14
+ cy.log('Navigating to audio player tool');
15
+ audioPlayerPage.steps.navigateToCreateResource('audio player');
16
+ });
17
+
18
+ it('\'Title\' label and input field should be displayed. By default, the title input field should be empty', () => {
19
+ utilities.verifyInnerText(audioPlayerPage.titleLabel(), 'Title');
20
+ utilities.verifyElementVisibilityState(audioPlayerPage.titleLabel(), 'visible');
21
+ audioPlayerPage.steps.verifyTextInTitleInputField('');
22
+ utilities.verifyElementVisibilityState(audioPlayerPage.titleInputField(), 'visible');
23
+ });
24
+
25
+ it('The user should be able to enter text in the title input field', () => {
26
+ audioPlayerPage.steps.enterTextInTitleInputField('Read carefully');
27
+ audioPlayerPage.steps.verifyTextInTitleInputField('Read carefully');
28
+ });
29
+
30
+ it('CSS of \'Title\' section', { tags: 'css' }, () => {
31
+ utilities.verifyCSS(audioPlayerPage.titleLabel(), {
32
+ 'color': css.color.labels,
33
+ 'font-size': css.fontSize.normal,
34
+ 'font-weight': css.fontWeight.semibold
35
+ });
36
+ utilities.verifyCSS(audioPlayerPage.titleInputField(), {
37
+ 'color': css.color.text,
38
+ 'font-size': css.fontSize.default,
39
+ 'font-weight': css.fontWeight.regular
40
+ });
41
+ });
42
+ });
43
+
44
+ describe('\'Description\' section', () => {
45
+ abortEarlySetup();
46
+ before(() => {
47
+ cy.log('Navigating to audio player tool');
48
+ audioPlayerPage.steps.navigateToCreateResource('audio player');
49
+ });
50
+
51
+ it('\'Description\' label and empty input field should be displayed', () => {
52
+ utilities.verifyInnerText(audioPlayerPage.descriptionLabel(), 'Description');
53
+ utilities.verifyElementVisibilityState(audioPlayerPage.descriptionLabel(), 'visible');
54
+ utilities.verifyInnerText(audioPlayerPage.descriptionInputField(), '\n');
55
+ utilities.verifyElementVisibilityState(audioPlayerPage.descriptionInputField(), 'visible');
56
+ });
57
+
58
+ it('The user should be able to enter text in the \'Description\' input field', () => {
59
+ audioPlayerPage.steps.enterTextInDescriptionInputField('This is a descriptive text');
60
+ utilities.verifyInnerText(audioPlayerPage.descriptionInputField(), 'This is a descriptive text');
61
+ });
62
+
63
+ it('CSS of \'Description\' section', { tags: 'css' }, () => {
64
+ utilities.verifyCSS(audioPlayerPage.descriptionLabel(), {
65
+ 'color': css.color.labels,
66
+ 'font-size': css.fontSize.normal,
67
+ 'font-weight': css.fontWeight.semibold
68
+ });
69
+ utilities.verifyCSS(audioPlayerPage.descriptionInputField(), {
70
+ 'color': css.color.text,
71
+ 'font-size': css.fontSize.default,
72
+ 'font-weight': css.fontWeight.regular
73
+ });
74
+ });
75
+ });
76
+
77
+ describe('\'Description\' input field with image, equation, link and bold text : Edit tab', () => {
78
+ abortEarlySetup();
79
+ before(() => {
80
+ cy.log('Navigating to audio player tool');
81
+ audioPlayerPage.steps.navigateToCreateResource('audio player');
82
+ });
83
+
84
+ it('When the user adds an image in the description input field using the image option from ckEditor toolbar, the image should be displayed in the description input field', () => {
85
+ audioPlayerPage.steps.focusInDescriptionInputField();
86
+ audioPlayerPage.steps.selectImageOptionFromCKEditorToolbar()
87
+ audioPlayerPage.steps.addImageToInputField();
88
+ audioPlayerPage.steps.verifyImageAndAltTextInDescriptionInputField();
89
+ });
90
+
91
+ it('When the user adds an equation in the description input field using the image option from ckEditor toolbar, the image should be displayed in the description input field', () => {
92
+ audioPlayerPage.steps.clearDescriptionInputField();
93
+ audioPlayerPage.steps.focusInDescriptionInputField();
94
+ audioPlayerPage.steps.selectEquationEditorOptionFromCKEditorToolbar();
95
+ audioPlayerPage.steps.addGenericEquationUsingEquationEditorToCKEditorInputField();
96
+ audioPlayerPage.steps.verifyEquationInDescriptionInputField();
97
+ });
98
+
99
+ it('When the user adds a link in the description input field using the image option from ckEditor toolbar, the image should be displayed in the description input field', () => {
100
+ audioPlayerPage.steps.clearDescriptionInputField();
101
+ audioPlayerPage.steps.focusInDescriptionInputField();
102
+ audioPlayerPage.steps.selectLinkOptionFromCKEditorToolbar();
103
+ audioPlayerPage.steps.addLinkToInputField();
104
+ audioPlayerPage.steps.verifyLinkInDescriptionInputField();
105
+ });
106
+
107
+ it('When the user adds a bold text in the description input field using the image option from ckEditor toolbar, the image should be displayed in the description input field', () => {
108
+ audioPlayerPage.steps.clearDescriptionInputField();
109
+ audioPlayerPage.steps.focusInDescriptionInputField();
110
+ audioPlayerPage.steps.selectBoldOptionFromCKEditorToolbar();
111
+ audioPlayerPage.steps.enterTextInDescriptionInputField('This is a bold text in description input field');
112
+ audioPlayerPage.steps.verifyBoldTextInDescriptionInputField();
113
+ });
114
+ });
115
+
116
+ describe('\'Transcript\' section', () => {
117
+ abortEarlySetup();
118
+ before(() => {
119
+ cy.log('Navigating to audio player tool');
120
+ audioPlayerPage.steps.navigateToCreateResource('audio player');
121
+ });
122
+
123
+ it('\'Transcript\' label and empty input field should be displayed', () => {
124
+ utilities.verifyInnerText(audioPlayerPage.transcriptLabel(), 'Transcript');
125
+ utilities.verifyElementVisibilityState(audioPlayerPage.transcriptLabel(), 'visible');
126
+ utilities.verifyInnerText(audioPlayerPage.transcriptInputField(), '\n');
127
+ utilities.verifyElementVisibilityState(audioPlayerPage.transcriptInputField(), 'visible');
128
+ });
129
+
130
+ it('The user should be able to enter text in the \'Transcript\' input field', () => {
131
+ audioPlayerPage.steps.enterTextInTranscriptInputField('This is a transcript text');
132
+ utilities.verifyInnerText(audioPlayerPage.transcriptInputField(), 'This is a transcript text');
133
+ });
134
+
135
+ it('CSS of \'Transcript\' section', { tags: 'css' }, () => {
136
+ utilities.verifyCSS(audioPlayerPage.transcriptLabel(), {
137
+ 'color': css.color.labels,
138
+ 'font-size': css.fontSize.normal,
139
+ 'font-weight': css.fontWeight.semibold
140
+ });
141
+ utilities.verifyCSS(audioPlayerPage.transcriptInputField(), {
142
+ 'color': css.color.text,
143
+ 'font-size': css.fontSize.default,
144
+ 'font-weight': css.fontWeight.regular
145
+ });
146
+ });
147
+ });
148
+
149
+ describe('\'Transcript\' input field with image, equation, link and bold text : Edit tab', () => {
150
+ abortEarlySetup();
151
+ before(() => {
152
+ cy.log('Navigating to audio player tool');
153
+ audioPlayerPage.steps.navigateToCreateResource('audio player');
154
+ });
155
+
156
+ it('When the user adds an image in the transcript input field using the image option from ckEditor toolbar, the image should be displayed in the transcript input field', () => {
157
+ audioPlayerPage.steps.focusInTranscriptInputField();
158
+ audioPlayerPage.steps.selectImageOptionFromCKEditorToolbar()
159
+ audioPlayerPage.steps.addImageToInputField();
160
+ audioPlayerPage.steps.verifyImageAndAltTextInTranscriptInputField();
161
+ });
162
+
163
+ it('When the user adds an equation in the transcript input field using the image option from ckEditor toolbar, the image should be displayed in the transcript input field', () => {
164
+ audioPlayerPage.steps.clearTranscriptInputField();
165
+ audioPlayerPage.steps.focusInTranscriptInputField();
166
+ audioPlayerPage.steps.selectEquationEditorOptionFromCKEditorToolbar();
167
+ audioPlayerPage.steps.addGenericEquationUsingEquationEditorToCKEditorInputField();
168
+ audioPlayerPage.steps.verifyEquationInTranscriptInputField();
169
+ });
170
+
171
+ it('When the user adds a link in the transcript input field using the image option from ckEditor toolbar, the image should be displayed in the transcript input field', () => {
172
+ audioPlayerPage.steps.clearTranscriptInputField();
173
+ audioPlayerPage.steps.focusInTranscriptInputField();
174
+ audioPlayerPage.steps.selectLinkOptionFromCKEditorToolbar();
175
+ audioPlayerPage.steps.addLinkToInputField();
176
+ audioPlayerPage.steps.verifyLinkInTranscriptInputField();
177
+ });
178
+
179
+ it('When the user adds a bold text in the transcript input field using the image option from ckEditor toolbar, the image should be displayed in the transcript input field', () => {
180
+ audioPlayerPage.steps.clearTranscriptInputField();
181
+ audioPlayerPage.steps.focusInTranscriptInputField();
182
+ audioPlayerPage.steps.selectBoldOptionFromCKEditorToolbar();
183
+ audioPlayerPage.steps.enterTextInTranscriptInputField('This is a bold text in transcript input field');
184
+ audioPlayerPage.steps.verifyBoldTextInTranscriptInputField();
185
+ });
186
+ });
187
+ });
@@ -0,0 +1,73 @@
1
+ import { audioPlayerPage, dialogBoxBase } from "../../../pages";
2
+ import utilities from "../../../support/helpers/utilities";
3
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
4
+ import constants from "../../../fixtures/constants";
5
+ const css = Cypress.env('css');
6
+
7
+ describe('Create question page - Audio player: Header section and saving resource tool', () => {
8
+ before(() => {
9
+ cy.loginAs('admin');
10
+ });
11
+
12
+ describe('Header section contents', () => {
13
+ abortEarlySetup();
14
+ before(() => {
15
+ cy.log('Navigating to audio player tool');
16
+ audioPlayerPage.steps.navigateToCreateResource('audio player');
17
+ });
18
+
19
+ audioPlayerPage.tests.verifyCreateQuestionPageQuestionTypeHeader('Audio player');
20
+ });
21
+
22
+ describe('Tabs section', () => {
23
+ abortEarlySetup();
24
+ before(() => {
25
+ cy.log('Navigating to audio player tool');
26
+ audioPlayerPage.steps.navigateToCreateResource('audio player');
27
+ });
28
+
29
+ audioPlayerPage.tests.verifyTabsSection();
30
+ });
31
+
32
+ describe('Cancel button', () => {
33
+ abortEarlySetup();
34
+ before(() => {
35
+ cy.log('Navigating to audio player tool');
36
+ audioPlayerPage.steps.navigateToCreateResource('audio player');
37
+ });
38
+
39
+ audioPlayerPage.tests.verifyCancelButton();
40
+ });
41
+
42
+ describe('Save button', () => {
43
+ abortEarlySetup();
44
+ before(() => {
45
+ cy.log('Navigating to audio player tool');
46
+ audioPlayerPage.steps.navigateToCreateResource('audio player');
47
+ });
48
+
49
+ describe('Validation error messages', () => {
50
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton();
51
+
52
+ it('Validation error message(s) should be displayed below required input field(s)', () => {
53
+ utilities.verifyElementVisibilityState(audioPlayerPage.errorMessage(), 'visible');
54
+ utilities.verifyInnerText(audioPlayerPage.errorMessage(), 'Error: Source URL is required.');
55
+ });
56
+
57
+ it('Validation error message(s) should disappear when required input field(s) are filled', () => {
58
+ audioPlayerPage.steps.enterTextInSourceURLInputField(constants.sampleMp3Link);
59
+ utilities.verifyElementVisibilityState(audioPlayerPage.errorMessage(), 'hidden');
60
+ });
61
+
62
+ audioPlayerPage.tests.verifya11yOfCreateItemWrapperContents();
63
+ });
64
+
65
+ describe('Saving a resource tool', () => {
66
+ it('When user has filled all the mandatory fields then on clicking on \'Save\' button, the resource tool should get saved and a snackbar with text \'Saved successfully!\' should be displayed', () => {
67
+ audioPlayerPage.steps.saveAQuestionAndVerifySnackbar();
68
+ });
69
+
70
+ audioPlayerPage.tests.verifySavedSuccessfullySnackbarCSSanda11y();
71
+ });
72
+ });
73
+ });
@@ -0,0 +1,302 @@
1
+ import { audioPlayerPage } from "../../../pages";
2
+ import utilities from "../../../support/helpers/utilities";
3
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
4
+ import constants from "../../../fixtures/constants";
5
+ const css = Cypress.env('css');
6
+
7
+ describe('Audio player: Preview tab', () => {
8
+ before(() => {
9
+ cy.loginAs('admin');
10
+ });
11
+
12
+ describe('Playback limit : Preview tab', () => {
13
+ abortEarlySetup();
14
+ before(() => {
15
+ cy.log('Navigating to audio player tool');
16
+ audioPlayerPage.steps.navigateToCreateResource('audio player');
17
+ audioPlayerPage.steps.clickOnAddAudioFileRadioButton();
18
+ audioPlayerPage.steps.uploadFile('uploads/sample10Sec.mp3');
19
+ });
20
+
21
+ it('When the user has not set any playback limit, no help text should be displayed in the preview tab', () => {
22
+ audioPlayerPage.steps.switchToPreviewTab();
23
+ utilities.verifyElementVisibilityState(audioPlayerPage.playbackLimitHelpText(), 'notExist');
24
+ });
25
+
26
+ it('When the user sets a playback limit, then a help text \'You have # plays remaining.\' should be displayed beside the audio player in preview tab. (# being the playback limit set by the user in the edit tab)', () => {
27
+ audioPlayerPage.steps.switchToEditTab();
28
+ audioPlayerPage.steps.setPlaybackLimit(2);
29
+ audioPlayerPage.steps.switchToPreviewTab();
30
+ utilities.verifyInnerText(audioPlayerPage.playbackLimitHelpText(), 'You have 2 plays remaining.');
31
+ utilities.verifyElementVisibilityState(audioPlayerPage.playbackLimitHelpText(), 'visible');
32
+ });
33
+
34
+ it('When user plays the audio in preview tab, play count displayed in the help text message should get updated.', () => {
35
+ audioPlayerPage.steps.startPlayback();
36
+ audioPlayerPage.steps.waitForPlaybackToBegin();
37
+ //Waiting for the playback to complete
38
+ utilities.verifyInnerText(audioPlayerPage.playbackLimitHelpText(), 'You have 1 play remaining.');
39
+ utilities.verifyElementVisibilityState(audioPlayerPage.playbackLimitHelpText(), 'visible');
40
+ });
41
+
42
+ it('CSS of message displayed below audio player and play button in preview tab', { tags: 'css' }, () => {
43
+ utilities.verifyCSS(audioPlayerPage.playbackLimitHelpText(), {
44
+ 'color': css.color.text,
45
+ 'font-size': css.fontSize.small,
46
+ 'font-weight': css.fontWeight.regular,
47
+ 'font-style': 'italic'
48
+ });
49
+ });
50
+
51
+ it('Accessibility of message displayed below audio player in preview tab', { tags: 'a11y' }, () => {
52
+ cy.checkAccessibility(audioPlayerPage.playbackLimitHelpText().parents('.audio-resource-preview-wrapper'));
53
+ });
54
+
55
+ //Failing due to https://redmine.zeuslearning.com/issues/547262
56
+ it('When user reaches maximum playback limit in preview tab, message displayed below audio player should be updated to \'You\'ve reached the playback limit for this audio clip.\' and play button should get disabled.', () => {
57
+ audioPlayerPage.steps.startPlayback();
58
+ audioPlayerPage.steps.waitForPlaybackToBegin();
59
+ //Waiting for the playback to complete
60
+ utilities.verifyInnerText(audioPlayerPage.playbackLimitHelpText(), 'You\'ve reached the playback limit for this audio clip.');
61
+ utilities.verifyElementVisibilityState(audioPlayerPage.playbackLimitHelpText(), 'visible');
62
+ audioPlayerPage.steps.verifyPlaybackPlayButtonDisabledState();
63
+ });
64
+
65
+ it('CSS of \'You\'ve reached the playback limit for this audio clip.\' message', { tags: 'css' }, () => {
66
+ utilities.verifyCSS(audioPlayerPage.playbackLimitHelpText(), {
67
+ 'color': css.color.text,
68
+ 'font-size': css.fontSize.small,
69
+ 'font-weight': css.fontWeight.regular,
70
+ 'font-style': 'italic'
71
+ });
72
+ });
73
+
74
+ it('Accessibility of \'You\'ve reached the playback limit for this audio clip.\' message and play button', { tags: 'a11y' }, () => {
75
+ cy.checkAccessibility(audioPlayerPage.playbackLimitHelpText().parents('.audio-resource-preview-wrapper'));
76
+ });
77
+
78
+ it('The playback limit should reset if the user revisits preview tab', () => {
79
+ audioPlayerPage.steps.resetQuestionPreview();
80
+ utilities.verifyInnerText(audioPlayerPage.playbackLimitHelpText(), 'You have 2 plays remaining.');
81
+ utilities.verifyElementVisibilityState(audioPlayerPage.playbackLimitHelpText(), 'visible');
82
+ });
83
+ });
84
+
85
+ //We are unable to test the download an audio functionality, have added in manual sheet
86
+ describe('Allow students to download the audio : Preview tab', () => {
87
+ abortEarlySetup();
88
+ before(() => {
89
+ cy.log('Navigating to audio player tool');
90
+ audioPlayerPage.steps.navigateToCreateResource('audio player');
91
+ audioPlayerPage.steps.clickOnAddAudioFileRadioButton();
92
+ audioPlayerPage.steps.uploadFile('uploads/sample10Sec.mp3');
93
+ audioPlayerPage.steps.switchToPreviewTab();
94
+ });
95
+
96
+ it('When the \'Allow students to download the audio\' checkbox is in unchecked state, the download button should not be displayed for the audio present in the preview tab.', () => {
97
+ utilities.verifyElementVisibilityState(audioPlayerPage.audioDownloadButton(), 'notExist')
98
+ });
99
+
100
+ it('When user checks the \'Allow students to download the audio\' checkbox, download button should be displayed for the audio present in the preview tab.', () => {
101
+ audioPlayerPage.steps.switchToEditTab()
102
+ audioPlayerPage.steps.checkUncheckAllowStudentsToDownloadAudioCheckbox();
103
+ audioPlayerPage.steps.verifyAllowStudentsToDownloadAudioCheckboxChecked();
104
+ audioPlayerPage.steps.switchToPreviewTab();
105
+ utilities.verifyElementVisibilityState(audioPlayerPage.audioDownloadButton(), 'visible')
106
+ });
107
+
108
+ it('When the user clicks on \'Download\' button, window open method should be called with target blank', () => {
109
+ audioPlayerPage.steps.verifyWindowOpenMethodAfterClickingOnDownloadAudioButton();
110
+ });
111
+
112
+ it('CSS of the download button', { tags: 'css' }, () => {
113
+ audioPlayerPage.audioDownloadButton()
114
+ .verifyPseudoClassBeforeProperty('color', css.color.activeButtons);
115
+ });
116
+
117
+ it('Accessibility of the download button', { tags: 'a11y' }, () => {
118
+ cy.checkAccessibility(audioPlayerPage.audioDownloadButton().parents('.audio-player-toolbar'))
119
+ });
120
+
121
+ it('When the user unchecks the \'Allow students to download the audio\' checkbox, the download button should not be displayed for the audio present in the preview tab.', () => {
122
+ audioPlayerPage.steps.switchToEditTab();
123
+ audioPlayerPage.steps.checkUncheckAllowStudentsToDownloadAudioCheckbox();
124
+ audioPlayerPage.steps.verifyAllowStudentsToDownloadAudioCheckboxNotChecked();
125
+ audioPlayerPage.steps.switchToPreviewTab();
126
+ utilities.verifyElementVisibilityState(audioPlayerPage.audioDownloadButton(), 'notExist')
127
+ });
128
+ });
129
+
130
+ describe('Customize UI Controls for Playback : Play', () => {
131
+ abortEarlySetup();
132
+ before(() => {
133
+ cy.log('Navigating to audio player tool');
134
+ audioPlayerPage.steps.navigateToCreateResource('audio player');
135
+ audioPlayerPage.steps.clickOnAddAudioFileRadioButton();
136
+ audioPlayerPage.steps.uploadFile('uploads/sample.mp3');
137
+ });
138
+
139
+ it('When the \'Play\' option is in selected state in the customize UI controls for playback accordion, then the play button should be enabled for audio player in the preview tab', () => {
140
+ audioPlayerPage.steps.switchToPreviewTab();
141
+ audioPlayerPage.steps.verifyPlaybackPlayButtonEnabledState();
142
+ });
143
+
144
+ it('When the \'Play\' option is deselected, then the play button should be disabled for audio player in the preview tab and user should not able to play audio from audio player', () => {
145
+ audioPlayerPage.steps.switchToEditTab();
146
+ audioPlayerPage.steps.clickOnCustomizeUIControlAccordion();
147
+ audioPlayerPage.steps.clickOnCustomizeControlPlayButton();
148
+ audioPlayerPage.steps.verifyCustomizeControlPlayButtonDeselectedState();
149
+ audioPlayerPage.steps.switchToPreviewTab();
150
+ audioPlayerPage.steps.verifyPlaybackPlayButtonDisabledState();
151
+ });
152
+ });
153
+
154
+ describe('Customize UI Controls for Playback : Pause', () => {
155
+ abortEarlySetup();
156
+ before(() => {
157
+ cy.log('Navigating to audio player tool');
158
+ audioPlayerPage.steps.navigateToCreateResource('audio player');
159
+ audioPlayerPage.steps.clickOnAddAudioFileRadioButton();
160
+ audioPlayerPage.steps.uploadFile('uploads/sample.mp3');
161
+ audioPlayerPage.steps.switchToPreviewTab();
162
+ });
163
+
164
+ it('When the \'Pause\' option is in selected state in the customize UI controls for playback accordion, on starting the playback the pause button should be displayed in enabled state in the preview tab', () => {
165
+ audioPlayerPage.steps.startPlayback();
166
+ audioPlayerPage.steps.waitForPlaybackToBegin();
167
+ utilities.verifyElementVisibilityState(audioPlayerPage.playbackPauseButton(), 'visible');
168
+ audioPlayerPage.steps.verifyPlaybackPauseButtonEnabledState();
169
+ });
170
+
171
+ it('When the \'Pause\' option is deselected, then the pause button should be disabled for audio player displayed in the preview tab and user should not able to paused audio file', () => {
172
+ audioPlayerPage.steps.switchToEditTab();
173
+ audioPlayerPage.steps.clickOnCustomizeUIControlAccordion();
174
+ audioPlayerPage.steps.clickOnCustomizeControlPauseButton();
175
+ audioPlayerPage.steps.verifyCustomizeControlPauseButtonDeselectedState();
176
+ audioPlayerPage.steps.switchToPreviewTab();
177
+ audioPlayerPage.steps.startPlayback();
178
+ audioPlayerPage.steps.waitForPlaybackToBegin();
179
+ utilities.verifyElementVisibilityState(audioPlayerPage.playbackPauseButton(), 'visible');
180
+ audioPlayerPage.steps.verifyPlaybackPauseButtonDisabledState();
181
+ });
182
+ });
183
+
184
+ describe('Customize UI Controls for Playback : Seek', () => {
185
+ let actualAudioSeekedInPercent = 50
186
+ abortEarlySetup();
187
+ before(() => {
188
+ cy.log('Navigating to audio player tool');
189
+ audioPlayerPage.steps.navigateToCreateResource('audio player');
190
+ audioPlayerPage.steps.clickOnAddAudioFileRadioButton();
191
+ audioPlayerPage.steps.uploadFile('uploads/sample.mp3');
192
+ audioPlayerPage.steps.switchToPreviewTab();
193
+ });
194
+
195
+ it('When the \'Seek\' option is in selected state in the customize UI controls for playback accordion, the progress bar slider should be displayed and user should be able to seek the audio', () => {
196
+ audioPlayerPage.steps.startPlayback();
197
+ audioPlayerPage.steps.waitForPlaybackToBegin();
198
+ utilities.verifyElementVisibilityState(audioPlayerPage.progressBarSlider(), 'visible');
199
+ audioPlayerPage.steps.verifyPlaybackProgressBarSliderEnabledState();
200
+ audioPlayerPage.steps.seekProgressBarSliderToCenter();
201
+ audioPlayerPage.steps.addWaitToPlayAudio(1000);
202
+ audioPlayerPage.steps.verifyProgressBarSliderPosition(actualAudioSeekedInPercent);
203
+ });
204
+
205
+ it('When \'Seek\' option is deselected, the progress bar should not have a slider handle and user should not be able to seek the progress bar', () => {
206
+ audioPlayerPage.steps.switchToEditTab();
207
+ audioPlayerPage.steps.clickOnCustomizeUIControlAccordion();
208
+ audioPlayerPage.steps.clickOnCustomizeControlSeekButton();
209
+ audioPlayerPage.steps.verifyCustomizeControlSeekButtonDeselectedState();
210
+ audioPlayerPage.steps.switchToPreviewTab();
211
+ audioPlayerPage.steps.startPlayback();
212
+ audioPlayerPage.steps.waitForPlaybackToBegin();
213
+ utilities.verifyElementVisibilityState(audioPlayerPage.progressBarSlider(), 'hidden');
214
+ audioPlayerPage.steps.verifyPlaybackProgressBarSliderDisabledState();
215
+ audioPlayerPage.steps.verifyProgressBarSliderWhenSeekIsDisabled();
216
+ });
217
+ });
218
+
219
+ describe('Advanced player layout settings : Timer', () => {
220
+ abortEarlySetup();
221
+ before(() => {
222
+ cy.log('Navigating to audio player tool');
223
+ audioPlayerPage.steps.navigateToCreateResource('audio player');
224
+ audioPlayerPage.steps.clickOnAddAudioFileRadioButton();
225
+ audioPlayerPage.steps.uploadFile('uploads/sample10Sec.mp3');
226
+ audioPlayerPage.steps.switchToPreviewTab();
227
+ });
228
+
229
+ it('When the timer button in advanced player layout settings accordion is in selected state, then in the audio playback player, timer should be displayed', () => {
230
+ utilities.verifyElementVisibilityState(audioPlayerPage.playbackElapsedTime(), 'visible');
231
+ utilities.verifyElementVisibilityState(audioPlayerPage.playbackTotalTime(), 'visible');
232
+ });
233
+
234
+ it('When the user switches to the edit tab and deselects the timer button, then in the audio playback player, timer should not be displayed and on starting the playback, the progress bar should continue to increment', () => {
235
+ audioPlayerPage.steps.switchToEditTab();
236
+ audioPlayerPage.steps.clickOnAdvancedPlayerSettingsAccordion();
237
+ audioPlayerPage.steps.clickOnAdvancedPlayerTimerButton();
238
+ audioPlayerPage.steps.verifyAdvancedPlayerTimerButtonDeselectedState();
239
+ audioPlayerPage.steps.switchToPreviewTab();
240
+ utilities.verifyElementVisibilityState(audioPlayerPage.playbackPlayer(), 'visible');
241
+ utilities.verifyElementVisibilityState(audioPlayerPage.playbackElapsedTime(), 'notExist');
242
+ utilities.verifyElementVisibilityState(audioPlayerPage.playbackTotalTime(), 'notExist');
243
+ audioPlayerPage.steps.startPlayback();
244
+ audioPlayerPage.steps.waitForAudioFileSrcToLoad();
245
+ utilities.verifyElementVisibilityState(audioPlayerPage.progressBarSlider(), 'visible');
246
+ audioPlayerPage.steps.addWaitToPlayAudio(3000);
247
+ audioPlayerPage.steps.verifyProgressBarSliderPosition(10);
248
+ utilities.verifyElementVisibilityState(audioPlayerPage.progressBar(), 'visible');
249
+ });
250
+ });
251
+
252
+ describe('Advanced player layout settings : Progress bar', () => {
253
+ abortEarlySetup();
254
+ before(() => {
255
+ cy.log('Navigating to audio player tool');
256
+ audioPlayerPage.steps.navigateToCreateResource('audio player');
257
+ audioPlayerPage.steps.clickOnAddAudioFileRadioButton();
258
+ audioPlayerPage.steps.uploadFile('uploads/sample10Sec.mp3');
259
+ audioPlayerPage.steps.switchToPreviewTab();
260
+ });
261
+
262
+ it('When the progress bar button in advanced player layout settings accordion is in selected state, then in the audio playback player, progress bar should be displayed', () => {
263
+ utilities.verifyElementVisibilityState(audioPlayerPage.progressBar(), 'visible');
264
+ });
265
+
266
+ it('When the user switches to the edit tab and deselects the progress bar button, then in the audio playback player, progress bar should not be displayed and on starting the playback, the timer should continue to increment', () => {
267
+ audioPlayerPage.steps.switchToEditTab();
268
+ audioPlayerPage.steps.clickOnAdvancedPlayerSettingsAccordion();
269
+ audioPlayerPage.steps.clickOnAdvancedPlayerProgressBarButton();
270
+ audioPlayerPage.steps.verifyAdvancedPlayerProgressBarButtonDeselectedState();
271
+ audioPlayerPage.steps.switchToPreviewTab();
272
+ utilities.verifyElementVisibilityState(audioPlayerPage.playbackPlayer(), 'visible');
273
+ utilities.verifyElementVisibilityState(audioPlayerPage.progressBarSlider(), 'notExist');
274
+ audioPlayerPage.steps.startPlayback();
275
+ audioPlayerPage.steps.waitForPlaybackToBegin();
276
+ audioPlayerPage.steps.verifyAudioPlaybackTimer('00:03/00:10');
277
+ });
278
+ });
279
+
280
+ describe('Advanced player layout settings : Volume control', () => {
281
+ abortEarlySetup();
282
+ before(() => {
283
+ cy.log('Navigating to audio player tool');
284
+ audioPlayerPage.steps.navigateToCreateResource('audio player');
285
+ audioPlayerPage.steps.clickOnAddAudioFileRadioButton();
286
+ audioPlayerPage.steps.uploadFile('uploads/sample.mp3');
287
+ audioPlayerPage.steps.switchToPreviewTab();
288
+ });
289
+
290
+ it('When all the advanced player options are in selected state, then in the audio playback player, volume control should be displayed', () => {
291
+ utilities.verifyElementVisibilityState(audioPlayerPage.volumeControlButton(), 'visible');
292
+ });
293
+
294
+ it('When the user switches to the edit tab and deselects the volume control button, then in the audio playback player, volume control button should not be displayed', () => {
295
+ audioPlayerPage.steps.switchToEditTab();
296
+ audioPlayerPage.steps.clickOnAdvancedPlayerVolumeControlButton();
297
+ audioPlayerPage.steps.verifyAdvancedPlayerVolumeControlButtonDeselectedState();
298
+ audioPlayerPage.steps.switchToPreviewTab();
299
+ utilities.verifyElementVisibilityState(audioPlayerPage.volumeControlButton(), 'notExist');
300
+ });
301
+ });
302
+ });