itemengine-cypress-automation 1.0.70 → 1.0.73

Sign up to get free protection for your applications and to get access to all the features.
Files changed (234) hide show
  1. package/cypress/e2e/ILC/AudioResponse/{audioResponseMinimalPreviewSection.js → audioResponseMinimalPreviewSection.smoke.js} +263 -254
  2. package/cypress/e2e/ILC/AudioResponse/{audioResponseStandardPreviewSection.js → audioResponseStandardPreviewSection.smoke.js} +100 -97
  3. package/cypress/e2e/ILC/DragAndDropIntoCategories/dragAndDropIntoCategoriesScoring/groupedOptionsAllOrNothing.smoke.js +121 -0
  4. package/cypress/e2e/ILC/DragAndDropIntoCategories/dragAndDropIntoCategoriesScoring/{groupedOptionsPartialScoreForEachCell.js → groupedOptionsPartialScoreForEachCell.smoke.js} +1 -1
  5. package/cypress/e2e/ILC/DragAndDropIntoCategories/dragAndDropIntoCategoriesScoring/{groupedOptionsPartialScoreForEachResponse.js → groupedOptionsPartialScoreForEachResponse.smoke.js} +1 -1
  6. package/cypress/e2e/ILC/DragAndDropIntoCategories/dragAndDropIntoCategoriesScoring/standardAllOrNothing.smoke.js +164 -0
  7. package/cypress/e2e/ILC/DragAndDropIntoCategories/dragAndDropIntoCategoriesScoring/{standardTotalScoreDividedBetweenResponse.js → standardTotalScoreDividedBetweenResponse.smoke.js} +21 -18
  8. package/cypress/e2e/ILC/EditTabSettingPage/ItemPreviewSettingsTabContent.js +753 -0
  9. package/cypress/e2e/ILC/EssayResponse/essayResponseCreateCustomCategory.smoke.js +943 -0
  10. package/cypress/e2e/ILC/EssayResponse/{essayResponseCustomizeFormattingOptions1.js → essayResponseCustomizeFormattingOptions1.smoke.js} +113 -110
  11. package/cypress/e2e/ILC/EssayResponse/essayResponseEquationEditor.smoke.js +581 -0
  12. package/cypress/e2e/ILC/EssayResponse/essayResponseGradingViewAndCorrectAnswerViewContents.smoke.js +111 -0
  13. package/cypress/e2e/ILC/EssayResponse/{essayResponsePreviewContentsForAllViews.js → essayResponsePreviewContentsForAllViews.smoke.js} +6 -3
  14. package/cypress/e2e/ILC/FillInTheGapsDragAndDrop/fillInTheGapsDragAndDropAdditionalSettings.js +1 -1
  15. package/cypress/e2e/ILC/FillInTheGapsDragAndDrop/fillInTheGapsDragAndDropEditTabBasic.js +1 -1
  16. package/cypress/e2e/ILC/FillInTheGapsDragAndDrop/fillInTheGapsDragAndDropGroupedEditTab.smoke.js +81 -0
  17. package/cypress/e2e/ILC/FillInTheGapsDragAndDrop/{fillInTheGapsDragAndDropGroupedOptionsAllOrNothingScoring.js → fillInTheGapsDragAndDropGroupedOptionsAllOrNothingScoring.smoke.js} +25 -22
  18. package/cypress/e2e/ILC/FillInTheGapsDragAndDrop/fillInTheGapsDragAndDropGroupedOptionsAllOrNothingWithAlternateAnswer.js +6 -18
  19. package/cypress/e2e/ILC/FillInTheGapsDragAndDrop/fillInTheGapsDragAndDropGroupedOptionsPartialDifferentWeightsScoring.js +0 -2
  20. package/cypress/e2e/ILC/FillInTheGapsDragAndDrop/fillInTheGapsDragAndDropGroupedOptionsPartialDifferentWeightsWithAlternateAnswer.js +0 -4
  21. package/cypress/e2e/ILC/FillInTheGapsDragAndDrop/fillInTheGapsDragAndDropGroupedOptionsPartialEqualWeightsScoring.js +0 -2
  22. package/cypress/e2e/ILC/FillInTheGapsDragAndDrop/fillInTheGapsDragAndDropGroupedSetCorrectAnswerCheckboxes.js +1 -0
  23. package/cypress/e2e/ILC/FillInTheGapsDragAndDrop/fillInTheGapsDragAndDropSetCorrectAnswerCheckboxes.js +1 -0
  24. package/cypress/e2e/ILC/FillInTheGapsDragAndDrop/fillInTheGapsDragAndDropStandardOptionPartialDifferentWeightsScoring.js +0 -2
  25. package/cypress/e2e/ILC/FillInTheGapsDragAndDrop/fillInTheGapsDragAndDropStandardOptionPartialDifferentWeightsWithAlternateAnswer.js +0 -4
  26. package/cypress/e2e/ILC/FillInTheGapsDragAndDrop/fillInTheGapsDragAndDropStandardOptionsManualAndNonScoredScoring.js +1 -1
  27. package/cypress/e2e/ILC/FillInTheGapsDragAndDrop/fillInTheGapsDragAndDropStandardOptionsPartialEqualWeightsScoring.js +0 -2
  28. package/cypress/e2e/ILC/FillInTheGapsDragAndDrop/fillInTheGapsDragAndDropStandardOptionsPartialEqualWeightsWithAlternateAnswer.js +0 -4
  29. package/cypress/e2e/ILC/FillInTheGapsDropdown/fillInTheGapsDropdownAdditionalSettingsBasic.js +3 -3
  30. package/cypress/e2e/ILC/FillInTheGapsDropdown/{fillInTheGapsDropdownAllOrNothingScoring.js → fillInTheGapsDropdownAllOrNothingScoring.smoke.js} +18 -14
  31. package/cypress/e2e/ILC/FillInTheGapsDropdown/fillInTheGapsDropdownAllOrNothingScoringWithAlternateAnswer.js +2 -0
  32. package/cypress/e2e/ILC/FillInTheGapsDropdown/fillInTheGapsDropdownManuallyAndNonScoredScoring.js +1 -1
  33. package/cypress/e2e/ILC/FillInTheGapsDropdown/fillInTheGapsDropdownPartialDifferentWeights.js +5 -3
  34. package/cypress/e2e/ILC/FillInTheGapsDropdown/fillInTheGapsDropdownPartialDifferentWeightsWithAlternateAnswer.js +2 -0
  35. package/cypress/e2e/ILC/FillInTheGapsDropdown/fillInTheGapsDropdownPartialEqualWeights.js +4 -0
  36. package/cypress/e2e/ILC/FillInTheGapsDropdown/fillInTheGapsDropdownPartialEqualWeightsWithAlternateAnswer.js +2 -0
  37. package/cypress/e2e/ILC/{fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownAddResponseContainer.js → FillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownAddResponseContainer.smoke.js} +80 -74
  38. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownAdditionalSettingsBasic.js +2 -2
  39. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownAllOrNothingScoring.smoke.js +361 -0
  40. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownAllOrNothingWithAlternateAnswer.js +6 -0
  41. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownEditAriaLabelCheckbox.smoke.js +137 -0
  42. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownImageProperties.smoke.js +171 -0
  43. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownPartialDifferentWeightsWithAlternateAnswer.js +6 -4
  44. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownPartialEqualWeightsWithAlternateAnswer.js +6 -3
  45. package/cypress/e2e/ILC/{fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownPreviewTab.js → FillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownPreviewTab.smoke.js} +1 -1
  46. package/cypress/e2e/ILC/FillInTheGapsOverImageText/fillInTheGapsOverImageTextAddResponseContainer.js +1 -1
  47. package/cypress/e2e/ILC/FillInTheGapsOverImageText/fillInTheGapsOverImageTextAdditionalSettings.js +2 -2
  48. package/cypress/e2e/ILC/FillInTheGapsOverImageText/fillInTheGapsOverImageTextAdditionalSettingsBasic.js +12 -14
  49. package/cypress/e2e/ILC/FillInTheGapsOverImageText/fillInTheGapsOverImageTextAdditionalSettingsMultilineResponse.js +4 -5
  50. package/cypress/e2e/ILC/FillInTheGapsOverImageText/fillInTheGapsOverImageTextAdditionalSettingsStudentResponseAreaAndLayout.js +2 -1
  51. package/cypress/e2e/ILC/FillInTheGapsOverImageText/{fillInTheGapsOverImageTextAllOrNothingScoring.js → fillInTheGapsOverImageTextAllOrNothingScoring.smoke.js} +32 -29
  52. package/cypress/e2e/ILC/FillInTheGapsOverImageText/{fillInTheGapsOverImageTextCheckAnswerForAllViews.js → fillInTheGapsOverImageTextCheckAnswerForAllViews.smoke.js} +5 -3
  53. package/cypress/e2e/ILC/FillInTheGapsOverImageText/fillInTheGapsOverImageTextEditAriaLabelCheckbox.smoke.js +137 -0
  54. package/cypress/e2e/ILC/FillInTheGapsOverImageText/fillInTheGapsOverImageTextEditTabBasicSection.smoke.js +146 -0
  55. package/cypress/e2e/ILC/FillInTheGapsOverImageText/fillInTheGapsOverImageTextManualAndNonScored.js +1 -1
  56. package/cypress/e2e/ILC/FillInTheGapsOverImageText/fillInTheGapsOverImageTextPartialDifferentWeightsScoring.js +4 -2
  57. package/cypress/e2e/ILC/FillInTheGapsOverImageText/fillInTheGapsOverImageTextPartialDifferentWeightsWithAlternateAnswer.js +0 -3
  58. package/cypress/e2e/ILC/FillInTheGapsOverImageText/fillInTheGapsOverImageTextPartialEqualWeightsScoring.js +2 -1
  59. package/cypress/e2e/ILC/FillInTheGapsOverImageText/fillInTheGapsOverImageTextPartialEqualWeightsWithAlternateAnswer.js +2 -2
  60. package/cypress/e2e/ILC/FillInTheGapsOverImageText/{fillInTheGapsOverImageTextPreviewContentsForAllViews.js → fillInTheGapsOverImageTextPreviewContentsForAllViews.smoke.js} +5 -3
  61. package/cypress/e2e/ILC/FillInTheGapsOverImageText/{fillInTheGapsOverImageTextPreviewTab.js → fillInTheGapsOverImageTextPreviewTab.smoke.js} +1 -1
  62. package/cypress/e2e/ILC/FillInTheGapsOverImageText/{fillInTheGapsOverImageTextShowCorrectAnswerForAllView.js → fillInTheGapsOverImageTextShowCorrectAnswerForAllView.smoke.js} +6 -4
  63. package/cypress/e2e/ILC/FillInTheGapsText/fillInTheGapsTextAdditionalSettingsAdvanceSettingsForAllResponseAreas.js +17 -0
  64. package/cypress/e2e/ILC/FillInTheGapsText/fillInTheGapsTextAdditionalSettingsBasic.js +3 -3
  65. package/cypress/e2e/ILC/FillInTheGapsText/fillInTheGapsTextAllOrNothingWithAlternateAnswer.js +4 -0
  66. package/cypress/e2e/ILC/FillInTheGapsText/{fillInTheGapsTextAutoScoredScoring.js → fillInTheGapsTextAutoScoredScoring.smoke.js} +14 -9
  67. package/cypress/e2e/ILC/FillInTheGapsText/fillInTheGapsTextCaseSensitiveAndIgnoreExtraSpacesCheckboxes.js +4 -4
  68. package/cypress/e2e/ILC/FillInTheGapsText/fillInTheGapsTextManuallyAndNonScoredScoring.js +1 -1
  69. package/cypress/e2e/ILC/FillInTheGapsText/fillInTheGapsTextPartialDifferentWeights.js +4 -2
  70. package/cypress/e2e/ILC/FillInTheGapsText/fillInTheGapsTextPartialDifferentWeightsWithAlternateAnswer.js +3 -1
  71. package/cypress/e2e/ILC/FillInTheGapsText/fillInTheGapsTextPartialEqualWeights.js +4 -0
  72. package/cypress/e2e/ILC/FillInTheGapsText/fillInTheGapsTextPartialEqualWeightsWithAlternateAnswer.js +2 -0
  73. package/cypress/e2e/ILC/Highlight/HighlightScoring/{allOrNothingScoring.js → allOrNothingScoring.smoke.js} +36 -34
  74. package/cypress/e2e/ILC/Highlight/HighlightScoring/highlightBasicScoringForTextSelectionTypes.smoke.js +462 -0
  75. package/cypress/e2e/ILC/Highlight/highlightColorLibraryFlyout.smoke.js +148 -0
  76. package/cypress/e2e/ILC/Highlight/highlightQuestionInstructionsAndQuestion.smoke.js +185 -0
  77. package/cypress/e2e/ILC/HighlightImage/highlightImageEditTabBasic.smoke.js +138 -0
  78. package/cypress/e2e/ILC/HighlightImage/{highlightImagePreviewTab.js → highlightImagePreviewTab.smoke.js} +1 -1
  79. package/cypress/e2e/ILC/HighlightImage/{highlightImageToolsFunctionalityPreviewTab.js → highlightImageToolsFunctionalityPreviewTab.smoke.js} +4 -4
  80. package/cypress/e2e/ILC/ListMatching/ListMatchingScoring/groupedOptionsAllOrNothingScoring.smoke.js +122 -0
  81. package/cypress/e2e/ILC/ListMatching/{Scoring → ListMatchingScoring}/groupedOptionsManualAndNonScoredScoring.js +1 -1
  82. package/cypress/e2e/ILC/ListMatching/{Scoring → ListMatchingScoring}/groupedOptionsPartialDifferentWeightsScoring.js +2 -3
  83. package/cypress/e2e/ILC/ListMatching/{Scoring → ListMatchingScoring}/groupedOptionsPartialDifferrentWeightsAlternatePointsGreaterThanCorrectPoints.js +0 -1
  84. package/cypress/e2e/ILC/ListMatching/{Scoring → ListMatchingScoring}/groupedOptionsPartialDifferrentWeightsCorrectPointsEqualToAlternatePoints.js +0 -1
  85. package/cypress/e2e/ILC/ListMatching/{Scoring → ListMatchingScoring}/groupedOptionsPartialDifferrentWeightsCorrectPointsGreaterThanAlternatePoints.js +0 -1
  86. package/cypress/e2e/ILC/ListMatching/{Scoring → ListMatchingScoring}/groupedOptionsPartialEqualWeightsScorings.js +2 -2
  87. package/cypress/e2e/ILC/ListMatching/{Scoring → ListMatchingScoring}/standardOptionsManualAndNonScoredScoring.js +1 -1
  88. package/cypress/e2e/ILC/ListMatching/{Scoring → ListMatchingScoring}/standardOptionsPartialDifferentWeightsAlternatePointsGreaterThanCorrectPoints.js +0 -1
  89. package/cypress/e2e/ILC/ListMatching/{Scoring → ListMatchingScoring}/standardOptionsPartialDifferentWeightsCorrectPointsEqualToAlternatePoints.js +0 -1
  90. package/cypress/e2e/ILC/ListMatching/{Scoring → ListMatchingScoring}/standardOptionsPartialDifferentWeightsCorrectPointsGreaterThanAlternatePoints.js +0 -1
  91. package/cypress/e2e/ILC/ListMatching/{Scoring → ListMatchingScoring}/standardOptionsPartialDifferentWeightsScoring.js +2 -3
  92. package/cypress/e2e/ILC/ListMatching/{Scoring → ListMatchingScoring}/standardOptionsPartialEqualWeightsScoring.js +2 -2
  93. package/cypress/e2e/ILC/ListMatching/listMatchingAdditionalSettingsBasic.js +2 -2
  94. package/cypress/e2e/ILC/ListMatching/{listMatchingAlternateAnswer.js → listMatchingAlternateAnswer.smoke.js} +47 -43
  95. package/cypress/e2e/ILC/ListMatching/listMatchingEditTabScoringTypes.js +1 -1
  96. package/cypress/e2e/ILC/ListMatching/listMatchingGroupedOptionsSection.smoke.js +211 -0
  97. package/cypress/e2e/ILC/ListMatching/listMatchingQuestionInstructionsAndStemsSection.smoke.js +254 -0
  98. package/cypress/e2e/ILC/ListMatching/listMatchingStandardOptionsSetCorrectAnswerCheckboxesPreviewTab.smoke.js +191 -0
  99. package/cypress/e2e/ILC/ListOrdering/{Scoring → ListOrderingScoring}/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +1 -1
  100. package/cypress/e2e/ILC/ListOrdering/{Scoring → ListOrderingScoring}/allOrNothingCorrectPointsEqualToAlternatePoints.js +2 -1
  101. package/cypress/e2e/ILC/ListOrdering/{Scoring → ListOrderingScoring}/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +2 -1
  102. package/cypress/e2e/ILC/ListOrdering/{Scoring/allOrNothingScoring.js → ListOrderingScoring/allOrNothingScoring.smoke.js} +34 -32
  103. package/cypress/e2e/ILC/ListOrdering/{Scoring → ListOrderingScoring}/manuallyAndNonScoredScoring.js +3 -3
  104. package/cypress/e2e/ILC/ListOrdering/{Scoring → ListOrderingScoring}/partialDifferentWeightsAlternatePointsGreaterThanCorrectPoints.js +1 -1
  105. package/cypress/e2e/ILC/ListOrdering/{Scoring → ListOrderingScoring}/partialDifferentWeightsCorrectPointsEqualToAlternatePoints.js +1 -1
  106. package/cypress/e2e/ILC/ListOrdering/{Scoring → ListOrderingScoring}/partialDifferentWeightsCorrectPointsGreaterThanAlternatePoints.js +4 -3
  107. package/cypress/e2e/ILC/ListOrdering/{Scoring → ListOrderingScoring}/partialDifferentWeightsScoring.js +14 -13
  108. package/cypress/e2e/ILC/ListOrdering/{Scoring → ListOrderingScoring}/partialEqualWeightsAlternatePointsGreaterThanCorrectPoints.js +1 -1
  109. package/cypress/e2e/ILC/ListOrdering/{Scoring → ListOrderingScoring}/partialEqualWeightsCorrectPointsEqualToAlternatePoints.js +2 -2
  110. package/cypress/e2e/ILC/ListOrdering/{Scoring → ListOrderingScoring}/partialEqualWeightsCorrectPointsGreaterThanAlternatePoints.js +1 -1
  111. package/cypress/e2e/ILC/ListOrdering/{Scoring → ListOrderingScoring}/partialEqualWeightsScoring.js +0 -1
  112. package/cypress/e2e/ILC/ListOrdering/listOrderingAdditionalSettingsAnswerNumerationAndOptionLabel.js +1 -1
  113. package/cypress/e2e/ILC/ListOrdering/listOrderingAdditionalSettingsBasic.js +2 -2
  114. package/cypress/e2e/ILC/ListOrdering/listOrderingAdditionalSettingsOptionStyleDropdown.js +1 -1
  115. package/cypress/e2e/ILC/ListOrdering/listOrderingAdditionalSettingsSetPointsPopup.js +3 -7
  116. package/cypress/e2e/ILC/ListOrdering/listOrderingEditTabScoringSection.js +6 -6
  117. package/cypress/e2e/ILC/ListSorting/{Scoring → ListSortingScoring}/allOrNothingCorrectPointsEqualToAlternatePoints.js +1 -1
  118. package/cypress/e2e/ILC/ListSorting/{Scoring/allOrNothingScoring.js → ListSortingScoring/allOrNothingScoring.smoke.js} +41 -38
  119. package/cypress/e2e/ILC/ListSorting/{Scoring → ListSortingScoring}/manuallyAndNonScoredScoring.js +1 -1
  120. package/cypress/e2e/ILC/ListSorting/{Scoring → ListSortingScoring}/partialDifferentWeightsAlternatePointsGreaterThanCorrectPoints.js +0 -1
  121. package/cypress/e2e/ILC/ListSorting/{Scoring → ListSortingScoring}/partialDifferentWeightsCorrectPointsEqualToAlternatePoints.js +0 -1
  122. package/cypress/e2e/ILC/ListSorting/{Scoring → ListSortingScoring}/partialDifferentWeightsCorrectPointsGreaterThanAlternatePoints.js +0 -1
  123. package/cypress/e2e/ILC/ListSorting/{Scoring → ListSortingScoring}/partialDifferentWeightsScoring.js +12 -12
  124. package/cypress/e2e/ILC/ListSorting/{Scoring → ListSortingScoring}/partialEqualWeightsAlternatePointsGreaterThanCorrectPoints.js +0 -1
  125. package/cypress/e2e/ILC/ListSorting/{Scoring → ListSortingScoring}/partialEqualWeightsCorrectPointsEqualToAlternatePoints.js +0 -1
  126. package/cypress/e2e/ILC/ListSorting/{Scoring → ListSortingScoring}/partialEqualWeightsCorrectPointsGreaterThanAlternatePoints.js +0 -2
  127. package/cypress/e2e/ILC/ListSorting/{Scoring → ListSortingScoring}/partialEqualWeightsScoring.js +13 -13
  128. package/cypress/e2e/ILC/ListSorting/listSortingAdditionalSettingsBasic.js +2 -2
  129. package/cypress/e2e/ILC/ListSorting/listSortingEditTabScoringSection.js +6 -6
  130. package/cypress/e2e/ILC/ListSorting/listSortingSetCorrectAnswerCheckboxes.smoke.js +269 -0
  131. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionAdditionalSettingsGridOptions.js +1 -1
  132. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridAdditionalSettingsBasic.js +16 -19
  133. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridAllOrNothingAlternatePointsGreaterThanCorrectPoints.js +3 -3
  134. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridAllOrNothingCorrectPointsEqualToAlternatePoints.js +3 -3
  135. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridAllOrNothingCorrectPointsGreaterThanAlternatePoints.js +3 -3
  136. package/cypress/e2e/ILC/MultipleSelectionGrid/{multipleSelectionGridAutoScoredScoring.js → multipleSelectionGridAutoScoredScoring.smoke.js} +40 -38
  137. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridEditTabBasicSection.js +1 -1
  138. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridEditTabScoringSection.js +2 -2
  139. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridManuallyAndNonScoredScoring.js +3 -3
  140. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridPartialDifferentWeights.js +12 -12
  141. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridPartialDifferentWeightsAlternatePointsGreaterThanCorrectPoints.js +25 -26
  142. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridPartialDifferentWeightsCorrectPointsEqualToAlternatePoints.js +23 -24
  143. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridPartialDifferentWeightsCorrectPointsGreaterThanAlternatePoints.js +25 -26
  144. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridPartialEqualWeights.js +14 -13
  145. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridPartialEqualWeightsAlternatePointsGreaterThanCorrectPoints.js +23 -24
  146. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridPartialEqualWeightsCorrectPointsEqualToAlternatePoints.js +21 -22
  147. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridPartialEqualWeightsCorrectPointsGreaterThanAlternatePoints.js +23 -24
  148. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridSetCorrectAnswerSection.js +7 -7
  149. package/cypress/e2e/ILC/ShortTextResponse/shortTextResponseAdditionalSettingsBasic.js +10 -10
  150. package/cypress/e2e/ILC/ShortTextResponse/shortTextResponseAutoScoredScoring.smoke.js +407 -0
  151. package/cypress/e2e/ILC/ShortTextResponse/shortTextResponseConditionalCheckboxes.js +3 -3
  152. package/cypress/e2e/ILC/ShortTextResponse/shortTextResponseContainsConditionalRadioButton.js +4 -4
  153. package/cypress/e2e/ILC/ShortTextResponse/shortTextResponseEditTabScoringSection.js +7 -19
  154. package/cypress/e2e/ILC/ShortTextResponse/shortTextResponseExactConditionalRadioButton.js +4 -4
  155. package/cypress/e2e/ILC/ShortTextResponse/shortTextResponseManuallyScoredNonScoredScoringSection.js +9 -15
  156. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridAdditionalSettingsBasic.js +16 -18
  157. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridAllOrNothingAlternatePointsGreaterThanCorrectPoints.js +1 -1
  158. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridAllOrNothingCorrectPointsEqualToAlternatePoints.js +1 -1
  159. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridAllOrNothingCorrectPointsGreaterThanAlternatePoints.js +1 -1
  160. package/cypress/e2e/ILC/SingleSelectionGrid/{singleSelectionGridAutoScoredScoring.js → singleSelectionGridAutoScoredScoring.smoke.js} +36 -33
  161. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridEditTabBasicSection.js +1 -1
  162. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridEditTabScoringSection.js +2 -2
  163. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridManuallyAndNonScored.js +3 -3
  164. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridPartialDifferentWeights.js +11 -10
  165. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridPartialDifferentWeightsAlternatePointsGreaterThanCorrectPoints.js +18 -18
  166. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridPartialDifferentWeightsCorrectPointsEqualToAlternatePoints.js +16 -16
  167. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridPartialDifferentWeightsCorrectPointsGreaterThanAlternatePoints.js +18 -18
  168. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridPartialEqualWeights.js +10 -9
  169. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridPartialEqualWeightsAlternatePointsGreaterThanCorrectPoints.js +16 -16
  170. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridPartialEqualWeightsCorrectPointsEqualToAlternatePoints.js +14 -14
  171. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridPartialEqualWeightsCorrectPointsGreaterThanAlternatePoints.js +16 -17
  172. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridSetCorrectAnswerSection.js +31 -31
  173. package/cypress/e2e/ILC/UploadResponse/{uploadResponsePreview.js → uploadResponsePreview.smoke.js} +64 -59
  174. package/cypress/e2e/ILC/VideoResponse/{videoResponsePreviewTab.js → videoResponsePreviewTab.smoke.js} +290 -281
  175. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownAdditionalSettings.js +2 -2
  176. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownManualAndNonScoredScoring.js +1 -1
  177. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownPartialDifferentWeightsScoring.js +8 -2
  178. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownPartialEqualWeightsScoring.js +10 -4
  179. package/cypress/pages/components/additionalSettingsPanel.js +0 -27
  180. package/cypress/pages/components/autoScoredSetCorrectAnswerSection.js +1 -1
  181. package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +321 -0
  182. package/cypress/pages/components/createQuestionBasePage.js +1 -7
  183. package/cypress/pages/components/essayResponseCommonComponents.js +0 -6
  184. package/cypress/pages/components/fillInTheGapsCommonComponents.js +0 -13
  185. package/cypress/pages/components/index.js +2 -1
  186. package/cypress/pages/components/mcqAdditionalSettingsBase.js +0 -10
  187. package/cypress/pages/components/scoringSectionBase.js +3 -2
  188. package/cypress/pages/createItemPage.js +3 -79
  189. package/cypress/pages/dialogBoxBase.js +8 -23
  190. package/cypress/pages/index.js +1 -4
  191. package/cypress/pages/itemPreviewSettingsPage.js +446 -0
  192. package/cypress/pages/multipleSelectionPage.js +113 -64
  193. package/cypress/pages/selectQuestionResourceToolPage.js +0 -5
  194. package/cypress/pages/shortTextResponsePage.js +0 -6
  195. package/cypress/pages/singleSelectionPage.js +0 -1
  196. package/package.json +2 -2
  197. package/cypress/e2e/ILC/DragAndDropIntoCategories/dragAndDropIntoCategoriesScoring/groupedOptionsAllOrNothing.js +0 -116
  198. package/cypress/e2e/ILC/DragAndDropIntoCategories/dragAndDropIntoCategoriesScoring/standardAllOrNothing.js +0 -160
  199. package/cypress/e2e/ILC/EssayResponse/essayResponseCreateCustomCategory.js +0 -932
  200. package/cypress/e2e/ILC/EssayResponse/essayResponseEquationEditor.js +0 -572
  201. package/cypress/e2e/ILC/EssayResponse/essayResponseGradingViewAndCorrectAnswerViewContents.js +0 -106
  202. package/cypress/e2e/ILC/FillInTheGapsDragAndDrop/fillInTheGapsDragAndDropGroupedEditTab.js +0 -76
  203. package/cypress/e2e/ILC/FillInTheGapsOverImageText/fillInTheGapsOverImageTextEditAriaLabelCheckbox.js +0 -134
  204. package/cypress/e2e/ILC/FillInTheGapsOverImageText/fillInTheGapsOverImageTextEditTabBasicSection.js +0 -133
  205. package/cypress/e2e/ILC/Highlight/HighlightScoring/highlightBasicScoringForTextSelectionTypes.js +0 -457
  206. package/cypress/e2e/ILC/Highlight/highlightColorLibraryFlyout.js +0 -143
  207. package/cypress/e2e/ILC/Highlight/highlightQuestionInstructionsAndQuestion.js +0 -178
  208. package/cypress/e2e/ILC/HighlightImage/highlightImageEditTabBasic.js +0 -125
  209. package/cypress/e2e/ILC/ListMatching/Scoring/groupedOptionsAllOrNothingScoring.js +0 -117
  210. package/cypress/e2e/ILC/ListMatching/listMatchingGroupedOptionsSection.js +0 -207
  211. package/cypress/e2e/ILC/ListMatching/listMatchingQuestionInstructionsAndStemsSection.js +0 -246
  212. package/cypress/e2e/ILC/ListMatching/listMatchingStandardOptionsSetCorrectAnswerCheckboxesPreviewTab.js +0 -185
  213. package/cypress/e2e/ILC/ListSorting/listSortingAdditionalSettings.js +0 -820
  214. package/cypress/e2e/ILC/ListSorting/listSortingAutoScoredScoring.js +0 -936
  215. package/cypress/e2e/ILC/ListSorting/listSortingSetCorrectAnswerCheckboxes.js +0 -263
  216. package/cypress/e2e/ILC/ShortTextResponse/shortTextResponseAutoScoredScoring.js +0 -418
  217. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownAllOrNothingScoring.js +0 -352
  218. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownEditAriaLabelCheckbox.js +0 -134
  219. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownImageProperties.js +0 -156
  220. /package/cypress/e2e/ILC/ListMatching/{Scoring → ListMatchingScoring}/groupedOptionsAllOrNothingAlternatePointsGreaterThanCorrectPoints.js +0 -0
  221. /package/cypress/e2e/ILC/ListMatching/{Scoring → ListMatchingScoring}/groupedOptionsAllOrNothingCorrectPointsEqualToAlternatePoints.js +0 -0
  222. /package/cypress/e2e/ILC/ListMatching/{Scoring → ListMatchingScoring}/groupedOptionsAllOrNothingCorrectPointsGreaterThanAlternatePoints.js +0 -0
  223. /package/cypress/e2e/ILC/ListMatching/{Scoring → ListMatchingScoring}/groupedOptionsPartialEqualWeightsAlternatePointsGreaterThanCorrectPoints.js +0 -0
  224. /package/cypress/e2e/ILC/ListMatching/{Scoring → ListMatchingScoring}/groupedOptionsPartialEqualWeightsCorrectPointsEqualToAlternatePoints.js +0 -0
  225. /package/cypress/e2e/ILC/ListMatching/{Scoring → ListMatchingScoring}/groupedOptionsPartialEqualWeightsCorrectPointsGreaterThanAlternatePoints.js +0 -0
  226. /package/cypress/e2e/ILC/ListMatching/{Scoring → ListMatchingScoring}/standardOptionsAllOrNothingAlternatePointsGreaterThanCorrectPoints.js +0 -0
  227. /package/cypress/e2e/ILC/ListMatching/{Scoring → ListMatchingScoring}/standardOptionsAllOrNothingCorrectPointsEqualToAlternatePoints.js +0 -0
  228. /package/cypress/e2e/ILC/ListMatching/{Scoring → ListMatchingScoring}/standardOptionsAllOrNothingCorrectPointsGreaterThanAlternatePoints.js +0 -0
  229. /package/cypress/e2e/ILC/ListMatching/{Scoring → ListMatchingScoring}/standardOptionsAllOrNothingScoring.js +0 -0
  230. /package/cypress/e2e/ILC/ListMatching/{Scoring → ListMatchingScoring}/standardOptionsPartialEqualWeightsAlternatePointsMoreThanCorrectPoints.js +0 -0
  231. /package/cypress/e2e/ILC/ListMatching/{Scoring → ListMatchingScoring}/standardOptionsPartialEqualWeightsCorrectPointsEqualToAlternatePoints.js +0 -0
  232. /package/cypress/e2e/ILC/ListMatching/{Scoring → ListMatchingScoring}/standardOptionsPartialEqualWeightsCorrectPointsMoreThanAlternatePoints.js +0 -0
  233. /package/cypress/e2e/ILC/ListSorting/{Scoring → ListSortingScoring}/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +0 -0
  234. /package/cypress/e2e/ILC/ListSorting/{Scoring → ListSortingScoring}/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +0 -0
@@ -2,75 +2,78 @@ import { videoResponsePage } from "../../../pages";
2
2
  import abortEarlySetup from "../../../support/helpers/abortEarly";
3
3
  import utilities from "../../../support/helpers/utilities";
4
4
  const css = Cypress.env('css');
5
+ const grepTags = Cypress.env('grepTags');
5
6
 
6
7
  describe('Create item page - Video response: Preview tab - default state, recording a video', () => {
7
8
  before(() => {
8
9
  cy.loginAs('admin');
9
10
  });
10
11
 
11
- describe('Video response: Default state of preview tab', () => {
12
- abortEarlySetup();
13
- before(() => {
14
- videoResponsePage.steps.navigateToCreateQuestion('video response');
15
- cy.barsPreLoaderWait();
16
- videoResponsePage.steps.switchToPreviewTab();
17
- });
18
-
19
- it('A start recording interface with a \'Rec\' button and text \'Click/tap anywhere here to start recording\' should be displayed in the preview tab', () => {
20
- utilities.verifyElementVisibilityState(videoResponsePage.clickTapAnywhereArea(), 'visible');
21
- utilities.verifyInnerText(videoResponsePage.recordButton(), 'REC');
22
- utilities.verifyElementVisibilityState(videoResponsePage.recordButton(), 'visible');
23
- utilities.verifyInnerText(videoResponsePage.startRecordingText(), 'Click/tap anywhere here to start recording');
24
- utilities.verifyElementVisibilityState(videoResponsePage.startRecordingText(), 'visible');
25
- });
26
-
27
- it('When the user has not started recording, a status message: \'Allow access to your camera and microphone.\' should be displayed on the recording interface', () => {
28
- videoResponsePage.steps.verifyRecordingStatus('Allow access to your camera and microphone.');
29
- });
30
-
31
- it('When the user has not started recording, maximum recording length should be displayed in minutes(mm:ss) format', () => {
32
- utilities.verifyInnerText(videoResponsePage.recordingTimer(), '15:00');
33
- utilities.verifyElementVisibilityState(videoResponsePage.recordingTimer(), 'visible');
34
- });
35
-
36
- it('CSS of recording interface', { tags: 'css' }, () => {
37
- utilities.verifyCSS(videoResponsePage.clickTapAnywhereArea(), {
38
- 'background-color': css.color.clickTapAnywhereAreaBg
39
- });
40
- //TODO: Add CSS of button wrappper here
41
- utilities.verifyCSS(videoResponsePage.recordButton(), {
42
- 'color': css.color.defaultBackground,
43
- 'font-size': css.fontSize.extraLarge,
44
- 'font-weight': css.fontWeight.medium,
45
- 'border': `2px solid ${css.color.defaultBackground}`,
46
- 'background-color': css.color.recordingIcon
47
- });
48
- utilities.verifyCSS(videoResponsePage.startRecordingText(), {
49
- 'color': css.color.defaultBackground,
50
- 'font-size': css.fontSize.normal,
51
- 'font-weight': css.fontWeight.regular,
52
- });
53
- utilities.verifyCSS(videoResponsePage.recordingStatusText(), {
54
- 'color': css.color.defaultBackground,
55
- 'font-size': css.fontSize.normal,
56
- 'font-weight': css.fontWeight.regular,
57
- });
58
- utilities.verifyCSS(videoResponsePage.recordingTimer(), {
59
- 'color': css.color.defaultBackground,
60
- 'font-size': css.fontSize.small,
61
- 'font-weight': css.fontWeight.regular,
62
- });
63
- utilities.verifyCSS(videoResponsePage.recordingStatusIcon().find('g'), {
64
- 'fill': css.color.defaultBackground,
65
- });
66
- });
67
-
68
- it('Accessibility of recording interface', { tags: 'a11y' }, () => {
69
- cy.checkAccessibility(videoResponsePage.clickTapAnywhereArea().parents('.edit-question-preview-wrapper'));
70
- });
71
- });
72
-
73
- describe('Video response: Recording a video', () => {
12
+ if (!grepTags || !grepTags.includes('smoke')) {
13
+ describe('Video response: Default state of preview tab', () => {
14
+ abortEarlySetup();
15
+ before(() => {
16
+ videoResponsePage.steps.navigateToCreateQuestion('video response');
17
+ cy.barsPreLoaderWait();
18
+ videoResponsePage.steps.switchToPreviewTab();
19
+ });
20
+
21
+ it('A start recording interface with a \'Rec\' button and text \'Click/tap anywhere here to start recording\' should be displayed in the preview tab', () => {
22
+ utilities.verifyElementVisibilityState(videoResponsePage.clickTapAnywhereArea(), 'visible');
23
+ utilities.verifyInnerText(videoResponsePage.recordButton(), 'REC');
24
+ utilities.verifyElementVisibilityState(videoResponsePage.recordButton(), 'visible');
25
+ utilities.verifyInnerText(videoResponsePage.startRecordingText(), 'Click/tap anywhere here to start recording');
26
+ utilities.verifyElementVisibilityState(videoResponsePage.startRecordingText(), 'visible');
27
+ });
28
+
29
+ it('When the user has not started recording, a status message: \'Allow access to your camera and microphone.\' should be displayed on the recording interface', () => {
30
+ videoResponsePage.steps.verifyRecordingStatus('Allow access to your camera and microphone.');
31
+ });
32
+
33
+ it('When the user has not started recording, maximum recording length should be displayed in minutes(mm:ss) format', () => {
34
+ utilities.verifyInnerText(videoResponsePage.recordingTimer(), '15:00');
35
+ utilities.verifyElementVisibilityState(videoResponsePage.recordingTimer(), 'visible');
36
+ });
37
+
38
+ it('CSS of recording interface', { tags: 'css' }, () => {
39
+ utilities.verifyCSS(videoResponsePage.clickTapAnywhereArea(), {
40
+ 'background-color': css.color.clickTapAnywhereAreaBg
41
+ });
42
+ //TODO: Add CSS of button wrappper here
43
+ utilities.verifyCSS(videoResponsePage.recordButton(), {
44
+ 'color': css.color.defaultBackground,
45
+ 'font-size': css.fontSize.extraLarge,
46
+ 'font-weight': css.fontWeight.medium,
47
+ 'border': `2px solid ${css.color.defaultBackground}`,
48
+ 'background-color': css.color.recordingIcon
49
+ });
50
+ utilities.verifyCSS(videoResponsePage.startRecordingText(), {
51
+ 'color': css.color.defaultBackground,
52
+ 'font-size': css.fontSize.normal,
53
+ 'font-weight': css.fontWeight.regular,
54
+ });
55
+ utilities.verifyCSS(videoResponsePage.recordingStatusText(), {
56
+ 'color': css.color.defaultBackground,
57
+ 'font-size': css.fontSize.normal,
58
+ 'font-weight': css.fontWeight.regular,
59
+ });
60
+ utilities.verifyCSS(videoResponsePage.recordingTimer(), {
61
+ 'color': css.color.defaultBackground,
62
+ 'font-size': css.fontSize.small,
63
+ 'font-weight': css.fontWeight.regular,
64
+ });
65
+ utilities.verifyCSS(videoResponsePage.recordingStatusIcon().find('g'), {
66
+ 'fill': css.color.defaultBackground,
67
+ });
68
+ });
69
+
70
+ it('Accessibility of recording interface', { tags: 'a11y' }, () => {
71
+ cy.checkAccessibility(videoResponsePage.clickTapAnywhereArea().parents('.edit-question-preview-wrapper'));
72
+ });
73
+ });
74
+ }
75
+
76
+ describe('Video response: Recording a video', { tags: 'smoke' }, () => {
74
77
  abortEarlySetup();
75
78
  before(() => {
76
79
  videoResponsePage.steps.navigateToCreateQuestion('video response');
@@ -268,7 +271,7 @@ describe('Create item page - Video response: Preview tab - default state, record
268
271
  });
269
272
  });
270
273
 
271
- describe('Video response playback: Play, pause and seek', () => {
274
+ describe('Video response playback: Play, pause and seek', { tags: 'smoke' }, () => {
272
275
  let actualVideoSeekedInPercent = 50
273
276
  abortEarlySetup();
274
277
  before(() => {
@@ -386,243 +389,249 @@ describe('Create item page - Video response: Preview tab - default state, record
386
389
  });
387
390
  });
388
391
 
389
- describe('Video response playback: Volume control', () => {
390
- abortEarlySetup();
391
- before(() => {
392
- videoResponsePage.steps.navigateToCreateQuestion('video response');
393
- cy.barsPreLoaderWait();
394
- videoResponsePage.steps.switchToPreviewTab();
395
- videoResponsePage.steps.recordAndSaveVideo(5000);
396
- });
397
-
398
- it('When the user hovers over \'Volume control\' button, volume control settings should open and by default it should be set to full volume and on hovering away from the button, the volume sliders should disappear', () => {
399
- videoResponsePage.steps.hoverOnVolumeControlButton();
400
- utilities.verifyElementVisibilityState(videoResponsePage.volumeControlSlider(), 'visible');
401
- videoResponsePage.steps.verifyVolumeOfPlaybackPlayer('100');
402
- utilities.hoverAwayFromElement();
403
- utilities.verifyElementVisibilityState(videoResponsePage.volumeControlSlider(), 'notExist');
404
- });
405
-
406
- it('When volume is not set as 0 and user hovers on \'Volume control\' button, then \'Mute\' text should be displayed in a tooltip and on hovering away from the button, the tooltip should disappear', () => {
407
- videoResponsePage.steps.hoverOnVolumeControlButton();
408
- utilities.verifyElementVisibilityState(videoResponsePage.tooltipText(), 'visible');
409
- utilities.verifyInnerText(videoResponsePage.tooltipText(), 'Mute');
410
- utilities.hoverAwayFromElement();
411
- utilities.verifyElementVisibilityState(videoResponsePage.tooltipText(), 'notExist');
412
- });
413
-
414
- it('When the user hovers over \'Volume control slider\', then \'Volume control\' text should be displayed in a tooltip and on hovering away from the button, the tooltip should disappear', () => {
415
- videoResponsePage.steps.hoverOnVolumeControlButton();
416
- videoResponsePage.steps.hoverOnVolumeControlSlider();
417
- videoResponsePage.steps.hoverAwayFromVolumeControlButton();
418
- utilities.verifyElementVisibilityState(videoResponsePage.tooltipText(), 'visible');
419
- utilities.verifyInnerText(videoResponsePage.tooltipText(), 'Volume control');
420
- utilities.hoverAwayFromElement();
421
- utilities.verifyElementVisibilityState(videoResponsePage.volumeControlSlider(), 'notExist');
422
- utilities.verifyElementVisibilityState(videoResponsePage.tooltipText(), 'notExist');
423
- });
424
-
425
- it('When volume is not set as 0 and user clicks on volume control button, then the video should be muted and the volume control button should change to a muted state', () => {
426
- videoResponsePage.steps.clickOnVolumeButton();
427
- videoResponsePage.steps.hoverOnVolumeControlButton();
428
- videoResponsePage.steps.verifyVolumeOfPlaybackPlayer('0');
429
- utilities.hoverAwayFromElement();
430
- utilities.verifyElementVisibilityState(videoResponsePage.volumeControlSlider(), 'notExist');
431
- utilities.verifyElementVisibilityState(videoResponsePage.muteVolumeIcon(), 'visible');
432
- videoResponsePage.steps.focusOutFromVolumeControlButton();
433
- });
392
+ if (!grepTags || !grepTags.includes('smoke')) {
393
+ describe('Video response playback: Volume control', () => {
394
+ abortEarlySetup();
395
+ before(() => {
396
+ videoResponsePage.steps.navigateToCreateQuestion('video response');
397
+ cy.barsPreLoaderWait();
398
+ videoResponsePage.steps.switchToPreviewTab();
399
+ videoResponsePage.steps.recordAndSaveVideo(5000);
400
+ });
434
401
 
435
- it('When the user hovers on muted \'Volume control\' button, \'Unmute\' text should be displayed in tooltip', () => {
436
- videoResponsePage.steps.hoverOnVolumeControlButton();
437
- utilities.verifyElementVisibilityState(videoResponsePage.tooltipText(), 'visible');
438
- utilities.verifyInnerText(videoResponsePage.tooltipText(), 'Unmute');
439
- utilities.hoverAwayFromElement();
440
- utilities.verifyElementVisibilityState(videoResponsePage.tooltipText(), 'notExist');
441
- });
402
+ it('When the user hovers over \'Volume control\' button, volume control settings should open and by default it should be set to full volume and on hovering away from the button, the volume sliders should disappear', () => {
403
+ videoResponsePage.steps.hoverOnVolumeControlButton();
404
+ utilities.verifyElementVisibilityState(videoResponsePage.volumeControlSlider(), 'visible');
405
+ videoResponsePage.steps.verifyVolumeOfPlaybackPlayer('100');
406
+ utilities.hoverAwayFromElement();
407
+ utilities.verifyElementVisibilityState(videoResponsePage.volumeControlSlider(), 'notExist');
408
+ });
442
409
 
443
- it('When the user clicks on the muted volume control button then the volume setting slider should return to full volume and the volume control button should change to an unmuted state', () => {
444
- videoResponsePage.steps.clickOnVolumeButton();
445
- videoResponsePage.steps.hoverOnVolumeControlButton();
446
- videoResponsePage.steps.verifyVolumeOfPlaybackPlayer('100');
447
- utilities.verifyElementVisibilityState(videoResponsePage.unmutedVolumeIcon(), 'visible');
448
- });
410
+ it('When volume is not set as 0 and user hovers on \'Volume control\' button, then \'Mute\' text should be displayed in a tooltip and on hovering away from the button, the tooltip should disappear', () => {
411
+ videoResponsePage.steps.hoverOnVolumeControlButton();
412
+ utilities.verifyElementVisibilityState(videoResponsePage.tooltipText(), 'visible');
413
+ utilities.verifyInnerText(videoResponsePage.tooltipText(), 'Mute');
414
+ utilities.hoverAwayFromElement();
415
+ utilities.verifyElementVisibilityState(videoResponsePage.tooltipText(), 'notExist');
416
+ });
449
417
 
450
- it('CSS of volume control section', { tags: 'css' }, () => {
451
- utilities.verifyCSS(videoResponsePage.volumeControlSlider(), {
452
- 'background': `${css.color.transparent} linear-gradient(to right, ${css.color.progressBarElapsedFill} 0%, ${css.color.progressBarElapsedFill} 100%, ${css.color.progressBarRemainingFill} 0%, ${css.color.progressBarRemainingFill} 100%) repeat scroll 0% 0% / auto padding-box border-box`
418
+ it('When the user hovers over \'Volume control slider\', then \'Volume control\' text should be displayed in a tooltip and on hovering away from the button, the tooltip should disappear', () => {
419
+ videoResponsePage.steps.hoverOnVolumeControlButton();
420
+ videoResponsePage.steps.hoverOnVolumeControlSlider();
421
+ videoResponsePage.steps.hoverAwayFromVolumeControlButton();
422
+ utilities.verifyElementVisibilityState(videoResponsePage.tooltipText(), 'visible');
423
+ utilities.verifyInnerText(videoResponsePage.tooltipText(), 'Volume control');
424
+ utilities.hoverAwayFromElement();
425
+ utilities.verifyElementVisibilityState(videoResponsePage.volumeControlSlider(), 'notExist');
426
+ utilities.verifyElementVisibilityState(videoResponsePage.tooltipText(), 'notExist');
453
427
  });
454
- utilities.verifyCSS(videoResponsePage.volumeControlButton().find('g path'), {
455
- 'fill': css.color.secondaryBtnBg,
428
+
429
+ it('When volume is not set as 0 and user clicks on volume control button, then the video should be muted and the volume control button should change to a muted state', () => {
430
+ videoResponsePage.steps.clickOnVolumeButton();
431
+ videoResponsePage.steps.hoverOnVolumeControlButton();
432
+ videoResponsePage.steps.verifyVolumeOfPlaybackPlayer('0');
433
+ utilities.hoverAwayFromElement();
434
+ utilities.verifyElementVisibilityState(videoResponsePage.volumeControlSlider(), 'notExist');
435
+ utilities.verifyElementVisibilityState(videoResponsePage.muteVolumeIcon(), 'visible');
436
+ videoResponsePage.steps.focusOutFromVolumeControlButton();
456
437
  });
457
- });
458
438
 
459
- it('Accessibility of volume control section', { tags: 'a11y' }, () => {
460
- cy.checkAccessibility(videoResponsePage.volumeControlSlider());
461
- cy.checkAccessibility(videoResponsePage.playbackPlayButton().parents('.video-player-wrapper'));
462
- });
439
+ it('When the user hovers on muted \'Volume control\' button, \'Unmute\' text should be displayed in tooltip', () => {
440
+ videoResponsePage.steps.hoverOnVolumeControlButton();
441
+ utilities.verifyElementVisibilityState(videoResponsePage.tooltipText(), 'visible');
442
+ utilities.verifyInnerText(videoResponsePage.tooltipText(), 'Unmute');
443
+ utilities.hoverAwayFromElement();
444
+ utilities.verifyElementVisibilityState(videoResponsePage.tooltipText(), 'notExist');
445
+ });
463
446
 
464
- it('When the user drags the volume control all the way down, video should be muted and the button should update to a muted state', () => {
465
- videoResponsePage.steps.setVolumeSliderForPlayback(0);
466
- videoResponsePage.steps.verifyVolumeOfPlaybackPlayer('0');
467
- utilities.verifyElementVisibilityState(videoResponsePage.muteVolumeIcon(), 'visible');
468
- });
447
+ it('When the user clicks on the muted volume control button then the volume setting slider should return to full volume and the volume control button should change to an unmuted state', () => {
448
+ videoResponsePage.steps.clickOnVolumeButton();
449
+ videoResponsePage.steps.hoverOnVolumeControlButton();
450
+ videoResponsePage.steps.verifyVolumeOfPlaybackPlayer('100');
451
+ utilities.verifyElementVisibilityState(videoResponsePage.unmutedVolumeIcon(), 'visible');
452
+ });
469
453
 
470
- it('CSS of volume control section in muted state', { tags: 'css' }, () => {
471
- utilities.verifyCSS(videoResponsePage.volumeControlSlider(), {
472
- 'background': `${css.color.transparent} linear-gradient(to right, ${css.color.progressBarElapsedFill} 0%, ${css.color.progressBarElapsedFill} 0%, ${css.color.progressBarRemainingFill} -100%, ${css.color.progressBarRemainingFill} 100%) repeat scroll 0% 0% / auto padding-box border-box`
454
+ it('CSS of volume control section', { tags: 'css' }, () => {
455
+ utilities.verifyCSS(videoResponsePage.volumeControlSlider(), {
456
+ 'background': `${css.color.transparent} linear-gradient(to right, ${css.color.progressBarElapsedFill} 0%, ${css.color.progressBarElapsedFill} 100%, ${css.color.progressBarRemainingFill} 0%, ${css.color.progressBarRemainingFill} 100%) repeat scroll 0% 0% / auto padding-box border-box`
457
+ });
458
+ utilities.verifyCSS(videoResponsePage.volumeControlButton().find('g path'), {
459
+ 'fill': css.color.secondaryBtnBg,
460
+ });
473
461
  });
474
- utilities.verifyCSS(videoResponsePage.volumeControlButton().find('g g path'), {
475
- 'fill': css.color.secondaryBtnBg,
462
+
463
+ it('Accessibility of volume control section', { tags: 'a11y' }, () => {
464
+ cy.checkAccessibility(videoResponsePage.volumeControlSlider());
465
+ cy.checkAccessibility(videoResponsePage.playbackPlayButton().parents('.video-player-wrapper'));
476
466
  });
477
- });
478
467
 
479
- it('Accessibility of volume control section in muted state', { tags: 'a11y' }, () => {
480
- cy.checkAccessibility(videoResponsePage.volumeControlSlider());
481
- cy.checkAccessibility(videoResponsePage.playbackPlayButton().parents('.video-player-wrapper'));
482
- });
468
+ it('When the user drags the volume control all the way down, video should be muted and the button should update to a muted state', () => {
469
+ videoResponsePage.steps.setVolumeSliderForPlayback(0);
470
+ videoResponsePage.steps.verifyVolumeOfPlaybackPlayer('0');
471
+ utilities.verifyElementVisibilityState(videoResponsePage.muteVolumeIcon(), 'visible');
472
+ });
483
473
 
484
- it('User should be able to unmute the video by dragging the volume control higher again', () => {
485
- videoResponsePage.steps.setVolumeSliderForPlayback(99);
486
- videoResponsePage.steps.verifyVolumeOfPlaybackPlayer('100');
487
- utilities.verifyElementVisibilityState(videoResponsePage.unmutedVolumeIcon(), 'visible');
488
- });
489
- });
474
+ it('CSS of volume control section in muted state', { tags: 'css' }, () => {
475
+ utilities.verifyCSS(videoResponsePage.volumeControlSlider(), {
476
+ 'background': `${css.color.transparent} linear-gradient(to right, ${css.color.progressBarElapsedFill} 0%, ${css.color.progressBarElapsedFill} 0%, ${css.color.progressBarRemainingFill} -100%, ${css.color.progressBarRemainingFill} 100%) repeat scroll 0% 0% / auto padding-box border-box`
477
+ });
478
+ utilities.verifyCSS(videoResponsePage.volumeControlButton().find('g g path'), {
479
+ 'fill': css.color.secondaryBtnBg,
480
+ });
481
+ });
490
482
 
491
- describe('Video response playback: Playback speed', () => {
492
- const playbackSpeedOptions = ['1', '1.25', '1.5', '2'];
493
- abortEarlySetup();
494
- before(() => {
495
- videoResponsePage.steps.navigateToCreateQuestion('video response');
496
- cy.barsPreLoaderWait();
497
- videoResponsePage.steps.switchToPreviewTab();
498
- videoResponsePage.steps.recordAndSaveVideo(4000);
499
- });
483
+ it('Accessibility of volume control section in muted state', { tags: 'a11y' }, () => {
484
+ cy.checkAccessibility(videoResponsePage.volumeControlSlider());
485
+ cy.checkAccessibility(videoResponsePage.playbackPlayButton().parents('.video-player-wrapper'));
486
+ });
500
487
 
501
- it('When the user hovers overs the playback button, a tooltip \'Playback speed\' should be displayed and on hovering away from the button, the tooltip should disappear', () => {
502
- videoResponsePage.playbackSpeedButton()
503
- .verifyTooltip('Playback speed');
488
+ it('User should be able to unmute the video by dragging the volume control higher again', () => {
489
+ videoResponsePage.steps.setVolumeSliderForPlayback(99);
490
+ videoResponsePage.steps.verifyVolumeOfPlaybackPlayer('100');
491
+ utilities.verifyElementVisibilityState(videoResponsePage.unmutedVolumeIcon(), 'visible');
492
+ });
504
493
  });
494
+ }
505
495
 
506
- it('When the user hovers overs the playback button, a list of 4 playback speed options - 1x, 1.25x, 1.5x, 2x should be displayed and by default 1x should be in selected state', () => {
507
- videoResponsePage.steps.hoverOnPlaybackSpeedButton();
508
- utilities.verifyElementVisibilityState(videoResponsePage.playbackSpeedOptionsList(), 'visible');
509
- utilities.verifyElementCount(videoResponsePage.playbackSpeedOption(), 4);
510
- videoResponsePage.steps.verifyPlaybackSpeedListOptions();
511
- //TODO: need to add selected state assertion when https://redmine.zeuslearning.com/issues/540695 gets fixed
512
- })
513
-
514
- it('CSS of playback speed options', { tags: 'css' }, () => {
515
- utilities.verifyCSS(videoResponsePage.playbackSpeedButton().find('g'), {
516
- 'stroke': css.color.secondaryBtnBg,
496
+ if (!grepTags || !grepTags.includes('smoke')) {
497
+ describe('Video response playback: Playback speed', () => {
498
+ const playbackSpeedOptions = ['1', '1.25', '1.5', '2'];
499
+ abortEarlySetup();
500
+ before(() => {
501
+ videoResponsePage.steps.navigateToCreateQuestion('video response');
502
+ cy.barsPreLoaderWait();
503
+ videoResponsePage.steps.switchToPreviewTab();
504
+ videoResponsePage.steps.recordAndSaveVideo(4000);
517
505
  });
518
- utilities.verifyCSS(videoResponsePage.playbackSpeedOption().eq(0), {
519
- 'color': css.color.liText,
520
- 'background-color': css.color.liTextSelectedBg,
521
- 'font-size': css.fontSize.small
522
- });
523
- utilities.verifyCSS(videoResponsePage.playbackSpeedOption().eq(1), {
524
- 'color': css.color.liText,
525
- 'background-color': css.color.transparent,
526
- 'font-size': css.fontSize.small
527
- });
528
- });
529
506
 
530
- it('Accessibility of playback speed options', { tags: 'a11y' }, () => {
531
- cy.checkAccessibility(videoResponsePage.playbackSpeedButton().parents('.video-player-wrapper'));
532
- cy.checkAccessibility(videoResponsePage.playbackSpeedOptionsList());
533
- });
507
+ it('When the user hovers overs the playback button, a tooltip \'Playback speed\' should be displayed and on hovering away from the button, the tooltip should disappear', () => {
508
+ videoResponsePage.playbackSpeedButton()
509
+ .verifyTooltip('Playback speed');
510
+ });
534
511
 
535
- for (let index = 0; index < playbackSpeedOptions.length; index++) {
536
- it(`When the user selects playback speed option ${playbackSpeedOptions[index]}x, the video playback speed should be changed accordingly`, () => {
537
- videoResponsePage.steps.resetQuestionPreview();
538
- videoResponsePage.steps.recordAndSaveVideo(12000);
512
+ it('When the user hovers overs the playback button, a list of 4 playback speed options - 1x, 1.25x, 1.5x, 2x should be displayed and by default 1x should be in selected state', () => {
539
513
  videoResponsePage.steps.hoverOnPlaybackSpeedButton();
540
- videoResponsePage.steps.selectPlaybackSpeed(playbackSpeedOptions[index])
541
- videoResponsePage.steps.startPlayback();
542
- videoResponsePage.steps.waitForPlaybackToBegin();
543
- videoResponsePage.steps.addWaitToPlayVideo(4000);
544
- videoResponsePage.steps.pausePlayback();
545
- videoResponsePage.steps.verifyPlaybackElapsedTime(1 + (4 * playbackSpeedOptions[index]));
546
- });
547
- }
548
- });
549
-
550
- describe('Video response playback: Record again', () => {
551
- abortEarlySetup();
552
- before(() => {
553
- videoResponsePage.steps.navigateToCreateQuestion('video response');
554
- cy.barsPreLoaderWait();
555
- videoResponsePage.steps.switchToPreviewTab();
556
- videoResponsePage.steps.recordAndSaveVideo(5000);
557
- });
558
-
559
- it('When the user hovers over the \'Record again\' button, a tooltip \'Record again\' should be displayed and on moving away the focus, the tooltip should disappear', () => {
560
- videoResponsePage.recordAgainButton()
561
- .verifyTooltip('Record again');
562
- });
563
-
564
- it('When the user clicks on \'Record again\' button, \'Record again\' popup should be displayed along with \'Are you sure you want to overwrite the existing audio recording?\' message', () => {
565
- videoResponsePage.steps.recordAgain();
566
- utilities.verifyInnerText(videoResponsePage.dialogBoxTitle(), 'Record again');
567
- utilities.verifyElementVisibilityState(videoResponsePage.dialogBoxTitle(), 'visible');
568
- utilities.verifyInnerText(videoResponsePage.retakePopupContent(), 'Are you sure you want to overwrite the existing video recording?');
569
- utilities.verifyInnerText(videoResponsePage.confirmRetakeButton(), 'Confirm');
570
- utilities.verifyElementVisibilityState(videoResponsePage.confirmRetakeButton(), 'visible');
571
- utilities.verifyInnerText(videoResponsePage.cancelRetakeButton(), 'Cancel');
572
- utilities.verifyElementVisibilityState(videoResponsePage.cancelRetakeButton(), 'visible');
573
- });
574
-
575
- it('CSS of \'Record again\' popup', { tags: 'css' }, () => {
576
- utilities.verifyCSS(videoResponsePage.dialogBox(), {
577
- 'border': `1px solid ${css.color.defaultDropdownBorder}`,
578
- 'background-color': css.color.defaultBackground
579
- });
580
- utilities.verifyCSS(videoResponsePage.dialogBoxTitle(), {
581
- 'color': css.color.questionHeading,
582
- 'font-size': css.fontSize.default,
583
- 'font-weight': css.fontWeight.semibold
584
- });
585
- utilities.verifyCSS(videoResponsePage.retakePopupContent(), {
586
- 'color': css.color.labels,
587
- 'font-size': css.fontSize.default,
588
- 'font-weight': css.fontWeight.regular
514
+ utilities.verifyElementVisibilityState(videoResponsePage.playbackSpeedOptionsList(), 'visible');
515
+ utilities.verifyElementCount(videoResponsePage.playbackSpeedOption(), 4);
516
+ videoResponsePage.steps.verifyPlaybackSpeedListOptions();
517
+ //TODO: need to add selected state assertion when https://redmine.zeuslearning.com/issues/540695 gets fixed
589
518
  })
590
- utilities.verifyCSS(videoResponsePage.confirmRetakeButton(), {
591
- 'background-color': css.color.deleteBtn
592
- });
593
- utilities.verifyCSS(videoResponsePage.confirmRetakeButton().find('span'), {
594
- 'color': css.color.whiteText,
595
- 'font-size': css.fontSize.default,
596
- 'font-weight': css.fontWeight.regular
597
- });
598
- utilities.verifyCSS(videoResponsePage.cancelRetakeButton(), {
599
- 'background-color': css.color.defaultBackground
600
- });
601
- utilities.verifyCSS(videoResponsePage.cancelRetakeButton().find('span'), {
602
- 'color': css.color.secondaryBtn,
603
- 'font-size': css.fontSize.default,
604
- 'font-weight': css.fontWeight.regular
605
- });
606
- });
607
519
 
608
- it('Accessibility of \'Record again\' popup', { tags: 'a11y' }, () => {
609
- cy.checkAccessibility(videoResponsePage.dialogBox());
610
- });
611
-
612
- it('When the user clicks on \'Cancel\' button, \'Record again\' popup should close and previous state of playback player should persist', () => {
613
- videoResponsePage.steps.cancelRetake();
614
- utilities.verifyElementVisibilityState(videoResponsePage.dialogBox(), 'notExist');
615
- utilities.verifyElementVisibilityState(videoResponsePage.recordAgainButton(), 'visible');
616
- utilities.verifyElementVisibilityState(videoResponsePage.playbackPlayButton(), 'visible');
617
- videoResponsePage.steps.verifyVideoPlaybackTimer('00:00 / 00:05');
618
- });
619
-
620
- it('When the user clicks on Confirm button of the Record again popup, the previous recording should get deleted and a new recording should begin', () => {
621
- videoResponsePage.steps.recordAgain();
622
- videoResponsePage.steps.confirmRetake();
623
- utilities.verifyElementVisibilityState(videoResponsePage.dialogBox(), 'notExist');
624
- videoResponsePage.steps.waitForRecordingToStart();
625
- videoResponsePage.steps.verifyRecordingStatus('Recording...')
626
- });
627
- })
520
+ it('CSS of playback speed options', { tags: 'css' }, () => {
521
+ utilities.verifyCSS(videoResponsePage.playbackSpeedButton().find('g'), {
522
+ 'stroke': css.color.secondaryBtnBg,
523
+ });
524
+ utilities.verifyCSS(videoResponsePage.playbackSpeedOption().eq(0), {
525
+ 'color': css.color.liText,
526
+ 'background-color': css.color.liTextSelectedBg,
527
+ 'font-size': css.fontSize.small
528
+ });
529
+ utilities.verifyCSS(videoResponsePage.playbackSpeedOption().eq(1), {
530
+ 'color': css.color.liText,
531
+ 'background-color': css.color.transparent,
532
+ 'font-size': css.fontSize.small
533
+ });
534
+ });
535
+
536
+ it('Accessibility of playback speed options', { tags: 'a11y' }, () => {
537
+ cy.checkAccessibility(videoResponsePage.playbackSpeedButton().parents('.video-player-wrapper'));
538
+ cy.checkAccessibility(videoResponsePage.playbackSpeedOptionsList());
539
+ });
540
+
541
+ for (let index = 0; index < playbackSpeedOptions.length; index++) {
542
+ it(`When the user selects playback speed option ${playbackSpeedOptions[index]}x, the video playback speed should be changed accordingly`, () => {
543
+ videoResponsePage.steps.resetQuestionPreview();
544
+ videoResponsePage.steps.recordAndSaveVideo(12000);
545
+ videoResponsePage.steps.hoverOnPlaybackSpeedButton();
546
+ videoResponsePage.steps.selectPlaybackSpeed(playbackSpeedOptions[index])
547
+ videoResponsePage.steps.startPlayback();
548
+ videoResponsePage.steps.waitForPlaybackToBegin();
549
+ videoResponsePage.steps.addWaitToPlayVideo(4000);
550
+ videoResponsePage.steps.pausePlayback();
551
+ videoResponsePage.steps.verifyPlaybackElapsedTime(1 + (4 * playbackSpeedOptions[index]));
552
+ });
553
+ }
554
+ });
555
+ }
556
+
557
+ if (!grepTags || !grepTags.includes('smoke')) {
558
+ describe('Video response playback: Record again', () => {
559
+ abortEarlySetup();
560
+ before(() => {
561
+ videoResponsePage.steps.navigateToCreateQuestion('video response');
562
+ cy.barsPreLoaderWait();
563
+ videoResponsePage.steps.switchToPreviewTab();
564
+ videoResponsePage.steps.recordAndSaveVideo(5000);
565
+ });
566
+
567
+ it('When the user hovers over the \'Record again\' button, a tooltip \'Record again\' should be displayed and on moving away the focus, the tooltip should disappear', () => {
568
+ videoResponsePage.recordAgainButton()
569
+ .verifyTooltip('Record again');
570
+ });
571
+
572
+ it('When the user clicks on \'Record again\' button, \'Record again\' popup should be displayed along with \'Are you sure you want to overwrite the existing audio recording?\' message', () => {
573
+ videoResponsePage.steps.recordAgain();
574
+ utilities.verifyInnerText(videoResponsePage.dialogBoxTitle(), 'Record again');
575
+ utilities.verifyElementVisibilityState(videoResponsePage.dialogBoxTitle(), 'visible');
576
+ utilities.verifyInnerText(videoResponsePage.retakePopupContent(), 'Are you sure you want to overwrite the existing video recording?');
577
+ utilities.verifyInnerText(videoResponsePage.confirmRetakeButton(), 'Confirm');
578
+ utilities.verifyElementVisibilityState(videoResponsePage.confirmRetakeButton(), 'visible');
579
+ utilities.verifyInnerText(videoResponsePage.cancelRetakeButton(), 'Cancel');
580
+ utilities.verifyElementVisibilityState(videoResponsePage.cancelRetakeButton(), 'visible');
581
+ });
582
+
583
+ it('CSS of \'Record again\' popup', { tags: 'css' }, () => {
584
+ utilities.verifyCSS(videoResponsePage.dialogBox(), {
585
+ 'border': `1px solid ${css.color.defaultDropdownBorder}`,
586
+ 'background-color': css.color.defaultBackground
587
+ });
588
+ utilities.verifyCSS(videoResponsePage.dialogBoxTitle(), {
589
+ 'color': css.color.questionHeading,
590
+ 'font-size': css.fontSize.default,
591
+ 'font-weight': css.fontWeight.semibold
592
+ });
593
+ utilities.verifyCSS(videoResponsePage.retakePopupContent(), {
594
+ 'color': css.color.labels,
595
+ 'font-size': css.fontSize.default,
596
+ 'font-weight': css.fontWeight.regular
597
+ })
598
+ utilities.verifyCSS(videoResponsePage.confirmRetakeButton(), {
599
+ 'background-color': css.color.deleteBtn
600
+ });
601
+ utilities.verifyCSS(videoResponsePage.confirmRetakeButton().find('span'), {
602
+ 'color': css.color.whiteText,
603
+ 'font-size': css.fontSize.default,
604
+ 'font-weight': css.fontWeight.regular
605
+ });
606
+ utilities.verifyCSS(videoResponsePage.cancelRetakeButton(), {
607
+ 'background-color': css.color.defaultBackground
608
+ });
609
+ utilities.verifyCSS(videoResponsePage.cancelRetakeButton().find('span'), {
610
+ 'color': css.color.secondaryBtn,
611
+ 'font-size': css.fontSize.default,
612
+ 'font-weight': css.fontWeight.regular
613
+ });
614
+ });
615
+
616
+ it('Accessibility of \'Record again\' popup', { tags: 'a11y' }, () => {
617
+ cy.checkAccessibility(videoResponsePage.dialogBox());
618
+ });
619
+
620
+ it('When the user clicks on \'Cancel\' button, \'Record again\' popup should close and previous state of playback player should persist', () => {
621
+ videoResponsePage.steps.cancelRetake();
622
+ utilities.verifyElementVisibilityState(videoResponsePage.dialogBox(), 'notExist');
623
+ utilities.verifyElementVisibilityState(videoResponsePage.recordAgainButton(), 'visible');
624
+ utilities.verifyElementVisibilityState(videoResponsePage.playbackPlayButton(), 'visible');
625
+ videoResponsePage.steps.verifyVideoPlaybackTimer('00:00 / 00:05');
626
+ });
627
+
628
+ it('When the user clicks on Confirm button of the Record again popup, the previous recording should get deleted and a new recording should begin', () => {
629
+ videoResponsePage.steps.recordAgain();
630
+ videoResponsePage.steps.confirmRetake();
631
+ utilities.verifyElementVisibilityState(videoResponsePage.dialogBox(), 'notExist');
632
+ videoResponsePage.steps.waitForRecordingToStart();
633
+ videoResponsePage.steps.verifyRecordingStatus('Recording...')
634
+ });
635
+ })
636
+ }
628
637
  });