itemengine-cypress-automation 1.0.253-TEMSmokeTestUpdates-82559a5.0 → 1.0.254-UpdatedRepo4thNov-c5b0050.0
Sign up to get free protection for your applications and to get access to all the features.
- package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddFeatureRadioButton.js +231 -0
- package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddTranscriptRadioButton .js +213 -0
- package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAudioPlayerStyle.js +148 -0
- package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabStudentViewSettings.js +249 -0
- package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerHeaderSectionAndButtons.js +164 -0
- package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTab.js +444 -0
- package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabSupportedFileTypes.js +102 -0
- package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabTranscript.js +134 -0
- package/cypress/e2e/ILC/CkEditorEquationEditor/equationEditorBasicFile.js +46 -0
- package/cypress/e2e/ILC/CkEditorInsertTable/insertTableEditorBasicFile.js +98 -0
- package/cypress/e2e/ILC/CkEditorInsertTable/tableDimension&FooterProperties.js +147 -0
- package/cypress/e2e/ILC/CkEditorInsertTable/tableHeaders.js +127 -0
- package/cypress/e2e/ILC/CkEditorInsertTable/tableRowAndColumn.js +71 -0
- package/cypress/e2e/ILC/CkEditorInsertTable/tableStyle.js +154 -0
- package/cypress/e2e/ILC/Compass/compassPreviewContent.smoke.js +1 -0
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +41 -17
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/allOrNothingBasicForGroupedOptionsLayout.js +24 -12
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +47 -20
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +43 -16
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/manuallyAndNonScoredScoring.js +5 -5
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perCorrectOptionAlternativePointsGreaterThanCorrectPoints.js +52 -21
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perCorrectOptionBasic.js +23 -11
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perCorrectOptionCorrectPointsEqualToAlternativePoints.js +55 -21
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perCorrectOptionCorrectPointsGreaterThanAlternativePoints.js +53 -21
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneAlternativePointsGreaterThanCorrectPoints.js +48 -19
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneBasic.js +23 -11
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneCorrectPointsEqualToAlternativePoints.js +47 -17
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneCorrectPointsGreaterThanAlternativePoints.js +50 -19
- package/cypress/e2e/ILC/DrawingResponse/drawingResponseCustomizeAdditionalOptions.js +0 -2
- package/cypress/e2e/ILC/DrawingResponse/drawingResponseGradingViewAndCorrectAnswerViewContents.smoke.js +3 -0
- package/cypress/e2e/ILC/DrawingResponse/drawingResponsePreviewTabContents.smoke.js +0 -3
- package/cypress/e2e/ILC/EssayResponse/createCustomCategory.smoke.js +2 -1
- package/cypress/e2e/ILC/EssayResponse/equationEditor.smoke.js +4 -4
- package/cypress/e2e/ILC/EssayResponse/essayResponseCustomizeFormattingOptions4.js +261 -0
- package/cypress/e2e/ILC/EssayResponse/gradingViewAndCorrectAnswerViewContents.smoke.js +4 -2
- package/cypress/e2e/ILC/EssayResponseBasic/gradingViewAndCorrectAnswerViewContents.smoke.js +4 -2
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/responseLevelAlternateAnswerBasicScoring.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/dropzoneAlternateAnswerPopup.js +2 -2
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +5 -3
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +3 -2
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/Scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +3 -2
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/dropdownAlternateAnswerPopup.js +1 -0
- package/cypress/e2e/ILC/GridFill/customizeLayoutFillColor.js +3 -0
- package/cypress/e2e/ILC/GridFill/customizeLayoutFillImageBackgroundImage.js +15 -0
- package/cypress/e2e/ILC/GridFill/customizeLayoutSectionShadeCellsGridBorders.js +10 -0
- package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +2 -1
- package/cypress/e2e/ILC/GridFill/specifyCorrectAnswerSection.js +3 -2
- package/cypress/e2e/ILC/NumberLine/toolsAndControls.js +56 -8
- package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +1 -1
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +1 -1
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +1 -1
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsScoringBasic.js +4 -4
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +1 -1
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +1 -1
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +3 -3
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasic.js +2 -2
- package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViews.smoke.js +16 -16
- package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +4 -5
- package/cypress/e2e/ILC/TextEntryMath/customSettings.js +8 -22
- package/cypress/e2e/ILC/TextEntryMathWithImage/allOrNothingScoringForAllViews.smoke.js +19 -19
- package/cypress/e2e/ILC/TextEntryMathWithImage/backgroundImageAndCanvasProperties.js +2 -2
- package/cypress/e2e/ILC/TextEntryMathWithImage/previewTabContentsForAllViews.smoke.js +5 -5
- package/cypress/e2e/ILC/TextSelection/previewContentsForAllViews.smoke.js +1 -4
- package/cypress/e2e/ILC/ToolAudioPlayerNew/studentViewSettings.js +8 -2
- package/cypress/fixtures/theme/ilc.json +9 -5
- package/cypress/pages/components/ckEditorAudioPlayerComponent.js +615 -0
- package/cypress/pages/components/ckEditorEquationEditorComponent.js +41 -0
- package/cypress/pages/components/ckEditorInsertTableComponent.js +741 -0
- package/cypress/pages/components/essayResponseCommonComponents.js +145 -7
- package/cypress/pages/components/imageCanvasComponent.js +2 -2
- package/cypress/pages/components/index.js +2 -1
- package/cypress/pages/components/layoutSectionComponent.js +25 -4
- package/cypress/pages/components/numberLineCommonComponent.js +39 -0
- package/cypress/pages/components/optionsWrapperComponent.js +1 -1
- package/cypress/pages/components/scoringSectionBaseEditTab.js +1 -0
- package/cypress/pages/dragAndDropIntoCategoriesPage.js +28 -0
- package/cypress/pages/fillInTheGapsDragAndDropPage.js +1 -1
- package/cypress/pages/graphingPage.js +8 -8
- package/cypress/pages/gridFillPage.js +11 -11
- package/cypress/pages/multipleSelectionPage.js +12 -0
- package/cypress/pages/singleSelectionPage.js +1 -1
- package/cypress/pages/textEntryMathPage.js +18 -0
- package/cypress/pages/textEntryMathWithImagePage.js +15 -2
- package/cypress/pages/textSelectionPage.js +7 -1
- package/package.json +1 -1
@@ -0,0 +1,444 @@
|
|
1
|
+
import abortEarlySetup from "../../../support/helpers/abortEarly";
|
2
|
+
import { multipleSelectionPage } from "../../../pages";
|
3
|
+
import constants from "../../../fixtures/constants";
|
4
|
+
import utilities from "../../../support/helpers/utilities";
|
5
|
+
const css = Cypress.env('css');
|
6
|
+
|
7
|
+
describe('Audio player: Edit tab', () => {
|
8
|
+
before(() => {
|
9
|
+
cy.loginAs('admin');
|
10
|
+
});
|
11
|
+
|
12
|
+
describe('Playback limit : Preview tab', () => {
|
13
|
+
abortEarlySetup();
|
14
|
+
before(() => {
|
15
|
+
multipleSelectionPage.steps.navigateToCreateQuestion('multiple selection');
|
16
|
+
cy.barsPreLoaderWait();
|
17
|
+
multipleSelectionPage.steps.focusInQuestionInstructionsInputField();
|
18
|
+
multipleSelectionPage.steps.selectAudioPlayerOptionFromCKEditorToolbar();
|
19
|
+
multipleSelectionPage.steps.clickOnUploadAudioFileRadioButton();
|
20
|
+
multipleSelectionPage.steps.uploadFile('sampleAudio.mp3');
|
21
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.fileUploadProgressBar(), 'hidden');
|
22
|
+
multipleSelectionPage.steps.clickOnOKButton();
|
23
|
+
multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
|
24
|
+
multipleSelectionPage.steps.switchToPreviewTab();
|
25
|
+
});
|
26
|
+
|
27
|
+
it('When the user has not set any playback limit, no help text should be displayed in the preview tab', () => {
|
28
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.playbackLimitHelpText(), 'notExist');
|
29
|
+
});
|
30
|
+
|
31
|
+
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)', () => {
|
32
|
+
multipleSelectionPage.steps.switchToEditTab();
|
33
|
+
multipleSelectionPage.steps.clickOnAudioPlayerBlock();
|
34
|
+
multipleSelectionPage.steps.clickOnLimitPlayAttempts();
|
35
|
+
multipleSelectionPage.steps.setPlaybackLimit(2);
|
36
|
+
multipleSelectionPage.steps.clickOnOKButton();
|
37
|
+
multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
|
38
|
+
multipleSelectionPage.steps.switchToPreviewTab();
|
39
|
+
utilities.verifyInnerText(multipleSelectionPage.playbackLimitHelpText(), 'You have 2 plays remaining.');
|
40
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.playbackLimitHelpText(), 'visible');
|
41
|
+
});
|
42
|
+
|
43
|
+
it('When user plays the audio in preview tab, play count displayed in the help text message should get updated.', () => {
|
44
|
+
multipleSelectionPage.steps.startPlayback();
|
45
|
+
multipleSelectionPage.steps.waitForPlaybackToBegin();
|
46
|
+
//Waiting for the playback to complete
|
47
|
+
utilities.verifyInnerText(multipleSelectionPage.playbackLimitHelpText(), 'You have 1 play remaining.');
|
48
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.playbackLimitHelpText(), 'visible');
|
49
|
+
});
|
50
|
+
|
51
|
+
it('CSS of message displayed below audio player and play button in preview tab', { tags: 'css' }, () => {
|
52
|
+
utilities.verifyCSS(multipleSelectionPage.playbackLimitHelpText(), {
|
53
|
+
'color': 'rgb(0, 0, 46)',
|
54
|
+
'font-size': '12px',
|
55
|
+
'font-weight': '400'
|
56
|
+
});
|
57
|
+
multipleSelectionPage.playbackPlayButton()
|
58
|
+
.find('.audio-play-icon-wr')
|
59
|
+
.verifyPseudoClassBeforeProperty('color', 'rgb(255, 255, 255)');
|
60
|
+
});
|
61
|
+
|
62
|
+
it('Accessibility of message displayed below audio player in preview tab', { tags: 'a11y' }, () => {
|
63
|
+
cy.checkAccessibility(multipleSelectionPage.playbackPlayer());
|
64
|
+
});
|
65
|
+
|
66
|
+
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.', () => {
|
67
|
+
multipleSelectionPage.steps.startPlayback();
|
68
|
+
multipleSelectionPage.steps.waitForPlaybackToBegin();
|
69
|
+
//Waiting for the playback to complete
|
70
|
+
utilities.verifyInnerText(multipleSelectionPage.playbackLimitHelpText(), 'You\'ve reached the playback limit for this audio clip.');
|
71
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.playbackLimitHelpText(), 'visible');
|
72
|
+
multipleSelectionPage.steps.verifyPlaybackPlayButtonDisabledState();
|
73
|
+
});
|
74
|
+
|
75
|
+
it('CSS of \'You\'ve reached the playback limit for this audio clip.\' message', { tags: 'css' }, () => {
|
76
|
+
utilities.verifyCSS(multipleSelectionPage.playbackLimitHelpText(), {
|
77
|
+
'color': 'rgb(0, 0, 46)',
|
78
|
+
'font-size': '12px',
|
79
|
+
'font-weight': '400'
|
80
|
+
});
|
81
|
+
});
|
82
|
+
|
83
|
+
it('Accessibility of \'You\'ve reached the playback limit for this audio clip.\' message and play button', { tags: 'a11y' }, () => {
|
84
|
+
cy.checkAccessibility(multipleSelectionPage.playbackPlayer());
|
85
|
+
});
|
86
|
+
|
87
|
+
it('The playback limit should reset if the user revisits preview tab', () => {
|
88
|
+
multipleSelectionPage.steps.resetQuestionPreview();
|
89
|
+
utilities.verifyInnerText(multipleSelectionPage.playbackLimitHelpText(), 'You have 2 plays remaining.');
|
90
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.playbackLimitHelpText(), 'visible');
|
91
|
+
});
|
92
|
+
});
|
93
|
+
|
94
|
+
describe('Allow students to download the audio : Preview tab', () => {
|
95
|
+
abortEarlySetup();
|
96
|
+
before(() => {
|
97
|
+
multipleSelectionPage.steps.navigateToCreateQuestion('multiple selection');
|
98
|
+
cy.barsPreLoaderWait();
|
99
|
+
multipleSelectionPage.steps.focusInQuestionInstructionsInputField();
|
100
|
+
multipleSelectionPage.steps.selectAudioPlayerOptionFromCKEditorToolbar();
|
101
|
+
multipleSelectionPage.steps.clickOnUploadAudioFileRadioButton();
|
102
|
+
multipleSelectionPage.steps.uploadFile('sample.mp3');
|
103
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.fileUploadProgressBar(), 'hidden');
|
104
|
+
multipleSelectionPage.steps.clickOnOKButton();
|
105
|
+
multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
|
106
|
+
multipleSelectionPage.steps.switchToPreviewTab();
|
107
|
+
});
|
108
|
+
|
109
|
+
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.', () => {
|
110
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.playbackDownloadButton(), 'notExist');
|
111
|
+
});
|
112
|
+
|
113
|
+
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.', () => {
|
114
|
+
multipleSelectionPage.steps.switchToEditTab();
|
115
|
+
multipleSelectionPage.steps.clickOnAudioPlayerBlock();
|
116
|
+
multipleSelectionPage.steps.checkUncheckAllowStudentsToDownloadAudioCheckbox();
|
117
|
+
multipleSelectionPage.steps.verifyAllowStudentsToDownloadAudioCheckboxChecked();
|
118
|
+
multipleSelectionPage.steps.clickOnOKButton();
|
119
|
+
multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
|
120
|
+
multipleSelectionPage.steps.switchToPreviewTab();
|
121
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.playbackDownloadButton(), 'visible');
|
122
|
+
});
|
123
|
+
|
124
|
+
it('When the user hovers over the \'Download\' button, a tooltip \'Download\' should be displayed and on moving away the focus, the tooltip should disappear', () => {
|
125
|
+
multipleSelectionPage.playbackDownloadButton()
|
126
|
+
.verifyTooltip('Download audio');
|
127
|
+
});
|
128
|
+
|
129
|
+
it('When the user clicks on \'Download\' button, window open method should be called with target blank', () => {
|
130
|
+
multipleSelectionPage.steps.verifyWindowOpenMethodAfterClickingOnDownloadAudioButton();
|
131
|
+
});
|
132
|
+
|
133
|
+
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.', () => {
|
134
|
+
multipleSelectionPage.steps.switchToEditTab();
|
135
|
+
multipleSelectionPage.steps.clickOnAudioPlayerBlock();
|
136
|
+
multipleSelectionPage.steps.checkUncheckAllowStudentsToDownloadAudioCheckbox();
|
137
|
+
multipleSelectionPage.steps.verifyAllowStudentsToDownloadAudioCheckboxNotChecked();
|
138
|
+
multipleSelectionPage.steps.clickOnOKButton();
|
139
|
+
multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
|
140
|
+
multipleSelectionPage.steps.switchToPreviewTab();
|
141
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.playbackDownloadButton(), 'notExist');
|
142
|
+
});
|
143
|
+
});
|
144
|
+
|
145
|
+
describe('Customize UI Controls for Playback : Pause', () => {
|
146
|
+
abortEarlySetup();
|
147
|
+
before(() => {
|
148
|
+
multipleSelectionPage.steps.navigateToCreateQuestion('multiple selection');
|
149
|
+
cy.barsPreLoaderWait();
|
150
|
+
multipleSelectionPage.steps.focusInQuestionInstructionsInputField();
|
151
|
+
multipleSelectionPage.steps.selectAudioPlayerOptionFromCKEditorToolbar();
|
152
|
+
multipleSelectionPage.steps.clickOnUploadAudioFileRadioButton();
|
153
|
+
multipleSelectionPage.steps.uploadFile('sample.mp3');
|
154
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.fileUploadProgressBar(), 'hidden');
|
155
|
+
multipleSelectionPage.steps.clickOnOKButton();
|
156
|
+
multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
|
157
|
+
multipleSelectionPage.steps.switchToPreviewTab();
|
158
|
+
});
|
159
|
+
|
160
|
+
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', () => {
|
161
|
+
multipleSelectionPage.steps.startPlayback();
|
162
|
+
multipleSelectionPage.steps.waitForPlaybackToBegin();
|
163
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.playbackPauseButton(), 'visible');
|
164
|
+
multipleSelectionPage.steps.verifyPlaybackPauseButtonEnabledState();
|
165
|
+
});
|
166
|
+
|
167
|
+
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', () => {
|
168
|
+
multipleSelectionPage.steps.switchToEditTab();
|
169
|
+
multipleSelectionPage.steps.clickOnAudioPlayerBlock();
|
170
|
+
multipleSelectionPage.steps.clickOnCustomizeUIControlAccordion();
|
171
|
+
multipleSelectionPage.steps.clickOnCustomizeControlPauseButton();
|
172
|
+
multipleSelectionPage.steps.verifyCustomizeControlPauseButtonDeselectedState();
|
173
|
+
multipleSelectionPage.steps.clickOnOKButton();
|
174
|
+
multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
|
175
|
+
multipleSelectionPage.steps.switchToPreviewTab();
|
176
|
+
multipleSelectionPage.steps.startPlayback();
|
177
|
+
multipleSelectionPage.steps.waitForPlaybackToBegin();
|
178
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.playbackPauseButton(), 'notExist');
|
179
|
+
});
|
180
|
+
|
181
|
+
it('Accessibility of audio player in preview tab if \'Pause\' option is deselected', { tags: 'a11y' }, () => {
|
182
|
+
cy.checkAccessibility(multipleSelectionPage.playbackPlayer());
|
183
|
+
});
|
184
|
+
});
|
185
|
+
|
186
|
+
describe('Customize UI Controls for Playback : Seek', () => {
|
187
|
+
let actualAudioSeekedInPercent = 50
|
188
|
+
abortEarlySetup();
|
189
|
+
before(() => {
|
190
|
+
multipleSelectionPage.steps.navigateToCreateQuestion('multiple selection');
|
191
|
+
cy.barsPreLoaderWait();
|
192
|
+
multipleSelectionPage.steps.focusInQuestionInstructionsInputField();
|
193
|
+
multipleSelectionPage.steps.selectAudioPlayerOptionFromCKEditorToolbar();
|
194
|
+
multipleSelectionPage.steps.clickOnUploadAudioFileRadioButton();
|
195
|
+
multipleSelectionPage.steps.uploadFile('sample.mp3');
|
196
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.fileUploadProgressBar(), 'hidden');
|
197
|
+
multipleSelectionPage.steps.clickOnOKButton();
|
198
|
+
multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
|
199
|
+
multipleSelectionPage.steps.switchToPreviewTab();
|
200
|
+
});
|
201
|
+
|
202
|
+
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', () => {
|
203
|
+
multipleSelectionPage.steps.startPlayback();
|
204
|
+
multipleSelectionPage.steps.waitForPlaybackToBegin();
|
205
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.playbackSlider(), 'visible');
|
206
|
+
multipleSelectionPage.steps.verifyPlaybackProgressBarSliderEnabledState();
|
207
|
+
multipleSelectionPage.steps.seekProgressBarSliderToCenter();
|
208
|
+
multipleSelectionPage.steps.addWaitToPlayAudio(1000);
|
209
|
+
multipleSelectionPage.steps.verifyProgressBarSliderPosition(actualAudioSeekedInPercent);
|
210
|
+
});
|
211
|
+
|
212
|
+
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', () => {
|
213
|
+
multipleSelectionPage.steps.switchToEditTab();
|
214
|
+
multipleSelectionPage.steps.clickOnAudioPlayerBlock();
|
215
|
+
multipleSelectionPage.steps.clickOnCustomizeUIControlAccordion();
|
216
|
+
multipleSelectionPage.steps.clickOnCustomizeControlSeekButton();
|
217
|
+
multipleSelectionPage.steps.verifyCustomizeControlSeekButtonDeselectedState();
|
218
|
+
multipleSelectionPage.steps.clickOnOKButton();
|
219
|
+
multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
|
220
|
+
multipleSelectionPage.steps.switchToPreviewTab();
|
221
|
+
multipleSelectionPage.steps.startPlayback();
|
222
|
+
multipleSelectionPage.steps.waitForPlaybackToBegin();
|
223
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.playbackSlider(), 'hidden');
|
224
|
+
multipleSelectionPage.steps.verifyPlaybackProgressBarSliderDisabledState();
|
225
|
+
multipleSelectionPage.steps.verifyProgressBarSliderWhenSeekIsDisabled();
|
226
|
+
});
|
227
|
+
|
228
|
+
it('Accessibility of audio player in preview tab if seek button is disabled', { tags: 'a11y' }, () => {
|
229
|
+
cy.checkAccessibility(multipleSelectionPage.playbackPlayer());
|
230
|
+
});
|
231
|
+
});
|
232
|
+
|
233
|
+
describe('Controls for playback - Playback speed', () => {
|
234
|
+
const playbackSpeedOptions = ['0.5', '1', '1.25', '1.5', '1.75', '2'];
|
235
|
+
abortEarlySetup();
|
236
|
+
before(() => {
|
237
|
+
multipleSelectionPage.steps.navigateToCreateQuestion('multiple selection');
|
238
|
+
cy.barsPreLoaderWait();
|
239
|
+
multipleSelectionPage.steps.focusInQuestionInstructionsInputField();
|
240
|
+
multipleSelectionPage.steps.selectAudioPlayerOptionFromCKEditorToolbar();
|
241
|
+
multipleSelectionPage.steps.clickOnUploadAudioFileRadioButton();
|
242
|
+
multipleSelectionPage.steps.uploadFile('sample.mp3');
|
243
|
+
multipleSelectionPage.steps.clickOnOKButton();
|
244
|
+
multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
|
245
|
+
multipleSelectionPage.steps.switchToPreviewTab();
|
246
|
+
});
|
247
|
+
|
248
|
+
it('When the \'Playback speed\' option is selected, then in preview tab the playback speed button should be displayed and upon hovering the playback speed options should be displayed', () => {
|
249
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.playbackSpeedButton(), 'visible');
|
250
|
+
multipleSelectionPage.steps.realHoverOnPlaybackSpeedButton();
|
251
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.playbackSpeedOption(), 'visible');
|
252
|
+
utilities.verifyElementCount(multipleSelectionPage.playbackSpeedOption(), playbackSpeedOptions.length);
|
253
|
+
multipleSelectionPage.steps.verifyPlaybackSpeedListOptions(playbackSpeedOptions);
|
254
|
+
utilities.hoverAwayFromElement();
|
255
|
+
});
|
256
|
+
|
257
|
+
it('When the \'Playback speed\' option is not selected, then in preview tab the playback speed button should be should not be displayed', () => {
|
258
|
+
multipleSelectionPage.steps.switchToEditTab();
|
259
|
+
multipleSelectionPage.steps.clickOnAudioPlayerBlock();
|
260
|
+
multipleSelectionPage.steps.clickOnCustomizeUIControlAccordion();
|
261
|
+
multipleSelectionPage.steps.clickOnCustomizeControlPlayBackSpeedButton();
|
262
|
+
multipleSelectionPage.steps.clickOnOKButton();
|
263
|
+
multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
|
264
|
+
multipleSelectionPage.steps.switchToPreviewTab();
|
265
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.playbackSpeedButton(), 'notExist');
|
266
|
+
});
|
267
|
+
});
|
268
|
+
|
269
|
+
describe('Controls for playback - Add pin', () => {
|
270
|
+
abortEarlySetup();
|
271
|
+
before(() => {
|
272
|
+
multipleSelectionPage.steps.navigateToCreateQuestion('multiple selection');
|
273
|
+
cy.barsPreLoaderWait();
|
274
|
+
multipleSelectionPage.steps.focusInQuestionInstructionsInputField();
|
275
|
+
multipleSelectionPage.steps.selectAudioPlayerOptionFromCKEditorToolbar();
|
276
|
+
multipleSelectionPage.steps.clickOnUploadAudioFileRadioButton();
|
277
|
+
multipleSelectionPage.steps.uploadFile('sample.mp3');
|
278
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.fileUploadProgressBar(), 'hidden');
|
279
|
+
multipleSelectionPage.steps.clickOnOKButton();
|
280
|
+
multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
|
281
|
+
multipleSelectionPage.steps.switchToPreviewTab();
|
282
|
+
});
|
283
|
+
|
284
|
+
it('When the \'Add pin\' option is selected, then in preview tab the add pin button should be displayed and upon hovering tooltip \'Add pin\' should be displayed', () => {
|
285
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.addPinButton(), 'visible');
|
286
|
+
multipleSelectionPage.addPinButton()
|
287
|
+
.verifyTooltip('Add pin');
|
288
|
+
});
|
289
|
+
|
290
|
+
it('When the \'Add pin\' option is not selected, then in preview tab the add pin button should be should not be displayed', () => {
|
291
|
+
cy.log('Pre-step: Switching to Edit tab, deselecting \'Add pin\' button, switching back to Preview tab');
|
292
|
+
multipleSelectionPage.steps.switchToEditTab();
|
293
|
+
multipleSelectionPage.steps.clickOnAudioPlayerBlock();
|
294
|
+
multipleSelectionPage.steps.clickOnCustomizeUIControlAccordion();
|
295
|
+
multipleSelectionPage.steps.clickOnCustomizeControlAddPinButton();
|
296
|
+
multipleSelectionPage.steps.clickOnOKButton();
|
297
|
+
multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
|
298
|
+
multipleSelectionPage.steps.switchToPreviewTab();
|
299
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.addPinButton(), 'notExist');
|
300
|
+
});
|
301
|
+
});
|
302
|
+
|
303
|
+
describe('Controls for playback - Forward and Backward buttons', () => {
|
304
|
+
abortEarlySetup();
|
305
|
+
before(() => {
|
306
|
+
multipleSelectionPage.steps.navigateToCreateQuestion('multiple selection');
|
307
|
+
cy.barsPreLoaderWait();
|
308
|
+
multipleSelectionPage.steps.focusInQuestionInstructionsInputField();
|
309
|
+
multipleSelectionPage.steps.selectAudioPlayerOptionFromCKEditorToolbar();
|
310
|
+
multipleSelectionPage.steps.clickOnUploadAudioFileRadioButton();
|
311
|
+
multipleSelectionPage.steps.uploadFile('sample.mp3');
|
312
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.fileUploadProgressBar(), 'hidden');
|
313
|
+
multipleSelectionPage.steps.clickOnOKButton();
|
314
|
+
multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
|
315
|
+
multipleSelectionPage.steps.switchToPreviewTab();
|
316
|
+
});
|
317
|
+
|
318
|
+
it('When the \'Forward/ backward\' option is selected, then in preview tab the forward and backward button should be displayed and upon hovering tooltip \'Forward/ backward\' should be displayed', () => {
|
319
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.forwardButton(), 'visible');
|
320
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.backwardButton(), 'visible');
|
321
|
+
});
|
322
|
+
|
323
|
+
it('When the \'Forward/ backward\' option is not selected, then in preview tab the forward and backward button should be should not be displayed', () => {
|
324
|
+
cy.log('Pre-step: Switching to Edit tab, deselecting \'Forward/ backward\' button, switching back to Preview tab');
|
325
|
+
multipleSelectionPage.steps.switchToEditTab();
|
326
|
+
multipleSelectionPage.steps.clickOnAudioPlayerBlock();
|
327
|
+
multipleSelectionPage.steps.clickOnCustomizeUIControlAccordion();
|
328
|
+
multipleSelectionPage.steps.clickOnCustomizeControlForwardBackwardButton();
|
329
|
+
multipleSelectionPage.steps.clickOnOKButton();
|
330
|
+
multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
|
331
|
+
multipleSelectionPage.steps.switchToPreviewTab();
|
332
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.forwardButton(), 'notExist');
|
333
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.backwardButton(), 'notExist');
|
334
|
+
});
|
335
|
+
});
|
336
|
+
|
337
|
+
describe('Controls for playback - Volume', () => {
|
338
|
+
abortEarlySetup();
|
339
|
+
before(() => {
|
340
|
+
multipleSelectionPage.steps.navigateToCreateQuestion('multiple selection');
|
341
|
+
cy.barsPreLoaderWait();
|
342
|
+
multipleSelectionPage.steps.focusInQuestionInstructionsInputField();
|
343
|
+
multipleSelectionPage.steps.selectAudioPlayerOptionFromCKEditorToolbar();
|
344
|
+
multipleSelectionPage.steps.clickOnUploadAudioFileRadioButton();
|
345
|
+
multipleSelectionPage.steps.uploadFile('sample.mp3');
|
346
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.fileUploadProgressBar(), 'hidden');
|
347
|
+
multipleSelectionPage.steps.selectAudioPlayerStyleToggleButton('Compact');
|
348
|
+
multipleSelectionPage.steps.clickOnOKButton();
|
349
|
+
multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
|
350
|
+
multipleSelectionPage.steps.switchToPreviewTab();
|
351
|
+
});
|
352
|
+
|
353
|
+
it('In compact mode, when the \'Volume\' option is selected, then in preview tab the volume button should be displayed', () => {
|
354
|
+
multipleSelectionPage.steps.clickOnPlayButton();
|
355
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.volumeControlButton(), 'visible');
|
356
|
+
});
|
357
|
+
|
358
|
+
it('In compact mode, when the \'Volume\' option is not selected, then in preview tab the volume button should not be displayed', () => {
|
359
|
+
cy.log('Pre-step: Switching to Edit tab, deselecting \'Volume\' button, switching back to Preview tab');
|
360
|
+
multipleSelectionPage.steps.switchToEditTab();
|
361
|
+
multipleSelectionPage.steps.clickOnAudioPlayerBlock();
|
362
|
+
multipleSelectionPage.steps.selectAudioPlayerStyleToggleButton('Compact');
|
363
|
+
multipleSelectionPage.steps.clickOnCustomizeUIControlAccordion();
|
364
|
+
multipleSelectionPage.steps.clickOnCustomizeControlVolumeButton();
|
365
|
+
multipleSelectionPage.steps.clickOnOKButton();
|
366
|
+
multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
|
367
|
+
multipleSelectionPage.steps.switchToPreviewTab();
|
368
|
+
multipleSelectionPage.steps.clickOnPlayButton();
|
369
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.volumeControlButton(), 'notExist');
|
370
|
+
});
|
371
|
+
});
|
372
|
+
|
373
|
+
describe('Controls for playback - Timer', () => {
|
374
|
+
abortEarlySetup();
|
375
|
+
before(() => {
|
376
|
+
multipleSelectionPage.steps.navigateToCreateQuestion('multiple selection');
|
377
|
+
cy.barsPreLoaderWait();
|
378
|
+
multipleSelectionPage.steps.focusInQuestionInstructionsInputField();
|
379
|
+
multipleSelectionPage.steps.selectAudioPlayerOptionFromCKEditorToolbar();
|
380
|
+
multipleSelectionPage.steps.clickOnUploadAudioFileRadioButton();
|
381
|
+
multipleSelectionPage.steps.uploadFile('sample.mp3');
|
382
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.fileUploadProgressBar(), 'hidden');
|
383
|
+
multipleSelectionPage.steps.selectAudioPlayerStyleToggleButton('Compact');
|
384
|
+
multipleSelectionPage.steps.clickOnOKButton();
|
385
|
+
multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
|
386
|
+
multipleSelectionPage.steps.switchToPreviewTab();
|
387
|
+
});
|
388
|
+
|
389
|
+
it('In compact mode, when the \'Timer\' option is selected, then in preview tab the elapsed and total time should be displayed', () => {
|
390
|
+
multipleSelectionPage.steps.clickOnPlayButton();
|
391
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.playbackElapsedTime(), 'visible');
|
392
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.playbackTotalTime(), 'visible');
|
393
|
+
});
|
394
|
+
|
395
|
+
it('In compact mode, when the \'Volume\' option is not selected, then in preview tab the elapsed and total time should not be displayed', () => {
|
396
|
+
cy.log('Pre-step: Switching to Edit tab, deselecting \'Volume\' button, switching back to Preview tab');
|
397
|
+
multipleSelectionPage.steps.switchToEditTab();
|
398
|
+
multipleSelectionPage.steps.clickOnAudioPlayerBlock();
|
399
|
+
multipleSelectionPage.steps.selectAudioPlayerStyleToggleButton('Compact');
|
400
|
+
multipleSelectionPage.steps.clickOnCustomizeUIControlAccordion();
|
401
|
+
multipleSelectionPage.steps.clickOnCustomizeControlTimerButton();
|
402
|
+
multipleSelectionPage.steps.clickOnOKButton();
|
403
|
+
multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
|
404
|
+
multipleSelectionPage.steps.switchToPreviewTab();
|
405
|
+
multipleSelectionPage.steps.clickOnPlayButton();
|
406
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.playbackTime(), 'notExist');
|
407
|
+
});
|
408
|
+
});
|
409
|
+
|
410
|
+
describe('Controls for playback - Progress indicator', () => {
|
411
|
+
abortEarlySetup();
|
412
|
+
before(() => {
|
413
|
+
multipleSelectionPage.steps.navigateToCreateQuestion('multiple selection');
|
414
|
+
cy.barsPreLoaderWait();
|
415
|
+
multipleSelectionPage.steps.focusInQuestionInstructionsInputField();
|
416
|
+
multipleSelectionPage.steps.selectAudioPlayerOptionFromCKEditorToolbar();
|
417
|
+
multipleSelectionPage.steps.clickOnUploadAudioFileRadioButton();
|
418
|
+
multipleSelectionPage.steps.uploadFile('sample.mp3');
|
419
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.fileUploadProgressBar(), 'hidden');
|
420
|
+
multipleSelectionPage.steps.selectAudioPlayerStyleToggleButton('Compact');
|
421
|
+
multipleSelectionPage.steps.clickOnOKButton();
|
422
|
+
multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
|
423
|
+
multipleSelectionPage.steps.switchToPreviewTab();
|
424
|
+
});
|
425
|
+
|
426
|
+
it('In compact mode, when the \'Timer\' option is selected, then in preview tab the progress bar should be displayed', () => {
|
427
|
+
multipleSelectionPage.steps.clickOnPlayButton();
|
428
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.progressBar(), 'visible');
|
429
|
+
});
|
430
|
+
|
431
|
+
it('In compact mode, when the \'Volume\' option is not selected, then in preview tab the progress bar should not be displayed', () => {
|
432
|
+
multipleSelectionPage.steps.switchToEditTab();
|
433
|
+
multipleSelectionPage.steps.clickOnAudioPlayerBlock();
|
434
|
+
multipleSelectionPage.steps.selectAudioPlayerStyleToggleButton('Compact');
|
435
|
+
multipleSelectionPage.steps.clickOnCustomizeUIControlAccordion();
|
436
|
+
multipleSelectionPage.steps.clickOnCustomizeControlProgressBarButton();
|
437
|
+
multipleSelectionPage.steps.clickOnOKButton();
|
438
|
+
multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
|
439
|
+
multipleSelectionPage.steps.switchToPreviewTab();
|
440
|
+
multipleSelectionPage.steps.clickOnPlayButton();
|
441
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.progressBar(), 'notExist');
|
442
|
+
});
|
443
|
+
});
|
444
|
+
});
|
@@ -0,0 +1,102 @@
|
|
1
|
+
import abortEarlySetup from "../../../support/helpers/abortEarly";
|
2
|
+
import { multipleSelectionPage } from "../../../pages";
|
3
|
+
import constants from "../../../fixtures/constants";
|
4
|
+
import utilities from "../../../support/helpers/utilities";
|
5
|
+
const css = Cypress.env('css');
|
6
|
+
|
7
|
+
describe('Audio player: Edit tab', () => {
|
8
|
+
before(() => {
|
9
|
+
cy.loginAs('admin');
|
10
|
+
});
|
11
|
+
|
12
|
+
describe('Uploading all supported files via \'Source URL\' field', () => {
|
13
|
+
abortEarlySetup();
|
14
|
+
before(() => {
|
15
|
+
multipleSelectionPage.steps.navigateToCreateQuestion('multiple selection');
|
16
|
+
cy.barsPreLoaderWait();
|
17
|
+
multipleSelectionPage.steps.focusInQuestionInstructionsInputField();
|
18
|
+
multipleSelectionPage.steps.selectAudioPlayerOptionFromCKEditorToolbar();
|
19
|
+
multipleSelectionPage.steps.clickOnAddUrlRadioButton();
|
20
|
+
});
|
21
|
+
|
22
|
+
it('When user adds link of MP3 audio file, audio player should be displayed in preview tab and user should be able to play MP3 audio file.', () => {
|
23
|
+
multipleSelectionPage.steps.enterTextInSourceURLInputField(constants.sampleMp3Link);
|
24
|
+
multipleSelectionPage.steps.clickOnOKButton();
|
25
|
+
multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
|
26
|
+
multipleSelectionPage.steps.switchToPreviewTab();
|
27
|
+
multipleSelectionPage.steps.startPlayback();
|
28
|
+
multipleSelectionPage.steps.waitForPlaybackToBegin();
|
29
|
+
});
|
30
|
+
|
31
|
+
it('When user adds link of WAV audio file, audio player should be displayed in preview tab and user should be able to play WAV audio file.', () => {
|
32
|
+
multipleSelectionPage.steps.switchToEditTab();
|
33
|
+
multipleSelectionPage.steps.clickOnAudioPlayerBlock();
|
34
|
+
multipleSelectionPage.steps.clearTextInSourceURLInputField();
|
35
|
+
multipleSelectionPage.steps.enterTextInSourceURLInputField(constants.sampleWAVLink);
|
36
|
+
multipleSelectionPage.steps.clickOnOKButton();
|
37
|
+
multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
|
38
|
+
multipleSelectionPage.steps.switchToPreviewTab();
|
39
|
+
multipleSelectionPage.steps.startPlayback();
|
40
|
+
multipleSelectionPage.steps.waitForPlaybackToBegin();
|
41
|
+
});
|
42
|
+
|
43
|
+
it('When user adds link of AAC audio file, audio player should be displayed in preview tab and user should be able to play AAC audio file.', () => {
|
44
|
+
multipleSelectionPage.steps.switchToEditTab();
|
45
|
+
multipleSelectionPage.steps.clickOnAudioPlayerBlock();
|
46
|
+
multipleSelectionPage.steps.clearTextInSourceURLInputField();
|
47
|
+
multipleSelectionPage.steps.enterTextInSourceURLInputField(constants.sampleAACLink);
|
48
|
+
multipleSelectionPage.steps.clickOnOKButton();
|
49
|
+
multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
|
50
|
+
multipleSelectionPage.steps.switchToPreviewTab();
|
51
|
+
multipleSelectionPage.steps.startPlayback();
|
52
|
+
multipleSelectionPage.steps.waitForPlaybackToBegin();
|
53
|
+
});
|
54
|
+
});
|
55
|
+
|
56
|
+
describe('Uploading all supported files via \'Upload\' field', () => {
|
57
|
+
abortEarlySetup();
|
58
|
+
before(() => {
|
59
|
+
multipleSelectionPage.steps.navigateToCreateQuestion('multiple selection');
|
60
|
+
cy.barsPreLoaderWait();
|
61
|
+
multipleSelectionPage.steps.focusInQuestionInstructionsInputField();
|
62
|
+
multipleSelectionPage.steps.selectAudioPlayerOptionFromCKEditorToolbar();
|
63
|
+
multipleSelectionPage.steps.clickOnUploadAudioFileRadioButton();
|
64
|
+
});
|
65
|
+
|
66
|
+
it('When user uploads MP3 audio file, audio player should be displayed in preview tab and user should be able to play MP3 audio file.', () => {
|
67
|
+
multipleSelectionPage.steps.uploadFile('sample.mp3');
|
68
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.fileUploadProgressBar(), 'hidden');
|
69
|
+
multipleSelectionPage.steps.clickOnOKButton();
|
70
|
+
multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
|
71
|
+
multipleSelectionPage.steps.switchToPreviewTab();
|
72
|
+
multipleSelectionPage.steps.startPlayback();
|
73
|
+
multipleSelectionPage.steps.waitForPlaybackToBegin();
|
74
|
+
});
|
75
|
+
|
76
|
+
it('When user uploads WAV audio file, audio player should be displayed in preview tab and user should be able to play WAV audio file.', () => {
|
77
|
+
multipleSelectionPage.steps.switchToEditTab();
|
78
|
+
multipleSelectionPage.steps.clickOnAudioPlayerBlock();
|
79
|
+
multipleSelectionPage.steps.clickOnUploadAudioFileRadioButton();
|
80
|
+
multipleSelectionPage.steps.uploadFile('sample.wav');
|
81
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.fileUploadProgressBar(), 'hidden');
|
82
|
+
multipleSelectionPage.steps.clickOnOKButton();
|
83
|
+
multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
|
84
|
+
multipleSelectionPage.steps.switchToPreviewTab();
|
85
|
+
multipleSelectionPage.steps.startPlayback();
|
86
|
+
multipleSelectionPage.steps.waitForPlaybackToBegin();
|
87
|
+
});
|
88
|
+
|
89
|
+
it('When user uploads AAC audio file, audio player should be displayed in preview tab and user should be able to play AAC audio file.', () => {
|
90
|
+
multipleSelectionPage.steps.switchToEditTab();
|
91
|
+
multipleSelectionPage.steps.clickOnAudioPlayerBlock();
|
92
|
+
multipleSelectionPage.steps.clickOnUploadAudioFileRadioButton();
|
93
|
+
multipleSelectionPage.steps.uploadFile('sample.aac');
|
94
|
+
utilities.verifyElementVisibilityState(multipleSelectionPage.fileUploadProgressBar(), 'hidden');
|
95
|
+
multipleSelectionPage.steps.clickOnOKButton();
|
96
|
+
multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
|
97
|
+
multipleSelectionPage.steps.switchToPreviewTab();
|
98
|
+
multipleSelectionPage.steps.startPlayback();
|
99
|
+
multipleSelectionPage.steps.waitForPlaybackToBegin();
|
100
|
+
});
|
101
|
+
});
|
102
|
+
});
|