itemengine-cypress-automation 1.0.115 → 1.0.116

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. package/cypress/e2e/ILC/AudioResponseNew/{barRecorderStyle.js → barRecorderStyle.smoke.js} +181 -179
  2. package/cypress/e2e/ILC/AudioResponseNew/{compactRecorderStyle.js → compactRecorderStyle.smoke.js} +178 -177
  3. package/cypress/e2e/ILC/AudioResponseNew/editTabBasicSection.js +2 -1
  4. package/cypress/e2e/ILC/AudioResponseNew/{standardRecorderStyle.js → standardRecorderStyle.smoke.js} +197 -195
  5. package/cypress/e2e/ILC/AudioResponseNew/studentViewSettings.js +3 -3
  6. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/clickAndDrop.js +5 -5
  7. package/cypress/e2e/ILC/DrawingResponse/drawingResponseAdditionalSettings.js +17 -17
  8. package/cypress/e2e/ILC/DrawingResponse/{drawingResponsePreviewTabContents.js → drawingResponsePreviewTabContents.smoke.js} +3 -3
  9. package/cypress/e2e/ILC/EssayResponse/gradingViewAndCorrectAnswerViewContents.smoke.js +1 -0
  10. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +0 -1
  11. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +0 -1
  12. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +0 -1
  13. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/allOrNothingPenaltyScoring.js +0 -1
  14. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/manuallyAndNonScored.js +1 -3
  15. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +0 -1
  16. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/partialDifferentWeightsBasic.js +0 -3
  17. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +0 -1
  18. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +0 -1
  19. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/partialEqualWeightsBasic.js +1 -4
  20. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +0 -1
  21. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +0 -1
  22. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +0 -1
  23. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/allOrNothingForAllView.smoke.js +0 -3
  24. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/checkAnswerFunctionalityForAllViews.smoke.js +0 -1
  25. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editTabScoringSection.js +276 -0
  26. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/previewContentsForAllViews.smoke.js +0 -1
  27. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/specifyCorrectAnswerSection.js +73 -0
  28. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +1 -1
  29. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +1 -1
  30. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +1 -1
  31. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/allOrNothingPenaltyScoring.js +1 -1
  32. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/conditionalCheckboxScoring.js +4 -4
  33. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/manuallyAndNonScored.js +2 -2
  34. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +1 -1
  35. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialDifferentWeightsBasic.js +1 -1
  36. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +1 -1
  37. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +1 -1
  38. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialEqualWeightsBasic.js +1 -1
  39. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +1 -1
  40. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +1 -1
  41. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +1 -1
  42. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/responseLevelAlternateAnswersBasicScoring.js +1 -1
  43. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/allOrNothingForAllViews.smoke.js +4 -4
  44. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/checkAnswerFunctionalityForAllViews.smoke.js +1 -1
  45. package/cypress/e2e/ILC/ReadingRuler/readingRulerEditTabBasicsSection.js +2 -1
  46. package/cypress/e2e/ILC/ShortTextResponseNew/allOrNothingBasicForAllViews.smoke.js +1 -1
  47. package/cypress/fixtures/drawingToolbarOptionsAdditionalOptionsAndSpecialAndMathCharacters.js +2 -2
  48. package/cypress/pages/audioResponsePage.js +13 -6
  49. package/cypress/pages/components/autoScoredScoringSectionMultiResponseType.js +0 -27
  50. package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +2 -2
  51. package/cypress/pages/components/commonComponents.js +1 -1
  52. package/cypress/pages/components/figOverImageCanvasComponent.js +1 -1
  53. package/cypress/pages/components/playbackControlsBaseComponent.js +3 -1
  54. package/cypress/pages/components/scoringSectionBaseEditTab.js +0 -9
  55. package/cypress/pages/drawingResponsePage.js +2 -2
  56. package/cypress/pages/fillInTheGapsOverImageDragAndDropPage.js +14 -16
  57. package/cypress/pages/fillInTheGapsOverImageDropdownPage.js +112 -3
  58. package/cypress/pages/fillInTheGapsOverImageTextPage.js +1 -1
  59. package/cypress/pages/readingRulerPage.js +1 -1
  60. package/cypress/pages/shortTextResponsePage.js +8 -8
  61. package/package.json +2 -2
@@ -8,7 +8,7 @@ describe('Preview of Audio response for standard audio recorder style', () => {
8
8
  cy.loginAs('admin');
9
9
  });
10
10
 
11
- describe('Preview of standard audio recorder style', () => {
11
+ describe('Preview of standard audio recorder style', { tags: 'smoke' }, () => {
12
12
  abortEarlySetup();
13
13
  before(() => {
14
14
  audioResponsePage.steps.navigateToCreateQuestion('audio response');
@@ -271,7 +271,7 @@ describe('Preview of Audio response for standard audio recorder style', () => {
271
271
  });
272
272
  });
273
273
 
274
- describe('Playback player : Default state', () => {
274
+ describe('Playback player : Default state', { tags: 'smoke' }, () => {
275
275
  abortEarlySetup();
276
276
  before(() => {
277
277
  audioResponsePage.steps.navigateToCreateQuestion('audio response');
@@ -339,216 +339,218 @@ describe('Preview of Audio response for standard audio recorder style', () => {
339
339
  });
340
340
  });
341
341
 
342
- //Note: Need to add cases of seeking using waveform
343
- describe('Playback player : Play, pause and seek', () => {
344
- let actualAudioSeekedInPercent = 50
345
- abortEarlySetup();
346
- before(() => {
347
- audioResponsePage.steps.navigateToCreateQuestion('audio response');
348
- cy.barsPreLoaderWait();
349
- audioResponsePage.steps.switchToPreviewTab();
350
- audioResponsePage.steps.recordAndSaveAudioStandardPreview(10000);
351
- });
352
-
353
- it('When the user hovers over the \'Play\' button, a tooltip \'Play\' should be displayed and on moving away the focus, the tooltip should disappear', () => {
354
- audioResponsePage.playbackPlayButton()
355
- .verifyTooltip('Play');
356
- });
357
-
358
- it('When the user clicks on \'Play\' button, then the audio should start playing. Timer should display the amount of audio that has been played and the total audio length in (mm:ss)/(mm:ss) format.', () => {
359
- audioResponsePage.steps.startPlayback();
360
- audioResponsePage.steps.waitForPlaybackToBeginStandardPreview();
361
- audioResponsePage.steps.verifyPlaybackTimeStandardPreview('00:03', '00:10');
362
- });
363
-
364
- it('When the user hovers over the \'Pause\' button, a tooltip \'Pause\' should be displayed and on moving away the focus, the tooltip should disappear', () => {
365
- audioResponsePage.playbackPauseButton()
366
- .verifyTooltip('Pause');
367
- });
368
-
369
- it('CSS of \'Preview\' section if playback is initiated', { tags: 'css' }, () => {
370
- utilities.verifyCSS(audioResponsePage.standardPreviewPlaybackTime(), {
371
- 'color': css.color.liText,
372
- 'font-size': css.fontSize.small,
373
- 'font-weight': css.fontWeight.bold
342
+ if (!grepTags || !grepTags.includes('smoke')) {
343
+ //Note: Need to add cases of seeking using waveform
344
+ describe('Playback player : Play, pause and seek', () => {
345
+ let actualAudioSeekedInPercent = 50
346
+ abortEarlySetup();
347
+ before(() => {
348
+ audioResponsePage.steps.navigateToCreateQuestion('audio response');
349
+ cy.barsPreLoaderWait();
350
+ audioResponsePage.steps.switchToPreviewTab();
351
+ audioResponsePage.steps.recordAndSaveAudioStandardPreview(10000);
374
352
  });
375
- utilities.verifyCSS(audioResponsePage.playbackPauseButton().find('svg rect'), {
376
- 'fill': css.color.secondaryBtnBg
377
- });
378
- utilities.verifyCSS(audioResponsePage.playbackPauseButton().find('svg path'), {
379
- 'stroke': css.color.secondaryBtnActive
380
- });
381
- });
382
-
383
- it('Accessibility of \'Preview\' section if playback is initiated', { tags: 'a11y' }, () => {
384
- cy.checkAccessibility(audioResponsePage.standardPreviewPlaybackWrapper());
385
- });
386
353
 
387
- it('When the audio player is in playback state and the user clicks on \'Pause\' button, then playback should get paused. Progress bar and timer should not update further and the \'Pause\' button should get replaced with \'Play\' button', () => {
388
- audioResponsePage.steps.resetQuestionPreview();
389
- audioResponsePage.steps.recordAndSaveAudioStandardPreview(10000);
390
- audioResponsePage.steps.startPlayback();
391
- audioResponsePage.steps.waitForPlaybackToBeginStandardPreview();
392
- audioResponsePage.steps.verifyPlaybackTimeStandardPreview('00:05', '00:10');
393
- audioResponsePage.steps.pauseAndVerifyProgressBarSliderPosition();
394
- audioResponsePage.steps.verifyPlaybackTimeStandardPreview('00:05', '00:10');
395
- utilities.verifyElementVisibilityState(audioResponsePage.playbackPlayButton(), 'visible');
396
- utilities.verifyElementVisibilityState(audioResponsePage.playbackPauseButton(), 'notExist');
397
- });
398
-
399
- it('CSS of \'Preview\' section if playback is paused', { tags: 'css' }, () => {
400
- utilities.verifyCSS(audioResponsePage.playbackPlayButton().find('svg rect'), {
401
- 'fill': css.color.secondaryBtnBg
354
+ it('When the user hovers over the \'Play\' button, a tooltip \'Play\' should be displayed and on moving away the focus, the tooltip should disappear', () => {
355
+ audioResponsePage.playbackPlayButton()
356
+ .verifyTooltip('Play');
402
357
  });
403
- utilities.verifyCSS(audioResponsePage.playbackPlayButton().find('svg path'), {
404
- 'stroke': css.color.secondaryBtnActive
405
- });
406
- });
407
-
408
- it('Accessibility of \'Preview\' section if if playback is paused', { tags: 'a11y' }, () => {
409
- cy.checkAccessibility(audioResponsePage.standardPreviewPlaybackWrapper());
410
- });
411
358
 
412
- it('When audio player is in paused state and user clicks on \'Play\' button, then playback should get resumed and \'Play\' button should get replaced with \'Pause\' button.', () => {
413
- audioResponsePage.steps.startPlayback();
414
- utilities.verifyElementVisibilityState(audioResponsePage.playbackPauseButton(), 'visible');
415
- utilities.verifyElementVisibilityState(audioResponsePage.playbackPlayButton(), 'notExist');
416
- });
417
-
418
- it('When the user seeks the progress bar slider while the audio is playing, then the audio should continue to play from the position where the slider is seeked', () => {
419
- audioResponsePage.steps.seekProgressBarSliderToCenter();
420
- audioResponsePage.steps.addWaitToPlayAudio(1000);
421
- audioResponsePage.steps.verifyProgressBarSliderPosition(actualAudioSeekedInPercent);
422
- });
423
-
424
- it('When the user seeks the progress bar slider while the audio is paused, then the audio playback should be in paused state and on playing the audio, then the audio should play from the position where the slider is seeked', () => {
425
- audioResponsePage.steps.pausePlayback();
426
- audioResponsePage.steps.seekProgressBarSliderToCenter();
427
- audioResponsePage.steps.startPlayback();
428
- audioResponsePage.steps.addWaitToPlayAudio(5000);
429
- audioResponsePage.steps.verifyProgressBarSliderPosition(actualAudioSeekedInPercent);
430
- });
431
-
432
- it('When the audio playback is completed, the \'Pause\' button should get replaced with \'Play\' button', () => {
433
- audioResponsePage.steps.verifyPlaybackTimeStandardPreview('00:45', '00:45');
434
- utilities.verifyElementVisibilityState(audioResponsePage.playbackPlayButton(), 'visible');
435
- utilities.verifyElementVisibilityState(audioResponsePage.playbackPauseButton(), 'notExist');
436
- audioResponsePage.steps.verifyProgressBarSliderPosition(99);
437
- });
438
-
439
- it('CSS of progress bar in hover state', { tags: 'css' }, () => {
440
- audioResponsePage.steps.hoverOnProgressBarSlider();
441
- utilities.verifyCSS(audioResponsePage.progressBarSlider().parents('span[class*="MuiSlider-thumb"]'), {
442
- 'box-shadow': `${css.color.progressBarSliderHoverBackground} 0px 0px 0px 8px`
359
+ it('When the user clicks on \'Play\' button, then the audio should start playing. Timer should display the amount of audio that has been played and the total audio length in (mm:ss)/(mm:ss) format.', () => {
360
+ audioResponsePage.steps.startPlayback();
361
+ audioResponsePage.steps.waitForPlaybackToBeginStandardPreview();
362
+ audioResponsePage.steps.verifyPlaybackTimeStandardPreview('00:03', '00:10');
443
363
  });
444
- });
445
- });
446
364
 
447
- describe('Playback player : Volume control', () => {
448
- abortEarlySetup();
449
- before(() => {
450
- audioResponsePage.steps.navigateToCreateQuestion('audio response');
451
- cy.barsPreLoaderWait();
452
- audioResponsePage.steps.switchToPreviewTab();
453
- audioResponsePage.steps.recordAndSaveAudioStandardPreview(10000);
454
- });
455
-
456
- audioResponsePage.tests.verifyVolumeControlFunctionality();
457
- });
365
+ it('When the user hovers over the \'Pause\' button, a tooltip \'Pause\' should be displayed and on moving away the focus, the tooltip should disappear', () => {
366
+ audioResponsePage.playbackPauseButton()
367
+ .verifyTooltip('Pause');
368
+ });
458
369
 
459
- describe('Playback player : Playback speed', () => {
460
- const playbackSpeedOptions = ['1', '1.25', '1.5', '2'];
461
- abortEarlySetup();
462
- before(() => {
463
- audioResponsePage.steps.navigateToCreateQuestion('audio response');
464
- cy.barsPreLoaderWait();
465
- audioResponsePage.steps.switchToPreviewTab();
466
- audioResponsePage.steps.recordAndSaveAudioStandardPreview(10000);
467
- });
370
+ it('CSS of \'Preview\' section if playback is initiated', { tags: 'css' }, () => {
371
+ utilities.verifyCSS(audioResponsePage.standardPreviewPlaybackTime(), {
372
+ 'color': css.color.liText,
373
+ 'font-size': css.fontSize.small,
374
+ 'font-weight': css.fontWeight.bold
375
+ });
376
+ utilities.verifyCSS(audioResponsePage.playbackPauseButton().find('svg rect'), {
377
+ 'fill': css.color.secondaryBtnBg
378
+ });
379
+ utilities.verifyCSS(audioResponsePage.playbackPauseButton().find('svg path'), {
380
+ 'stroke': css.color.secondaryBtnActive
381
+ });
382
+ });
468
383
 
469
- audioResponsePage.tests.verifyPlaybackSpeedContents();
384
+ it('Accessibility of \'Preview\' section if playback is initiated', { tags: 'a11y' }, () => {
385
+ cy.checkAccessibility(audioResponsePage.standardPreviewPlaybackWrapper());
386
+ });
470
387
 
471
- for (let index = 0; index < playbackSpeedOptions.length; index++) {
472
- it(`When the user selects playback speed option ${playbackSpeedOptions[index]}x, the audio playback speed should be changed accordingly`, () => {
388
+ it('When the audio player is in playback state and the user clicks on \'Pause\' button, then playback should get paused. Progress bar and timer should not update further and the \'Pause\' button should get replaced with \'Play\' button', () => {
473
389
  audioResponsePage.steps.resetQuestionPreview();
474
- audioResponsePage.steps.recordAndSaveAudioStandardPreview(12000);
475
- utilities.hoverOverElement(audioResponsePage.playbackSpeedButton());
476
- audioResponsePage.steps.selectPlaybackSpeed(`${playbackSpeedOptions[index]}x`);
390
+ audioResponsePage.steps.recordAndSaveAudioStandardPreview(10000);
477
391
  audioResponsePage.steps.startPlayback();
478
392
  audioResponsePage.steps.waitForPlaybackToBeginStandardPreview();
479
- audioResponsePage.steps.addWaitToPlayAudio(4000);
480
- audioResponsePage.steps.pausePlayback();
481
- audioResponsePage.steps.verifyPlaybackElapsedTime(1 + (4 * playbackSpeedOptions[index]), 'Standard');
393
+ audioResponsePage.steps.verifyPlaybackTimeStandardPreview('00:05', '00:10');
394
+ audioResponsePage.steps.pauseAndVerifyProgressBarSliderPosition();
395
+ audioResponsePage.steps.verifyPlaybackTimeStandardPreview('00:05', '00:10');
396
+ utilities.verifyElementVisibilityState(audioResponsePage.playbackPlayButton(), 'visible');
397
+ utilities.verifyElementVisibilityState(audioResponsePage.playbackPauseButton(), 'notExist');
482
398
  });
483
- };
484
- });
485
399
 
486
- describe('Playback player : Retake my audio response', () => {
487
- abortEarlySetup();
488
- before(() => {
489
- audioResponsePage.steps.navigateToCreateQuestion('audio response');
490
- cy.barsPreLoaderWait();
491
- audioResponsePage.steps.setMaximumRecorderLength(10);
492
- audioResponsePage.steps.switchToPreviewTab();
493
- audioResponsePage.steps.recordAndSaveAudioStandardPreview(5000);
494
- });
495
-
496
- it('When the user clicks on \'Retake\' icon button, \'Retake\' popup should be displayed along with \'Are you sure you want to overwrite the existing audio recording?\' message', () => {
497
- audioResponsePage.steps.retakeRecordingStandardPreview();
498
- utilities.verifyInnerText(dialogBoxBase.dialogBoxTitle(), 'Retake');
499
- audioResponsePage.steps.verifyRetakePopupContents();
500
- });
501
-
502
- it('CSS of \'Retake\' popup', { tags: 'css' }, () => {
503
- utilities.verifyCSS(dialogBoxBase.dialogBox(), {
504
- 'border': `1px solid ${css.color.defaultDropdownBorder}`,
505
- 'background-color': css.color.defaultBackground
506
- });
507
- utilities.verifyCSS(dialogBoxBase.dialogBoxTitle(), {
508
- 'color': css.color.questionHeading,
509
- 'font-size': css.fontSize.heading,
510
- 'font-weight': css.fontWeight.semibold
511
- });
512
- utilities.verifyCSS(dialogBoxBase.dialogBoxContent().find('.retake-popup-content'), {
513
- 'border-top': `1px solid ${css.color.secondaryBtnBorder}`,
514
- 'color': css.color.labels,
515
- 'font-size': css.fontSize.default,
516
- 'font-weight': css.fontWeight.regular
400
+ it('CSS of \'Preview\' section if playback is paused', { tags: 'css' }, () => {
401
+ utilities.verifyCSS(audioResponsePage.playbackPlayButton().find('svg rect'), {
402
+ 'fill': css.color.secondaryBtnBg
403
+ });
404
+ utilities.verifyCSS(audioResponsePage.playbackPlayButton().find('svg path'), {
405
+ 'stroke': css.color.secondaryBtnActive
406
+ });
517
407
  });
518
- utilities.verifyCSS(audioResponsePage.confirmRetakeButton(), {
519
- 'background-color': css.color.deleteBtn,
520
- 'color': css.color.whiteText,
521
- 'font-size': css.fontSize.default,
522
- 'font-weight': css.fontWeight.semibold
523
- });
524
- utilities.verifyCSS(audioResponsePage.cancelRetakeButton(), {
525
- 'background-color': css.color.secondaryBtnBg,
526
- 'color': css.color.secondaryBtn,
527
- 'font-size': css.fontSize.default,
528
- 'font-weight': css.fontWeight.semibold
408
+
409
+ it('Accessibility of \'Preview\' section if if playback is paused', { tags: 'a11y' }, () => {
410
+ cy.checkAccessibility(audioResponsePage.standardPreviewPlaybackWrapper());
529
411
  });
530
- });
531
412
 
532
- it('Accessibility of \'Retake\' popup', { tags: 'a11y' }, () => {
533
- cy.checkAccessibility(dialogBoxBase.dialogBox());
534
- });
413
+ it('When audio player is in paused state and user clicks on \'Play\' button, then playback should get resumed and \'Play\' button should get replaced with \'Pause\' button.', () => {
414
+ audioResponsePage.steps.startPlayback();
415
+ utilities.verifyElementVisibilityState(audioResponsePage.playbackPauseButton(), 'visible');
416
+ utilities.verifyElementVisibilityState(audioResponsePage.playbackPlayButton(), 'notExist');
417
+ });
535
418
 
536
- it('When the user clicks on \'Cancel\' button, \'Retake\' popup should close and previous state of playback player should persist', () => {
537
- audioResponsePage.steps.cancelRetake();
538
- utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'notExist');
539
- utilities.verifyElementVisibilityState(audioResponsePage.standardPreviewRetakeButton(), 'visible');
540
- utilities.verifyElementVisibilityState(audioResponsePage.playbackPlayButton(), 'visible');
541
- audioResponsePage.steps.verifyResponseIsRecordedHelpText();
542
- audioResponsePage.steps.verifyPlaybackTimeStandardPreview('00:00', '00:05');
543
- });
419
+ it('When the user seeks the progress bar slider while the audio is playing, then the audio should continue to play from the position where the slider is seeked', () => {
420
+ audioResponsePage.steps.seekProgressBarSliderToCenter();
421
+ audioResponsePage.steps.addWaitToPlayAudio(1000);
422
+ audioResponsePage.steps.verifyProgressBarSliderPosition(actualAudioSeekedInPercent);
423
+ });
544
424
 
545
- it('When the user clicks on Confirm button of the retake popup, the previous recording should get deleted and a new recording should begin', () => {
546
- audioResponsePage.steps.retakeRecordingStandardPreview();
547
- audioResponsePage.steps.confirmRetake();
548
- utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'notExist');
549
- utilities.verifyInnerText(audioResponsePage.recordingStatusText(), 'Recording...');
550
- audioResponsePage.steps.verifyResponseIsRecordedHelpText();
551
- audioResponsePage.steps.verifyPlaybackTimeStandardPreview('00:00', '00:10');
552
- });
553
- });
425
+ it('When the user seeks the progress bar slider while the audio is paused, then the audio playback should be in paused state and on playing the audio, then the audio should play from the position where the slider is seeked', () => {
426
+ audioResponsePage.steps.pausePlayback();
427
+ audioResponsePage.steps.seekProgressBarSliderToCenter();
428
+ audioResponsePage.steps.startPlayback();
429
+ audioResponsePage.steps.addWaitToPlayAudio(5000);
430
+ audioResponsePage.steps.verifyProgressBarSliderPosition(actualAudioSeekedInPercent);
431
+ });
432
+
433
+ it('When the audio playback is completed, the \'Pause\' button should get replaced with \'Play\' button', () => {
434
+ audioResponsePage.steps.verifyPlaybackTimeStandardPreview('00:45', '00:45');
435
+ utilities.verifyElementVisibilityState(audioResponsePage.playbackPlayButton(), 'visible');
436
+ utilities.verifyElementVisibilityState(audioResponsePage.playbackPauseButton(), 'notExist');
437
+ audioResponsePage.steps.verifyProgressBarSliderPosition(99);
438
+ });
439
+
440
+ it('CSS of progress bar in hover state', { tags: 'css' }, () => {
441
+ audioResponsePage.steps.hoverOnProgressBarSlider();
442
+ utilities.verifyCSS(audioResponsePage.progressBarSlider().parents('span[class*="MuiSlider-thumb"]'), {
443
+ 'box-shadow': `${css.color.progressBarSliderHoverBackground} 0px 0px 0px 8px`
444
+ });
445
+ });
446
+ });
447
+
448
+ describe('Playback player : Volume control', () => {
449
+ abortEarlySetup();
450
+ before(() => {
451
+ audioResponsePage.steps.navigateToCreateQuestion('audio response');
452
+ cy.barsPreLoaderWait();
453
+ audioResponsePage.steps.switchToPreviewTab();
454
+ audioResponsePage.steps.recordAndSaveAudioStandardPreview(10000);
455
+ });
456
+
457
+ audioResponsePage.tests.verifyVolumeControlFunctionality();
458
+ });
459
+
460
+ describe('Playback player : Playback speed', () => {
461
+ const playbackSpeedOptions = ['1', '1.25', '1.5', '2'];
462
+ abortEarlySetup();
463
+ before(() => {
464
+ audioResponsePage.steps.navigateToCreateQuestion('audio response');
465
+ cy.barsPreLoaderWait();
466
+ audioResponsePage.steps.switchToPreviewTab();
467
+ audioResponsePage.steps.recordAndSaveAudioStandardPreview(10000);
468
+ });
469
+
470
+ audioResponsePage.tests.verifyPlaybackSpeedContents();
471
+
472
+ for (let index = 0; index < playbackSpeedOptions.length; index++) {
473
+ it(`When the user selects playback speed option ${playbackSpeedOptions[index]}x, the audio playback speed should be changed accordingly`, () => {
474
+ audioResponsePage.steps.resetQuestionPreview();
475
+ audioResponsePage.steps.recordAndSaveAudioStandardPreview(12000);
476
+ utilities.hoverOverElement(audioResponsePage.playbackSpeedButton());
477
+ audioResponsePage.steps.selectPlaybackSpeed(`${playbackSpeedOptions[index]}x`);
478
+ audioResponsePage.steps.startPlayback();
479
+ audioResponsePage.steps.waitForPlaybackToBeginStandardPreview();
480
+ audioResponsePage.steps.addWaitToPlayAudio(4000);
481
+ audioResponsePage.steps.pausePlayback();
482
+ audioResponsePage.steps.verifyPlaybackElapsedTime(1 + (4 * playbackSpeedOptions[index]), 'Standard');
483
+ });
484
+ };
485
+ });
486
+
487
+ describe('Playback player : Retake my audio response', () => {
488
+ abortEarlySetup();
489
+ before(() => {
490
+ audioResponsePage.steps.navigateToCreateQuestion('audio response');
491
+ cy.barsPreLoaderWait();
492
+ audioResponsePage.steps.setMaximumRecorderLength(10);
493
+ audioResponsePage.steps.switchToPreviewTab();
494
+ audioResponsePage.steps.recordAndSaveAudioStandardPreview(5000);
495
+ });
496
+
497
+ it('When the user clicks on \'Retake\' icon button, \'Retake\' popup should be displayed along with \'Are you sure you want to overwrite the existing audio recording?\' message', () => {
498
+ audioResponsePage.steps.retakeRecordingStandardPreview();
499
+ utilities.verifyInnerText(dialogBoxBase.dialogBoxTitle(), 'Retake');
500
+ audioResponsePage.steps.verifyRetakePopupContents();
501
+ });
502
+
503
+ it('CSS of \'Retake\' popup', { tags: 'css' }, () => {
504
+ utilities.verifyCSS(dialogBoxBase.dialogBox(), {
505
+ 'border': `1px solid ${css.color.defaultDropdownBorder}`,
506
+ 'background-color': css.color.defaultBackground
507
+ });
508
+ utilities.verifyCSS(dialogBoxBase.dialogBoxTitle(), {
509
+ 'color': css.color.questionHeading,
510
+ 'font-size': css.fontSize.heading,
511
+ 'font-weight': css.fontWeight.semibold
512
+ });
513
+ utilities.verifyCSS(dialogBoxBase.dialogBoxContent().find('.retake-popup-content'), {
514
+ 'border-top': `1px solid ${css.color.secondaryBtnBorder}`,
515
+ 'color': css.color.labels,
516
+ 'font-size': css.fontSize.default,
517
+ 'font-weight': css.fontWeight.regular
518
+ });
519
+ utilities.verifyCSS(audioResponsePage.confirmRetakeButton(), {
520
+ 'background-color': css.color.deleteBtn,
521
+ 'color': css.color.whiteText,
522
+ 'font-size': css.fontSize.default,
523
+ 'font-weight': css.fontWeight.semibold
524
+ });
525
+ utilities.verifyCSS(audioResponsePage.cancelRetakeButton(), {
526
+ 'background-color': css.color.secondaryBtnBg,
527
+ 'color': css.color.secondaryBtn,
528
+ 'font-size': css.fontSize.default,
529
+ 'font-weight': css.fontWeight.semibold
530
+ });
531
+ });
532
+
533
+ it('Accessibility of \'Retake\' popup', { tags: 'a11y' }, () => {
534
+ cy.checkAccessibility(dialogBoxBase.dialogBox());
535
+ });
536
+
537
+ it('When the user clicks on \'Cancel\' button, \'Retake\' popup should close and previous state of playback player should persist', () => {
538
+ audioResponsePage.steps.cancelRetake();
539
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'notExist');
540
+ utilities.verifyElementVisibilityState(audioResponsePage.standardPreviewRetakeButton(), 'visible');
541
+ utilities.verifyElementVisibilityState(audioResponsePage.playbackPlayButton(), 'visible');
542
+ audioResponsePage.steps.verifyResponseIsRecordedHelpText();
543
+ audioResponsePage.steps.verifyPlaybackTimeStandardPreview('00:00', '00:05');
544
+ });
545
+
546
+ it('When the user clicks on Confirm button of the retake popup, the previous recording should get deleted and a new recording should begin', () => {
547
+ audioResponsePage.steps.retakeRecordingStandardPreview();
548
+ audioResponsePage.steps.confirmRetake();
549
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'notExist');
550
+ utilities.verifyInnerText(audioResponsePage.recordingStatusText(), 'Recording...');
551
+ audioResponsePage.steps.verifyResponseIsRecordedHelpText();
552
+ audioResponsePage.steps.verifyPlaybackTimeStandardPreview('00:00', '00:10');
553
+ });
554
+ });
555
+ };
554
556
  });
@@ -267,7 +267,7 @@ describe('Create item page - Audio response: Student view settings', () => {
267
267
 
268
268
  it('In standard mode, when the \'Audio wave\' option is deselected, the audio wave should not be displayed in the playback player of the preview tab', () => {
269
269
  audioResponsePage.steps.switchToEditTab();
270
- audioResponsePage.steps.deselectAudioIndicatorsPlaybackIndicatorButton();
270
+ audioResponsePage.steps.deselectAudioIndicatorsAudioWaveButton();
271
271
  audioResponsePage.steps.switchToPreviewTab();
272
272
  audioResponsePage.steps.startRecordingStandardPreview();
273
273
  audioResponsePage.steps.waitForRecordingToStartStandardPreview();
@@ -279,7 +279,7 @@ describe('Create item page - Audio response: Student view settings', () => {
279
279
  it('In compact mode, when the \'Audio wave\' option is selected, the audio wave should be displayed in the playback player of the preview tab', () => {
280
280
  audioResponsePage.steps.switchToEditTab();
281
281
  audioResponsePage.steps.selectAudioRecorderStyle('Compact');
282
- audioResponsePage.steps.selectAudioIndicatorsProgressIndicatorButton();
282
+ audioResponsePage.steps.selectAudioIndicatorsAudioWaveButton();
283
283
  audioResponsePage.steps.switchToPreviewTab();
284
284
  audioResponsePage.steps.startRecordingCompactPreview();
285
285
  audioResponsePage.steps.waitForRecordingToStartCompactPreview();
@@ -290,7 +290,7 @@ describe('Create item page - Audio response: Student view settings', () => {
290
290
 
291
291
  it('In compact mode, when the \'Audio wave\' option is deselected, the audio wave should not be displayed in the playback player of the preview tab', () => {
292
292
  audioResponsePage.steps.switchToEditTab();
293
- audioResponsePage.steps.deselectAudioIndicatorsPlaybackIndicatorButton();
293
+ audioResponsePage.steps.deselectAudioIndicatorsAudioWaveButton();
294
294
  audioResponsePage.steps.switchToPreviewTab();
295
295
  audioResponsePage.steps.startRecordingCompactPreview();
296
296
  audioResponsePage.steps.waitForRecordingToStartCompactPreview();
@@ -470,8 +470,8 @@ describe('Create Item Page: Drag and drop into categories: Click and drop cases
470
470
  });
471
471
 
472
472
  it('When the user selects a filled option and clicks in the response container, the selected option should get back in the response container and \'Error: Please set a correct answer\' error message should be displayed', () => {
473
- dragAndDropIntoCategoriesPage.steps.clickAndDropOptionFromDropzoneToOptionContainerPreviewTab('Bat');
474
- dragAndDropIntoCategoriesPage.steps.clickAndDropOptionFromDropzoneToOptionContainerPreviewTab('Eagle');
473
+ dragAndDropIntoCategoriesPage.steps.clickAndDropOptionFromDropzoneToOptionContainerSpecifyCorrectAnswerSection('Bat');
474
+ dragAndDropIntoCategoriesPage.steps.clickAndDropOptionFromDropzoneToOptionContainerSpecifyCorrectAnswerSection('Eagle');
475
475
  dragAndDropIntoCategoriesPage.steps.verifyGroupedContainerContentsInSpecifyCorrectAnswerSection(0, groupedOptions[0]);
476
476
  dragAndDropIntoCategoriesPage.steps.verifyGroupedContainerContentsInSpecifyCorrectAnswerSection(1, groupedOptions[1]);
477
477
  utilities.verifyInnerText(dragAndDropIntoCategoriesPage.errorMessage(), 'Error: Please set a correct answer.');
@@ -586,8 +586,8 @@ describe('Create Item Page: Drag and drop into categories: Click and drop cases
586
586
  it('When the user drops an option in one of the dropzone cells, the option should get removed from the respective group of the response container, the dropzone cell should get filled with that option and the other dropzone cells should return to inactive state', () => {
587
587
  dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Bat': 0 });
588
588
  dragAndDropIntoCategoriesPage.steps.verifyDraggableOptionInDropzoneOfPreviewTab(0, ['Bat']);
589
- dragAndDropIntoCategoriesPage.steps.verifyGroupedResponseContainerContentsInPreviewTab(0, ['Eagle', 'Whale', 'Platypus']);
590
- dragAndDropIntoCategoriesPage.steps.verifyGroupedResponseContainerContentsInPreviewTab(1, groupedOptions[1]);
589
+ dragAndDropIntoCategoriesPage.steps.verifyGroupedContainerContentsInPreviewTab(0, ['Eagle', 'Whale', 'Platypus']);
590
+ dragAndDropIntoCategoriesPage.steps.verifyGroupedContainerContentsInPreviewTab(1, groupedOptions[1]);
591
591
  dragAndDropIntoCategoriesPage.steps.verifyInactiveStateOfAllDropzonesInPreviewTab();
592
592
  });
593
593
 
@@ -619,7 +619,7 @@ describe('Create Item Page: Drag and drop into categories: Click and drop cases
619
619
  dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Eagle': 0 });
620
620
  dragAndDropIntoCategoriesPage.steps.verifyDraggableOptionInDropzoneOfPreviewTab(0, ['Bat', 'Eagle']);
621
621
  dragAndDropIntoCategoriesPage.steps.verifyInactiveStateOfAllDropzonesInPreviewTab();
622
- dragAndDropIntoCategoriesPage.steps.verifyGroupedResponseContainerContentsInPreviewTab(0, ['Whale', 'Platypus']);
622
+ dragAndDropIntoCategoriesPage.steps.verifyGroupedContainerContentsInPreviewTab(0, ['Whale', 'Platypus']);
623
623
  });
624
624
 
625
625
  it('When the user selects an option from the filled dropzone cell, the response container as well as all dropzone cells should get active for dropping the option', () => {
@@ -5,7 +5,8 @@ import utilities from "../../../support/helpers/utilities";
5
5
  const css = Cypress.env('css');
6
6
  const defaultStrokeLineThicknessOptions = ['5px', '10px', '15px', '20px', '25px'];
7
7
  const thickness = ['5', '10', '15', '20', '25'];
8
- const lineTypeOptions = ['basic line', 'dashed line', 'dotted line', 'single arrow line', 'double arrow line'];
8
+ const lineTypeOptionsPreviewTab = ['basic line', 'dashed line', 'dotted line', 'single arrow line', 'double arrow line'];
9
+ const lineTypeOptionsEditTab = ['Line', 'Dashed', 'Dotted', 'Single Arrow', 'Double Arrow'];
9
10
  const fontSizeDropdownOptions = ['Tiny', 'Small', 'Default', 'Normal', 'Big', 'Huge'];
10
11
  const fontSizes = ['12px', '14px', '16px', '18px', '22px', '26px'];
11
12
  const lineTypeOptionsTooltip = ['Line', 'Dashed', 'Dotted', 'Single arrow', 'Double arrow'];
@@ -143,36 +144,36 @@ describe('Drawing response - Additional settings', () => {
143
144
  drawingResponsePage.steps.expandAdditionalSettings();
144
145
  });
145
146
 
146
- it(`A \'Set line type\' label along with the ${lineTypeOptions.length} options should be displayed in the \'Set line type\' section - ${lineTypeOptions.join('')}.`, () => {
147
+ it(`A \'Set line type\' label along with the ${lineTypeOptionsEditTab.length} options should be displayed in the \'Set line type\' section - ${lineTypeOptionsEditTab.join('')}.`, () => {
147
148
  utilities.verifyInnerText(drawingResponsePage.setLineTypeLabel(), 'Set line type');
148
149
  utilities.verifyElementVisibilityState(drawingResponsePage.setLineTypeLabel(), 'visible');
149
- for (let index = 0; index < lineTypeOptions.length; index++) {
150
- utilities.verifyElementVisibilityState(drawingResponsePage.setLineTypeButton(lineTypeOptions[index]), 'visible');
150
+ for (let index = 0; index < lineTypeOptionsEditTab.length; index++) {
151
+ utilities.verifyElementVisibilityState(drawingResponsePage.setLineTypeButton(lineTypeOptionsEditTab[index]), 'visible');
151
152
  }
152
153
  });
153
154
 
154
155
  it('By default all line type buttons should be selected', () => {
155
- for (let index = 0; index < lineTypeOptions.length; index++) {
156
- drawingResponsePage.steps.verifyLineTypeOptionIsSelected(lineTypeOptions[index]);
156
+ for (let index = 0; index < lineTypeOptionsEditTab.length; index++) {
157
+ drawingResponsePage.steps.verifyLineTypeOptionIsSelected(lineTypeOptionsEditTab[index]);
157
158
  }
158
159
  });
159
160
 
160
161
  for (let index = 0; index < lineTypeOptionsTooltip.length; index++) {
161
162
  it(`When the user hovers over the \'${lineTypeOptionsTooltip[index]}\' button, a tooltip \'${lineTypeOptionsTooltip[index]}\' should be displayed and on moving away the focus, the tooltip should disappear`, () => {
162
- drawingResponsePage.setLineTypeButton(lineTypeOptions[index])
163
+ drawingResponsePage.setLineTypeButton(lineTypeOptionsEditTab[index])
163
164
  .verifyTooltip((lineTypeOptionsTooltip[index]));
164
165
  });
165
166
  };
166
167
 
167
168
  it('User should be able to unselect line type option button and the selected icon should not be displayed on the unselected line type button', () => {
168
- drawingResponsePage.steps.unselectSetLineTypeOption(lineTypeOptions[1]);
169
- drawingResponsePage.steps.verifyLineTypeOptionIsNotSelected(lineTypeOptions[1]);
170
- drawingResponsePage.steps.verifySelectedIconIsNotDisplayedOnLineTypeButton(lineTypeOptions[1]);
169
+ drawingResponsePage.steps.unselectSetLineTypeOption(lineTypeOptionsEditTab[1]);
170
+ drawingResponsePage.steps.verifyLineTypeOptionIsNotSelected(lineTypeOptionsEditTab[1]);
171
+ drawingResponsePage.steps.verifySelectedIconIsNotDisplayedOnLineTypeButton(lineTypeOptionsEditTab[1]);
171
172
  });
172
173
 
173
174
  it('CSS of \'Set line type section\' section', { tags: 'css' }, () => {
174
175
  cy.log('Pre-step: Hover on element to get tooltip');
175
- utilities.hoverOverElement(drawingResponsePage.setLineTypeButton(lineTypeOptions[0]));
176
+ utilities.hoverOverElement(drawingResponsePage.setLineTypeButton(lineTypeOptionsEditTab[0]));
176
177
  utilities.verifyCSS(drawingResponsePage.tooltipText(), {
177
178
  'color': css.color.whiteText,
178
179
  'font-size': css.fontSize.normal,
@@ -180,7 +181,7 @@ describe('Drawing response - Additional settings', () => {
180
181
  'background-color': css.color.tooltipBg
181
182
  });
182
183
  cy.log('Post-step: Hover on element to get tooltip');
183
- utilities.hoverAwayFromElement((drawingResponsePage.setLineTypeButton(lineTypeOptions[0])));
184
+ utilities.hoverAwayFromElement((drawingResponsePage.setLineTypeButton(lineTypeOptionsEditTab[0])));
184
185
  utilities.verifyCSS(drawingResponsePage.setLineTypeLabel(), {
185
186
  'color': css.color.labels,
186
187
  'font-size': css.fontSize.normal,
@@ -191,13 +192,13 @@ describe('Drawing response - Additional settings', () => {
191
192
  'border': `1px solid ${css.color.figDefaultComponentBorder}`
192
193
  });
193
194
  cy.log('Css of selected icon');
194
- utilities.verifyCSS(drawingResponsePage.setLineTypeButton(lineTypeOptions[0]).find('[class*="SelectedIcon"] svg g path').eq(1), {
195
+ utilities.verifyCSS(drawingResponsePage.setLineTypeButton(lineTypeOptionsEditTab[0]).find('[class*="SelectedIcon"] svg g path').eq(1), {
195
196
  'fill': css.color.activeButtons
196
197
  });
197
198
  });
198
199
 
199
200
  it('Accessibility of unselected line type button', { tags: 'a11y' }, () => {
200
- cy.checkAccessibility(drawingResponsePage.setLineTypeButton(lineTypeOptions[1]).parents('[class*="DrawingResponsestyles__SetLineTypeWrapper"]'));
201
+ cy.checkAccessibility(drawingResponsePage.setLineTypeButton(lineTypeOptionsEditTab[1]).parents('[class*="DrawingResponsestyles__SetLineTypeWrapper"]'));
201
202
  });
202
203
  });
203
204
 
@@ -213,7 +214,7 @@ describe('Drawing response - Additional settings', () => {
213
214
 
214
215
  it('When all line type buttons are selected by default then all the line type options should be displayed in secondary toolbar in the preview tab', () => {
215
216
  drawingResponsePage.steps.selectPreviewTabSecondaryToolbarOption('Line type');
216
- lineTypeOptions.forEach((lineType, index) => {
217
+ lineTypeOptionsPreviewTab.forEach((lineType, index) => {
217
218
  drawingResponsePage.steps.verifySecondaryPopupLineType(lineType, index)
218
219
  });
219
220
  });
@@ -221,7 +222,7 @@ describe('Drawing response - Additional settings', () => {
221
222
  it('When the user unselects a particular line type in the edit tab then that particular line type option in secondary toolbar should not be displayed in the preview tab', () => {
222
223
  drawingResponsePage.steps.switchToEditTab();
223
224
  drawingResponsePage.steps.expandAdditionalSettings();
224
- drawingResponsePage.steps.unselectSetLineTypeOption(lineTypeOptions[1]);
225
+ drawingResponsePage.steps.unselectSetLineTypeOption(lineTypeOptionsEditTab[1]);
225
226
  drawingResponsePage.steps.switchToPreviewTab();
226
227
  drawingResponsePage.steps.selectPreviewTabToolbarOption('Line');
227
228
  drawingResponsePage.steps.selectPreviewTabSecondaryToolbarOption('Line Type');
@@ -288,7 +289,6 @@ describe('Drawing response - Additional settings', () => {
288
289
  drawingResponsePage.tests.verifyFontSizeSectionContents();
289
290
  });
290
291
 
291
- //Failing due to https://redmine.zeuslearning.com/issues/555412
292
292
  describe('Additional settings: Font size dropdown - Functionality in preview tab', () => {
293
293
  abortEarlySetup();
294
294
  before(() => {
@@ -503,8 +503,8 @@ describe('Preview tab contents - primary toolbar options, secondary toolbar opti
503
503
 
504
504
  it('When the user changes the opacity slider value, value in the opacity input field should also change', () => {
505
505
  drawingResponsePage.steps.clickOnSecondaryPopupSlider();
506
- drawingResponsePage.steps.verifySecondaryPopupOpacitySliderValue(50);
507
- drawingResponsePage.steps.verifySecondaryPopupOpacityInputFieldValue(50);
506
+ drawingResponsePage.steps.verifySecondaryPopupOpacitySliderValue(51);
507
+ drawingResponsePage.steps.verifySecondaryPopupOpacityInputFieldValue(51);
508
508
  });
509
509
 
510
510
  it('CSS of \'Opacity\' secondary toolbar option in selected state', { tags: 'css' }, () => {
@@ -1214,7 +1214,7 @@ describe('Preview tab contents - primary toolbar options, secondary toolbar opti
1214
1214
 
1215
1215
  it('When user reopens the \'Line type\' popup by clicking on the toolbar option, the popup should reopen and all its previously made changes should be retained/present', () => {
1216
1216
  drawingResponsePage.steps.selectPreviewTabSecondaryToolbarOption(drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[2].secondaryToolbarOptions[2]);
1217
- drawingResponsePage.steps.verifySelectedOptionFromSecondaryOptionPopup(2);
1217
+ drawingResponsePage.steps.verifySelectedOptionFromSecondaryOptionPopup(1);
1218
1218
  });
1219
1219
 
1220
1220
  it('CSS of \'Line type\' popup', { tags: 'css' }, () => {