itemengine-cypress-automation 1.0.192 → 1.0.193-packageUpdated-87a683f.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. package/cypress/e2e/ILC/ImageHighlight/allOrNothingForAllViews.smoke.js +2 -1
  2. package/cypress/e2e/ILC/ImageHighlight/previewContentsForAllViews.smoke.js +1 -2
  3. package/cypress/e2e/ILC/ListOrderingDropdown/previewContentsForAllViews.smoke.js +1 -1
  4. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/previewTabContentsForAllViews.smoke.js +1 -1
  5. package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +1 -2
  6. package/cypress/e2e/ILC/UploadResponse/previewContentsForAllViews.smoke.js +7 -6
  7. package/cypress/e2e/ILC/VideoResponseNew/{customizePlaybackControlsStandardRecorderStyle.js → customizePlaybackControls.js} +4 -7
  8. package/cypress/e2e/ILC/VideoResponseNew/editTabBasicSection.js +0 -93
  9. package/cypress/e2e/ILC/VideoResponseNew/gradingViewAndCorrectAnswerViewContents.smoke.js +1 -1
  10. package/cypress/e2e/ILC/VideoResponseNew/previewContentsForAllViews.smoke.js +2 -2
  11. package/cypress/e2e/ILC/VideoResponseNew/standardRecorderStyle.js +42 -4
  12. package/cypress/fixtures/uploads/sampleVirus.zip +0 -0
  13. package/package.json +1 -1
  14. package/cypress/e2e/ILC/VideoResponseNew/compactRecorderStyle.smoke.js +0 -605
  15. package/cypress/e2e/ILC/VideoResponseNew/customizePlaybackControlsCompactRecorderStyle.js +0 -300
  16. package/cypress/e2e/ILC/VideoResponseNew/studentViewSettingsCompactRecorderStyle.js +0 -268
  17. /package/cypress/e2e/{ThirdPartyQuestions/Desmos → ILC/ThirdPartyDesmos}/desmosFourFunctionCalculatorEditTabBasicSection.js +0 -0
  18. /package/cypress/e2e/{ThirdPartyQuestions/Desmos → ILC/ThirdPartyDesmos}/desmosFourFunctionCalculatorPreviewContents.smoke.js +0 -0
  19. /package/cypress/e2e/{ThirdPartyQuestions/Desmos → ILC/ThirdPartyDesmos}/desmosGeometryToolEditTabBasicSection.js +0 -0
  20. /package/cypress/e2e/{ThirdPartyQuestions/Desmos → ILC/ThirdPartyDesmos}/desmosGeometryToolPreviewContents.smoke.js +0 -0
  21. /package/cypress/e2e/{ThirdPartyQuestions/Desmos → ILC/ThirdPartyDesmos}/desmosGraphingCalculatorEditTabBasicSection.js +0 -0
  22. /package/cypress/e2e/{ThirdPartyQuestions/Desmos → ILC/ThirdPartyDesmos}/desmosGraphingCalculatorPreviewContents.smoke.js +0 -0
  23. /package/cypress/e2e/{ThirdPartyQuestions/Desmos → ILC/ThirdPartyDesmos}/desmosMatrixCalculatorEditTabBasicSection.js +0 -0
  24. /package/cypress/e2e/{ThirdPartyQuestions/Desmos → ILC/ThirdPartyDesmos}/desmosMatrixCalculatorPreviewContents.smoke.js +0 -0
  25. /package/cypress/e2e/{ThirdPartyQuestions/Desmos → ILC/ThirdPartyDesmos}/desmosScientificCalculatorEditTabBasicSection.js +0 -0
  26. /package/cypress/e2e/{ThirdPartyQuestions/Desmos → ILC/ThirdPartyDesmos}/desmosScientificCalculatorPreviewContents.smoke.js +0 -0
  27. /package/cypress/e2e/{ThirdPartyQuestions/DesmosGraphing → ILC/ThirdPartyDesmosGraphing}/additionalSettings.js +0 -0
  28. /package/cypress/e2e/{ThirdPartyQuestions/DesmosGraphing → ILC/ThirdPartyDesmosGraphing}/editTabBasic.js +0 -0
  29. /package/cypress/e2e/{ThirdPartyQuestions/DesmosGraphing → ILC/ThirdPartyDesmosGraphing}/editTabScoring.js +0 -0
  30. /package/cypress/e2e/{ThirdPartyQuestions/DesmosGraphing → ILC/ThirdPartyDesmosGraphing}/gradingViewAndCorrectAnswerViewContents.smoke.js +0 -0
  31. /package/cypress/e2e/{ThirdPartyQuestions/DesmosGraphing → ILC/ThirdPartyDesmosGraphing}/previewTabContent.smoke.js +0 -0
  32. /package/cypress/e2e/{ThirdPartyQuestions/DesmosGraphing → ILC/ThirdPartyDesmosGraphing}/studentViewSettings.js +0 -0
  33. /package/cypress/e2e/{ThirdPartyQuestions/GeoGebra → ILC/ThirdPartyGeoGebra}/3DGraphingCalculatorEditTabBasicSection.js +0 -0
  34. /package/cypress/e2e/{ThirdPartyQuestions/GeoGebra → ILC/ThirdPartyGeoGebra}/3DGraphingCalculatorPreviewTabContents.smoke.js +0 -0
  35. /package/cypress/e2e/{ThirdPartyQuestions/GeoGebra → ILC/ThirdPartyGeoGebra}/casCalculatorEditTabBasicSection.js +0 -0
  36. /package/cypress/e2e/{ThirdPartyQuestions/GeoGebra → ILC/ThirdPartyGeoGebra}/casCalculatorPreviewTabContents.smoke.js +0 -0
  37. /package/cypress/e2e/{ThirdPartyQuestions/GeoGebra → ILC/ThirdPartyGeoGebra}/geometryCalculatorEditTabBasicSection.js +0 -0
  38. /package/cypress/e2e/{ThirdPartyQuestions/GeoGebra → ILC/ThirdPartyGeoGebra}/geometryCalculatorPreviewTabContents.smoke.js +0 -0
  39. /package/cypress/e2e/{ThirdPartyQuestions/GeoGebra → ILC/ThirdPartyGeoGebra}/graphingCalculatorEditTabBasicSection.js +0 -0
  40. /package/cypress/e2e/{ThirdPartyQuestions/GeoGebra → ILC/ThirdPartyGeoGebra}/graphingCalculatorPreviewTabContents.smoke.js +0 -0
  41. /package/cypress/e2e/{ThirdPartyQuestions/GeoGebra → ILC/ThirdPartyGeoGebra}/probablityCalculatorEditTabBasicSection.js +0 -0
  42. /package/cypress/e2e/{ThirdPartyQuestions/GeoGebra → ILC/ThirdPartyGeoGebra}/probablityCalculatorPreviewTabContents.smoke.js +0 -0
  43. /package/cypress/e2e/{ThirdPartyQuestions/GeoGebra → ILC/ThirdPartyGeoGebra}/scientificCalculatorEditTabBasicSection.js +0 -0
  44. /package/cypress/e2e/{ThirdPartyQuestions/GeoGebra → ILC/ThirdPartyGeoGebra}/scientificCalculatorPreviewTabContents.smoke.js +0 -0
  45. /package/cypress/e2e/{ThirdPartyQuestions/GeogebraActivity → ILC/ThirdPartyGeogebraActivity}/additionalSettings.js +0 -0
  46. /package/cypress/e2e/{ThirdPartyQuestions/GeogebraActivity → ILC/ThirdPartyGeogebraActivity}/editTabScoringSection.js +0 -0
  47. /package/cypress/e2e/{ThirdPartyQuestions/GeogebraActivity → ILC/ThirdPartyGeogebraActivity}/gradingViewAndCorrectAnswerViewContents.smoke.js +0 -0
  48. /package/cypress/e2e/{ThirdPartyQuestions/GeogebraActivity → ILC/ThirdPartyGeogebraActivity}/headerSection.js +0 -0
  49. /package/cypress/e2e/{ThirdPartyQuestions/GeogebraActivity → ILC/ThirdPartyGeogebraActivity}/insertResourceLink.js +0 -0
  50. /package/cypress/e2e/{ThirdPartyQuestions/GeogebraActivity → ILC/ThirdPartyGeogebraActivity}/previewTabContent.smoke.js +0 -0
  51. /package/cypress/e2e/{ThirdPartyQuestions/GeogebraActivity → ILC/ThirdPartyGeogebraActivity}/questionInstructions.js +0 -0
  52. /package/cypress/e2e/ILC/VideoResponseNew/{studentViewSettingsStandardRecorderStyle.js → studentViewSettings.js} +0 -0
@@ -1,605 +0,0 @@
1
- import { dialogBoxBase } from "../../../pages";
2
- import { videoResponsePage } from "../../../pages/videoResponsePage";
3
- import abortEarlySetup from "../../../support/helpers/abortEarly";
4
- import utilities from "../../../support/helpers/utilities";
5
- const css = Cypress.env('css');
6
- const grepTags = Cypress.env('grepTags');
7
-
8
- describe('Preview of Video response for compact recorder style', () => {
9
- before(() => {
10
- cy.loginAs('admin');
11
- });
12
-
13
- describe('Preview and Recording a video - Compact video recorder style', { tags: 'smoke' }, () => {
14
- abortEarlySetup();
15
- before(() => {
16
- videoResponsePage.steps.navigateToCreateQuestion('video response');
17
- cy.barsPreLoaderWait();
18
- videoResponsePage.steps.selectVideoRecorderStyle('Compact');
19
- videoResponsePage.steps.switchToPreviewTab();
20
- });
21
-
22
- it('If user selects \'Compact\' option from \'video recorder style\' toggle buttons, then \'Record\' button and \'Click the button to start recording...\' help text should be displayed in the preview tab', () => {
23
- utilities.verifyElementVisibilityState(videoResponsePage.recordButtonCompactPreview(), 'visible');
24
- utilities.verifyInnerText(videoResponsePage.recordButtonCompactPreview(), 'Record');
25
- utilities.verifyInnerText(videoResponsePage.recordingHelpTextCompactPreview(), 'Click the button to start recording...');
26
- utilities.verifyElementVisibilityState(videoResponsePage.recordingHelpTextCompactPreview(), 'visible');
27
- });
28
-
29
- it('CSS of Preview section', { tags: 'css' }, () => {
30
- utilities.verifyCSS(videoResponsePage.recordButtonCompactPreview().parents('button'), {
31
- 'background-color': css.color.recordingIcon,
32
- 'color': css.color.whiteText,
33
- 'font-size': css.fontSize.default,
34
- 'font-weight': css.fontWeight.semibold
35
- });
36
- utilities.verifyCSS(videoResponsePage.recordButtonCompactPreview().find('svg'), {
37
- 'fill': css.color.defaultBackground
38
- });
39
- utilities.verifyCSS(videoResponsePage.recordingHelpTextCompactPreview(), {
40
- 'color': css.color.text,
41
- 'font-size': css.fontSize.normal,
42
- 'font-weight': css.fontWeight.regular
43
- });
44
- });
45
-
46
- it('Accessibility of Preview section', { tags: 'a11y' }, () => {
47
- cy.checkAccessibility(videoResponsePage.previewTabQuestionWrapper());
48
- });
49
-
50
- it('When the user clicks on the \'Record\' button, a flyout should be displayed, a countdown should begin and help text "Preparing to record" should be displayed. The recording should start, \'Stop\' and \'Pause\' buttons should be displayed. \'Stop\' and \'Pause\' icon buttons, Total recording time, \'Recording...\' help text, timer should be displayed on the flyout. User should be able to view the duration of their recorded video in minutes, displayed as \'(min:secs / min:sec)\'.', () => {
51
- videoResponsePage.steps.startRecordingCompactPreview();
52
- utilities.verifyElementVisibilityState(videoResponsePage.recorderFlyoutCompactPreview(), 'visible');
53
- utilities.verifyElementVisibilityState(videoResponsePage.startRecordingCountDown(), 'visible');
54
- videoResponsePage.steps.verifyRecordingStatusCompactPreview('Preparing to record')
55
- utilities.verifyElementVisibilityState(videoResponsePage.stopRecordingButtonCompactPreview(), 'visible');
56
- utilities.verifyElementVisibilityState(videoResponsePage.pauseRecordingButtonCompactPreview(), 'visible');
57
- utilities.verifyElementVisibilityState(videoResponsePage.recordButtonCompactPreview(), 'notExist');
58
- videoResponsePage.steps.waitForRecordingToStartCompactPreview();
59
- utilities.verifyElementVisibilityState(videoResponsePage.stopRecordingFlyoutButton(), 'visible');
60
- utilities.verifyElementVisibilityState(videoResponsePage.pauseRecordingFlyoutButton(), 'visible');
61
- videoResponsePage.steps.verifyRecordingStatusCompactPreview('Recording...')
62
- cy.log('Waiting 2 seconds to check updated timer');
63
- videoResponsePage.steps.addWaitToRecord(2000);
64
- videoResponsePage.steps.verifyRecordingTime('00:04', '05:00');
65
- });
66
-
67
- it('CSS of \'Preview\' section once recording starts', { tags: 'css' }, () => {
68
- utilities.verifyCSS(videoResponsePage.recordingStatusIcon().find('g'), {
69
- 'fill': css.color.recordingIcon,
70
- 'stroke': css.color.defaultBackground
71
- });
72
- utilities.verifyCSS(videoResponsePage.recordingTimerCompactPreview(), {
73
- 'color': css.color.liText,
74
- 'font-size': css.fontSize.small,
75
- 'font-weight': css.fontWeight.semibold
76
- });
77
- utilities.verifyCSS(videoResponsePage.recordingStatusTextCompactPreview(), {
78
- 'color': css.color.text,
79
- 'font-size': css.fontSize.normal,
80
- 'font-weight': css.fontWeight.regular
81
- });
82
- utilities.verifyCSS(videoResponsePage.pauseRecordingButtonCompactPreview().parents('button'), {
83
- 'background-color': css.color.secondaryBtnBg,
84
- 'color': css.color.secondaryBtn,
85
- 'font-size': css.fontSize.default,
86
- 'font-weight': css.fontWeight.semibold
87
- });
88
- utilities.verifyCSS(videoResponsePage.pauseRecordingButtonCompactPreview().find('[data-name="Icon material-pause-circle-filled"]'), {
89
- 'fill': css.color.secondaryBtn
90
- });
91
- utilities.verifyCSS(videoResponsePage.stopRecordingButtonCompactPreview().parents('button'), {
92
- 'background-color': css.color.primaryBtnBg,
93
- 'color': css.color.primaryBtn,
94
- 'font-size': css.fontSize.default,
95
- 'font-weight': css.fontWeight.semibold
96
- });
97
- utilities.verifyCSS(videoResponsePage.stopRecordingButtonCompactPreview().find('path'), {
98
- 'color': css.color.defaultBackground
99
- });
100
- });
101
-
102
- it('Accessibility of Preview section once recording starts', { tags: 'a11y' }, () => {
103
- cy.checkAccessibility(videoResponsePage.previewTabQuestionWrapper());
104
- });
105
-
106
- it('When the recording is in-progress and user clicks on \'Pause\' button, recording should pause and the help text should update to \'Recording paused\'. Also the timer should display the amount of video recorded in relation to the total length of the recording. Format of timer should be \'(min:secs / min:sec)\'. Pause recording button should get replaced with Resume recording button. Resume and Stop icon buttons should be displayed in the flyout. Stop button should be displayed in preview tab', () => {
107
- videoResponsePage.steps.resetQuestionPreview();
108
- videoResponsePage.steps.startRecordingCompactPreview();
109
- videoResponsePage.steps.waitForRecordingToStartCompactPreview();
110
- videoResponsePage.steps.verifyRecordingStatusCompactPreview('Recording...');
111
- videoResponsePage.steps.addWaitToRecord(4000);
112
- videoResponsePage.steps.pauseRecordingCompactPreview();
113
- videoResponsePage.steps.verifyRecordingTimeCompactPreview('00:05', '05:00');
114
- videoResponsePage.steps.verifyRecordingStatusCompactPreview('Recording paused');
115
- utilities.verifyElementVisibilityState(videoResponsePage.resumeRecordingButtonCompactPreview(), 'visible');
116
- utilities.verifyElementVisibilityState(videoResponsePage.stopRecordingButtonCompactPreview(), 'visible');
117
- utilities.verifyElementVisibilityState(videoResponsePage.resumeRecordingFlyoutButton(), 'visible');
118
- utilities.verifyElementVisibilityState(videoResponsePage.stopRecordingFlyoutButton(), 'visible');
119
- });
120
-
121
- it('CSS of \'Preview\' section if recording is paused', { tags: 'css' }, () => {
122
- utilities.verifyCSS(videoResponsePage.resumeRecordingButtonCompactPreview().parents('button'), {
123
- 'background-color': css.color.recordingIcon,
124
- 'color': css.color.whiteText,
125
- 'font-size': css.fontSize.default,
126
- 'font-weight': css.fontWeight.semibold
127
- });
128
- utilities.verifyCSS(videoResponsePage.resumeRecordingButtonCompactPreview().find('svg'), {
129
- 'fill': css.color.defaultBackground
130
- });
131
- utilities.verifyCSS(videoResponsePage.recordingStatusTextCompactPreview(), {
132
- 'color': css.color.text,
133
- 'font-size': css.fontSize.normal,
134
- 'font-weight': css.fontWeight.regular
135
- });
136
- });
137
-
138
- it('Accessibility of Preview section if recording is paused', { tags: 'a11y' }, () => {
139
- cy.checkAccessibility(videoResponsePage.previewTabQuestionWrapper());
140
- });
141
-
142
- it('When the recorder is in paused state and the user clicks on the \'Resume recording\' button the recording should get resumed from where it was paused. Resume recording button should update to Pause button and the help text should update to "Recording...". Resume icon button should get replaced with Pause icon button in the flyout, user should be able to view the duration of their recorded video in minutes, displayed as \'(min:secs / min:sec)\'. Stop button should be displayed in preview tab.', () => {
143
- videoResponsePage.steps.resumeRecordingCompactPreview();
144
- utilities.verifyElementVisibilityState(videoResponsePage.resumeRecordingButtonCompactPreview(), 'notExist');
145
- utilities.verifyElementVisibilityState(videoResponsePage.pauseRecordingButtonCompactPreview(), 'visible');
146
- utilities.verifyElementVisibilityState(videoResponsePage.resumeRecordingFlyoutButton(), 'notExist');
147
- utilities.verifyElementVisibilityState(videoResponsePage.pauseRecordingFlyoutButton(), 'visible');
148
- videoResponsePage.steps.verifyRecordingStatusCompactPreview('Recording...');
149
- videoResponsePage.steps.addWaitToRecord(1000);
150
- videoResponsePage.steps.verifyRecordingLengthAfterResumingCompactPreview();
151
- });
152
-
153
- it('When the recording is inprogress and user clicks on \'Stop\' button, recording should stop. The recording should get saved and recorded video, progress bar, volume control, playback speed buttons should be displayed. Playback time of the recorded video should be displayed as \'(min:secs / min:sec)\'. Stop button should get replaced with Retake button and Play button should be displayed.', () => {
154
- cy.log('Pre-step: Resetting question preview and start recording again')
155
- videoResponsePage.steps.resetQuestionPreview();
156
- videoResponsePage.steps.startRecordingCompactPreview();
157
- videoResponsePage.steps.waitForRecordingToStartCompactPreview();
158
- videoResponsePage.steps.addWaitToRecord(3000);
159
- videoResponsePage.steps.stopRecordingCompactPreview();
160
- videoResponsePage.steps.verifyVideoPlaybackTimerCompactPreview('00:00', '00:04');
161
- utilities.verifyElementVisibilityState(videoResponsePage.stopRecordingButtonCompactPreview(), 'notExist');
162
- utilities.verifyElementVisibilityState(videoResponsePage.retakeButtonCompactPreview(), 'visible');
163
- utilities.verifyElementVisibilityState(videoResponsePage.playPlaybackButtonCompactPreview(), 'visible');
164
- utilities.verifyElementVisibilityState(videoResponsePage.playPlaybackFlyoutButton(), 'visible');
165
- utilities.verifyElementVisibilityState(videoResponsePage.playbackProgressBar(), 'visible');
166
- utilities.verifyElementVisibilityState(videoResponsePage.volumeControlButton(), 'visible');
167
- utilities.verifyElementVisibilityState(videoResponsePage.playbackSpeedButton(), 'visible');
168
- });
169
-
170
- it('CSS of \'Preview\' section if recording is stopped', { tags: 'css' }, () => {
171
- videoResponsePage.steps.resetQuestionPreview();
172
- videoResponsePage.steps.startRecordingCompactPreview();
173
- videoResponsePage.steps.waitForRecordingToStartCompactPreview();
174
- videoResponsePage.steps.addWaitToRecord(1000);
175
- cy.log('Waiting for 1 second pausing the recording and then clicking Stop')
176
- videoResponsePage.steps.stopRecordingCompactPreview();
177
- utilities.verifyCSS(videoResponsePage.recordingStatusTextCompactPreview(), {
178
- 'color': css.color.text,
179
- 'font-size': css.fontSize.normal,
180
- 'font-weight': css.fontWeight.regular
181
- });
182
- });
183
-
184
- it('Accessibility of Preview section if recording is stopped', { tags: 'a11y' }, () => {
185
- cy.checkAccessibility(videoResponsePage.previewTabQuestionWrapper());
186
- });
187
-
188
- it('When recording is paused and the user clicks on \'Stop\' button, recording should stop. The recording should get saved.', () => {
189
- cy.log('Pre-step: Resetting question preview and start recording again')
190
- videoResponsePage.steps.resetQuestionPreview();
191
- videoResponsePage.steps.startRecordingCompactPreview();
192
- videoResponsePage.steps.waitForRecordingToStartCompactPreview();
193
- videoResponsePage.steps.addWaitToRecord(1000);
194
- cy.log('Waiting for 1 second pausing the recording and then clicking Stop')
195
- videoResponsePage.steps.pauseRecordingCompactPreview();
196
- videoResponsePage.steps.stopRecordingCompactPreview();
197
- utilities.verifyElementVisibilityState(videoResponsePage.retakeButtonCompactPreview(), 'visible');
198
- utilities.verifyElementVisibilityState(videoResponsePage.playPlaybackButtonCompactPreview(), 'visible');
199
- });
200
-
201
- it('When recording is inprogress, recording should stop at maximum recording duration and \'Stop\' button should get replaced with Retake button. Playback button should be displayed in enabled state.', () => {
202
- cy.log('Pre-step: Switch to edit tab and set maximum recording duration to 10 secs')
203
- videoResponsePage.steps.switchToEditTab();
204
- videoResponsePage.steps.setMaximumRecordingDuration(40);
205
- videoResponsePage.steps.switchToPreviewTab();
206
- videoResponsePage.steps.startRecordingCompactPreview();
207
- videoResponsePage.steps.waitForRecordingToStartCompactPreview();
208
- videoResponsePage.steps.addWaitToRecord(39000);
209
- cy.log('Starting a recording and letting it record until maximum recording duration is reached');
210
- videoResponsePage.steps.verifyVideoPlaybackTimerCompactPreview('00:00', '00:40');
211
- utilities.verifyElementVisibilityState(videoResponsePage.stopRecordingButtonCompactPreview(), 'notExist');
212
- utilities.verifyElementVisibilityState(videoResponsePage.retakeButtonCompactPreview(), 'visible');
213
- utilities.verifyElementVisibilityState(videoResponsePage.playPlaybackButtonCompactPreview(), 'visible');
214
- });
215
-
216
- it('When the user updates maximum recorder length the recording should stop at the updated recorder length', () => {
217
- cy.log('Pre-step : Switching to edit tab, updating maximum recorder length and switching back to preview tab to reset the recording');
218
- videoResponsePage.steps.switchToEditTab();
219
- videoResponsePage.steps.setMaximumRecordingDuration(30);
220
- videoResponsePage.steps.switchToPreviewTab();
221
- videoResponsePage.steps.startRecordingCompactPreview();
222
- videoResponsePage.steps.waitForRecordingToStartCompactPreview();
223
- videoResponsePage.steps.addWaitToRecord(29000);
224
- cy.log('Starting a recording and letting it record until maximum recording duration is reached');
225
- videoResponsePage.steps.verifyVideoPlaybackTimerCompactPreview('00:00', '00:30')
226
- cy.log('Switching to Edit tab to prevent browser level alert window from appearing');
227
- videoResponsePage.steps.switchToEditTab();
228
- });
229
- });
230
-
231
- describe('Recording a video using flyout buttons - Compact video recorder style', { tags: 'smoke' }, () => {
232
- abortEarlySetup();
233
- before(() => {
234
- videoResponsePage.steps.navigateToCreateQuestion('video response');
235
- cy.barsPreLoaderWait();
236
- videoResponsePage.steps.selectVideoRecorderStyle('Compact');
237
- videoResponsePage.steps.switchToPreviewTab();
238
- });
239
-
240
- it('When the recording is in-progress and user clicks on \'Pause\' icon button in the video recorder flyout, recording should pause and the help text should update to \'Recording paused\'. Also the timer should display the amount of video recorded in relation to the total length of the recording. Format of timer should be \'(min:secs / min:sec)\'. Pause recording button should get replaced with Resume recording button. Resume and Stop icon buttons should be displayed in the flyout. Stop button should be displayed in preview tab', () => {
241
- videoResponsePage.steps.startRecordingCompactPreview();
242
- videoResponsePage.steps.waitForRecordingToStartCompactPreview();
243
- videoResponsePage.steps.verifyRecordingStatusCompactPreview('Recording...');
244
- videoResponsePage.steps.addWaitToRecord(4000);
245
- videoResponsePage.steps.pauseRecordingFlyoutButtonCompactPreview();
246
- videoResponsePage.steps.verifyRecordingTimeCompactPreview('00:05', '05:00');
247
- videoResponsePage.steps.verifyRecordingStatusCompactPreview('Recording paused');
248
- utilities.verifyElementVisibilityState(videoResponsePage.resumeRecordingButtonCompactPreview(), 'visible');
249
- utilities.verifyElementVisibilityState(videoResponsePage.stopRecordingButtonCompactPreview(), 'visible');
250
- utilities.verifyElementVisibilityState(videoResponsePage.resumeRecordingFlyoutButton(), 'visible');
251
- utilities.verifyElementVisibilityState(videoResponsePage.stopRecordingFlyoutButton(), 'visible');
252
- });
253
-
254
- it('When the recorder is in paused state and the user clicks on the \'Resume recording\' icon button in the video recorder flyout, the recording should get resumed from where it was paused. Resume recording button should update to Pause button and the help text should update to "Recording...". Resume icon button should get replaced with Pause icon button in the flyout, user should be able to view the duration of their recorded video in minutes, displayed as \'(min:secs / min:sec)\'. Stop button should be displayed in preview tab.', () => {
255
- videoResponsePage.steps.resumeRecordingFlyoutButtonCompactPreview();
256
- utilities.verifyElementVisibilityState(videoResponsePage.resumeRecordingButtonCompactPreview(), 'notExist');
257
- utilities.verifyElementVisibilityState(videoResponsePage.pauseRecordingButtonCompactPreview(), 'visible');
258
- utilities.verifyElementVisibilityState(videoResponsePage.resumeRecordingFlyoutButton(), 'notExist');
259
- utilities.verifyElementVisibilityState(videoResponsePage.pauseRecordingFlyoutButton(), 'visible');
260
- videoResponsePage.steps.verifyRecordingStatusCompactPreview('Recording...');
261
- videoResponsePage.steps.addWaitToRecord(1000);
262
- videoResponsePage.steps.verifyRecordingLengthAfterResumingCompactPreview();
263
- });
264
-
265
- it('When the recording is inprogress and user clicks on \'Stop\' icon button in the video recorder flyout, recording should stop. The recording should get saved and recorded video, progress bar, volume control, playback speed buttons should be displayed. Playback time of the recorded video should be displayed as \'(min:secs / min:sec)\'. Stop button should get replaced with Retake button and Play button should be displayed.', () => {
266
- cy.log('Pre-step: Resetting question preview and start recording again')
267
- videoResponsePage.steps.resetQuestionPreview();
268
- videoResponsePage.steps.startRecordingCompactPreview();
269
- videoResponsePage.steps.waitForRecordingToStartCompactPreview();
270
- videoResponsePage.steps.addWaitToRecord(3000);
271
- videoResponsePage.steps.stopRecordingFlyoutButtonCompactPreview();
272
- videoResponsePage.steps.verifyVideoPlaybackTimerCompactPreview('00:00', '00:04');
273
- utilities.verifyElementVisibilityState(videoResponsePage.stopRecordingButtonCompactPreview(), 'notExist');
274
- utilities.verifyElementVisibilityState(videoResponsePage.retakeButtonCompactPreview(), 'visible');
275
- utilities.verifyElementVisibilityState(videoResponsePage.playPlaybackButtonCompactPreview(), 'visible');
276
- utilities.verifyElementVisibilityState(videoResponsePage.playPlaybackFlyoutButton(), 'visible');
277
- utilities.verifyElementVisibilityState(videoResponsePage.playbackProgressBar(), 'visible');
278
- utilities.verifyElementVisibilityState(videoResponsePage.volumeControlButton(), 'visible');
279
- utilities.verifyElementVisibilityState(videoResponsePage.playbackSpeedButton(), 'visible');
280
- });
281
- });
282
-
283
- describe('Playback player : Default state', { tags: 'smoke' }, () => {
284
- abortEarlySetup();
285
- before(() => {
286
- videoResponsePage.steps.navigateToCreateQuestion('video response');
287
- cy.barsPreLoaderWait();
288
- videoResponsePage.steps.selectVideoRecorderStyle('Compact');
289
- videoResponsePage.steps.switchToPreviewTab();
290
- videoResponsePage.steps.recordAndSaveVideoCompactPreview(5000);
291
- });
292
-
293
- it('When a recording is saved, A video player with \'Retake recording\' button, \'Play\' button and progress bar should be displayed. User should be able to view the duration of their recorded video in minutes, displayed as \'(min:secs)\'. Volume control and Playback speed buttons should be displayed', () => {
294
- utilities.verifyElementVisibilityState(videoResponsePage.retakeButtonCompactPreview(), 'visible');
295
- utilities.verifyElementVisibilityState(videoResponsePage.playPlaybackButtonCompactPreview(), 'visible');
296
- utilities.verifyElementVisibilityState(videoResponsePage.retakeFlyoutButton(), 'visible');
297
- utilities.verifyElementVisibilityState(videoResponsePage.playPlaybackFlyoutButton(), 'visible');
298
- utilities.verifyElementVisibilityState(videoResponsePage.volumeControlButton(), 'visible');
299
- utilities.verifyElementVisibilityState(videoResponsePage.playbackSpeedButton(), 'visible');
300
- utilities.verifyElementVisibilityState(videoResponsePage.playbackProgressBar(), 'visible');
301
- utilities.verifyElementVisibilityState(videoResponsePage.playbackTimeCompactPreview(), 'visible');
302
- videoResponsePage.steps.verifyVideoPlaybackTimerCompactPreview('00:00', '00:05');
303
- });
304
-
305
- it('The progress bar should have a slider so that user can click/drag to seek the video.', () => {
306
- utilities.verifyElementVisibilityState(videoResponsePage.progressBarSlider(), 'exist');
307
- });
308
-
309
- it('CSS of compact recorder style playback player', { tags: 'css' }, () => {
310
- utilities.verifyCSS(videoResponsePage.retakeButtonCompactPreview().parents('button'), {
311
- 'background-color': css.color.recordingIcon,
312
- 'color': css.color.whiteText,
313
- 'font-size': css.fontSize.default,
314
- 'font-weight': css.fontWeight.semibold
315
- });
316
- utilities.verifyCSS(videoResponsePage.retakeButtonCompactPreview().parents('button').find('svg'), {
317
- 'fill': css.color.defaultBackground
318
- });
319
- utilities.verifyCSS(videoResponsePage.playbackTimeCompactPreview(), {
320
- 'color': css.color.liText,
321
- 'font-size': css.fontSize.small,
322
- 'font-weight': css.fontWeight.semibold
323
- });
324
- utilities.verifyCSS(videoResponsePage.playbackProgressBar().find('.MuiSlider-thumbSizeMedium'), {
325
- 'background-color': css.color.activeButtons
326
- });
327
- utilities.verifyCSS(videoResponsePage.playbackProgressBar().find('.MuiSlider-rail'), {
328
- 'border': `1px solid ${css.color.activeButtons}`
329
- });
330
- utilities.verifyCSS(videoResponsePage.volumeControlButton().find('[data-name="compact-volume-icon"]'), {
331
- 'fill': css.color.activeButtons
332
- });
333
- utilities.verifyCSS(videoResponsePage.playbackSpeedButton().find('[id="playback-speed"] path'), {
334
- 'fill': css.color.activeButtons
335
- });
336
- });
337
-
338
- it('Accessibility of playback player - default state', { tags: 'a11y' }, () => {
339
- cy.checkAccessibility(videoResponsePage.previewTabQuestionWrapper());
340
- });
341
- });
342
-
343
- if (!grepTags || !grepTags.includes('smoke')) {
344
- describe('Playback player : Play, pause and seek', () => {
345
- let actualVideoSeekedInPercent = 50
346
- abortEarlySetup();
347
- before(() => {
348
- videoResponsePage.steps.navigateToCreateQuestion('video response');
349
- cy.barsPreLoaderWait();
350
- videoResponsePage.steps.selectVideoRecorderStyle('Compact');
351
- videoResponsePage.steps.switchToPreviewTab();
352
- videoResponsePage.steps.recordAndSaveVideoCompactPreview(10000);
353
- });
354
-
355
- it('When the user clicks on \'Play\' button, then the video should start playing. Timer should display the amount of video that has been played and the total video length in (mm:ss)/(mm:ss) format.', () => {
356
- videoResponsePage.steps.startPlaybackCompactPreview();
357
- videoResponsePage.steps.waitForPlaybackToBeginCompactPreview();
358
- videoResponsePage.steps.verifyVideoPlaybackTimerCompactPreview('00:03', '00:10');
359
- });
360
-
361
- it('CSS of \'Preview\' section if playback is initiated', { tags: 'css' }, () => {
362
- utilities.verifyCSS(videoResponsePage.playbackTimeCompactPreview(), {
363
- 'color': css.color.liText,
364
- 'font-size': css.fontSize.small,
365
- 'font-weight': css.fontWeight.semibold
366
- });
367
- utilities.verifyCSS(videoResponsePage.playPlaybackButtonCompactPreview().parents('button'), {
368
- 'background-color': css.color.transparent,
369
- 'color': css.color.secondaryBtn,
370
- 'font-size': css.fontSize.default,
371
- 'font-weight': css.fontWeight.semibold
372
- });
373
- utilities.verifyCSS(videoResponsePage.playPlaybackButtonCompactPreview().parents('button').find('svg'), {
374
- 'fill': css.color.secondaryBtn
375
- });
376
- utilities.verifyCSS(videoResponsePage.retakeButtonCompactPreview(), {
377
- 'background-color': css.color.recordingIcon,
378
- 'color': css.color.whiteText,
379
- 'font-size': css.fontSize.default,
380
- 'font-weight': css.fontWeight.semibold
381
- });
382
- utilities.verifyCSS(videoResponsePage.retakeButtonCompactPreview().find('svg path'), {
383
- 'fill': css.color.defaultBackground
384
- });
385
- });
386
-
387
- it('Accessibility of \'Preview\' section if playback is initiated', { tags: 'a11y' }, () => {
388
- cy.checkAccessibility(videoResponsePage.previewTabQuestionWrapper());
389
- });
390
-
391
- it('When the video 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', () => {
392
- videoResponsePage.steps.resetQuestionPreview();
393
- videoResponsePage.steps.recordAndSaveVideoCompactPreview(10000);
394
- videoResponsePage.steps.startPlaybackCompactPreview();
395
- videoResponsePage.steps.waitForPlaybackToBeginCompactPreview();
396
- videoResponsePage.steps.verifyVideoPlaybackTimerCompactPreview('00:05', '00:10');
397
- videoResponsePage.steps.pauseAndVerifyProgressBarSliderPositionCompactPreview();
398
- videoResponsePage.steps.verifyVideoPlaybackTimerCompactPreview('00:05', '00:10');
399
- utilities.verifyElementVisibilityState(videoResponsePage.playPlaybackButtonCompactPreview(), 'visible');
400
- utilities.verifyElementVisibilityState(videoResponsePage.pausePlaybackButtonCompactPreview(), 'notExist');
401
- utilities.verifyElementVisibilityState(videoResponsePage.playPlaybackFlyoutButton(), 'visible');
402
- utilities.verifyElementVisibilityState(videoResponsePage.pausePlaybackFlyoutButton(), 'notExist');
403
- });
404
-
405
- it('CSS of \'Preview\' section if playback is paused', { tags: 'css' }, () => {
406
- utilities.verifyCSS(videoResponsePage.playPlaybackButtonCompactPreview().parents('button'), {
407
- 'background-color': css.color.secondaryBtnBg,
408
- 'color': css.color.secondaryBtn,
409
- 'font-size': css.fontSize.default,
410
- 'font-weight': css.fontWeight.semibold
411
- });
412
- utilities.verifyCSS(videoResponsePage.playPlaybackButtonCompactPreview().parents('button').find('svg'), {
413
- 'stroke': css.color.secondaryBtnActive
414
- });
415
- });
416
-
417
- it('Accessibility of \'Preview\' section if if playback is paused', { tags: 'a11y' }, () => {
418
- cy.checkAccessibility(videoResponsePage.previewTabQuestionWrapper());
419
- });
420
-
421
- it('When video 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.', () => {
422
- videoResponsePage.steps.startPlaybackCompactPreview();
423
- utilities.verifyElementVisibilityState(videoResponsePage.pausePlaybackButtonCompactPreview(), 'visible');
424
- utilities.verifyElementVisibilityState(videoResponsePage.playPlaybackButtonCompactPreview(), 'notExist');
425
- utilities.verifyElementVisibilityState(videoResponsePage.pausePlaybackFlyoutButton(), 'visible');
426
- utilities.verifyElementVisibilityState(videoResponsePage.playPlaybackFlyoutButton(), 'notExist');
427
- });
428
-
429
- it('When the user seeks the progress bar slider while the video is playing, then the video should continue to play from the position where the slider is seeked', () => {
430
- videoResponsePage.steps.seekProgressBarSliderToCenter();
431
- videoResponsePage.steps.verifyProgressBarSliderPosition(actualVideoSeekedInPercent);
432
- });
433
-
434
- it('When the user seeks the progress bar slider while the video is paused, then the video playback should be in paused state and on playing the video, then the video should play from the position where the slider is seeked', () => {
435
- videoResponsePage.steps.pausePlaybackCompactPreview();
436
- videoResponsePage.steps.seekProgressBarSliderToCenter();
437
- videoResponsePage.steps.startPlaybackCompactPreview();
438
- videoResponsePage.steps.verifyProgressBarSliderPosition(actualVideoSeekedInPercent);
439
- });
440
-
441
- it('When the video playback is completed, the \'Pause\' button should get replaced with \'Play\' button', () => {
442
- videoResponsePage.steps.verifyVideoPlaybackTimerCompactPreview('00:10', '00:10');
443
- utilities.verifyElementVisibilityState(videoResponsePage.playPlaybackButtonCompactPreview(), 'visible');
444
- utilities.verifyElementVisibilityState(videoResponsePage.pausePlaybackButtonCompactPreview(), 'notExist');
445
- videoResponsePage.steps.verifyProgressBarSliderPosition(99);
446
- });
447
-
448
- it('CSS of progress bar in hover state', { tags: 'css' }, () => {
449
- videoResponsePage.steps.hoverOnProgressBarSlider();
450
- utilities.verifyCSS(videoResponsePage.progressBarSlider().parents('span[class*="MuiSlider-thumb"]'), {
451
- 'box-shadow': `${css.color.progressBarSliderHoverBackground} 0px 0px 0px 8px`
452
- });
453
- });
454
- });
455
-
456
- describe('Playback player : Play, pause video using flyout buttons', () => {
457
- abortEarlySetup();
458
- before(() => {
459
- videoResponsePage.steps.navigateToCreateQuestion('video response');
460
- cy.barsPreLoaderWait();
461
- videoResponsePage.steps.selectVideoRecorderStyle('Compact');
462
- videoResponsePage.steps.switchToPreviewTab();
463
- videoResponsePage.steps.recordAndSaveVideoCompactPreview(10000);
464
- });
465
-
466
- it('When the user clicks on \'Play\' button, then the video should start playing. Timer should display the amount of video that has been played and the total video length in (mm:ss)/(mm:ss) format.', () => {
467
- videoResponsePage.steps.startPlaybackFlyoutButtonCompactPreview();
468
- videoResponsePage.steps.waitForPlaybackToBeginCompactPreview();
469
- videoResponsePage.steps.verifyVideoPlaybackTimerCompactPreview('00:03', '00:10');
470
- });
471
-
472
- it('When the video 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', () => {
473
- videoResponsePage.steps.resetQuestionPreview();
474
- videoResponsePage.steps.recordAndSaveVideoCompactPreview(10000);
475
- videoResponsePage.steps.startPlaybackFlyoutButtonCompactPreview();
476
- videoResponsePage.steps.waitForPlaybackToBeginCompactPreview();
477
- videoResponsePage.steps.verifyVideoPlaybackTimerCompactPreview('00:05', '00:10');
478
- videoResponsePage.steps.pausePlaybackFlyoutButtonCompactPreview();
479
- videoResponsePage.steps.verifyVideoPlaybackTimerCompactPreview('00:05', '00:10');
480
- utilities.verifyElementVisibilityState(videoResponsePage.playPlaybackButtonCompactPreview(), 'visible');
481
- utilities.verifyElementVisibilityState(videoResponsePage.pausePlaybackButtonCompactPreview(), 'notExist');
482
- utilities.verifyElementVisibilityState(videoResponsePage.playPlaybackFlyoutButton(), 'visible');
483
- utilities.verifyElementVisibilityState(videoResponsePage.pausePlaybackFlyoutButton(), 'notExist');
484
- });
485
-
486
- it('When video 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.', () => {
487
- videoResponsePage.steps.startPlaybackFlyoutButtonCompactPreview();
488
- utilities.verifyElementVisibilityState(videoResponsePage.pausePlaybackButtonCompactPreview(), 'visible');
489
- utilities.verifyElementVisibilityState(videoResponsePage.playPlaybackButtonCompactPreview(), 'notExist');
490
- utilities.verifyElementVisibilityState(videoResponsePage.pausePlaybackFlyoutButton(), 'visible');
491
- utilities.verifyElementVisibilityState(videoResponsePage.playPlaybackFlyoutButton(), 'notExist');
492
- });
493
- });
494
-
495
- describe('Playback player : Volume control', () => {
496
- abortEarlySetup();
497
- before(() => {
498
- videoResponsePage.steps.navigateToCreateQuestion('video response');
499
- cy.barsPreLoaderWait();
500
- videoResponsePage.steps.selectVideoRecorderStyle('Compact');
501
- videoResponsePage.steps.switchToPreviewTab();
502
- videoResponsePage.steps.recordAndSaveVideoCompactPreview(10000);
503
- });
504
-
505
- videoResponsePage.tests.verifyVolumeControlFunctionality();
506
- });
507
-
508
- describe('Playback player : Playback speed', () => {
509
- const playbackSpeedOptions = ['1x', '1.25x', '1.5x', '2x'];
510
- const playbackSpeedMultiplier = [1, 1.25, 1.5, 2];
511
- abortEarlySetup();
512
- before(() => {
513
- videoResponsePage.steps.navigateToCreateQuestion('video response');
514
- cy.barsPreLoaderWait();
515
- videoResponsePage.steps.selectVideoRecorderStyle('Compact');
516
- videoResponsePage.steps.switchToPreviewTab();
517
- videoResponsePage.steps.recordAndSaveVideoCompactPreview(10000);
518
- });
519
-
520
- videoResponsePage.tests.verifyPlaybackSpeedContents(playbackSpeedMultiplier);
521
-
522
- for (let index = 0; index < playbackSpeedOptions.length; index++) {
523
- it(`When the user selects playback speed option ${playbackSpeedOptions[index]}, the video playback speed should be changed accordingly`, () => {
524
- videoResponsePage.steps.resetQuestionPreview();
525
- videoResponsePage.steps.recordAndSaveVideoCompactPreview(12000);
526
- utilities.hoverOverElement(videoResponsePage.playbackSpeedButton());
527
- videoResponsePage.steps.selectPlaybackSpeed(`${playbackSpeedOptions[index]}`);
528
- videoResponsePage.steps.startPlaybackCompactPreview();
529
- videoResponsePage.steps.waitForPlaybackToBeginCompactPreview();
530
- videoResponsePage.steps.addWaitToPlayVideo(4000);
531
- videoResponsePage.steps.pausePlaybackCompactPreview();
532
- videoResponsePage.steps.verifyPlaybackElapsedTime(1 + (4 * playbackSpeedMultiplier[index]), 'Compact');
533
- });
534
- };
535
- });
536
-
537
- describe('Playback player : Retake my video response', () => {
538
- abortEarlySetup();
539
- before(() => {
540
- videoResponsePage.steps.navigateToCreateQuestion('video response');
541
- cy.barsPreLoaderWait();
542
- videoResponsePage.steps.selectVideoRecorderStyle('Compact');
543
- videoResponsePage.steps.switchToPreviewTab();
544
- videoResponsePage.steps.recordAndSaveVideoCompactPreview(10000);
545
- });
546
-
547
- it('When the user clicks on \'Retake\' button, \'Retake\' popup should be displayed along with \'Are you sure you want to overwrite the existing video recording?\' message', () => {
548
- videoResponsePage.steps.retakeRecordingCompactPreview();
549
- utilities.verifyInnerText(dialogBoxBase.dialogBoxTitle(), 'Retake');
550
- videoResponsePage.steps.verifyRetakePopupContents();
551
- });
552
-
553
- videoResponsePage.tests.verifyRetakePopupCSSAndA11y();
554
-
555
- it('When the user clicks on \'Cancel\' button, \'Retake\' popup should close and previous state of playback player should persist', () => {
556
- videoResponsePage.steps.cancelRetake();
557
- utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'notExist');
558
- utilities.verifyElementVisibilityState(videoResponsePage.retakeButtonCompactPreview(), 'visible');
559
- utilities.verifyElementVisibilityState(videoResponsePage.playPlaybackButtonCompactPreview(), 'visible');
560
- videoResponsePage.steps.verifyVideoPlaybackTimerCompactPreview('00:00', '00:10');
561
- });
562
-
563
- it('When the user clicks on Confirm button of the retake popup, the previous recording should get deleted and a new recording should begin', () => {
564
- videoResponsePage.steps.retakeRecordingCompactPreview();
565
- videoResponsePage.steps.confirmRetake();
566
- videoResponsePage.steps.verifyRecordingTimeCompactPreview('00:04', '05:00');
567
- utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'notExist');
568
- videoResponsePage.steps.verifyRecordingStatusCompactPreview('Recording...');
569
- });
570
- });
571
-
572
- describe('Playback player : Retake my video response using flyout buttons', () => {
573
- abortEarlySetup();
574
- before(() => {
575
- videoResponsePage.steps.navigateToCreateQuestion('video response');
576
- cy.barsPreLoaderWait();
577
- videoResponsePage.steps.selectVideoRecorderStyle('Compact');
578
- videoResponsePage.steps.switchToPreviewTab();
579
- videoResponsePage.steps.recordAndSaveVideoCompactPreview(10000);
580
- });
581
-
582
- it('When the user clicks on \'Retake\' button, \'Retake\' popup should be displayed along with \'Are you sure you want to overwrite the existing video recording?\' message', () => {
583
- videoResponsePage.steps.retakeRecordingFlyoutButtonCompactPreview();
584
- utilities.verifyInnerText(dialogBoxBase.dialogBoxTitle(), 'Retake');
585
- videoResponsePage.steps.verifyRetakePopupContents();
586
- });
587
-
588
- it('When the user clicks on \'Cancel\' button, \'Retake\' popup should close and previous state of playback player should persist', () => {
589
- videoResponsePage.steps.cancelRetake();
590
- utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'notExist');
591
- utilities.verifyElementVisibilityState(videoResponsePage.retakeButtonCompactPreview(), 'visible');
592
- utilities.verifyElementVisibilityState(videoResponsePage.playPlaybackButtonCompactPreview(), 'visible');
593
- videoResponsePage.steps.verifyVideoPlaybackTimerCompactPreview('00:00', '00:10');
594
- });
595
-
596
- it('When the user clicks on Confirm button of the retake popup, the previous recording should get deleted and a new recording should begin', () => {
597
- videoResponsePage.steps.retakeRecordingFlyoutButtonCompactPreview();
598
- videoResponsePage.steps.confirmRetake();
599
- videoResponsePage.steps.verifyRecordingTimeCompactPreview('00:04', '05:00');
600
- utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'notExist');
601
- videoResponsePage.steps.verifyRecordingStatusCompactPreview('Recording...');
602
- });
603
- });
604
- };
605
- });