itemengine-cypress-automation 1.0.50 → 1.0.62

Sign up to get free protection for your applications and to get access to all the features.
Files changed (186) hide show
  1. package/cypress/e2e/ILC/AudioPlayer/audioPlayerEditTab.js +342 -0
  2. package/cypress/e2e/ILC/AudioPlayer/audioPlayerEditTabAddFeatureRadioButton.js +218 -0
  3. package/cypress/e2e/ILC/AudioPlayer/audioPlayerEditTabTitleDescriptionAndTranscript.js +187 -0
  4. package/cypress/e2e/ILC/AudioPlayer/audioPlayerHeaderSection.js +73 -0
  5. package/cypress/e2e/ILC/AudioPlayer/audioPlayerPreviewTab.js +302 -0
  6. package/cypress/e2e/ILC/AudioPlayer/audioPlayerPreviewTabPlaybackPlayer.js +245 -0
  7. package/cypress/e2e/ILC/AudioPlayer/audioPlayerPreviewTabSupportedFileTypes.js +78 -0
  8. package/cypress/e2e/ILC/AudioPlayer/audioPlayerPreviewTabTitleDescriptionAndTranscript.js +248 -0
  9. package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsAllOrNothingAlternatePointsGreaterThanCorrectPoints.js +1 -1
  10. package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardAllOrNothingAlternatePointsGreaterThanCorrectPoints.js +1 -1
  11. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownAdditionalSettingsBasic.js +222 -0
  12. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownAdditionalSettingsResponseAccordions.js +366 -0
  13. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownAdditionalSettingsStudentResponseAndLayout.js +206 -0
  14. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownAllOrNothingWithAlternateAnswer.js +624 -0
  15. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownPartialDifferentWeightsWithAlternateAnswer.js +865 -0
  16. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownPartialEqualWeightsWithAlternateAnswer.js +763 -0
  17. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownSupportedFileTypes.js +86 -0
  18. package/cypress/e2e/ILC/Highlight/HighlightScoring/allOrNothingAlternatePointsMoreThanCorrectPoints.js +213 -0
  19. package/cypress/e2e/ILC/Highlight/HighlightScoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +215 -0
  20. package/cypress/e2e/ILC/Highlight/HighlightScoring/allOrNothingCorrectPointsMoreThanAlternatePoints.js +215 -0
  21. package/cypress/e2e/ILC/Highlight/HighlightScoring/allOrNothingScoring.js +187 -0
  22. package/cypress/e2e/ILC/Highlight/HighlightScoring/manualAndNonScored.js +162 -0
  23. package/cypress/e2e/ILC/Highlight/HighlightScoring/partialDifferentWeightsAlternatePointsMoreThanCorrectPoints.js +316 -0
  24. package/cypress/e2e/ILC/Highlight/HighlightScoring/partialDifferentWeightsCorrectEqualToAlternatePoints.js +385 -0
  25. package/cypress/e2e/ILC/Highlight/HighlightScoring/partialDifferentWeightsCorrectPointsMoreThanAlternatePoints.js +316 -0
  26. package/cypress/e2e/ILC/Highlight/HighlightScoring/partialDifferentWeightsScoring.js +245 -0
  27. package/cypress/e2e/ILC/Highlight/HighlightScoring/partialEqualWeightsAlternatePointsMoreThanCorrectPoints.js +250 -0
  28. package/cypress/e2e/ILC/Highlight/HighlightScoring/partialEqualWeightsCorrectPointEqualToAlternatePoints.js +266 -0
  29. package/cypress/e2e/ILC/Highlight/HighlightScoring/partialEqualWeightsCorrectPointsMoreThanAlternatePoints.js +250 -0
  30. package/cypress/e2e/ILC/Highlight/HighlightScoring/partialEqualWeightsScoring.js +226 -0
  31. package/cypress/e2e/ILC/Highlight/highlightAdditionalSettingsBasic.js +221 -0
  32. package/cypress/e2e/ILC/Highlight/highlightAdditionalSettingsMaximumNumberOfAnswers.js +137 -0
  33. package/cypress/e2e/ILC/Highlight/highlightBasicScoringForTextSelectionTypes.js +457 -0
  34. package/cypress/e2e/ILC/Highlight/highlightColorLibraryFlyout.js +143 -0
  35. package/cypress/e2e/ILC/Highlight/highlightEditTabScoringSection.js +361 -0
  36. package/cypress/e2e/ILC/Highlight/highlightHeaderSection.js +91 -0
  37. package/cypress/e2e/ILC/Highlight/highlightQuestionInstructionsAndQuestion.js +178 -0
  38. package/cypress/e2e/ILC/Highlight/highlightScoringSectionBasic.js +21 -0
  39. package/cypress/e2e/ILC/Highlight/highlightSetCorrectAnswerSection.js +204 -0
  40. package/cypress/e2e/ILC/Highlight/highlightTextSelectionDropdownAndHighlightOptionsSection.js +175 -0
  41. package/cypress/e2e/ILC/Highlight/highlightTextSelectionTypeInPreviewTab.js +237 -0
  42. package/cypress/e2e/ILC/Highlight/highlightTextSelectionTypeInSetCorrectAnswerSection.js +341 -0
  43. package/cypress/e2e/ILC/Highlight/highlightTextSelectionTypesInHighlightOptionsSection.js +375 -0
  44. package/cypress/e2e/ILC/ListMatching/Scoring/groupedOptionsAllOrNothingAlternatePointsGreaterThanCorrectPoints.js +28 -0
  45. package/cypress/e2e/ILC/ListMatching/Scoring/groupedOptionsAllOrNothingCorrectPointsEqualToAlternatePoints.js +30 -0
  46. package/cypress/e2e/ILC/ListMatching/{listMatchingGroupedOptionsAllOrNothingScoringWithAlternateAnswer.js → Scoring/groupedOptionsAllOrNothingCorrectPointsGreaterThanAlternatePoints.js} +5 -7
  47. package/cypress/e2e/ILC/ListMatching/{listMatchingGroupedOptionsAllOrNothingScoring.js → Scoring/groupedOptionsAllOrNothingScoring.js} +2 -2
  48. package/cypress/e2e/ILC/ListMatching/{listMatchingGroupedOptionsManualAndNonScoredScoring.js → Scoring/groupedOptionsManualAndNonScoredScoring.js} +2 -2
  49. package/cypress/e2e/ILC/ListMatching/{listMatchingGroupedOptionsPartialDifferentScorings.js → Scoring/groupedOptionsPartialDifferentWeightsScoring.js} +2 -2
  50. package/cypress/e2e/ILC/ListMatching/Scoring/groupedOptionsPartialDifferrentWeightsAlternatePointsGreaterThanCorrectPoints.js +30 -0
  51. package/cypress/e2e/ILC/ListMatching/{listMatchingGroupedOptionsPartialDifferentScoringWithAlternateTab.js → Scoring/groupedOptionsPartialDifferrentWeightsCorrectPointsEqualToAlternatePoints.js} +6 -6
  52. package/cypress/e2e/ILC/ListMatching/Scoring/groupedOptionsPartialDifferrentWeightsCorrectPointsGreaterThanAlternatePoints.js +30 -0
  53. package/cypress/e2e/ILC/ListMatching/Scoring/groupedOptionsPartialEqualWeightsAlternatePointsGreaterThanCorrectPoints.js +30 -0
  54. package/cypress/e2e/ILC/ListMatching/{listMatchingGroupedOptionsPartialEqualWeightsScoringWithAlternateTab.js → Scoring/groupedOptionsPartialEqualWeightsCorrectPointsEqualToAlternatePoints.js} +6 -6
  55. package/cypress/e2e/ILC/ListMatching/Scoring/groupedOptionsPartialEqualWeightsCorrectPointsGreaterThanAlternatePoints.js +30 -0
  56. package/cypress/e2e/ILC/ListMatching/{listMatchingGroupedOptionsPartialEqualWeightsScoring.js → Scoring/groupedOptionsPartialEqualWeightsScorings.js} +2 -2
  57. package/cypress/e2e/ILC/ListMatching/Scoring/standardOptionsAllOrNothingAlternatePointsGreaterThanCorrectPoints.js +28 -0
  58. package/cypress/e2e/ILC/ListMatching/Scoring/standardOptionsAllOrNothingCorrectPointsEqualToAlternatePoints.js +30 -0
  59. package/cypress/e2e/ILC/ListMatching/{listMatchingStandardOptionsAllOrNothingScoringWithAlternateAnswer.js → Scoring/standardOptionsAllOrNothingCorrectPointsGreaterThanAlternatePoints.js} +5 -7
  60. package/cypress/e2e/ILC/ListMatching/{listMatchingStandardOptionsAllOrNothingScoring.js → Scoring/standardOptionsAllOrNothingScoring.js} +2 -2
  61. package/cypress/e2e/ILC/ListMatching/{listMatchingStandardOptionsManualAndNonScoredScoring.js → Scoring/standardOptionsManualAndNonScoredScoring.js} +2 -2
  62. package/cypress/e2e/ILC/ListMatching/Scoring/standardOptionsPartialDifferentWeightsAlternatePointsGreaterThanCorrectPoints.js +30 -0
  63. package/cypress/e2e/ILC/ListMatching/{listMatchingStandardOptionsPartialDifferentScoringWithAlternateAnswer.js → Scoring/standardOptionsPartialDifferentWeightsCorrectPointsEqualToAlternatePoints.js} +6 -6
  64. package/cypress/e2e/ILC/ListMatching/Scoring/standardOptionsPartialDifferentWeightsCorrectPointsGreaterThanAlternatePoints.js +30 -0
  65. package/cypress/e2e/ILC/ListMatching/{listMatchingStandardOptionsPartialDIfferentScoring.js → Scoring/standardOptionsPartialDifferentWeightsScoring.js} +2 -2
  66. package/cypress/e2e/ILC/ListMatching/Scoring/standardOptionsPartialEqualWeightsAlternatePointsMoreThanCorrectPoints.js +29 -0
  67. package/cypress/e2e/ILC/ListMatching/{listMatchingStandardOptionsPartialEqualScoringWithAlternateAnswer.js → Scoring/standardOptionsPartialEqualWeightsCorrectPointsEqualToAlternatePoints.js} +6 -6
  68. package/cypress/e2e/ILC/ListMatching/Scoring/standardOptionsPartialEqualWeightsCorrectPointsMoreThanAlternatePoints.js +29 -0
  69. package/cypress/e2e/ILC/ListMatching/{listMatchingStandardOptionsPartialEqualScoring.js → Scoring/standardOptionsPartialEqualWeightsScoring.js} +2 -2
  70. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridAdditionalSettingsBasic.js +11 -5
  71. package/cypress/e2e/ILC/MultipleSelectionGrid/{multipleSelectionGridQuestionStemAdditionalSettings.js → multipleSelectionGridAdditionalSettingsQuestionStem.js} +0 -11
  72. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridAllOrNothingAlternatePointsGreaterThanCorrectPoints.js +263 -0
  73. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridAllOrNothingCorrectPointsEqualToAlternatePoints.js +263 -0
  74. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridAllOrNothingCorrectPointsGreaterThanAlternatePoints.js +261 -0
  75. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridPartialDifferentWeightsAlternatePointsGreaterThanCorrectPoints.js +340 -0
  76. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridPartialDifferentWeightsCorrectPointsEqualToAlternatePoints.js +310 -0
  77. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridPartialDifferentWeightsCorrectPointsGreaterThanAlternatePoints.js +341 -0
  78. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridPartialEqualWeightsAlternatePointsGreaterThanCorrectPoints.js +313 -0
  79. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridPartialEqualWeightsCorrectPointsEqualToAlternatePoints.js +285 -0
  80. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridPartialEqualWeightsCorrectPointsGreaterThanAlternatePoints.js +316 -0
  81. package/cypress/e2e/ILC/ReadingRuler/readingRulerEditTabBasicsSection.js +185 -0
  82. package/cypress/e2e/ILC/ReadingRuler/readingRulerHeaderSection.js +55 -0
  83. package/cypress/e2e/ILC/ReadingRuler/readingRulerPreviewTab.js +257 -0
  84. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridAllOrNothingAlternatePointsGreaterThanCorrectPoints.js +173 -0
  85. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridAllOrNothingCorrectPointsEqualToAlternatePoints.js +179 -0
  86. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridAllOrNothingCorrectPointsGreaterThanAlternatePoints.js +174 -0
  87. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridPartialDifferentWeightsAlternatePointsGreaterThanCorrectPoints.js +247 -0
  88. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridPartialDifferentWeightsCorrectPointsEqualToAlternatePoints.js +219 -0
  89. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridPartialDifferentWeightsCorrectPointsGreaterThanAlternatePoints.js +246 -0
  90. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridPartialEqualWeightsAlternatePointsGreaterThanCorrectPoints.js +225 -0
  91. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridPartialEqualWeightsCorrectPointsEqualToAlternatePoints.js +197 -0
  92. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridPartialEqualWeightsCorrectPointsGreaterThanAlternatePoints.js +226 -0
  93. package/cypress/e2e/ILC/VideoResponse/videoResponseAdditionalSettings.js +135 -0
  94. package/cypress/e2e/ILC/VideoResponse/videoResponseAdditionalSettingsBasic.js +88 -0
  95. package/cypress/e2e/ILC/VideoResponse/videoResponseEditTabBasic.js +78 -0
  96. package/cypress/e2e/ILC/VideoResponse/videoResponseHeaderSection.js +74 -0
  97. package/cypress/e2e/ILC/VideoResponse/videoResponsePreviewTab.js +627 -0
  98. package/cypress/e2e/ILC/VideoResponse/videoResponseScoringSection.js +76 -0
  99. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownAddResponseContainer.js +230 -0
  100. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownAdditionalSettings.js +247 -0
  101. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownAllOrNothingScoring.js +352 -0
  102. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownConditionalCheckboxes.js +258 -0
  103. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownEditAriaLabelCheckbox.js +134 -0
  104. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownEditTabBasicSection.js +132 -0
  105. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownEditTabScoringSection.js +237 -0
  106. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownHeaderSection.js +113 -0
  107. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownImageProperties.js +156 -0
  108. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownManualAndNonScoredScoring.js +165 -0
  109. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownOptionsForResponse.js +303 -0
  110. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownPartialDifferentWeightsScoring.js +372 -0
  111. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownPartialEqualWeightsScoring.js +371 -0
  112. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownPreviewTab.js +77 -0
  113. package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownSetCorrectAnswerSection.js +117 -0
  114. package/cypress/pages/dragAndDropIntoCategoriesAllOrNothingScoring.js +1 -1
  115. package/cypress/pages/listMatchingScoring.js +16 -105
  116. package/package.json +1 -1
  117. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridAllOrNothingWithAlternateAnswer.js +0 -731
  118. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridPartialDifferentWeightsWithAlternateAnswer.js +0 -942
  119. package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridPartialEqualWeightsWithAlternateAnswer.js +0 -864
  120. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridAllOrNothingWithAlternateAnswer.js +0 -472
  121. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridPartialDifferentWeightsWithAlternateAnswer.js +0 -662
  122. package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridPartialEqualWeightsWIthAlternateAnswer.js +0 -595
  123. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsAllOrNothing.js +0 -0
  124. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsAllOrNothingCorrectPointsEqualToAlternatePoints.js +0 -0
  125. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsAllOrNothingCorrectPointsGreaterThanAlternatePoints.js +0 -0
  126. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsPartialScoreForEachCell.js +0 -0
  127. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsPartialScoreForEachCellAlternatePointsGreaterThanCorrectPoints.js +0 -0
  128. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsPartialScoreForEachCellCorrectPointsEqualToAlternatePoints.js +0 -0
  129. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsPartialScoreForEachCellCorrectPointsGreaterThanAlternatePoints.js +0 -0
  130. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsPartialScoreForEachResponse.js +0 -0
  131. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsPartialScoreForEachResponseAlternatePointsGreaterThanCorrectPoints.js +0 -0
  132. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsPartialScoreForEachResponseCorrectPointsEqualToAlternatePoints.js +0 -0
  133. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsPartialScoreForEachResponseCorrectPointsGreaterThanAlternatePoints.js +0 -0
  134. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsTotalScoreDividedBetweenCell.js +0 -0
  135. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsTotalScoreDividedBetweenCellsAlternatePointsGreaterThanCorrectPoints.js +0 -0
  136. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsTotalScoreDividedBetweenCellsCorrectPointsEqualToAlternatePoints.js +0 -0
  137. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsTotalScoreDividedBetweenCellsCorrectPointsGreaterThanAlternatePoints.js +0 -0
  138. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsTotalScoreDividedBetweenResponses.js +0 -0
  139. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsTotalScoreDividedBetweenResponsesAlternatePointsGreaterThanCorrectPoints.js +0 -0
  140. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsTotalScoreDividedBetweenResponsesCorrectPointsEqualToAlternatePoints.js +0 -0
  141. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsTotalScoreDividedBetweenResponsesCorrectPointsGreaterThanAlternatePoints.js +0 -0
  142. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardAllOrNothing.js +0 -0
  143. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardAllOrNothingCorrectPointsEqualToAlternatePoints.js +0 -0
  144. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardAllOrNothingCorrectPointsGreaterThanAlternatePoints.js +0 -0
  145. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardPartialScoreForEachCell.js +0 -0
  146. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardPartialScoreForEachCellAlternatePointsGreaterThanCorrectPoints.js +0 -0
  147. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardPartialScoreForEachCellCorrectPointsEqualToAlternatePoints.js +0 -0
  148. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardPartialScoreForEachCellCorrectPointsGreaterThanAlternatePoints.js +0 -0
  149. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardPartialScoreForEachResponse.js +0 -0
  150. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardPartialScoreForEachResponseAlternatePointsGreaterThanCorrectPoints.js +0 -0
  151. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardPartialScoreForEachResponseCorrectPointsEqualToAlternatePoints.js +0 -0
  152. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardPartialScoreForEachResponseCorrectPointsGreaterThanAlternatePoints.js +0 -0
  153. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardTotalScoreDividedBetweenCell.js +0 -0
  154. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardTotalScoreDividedBetweenCellAlternatePointsGreaterThanCorrectPoints.js +0 -0
  155. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardTotalScoreDividedBetweenCellCorrectPointsEqualToAlternatePoints.js +0 -0
  156. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardTotalScoreDividedBetweenCellCorrectPointsGreaterThanAlternatePoints.js +0 -0
  157. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardTotalScoreDividedBetweenResponse.js +0 -0
  158. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardTotalScoreDividedBetweenResponseAlternatePointsGreaterThanCorrectPoints.js +0 -0
  159. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardTotalScoreDividedBetweenResponseCorrectPointsEqualToAlternatePoints.js +0 -0
  160. /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardTotalScoreDividedBetweenResponseCorrectPointsGreaterThanAlternatePoints.js +0 -0
  161. /package/cypress/e2e/ILC/ListOrdering/{ListOrderingScoringFiles → Scoring}/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +0 -0
  162. /package/cypress/e2e/ILC/ListOrdering/{ListOrderingScoringFiles → Scoring}/allOrNothingCorrectPointsEqualToAlternatePoints.js +0 -0
  163. /package/cypress/e2e/ILC/ListOrdering/{ListOrderingScoringFiles → Scoring}/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +0 -0
  164. /package/cypress/e2e/ILC/ListOrdering/{ListOrderingScoringFiles → Scoring}/allOrNothingScoring.js +0 -0
  165. /package/cypress/e2e/ILC/ListOrdering/{ListOrderingScoringFiles → Scoring}/manuallyAndNonScoredScoring.js +0 -0
  166. /package/cypress/e2e/ILC/ListOrdering/{ListOrderingScoringFiles → Scoring}/partialDifferentWeightsAlternatePointsGreaterThanCorrectPoints.js +0 -0
  167. /package/cypress/e2e/ILC/ListOrdering/{ListOrderingScoringFiles → Scoring}/partialDifferentWeightsCorrectPointsEqualToAlternatePoints.js +0 -0
  168. /package/cypress/e2e/ILC/ListOrdering/{ListOrderingScoringFiles → Scoring}/partialDifferentWeightsCorrectPointsGreaterThanAlternatePoints.js +0 -0
  169. /package/cypress/e2e/ILC/ListOrdering/{ListOrderingScoringFiles → Scoring}/partialDifferentWeightsScoring.js +0 -0
  170. /package/cypress/e2e/ILC/ListOrdering/{ListOrderingScoringFiles → Scoring}/partialEqualWeightsAlternatePointsGreaterThanCorrectPoints.js +0 -0
  171. /package/cypress/e2e/ILC/ListOrdering/{ListOrderingScoringFiles → Scoring}/partialEqualWeightsCorrectPointsEqualToAlternatePoints.js +0 -0
  172. /package/cypress/e2e/ILC/ListOrdering/{ListOrderingScoringFiles → Scoring}/partialEqualWeightsCorrectPointsGreaterThanAlternatePoints.js +0 -0
  173. /package/cypress/e2e/ILC/ListOrdering/{ListOrderingScoringFiles → Scoring}/partialEqualWeightsScoring.js +0 -0
  174. /package/cypress/e2e/ILC/ListSorting/{ListSortingScoringFiles → Scoring}/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +0 -0
  175. /package/cypress/e2e/ILC/ListSorting/{ListSortingScoringFiles → Scoring}/allOrNothingCorrectPointsEqualToAlternatePoints.js +0 -0
  176. /package/cypress/e2e/ILC/ListSorting/{ListSortingScoringFiles → Scoring}/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +0 -0
  177. /package/cypress/e2e/ILC/ListSorting/{ListSortingScoringFiles → Scoring}/allOrNothingScoring.js +0 -0
  178. /package/cypress/e2e/ILC/ListSorting/{ListSortingScoringFiles → Scoring}/manuallyAndNonScoredScoring.js +0 -0
  179. /package/cypress/e2e/ILC/ListSorting/{ListSortingScoringFiles → Scoring}/partialDifferentWeightsAlternatePointsGreaterThanCorrectPoints.js +0 -0
  180. /package/cypress/e2e/ILC/ListSorting/{ListSortingScoringFiles → Scoring}/partialDifferentWeightsCorrectPointsEqualToAlternatePoints.js +0 -0
  181. /package/cypress/e2e/ILC/ListSorting/{ListSortingScoringFiles → Scoring}/partialDifferentWeightsCorrectPointsGreaterThanAlternatePoints.js +0 -0
  182. /package/cypress/e2e/ILC/ListSorting/{ListSortingScoringFiles → Scoring}/partialDifferentWeightsScoring.js +0 -0
  183. /package/cypress/e2e/ILC/ListSorting/{ListSortingScoringFiles → Scoring}/partialEqualWeightsAlternatePointsGreaterThanCorrectPoints.js +0 -0
  184. /package/cypress/e2e/ILC/ListSorting/{ListSortingScoringFiles → Scoring}/partialEqualWeightsCorrectPointsEqualToAlternatePoints.js +0 -0
  185. /package/cypress/e2e/ILC/ListSorting/{ListSortingScoringFiles → Scoring}/partialEqualWeightsCorrectPointsGreaterThanAlternatePoints.js +0 -0
  186. /package/cypress/e2e/ILC/ListSorting/{ListSortingScoringFiles → Scoring}/partialEqualWeightsScoring.js +0 -0
@@ -0,0 +1,226 @@
1
+ import { singleSelectionGridPage } from "../../../pages/singleSelectionGridPage";
2
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
3
+ const css = Cypress.env('css');
4
+
5
+ const questionStems = ['Pollution caused by treating chemical waste', 'Pollution caused by cement production', 'Pollution caused by methane production', 'Pollution caused by cement and methane production'];
6
+ const options = ['Fully agree as true', 'Fully agree as false', 'Somewhat agree'];
7
+
8
+ describe('Create Item page - Single Selection Grid: Preview tab Scoring Section', () => {
9
+ before(() => {
10
+ cy.loginAs('admin');
11
+ });
12
+
13
+ describe('Question Preview: AutoScored - Partial equal weights with alternate answer', () => {
14
+ abortEarlySetup();
15
+ before(() => {
16
+ cy.log('Navigating to Single selection grid question type');
17
+ singleSelectionGridPage.steps.navigateToCreateQuestion('single selection grid');
18
+ cy.log('Adding question instructions, question stems, options, setting correct answer and adding points for Autoscored Partial equal weights scoring type and switching to Preview tab');
19
+ singleSelectionGridPage.steps.addQuestionInstructions();
20
+ singleSelectionGridPage.steps.addOption()
21
+ singleSelectionGridPage.steps.addInputToAllQuestionStemFields(questionStems);
22
+ singleSelectionGridPage.steps.addInputToAllOptionsFields(options);
23
+ singleSelectionGridPage.steps.selectPartialEqualWeightsCheckbox();
24
+ singleSelectionGridPage.steps.uncheckRoundDownScoreCheckbox()
25
+ singleSelectionGridPage.steps.allotPoints(20);
26
+ singleSelectionGridPage.steps.selectOptionForAllQuestionStemsInSetCorrectAnswerTable([0, 1, 0, 1]);
27
+ singleSelectionGridPage.steps.clickOnAddAlternateAnswerButton();
28
+ singleSelectionGridPage.steps.allotPoints(12);
29
+ singleSelectionGridPage.steps.selectOptionForAllQuestionStemsInSetCorrectAnswerTable([0, 2, 2, 1]);
30
+ singleSelectionGridPage.steps.expandAdditonalSettings();
31
+ singleSelectionGridPage.steps.checkAllowStudentsToCheckAnswerCheckbox();
32
+ singleSelectionGridPage.steps.switchToPreviewTab();
33
+ });
34
+
35
+ it('Alternate answer case: When Correct Answer points are more than Alternate Answer points', () => {
36
+ cy.log('Total points displayed besides Show correct answer checkbox should be of Correct Answer points')
37
+ singleSelectionGridPage.previewScoreText()
38
+ .verifyInnerText('0/20');
39
+
40
+ cy.log('When the user selects the Show correct answer checkbox without attempting the question, green check-mark icons should be displayed besides only correct answer options')
41
+ singleSelectionGridPage.steps.checkShowCorrectAnswerCheckbox()
42
+ singleSelectionGridPage.steps.verifyCorrectOptionCheckmarkIconForAllQuestionStems([0, 1, 0, 1]);
43
+ singleSelectionGridPage.incorrectIcon()
44
+ .should('not.exist');
45
+ singleSelectionGridPage.correctIncorectAnswerLabel()
46
+ .should('not.exist');
47
+ singleSelectionGridPage.steps.verifyCorrectIncorrectBorderNotVisible()
48
+
49
+ singleSelectionGridPage.steps.verifyQuestionPreviewStateWhenShowCorrectAnswerIsUnchecked()
50
+
51
+ cy.log('When the user selects correct answer options, points specified for correct answers should be provided and on selecting \'Show correct answer\' checkbox green check-mark icon should be displayed besides options and correct/incorrect answer label and its border should not be displayed')
52
+ singleSelectionGridPage.steps.selectOptionForAllQuestionStemsInPreviewTabAnswerTable([0, 1, 0, 1]);
53
+ singleSelectionGridPage.previewScoreText()
54
+ .verifyInnerText('20/20');
55
+ singleSelectionGridPage.steps.checkShowCorrectAnswerCheckbox()
56
+ singleSelectionGridPage.steps.verifyCorrectOptionCheckmarkIconForAllQuestionStems([0, 1, 0, 1]);
57
+ singleSelectionGridPage.incorrectIcon()
58
+ .should('not.exist');
59
+ singleSelectionGridPage.correctIncorectAnswerLabel()
60
+ .should('not.exist');
61
+ singleSelectionGridPage.steps.verifyCorrectIncorrectBorderNotVisible()
62
+
63
+ singleSelectionGridPage.steps.verifyQuestionPreviewStateWhenShowCorrectAnswerIsUnchecked()
64
+
65
+ cy.log('When the user clicks on \'Check answer\' button, then green check-mark icons should be displayed besides options and correct/incorrect answer label and its border should not be displayed')
66
+ singleSelectionGridPage.steps.checkAnswer();
67
+ singleSelectionGridPage.steps.verifyCorrectOptionCheckmarkIconForAllQuestionStems([0, 1, 0, 1]);
68
+ singleSelectionGridPage.incorrectIcon()
69
+ .should('not.exist');
70
+ singleSelectionGridPage.correctIncorectAnswerLabel()
71
+ .should('not.exist');
72
+ singleSelectionGridPage.steps.verifyCorrectIncorrectBorderNotVisible()
73
+
74
+ cy.log('When the user selects alternate correct answer options, points specified for alternate correct answer (less than overall points) should be provided and on selecting Show correct answer checkbox green check-mark icons should be displayed besides alternate correct answer options and correct/incorrect answer label and its border should not be displayed')
75
+ singleSelectionGridPage.steps.selectOptionForAllQuestionStemsInPreviewTabAnswerTable([0, 2, 2, 1]);
76
+ singleSelectionGridPage.steps.checkShowCorrectAnswerCheckbox()
77
+ singleSelectionGridPage.previewScoreText()
78
+ .verifyInnerText('12/20');
79
+ singleSelectionGridPage.steps.verifyCorrectOptionCheckmarkIconForAllQuestionStems([0, 2, 2, 1]);
80
+ singleSelectionGridPage.incorrectIcon()
81
+ .should('not.exist');
82
+ singleSelectionGridPage.correctIncorectAnswerLabel()
83
+ .should('not.exist');
84
+ singleSelectionGridPage.steps.verifyCorrectIncorrectBorderNotVisible()
85
+
86
+ singleSelectionGridPage.steps.verifyQuestionPreviewStateWhenShowCorrectAnswerIsUnchecked()
87
+
88
+ cy.log('When the user clicks on \'Check answer\' button, then green check-mark icons should be displayed besides alternate correct answer options and correct/incorrect answer label and its border should not be displayed')
89
+ singleSelectionGridPage.steps.checkAnswer();
90
+ singleSelectionGridPage.steps.verifyCorrectOptionCheckmarkIconForAllQuestionStems([0, 2, 2, 1]);
91
+ singleSelectionGridPage.incorrectIcon()
92
+ .should('not.exist');
93
+ singleSelectionGridPage.correctIncorectAnswerLabel()
94
+ .should('not.exist');
95
+ singleSelectionGridPage.steps.verifyCorrectIncorrectBorderNotVisible()
96
+
97
+ cy.log('When user selects partially correct answer options such that user has selected correct options only from the correct tab and user selects show correct answer checkbox then user should be awarded with points for the correctly attempted options and green check-mark icons should be displayed beside the options set in the correct tab and red cross-mark icons should be displayed beside the incorrectly answered options and correct/incorrect answer label and its border should not be displayed')
98
+ singleSelectionGridPage.steps.selectOptionForAllQuestionStemsInPreviewTabAnswerTable([1, 1, 0, 2]);
99
+ singleSelectionGridPage.steps.checkShowCorrectAnswerCheckbox()
100
+ singleSelectionGridPage.previewScoreText()
101
+ .verifyInnerText('10/20');
102
+ singleSelectionGridPage.steps.verifyCorrectOptionCheckmarkIconForAllQuestionStems([0, 1, 0, 1]);
103
+ singleSelectionGridPage.steps.verifyIncorrectOptionCrossmarkIcon(0, 1);
104
+ singleSelectionGridPage.steps.verifyIncorrectOptionCrossmarkIcon(3, 2);
105
+ singleSelectionGridPage.correctIncorectAnswerLabel()
106
+ .should('not.exist');
107
+ singleSelectionGridPage.steps.verifyCorrectIncorrectBorderNotVisible()
108
+
109
+ singleSelectionGridPage.steps.verifyQuestionPreviewStateWhenShowCorrectAnswerIsUnchecked()
110
+
111
+ cy.log('When the user clicks on \'Check answer\' button, red check-marks should be displayed besides the selected incorrect answer options and green check-mark icons should be displayed beside the selected correct answer and correct/incorrect answer label and its border should not be displayed')
112
+ singleSelectionGridPage.steps.checkAnswer();
113
+ singleSelectionGridPage.steps.verifyIncorrectOptionCrossmarkIcon(0, 1);
114
+ singleSelectionGridPage.steps.verifyCorrectOptionCheckmarkIcon(1, 1);
115
+ singleSelectionGridPage.steps.verifyCorrectOptionCheckmarkIcon(2, 0);
116
+ singleSelectionGridPage.steps.verifyIncorrectOptionCrossmarkIcon(3, 2);
117
+ singleSelectionGridPage.correctIncorectAnswerLabel()
118
+ .should('not.exist');
119
+ singleSelectionGridPage.steps.verifyCorrectIncorrectBorderNotVisible()
120
+
121
+ cy.log('When user selects partially correct answer options such that user has selected correct options only from the alternate tab and user selects show correct answer checkbox then user should be awarded with the points from selected correct answer options and green check-mark icons should be displayed beside the options set in the alternate tab and red cross-mark icons should be displayed beside the incorrectly answered options and correct/incorrect answer label and its border should not be displayed')
122
+ singleSelectionGridPage.steps.selectOptionForAllQuestionStemsInPreviewTabAnswerTable([2, 2, 2, 2]);
123
+ singleSelectionGridPage.steps.checkShowCorrectAnswerCheckbox()
124
+ singleSelectionGridPage.previewScoreText()
125
+ .verifyInnerText('6/20');
126
+ singleSelectionGridPage.steps.verifyCorrectOptionCheckmarkIconForAllQuestionStems([0, 2, 2, 1]);
127
+ singleSelectionGridPage.steps.verifyIncorrectOptionCrossmarkIcon(0, 2);
128
+ singleSelectionGridPage.steps.verifyIncorrectOptionCrossmarkIcon(3, 2);
129
+ singleSelectionGridPage.correctIncorectAnswerLabel()
130
+ .should('not.exist');
131
+ singleSelectionGridPage.steps.verifyCorrectIncorrectBorderNotVisible()
132
+
133
+ singleSelectionGridPage.steps.verifyQuestionPreviewStateWhenShowCorrectAnswerIsUnchecked()
134
+
135
+ cy.log('When the user clicks on \'Check answer\' button, red check-marks should be displayed besides the selected incorrect answer options and green check-mark icons should be displayed beside the selected correct answer and correct/incorrect answer label and its border should not be displayed')
136
+ singleSelectionGridPage.steps.checkAnswer();
137
+ singleSelectionGridPage.steps.verifyIncorrectOptionCrossmarkIcon(0, 2);
138
+ singleSelectionGridPage.steps.verifyCorrectOptionCheckmarkIcon(1, 2);
139
+ singleSelectionGridPage.steps.verifyCorrectOptionCheckmarkIcon(2, 2);
140
+ singleSelectionGridPage.steps.verifyIncorrectOptionCrossmarkIcon(3, 2);
141
+ singleSelectionGridPage.correctIncorectAnswerLabel()
142
+ .should('not.exist');
143
+ singleSelectionGridPage.steps.verifyCorrectIncorrectBorderNotVisible()
144
+
145
+ cy.log('When user selects equal number of options from the correct tab and alternate tab then points of the correctly attempted options from the correct tab should be awarded and on selecting show correct answer checkbox green check-mark icon should be displayed beside options from the correct tab and red cross-mark icon should be displayed beside the options from the alternate tab and correct/incorrect answer label and its border should not be displayed')
146
+ singleSelectionGridPage.steps.selectOptionForAllQuestionStemsInPreviewTabAnswerTable([0, 2, 0, 1]);
147
+ singleSelectionGridPage.steps.checkShowCorrectAnswerCheckbox()
148
+ singleSelectionGridPage.previewScoreText()
149
+ .verifyInnerText('15/20');
150
+ singleSelectionGridPage.steps.verifyCorrectOptionCheckmarkIconForAllQuestionStems([0, 1, 0, 1]);
151
+ singleSelectionGridPage.steps.verifyIncorrectOptionCrossmarkIcon(1, 2);
152
+ singleSelectionGridPage.correctIncorectAnswerLabel()
153
+ .should('not.exist');
154
+ singleSelectionGridPage.steps.verifyCorrectIncorrectBorderNotVisible()
155
+
156
+ singleSelectionGridPage.steps.verifyQuestionPreviewStateWhenShowCorrectAnswerIsUnchecked()
157
+
158
+ cy.log('When the user clicks on \'Check answer\' button, red check-marks should be displayed besides the selected incorrect answer options and green check-mark icons should be displayed beside the selected correct answer and correct/incorrect answer label and its border should not be displayed')
159
+ singleSelectionGridPage.steps.checkAnswer();
160
+ singleSelectionGridPage.steps.verifyCorrectOptionCheckmarkIcon(0, 0);
161
+ singleSelectionGridPage.steps.verifyIncorrectOptionCrossmarkIcon(1, 2);
162
+ singleSelectionGridPage.steps.verifyCorrectOptionCheckmarkIcon(2, 0);
163
+ singleSelectionGridPage.steps.verifyCorrectOptionCheckmarkIcon(3, 1);
164
+ singleSelectionGridPage.correctIncorectAnswerLabel()
165
+ .should('not.exist');
166
+ singleSelectionGridPage.steps.verifyCorrectIncorrectBorderNotVisible()
167
+
168
+ cy.log('When user selects incorrect answer option, 0 points should be awarded and on selecting Show correct answer checkbox red cross-mark icons should be displayed besides the selected incorrect answer options and green checkmarks should be displayed beside correct tab answers and correct/incorrect answer label and its border should not be displayed')
169
+ singleSelectionGridPage.steps.selectOptionForAllQuestionStemsInPreviewTabAnswerTable([2, 0, 1, 2]);
170
+ singleSelectionGridPage.steps.checkShowCorrectAnswerCheckbox()
171
+ singleSelectionGridPage.previewScoreText()
172
+ .verifyInnerText('0/20');
173
+ singleSelectionGridPage.steps.verifyCorrectOptionCheckmarkIconForAllQuestionStems([0, 1, 0, 1]);
174
+ singleSelectionGridPage.steps.verifyIncorrectOptionCrossmarkIconForAllQuestionStems([2, 0, 1, 2]);
175
+ singleSelectionGridPage.correctIncorectAnswerLabel()
176
+ .should('not.exist');
177
+ singleSelectionGridPage.steps.verifyCorrectIncorrectBorderNotVisible()
178
+
179
+ singleSelectionGridPage.steps.verifyQuestionPreviewStateWhenShowCorrectAnswerIsUnchecked()
180
+
181
+ cy.log('When the user clicks on \'Check answer\' button, red check-marks should be displayed besides the selected incorrect answer options and correct/incorrect answer label and its border should not be displayed')
182
+ singleSelectionGridPage.steps.checkAnswer()
183
+ singleSelectionGridPage.steps.verifyIncorrectOptionCrossmarkIconForAllQuestionStems([2, 0, 1, 2]);
184
+ singleSelectionGridPage.correctIcon()
185
+ .should('not.exist');
186
+ singleSelectionGridPage.correctIncorectAnswerLabel()
187
+ .should('not.exist');
188
+ singleSelectionGridPage.steps.verifyCorrectIncorrectBorderNotVisible()
189
+
190
+ cy.log('(Overachiever case) Prestep: Switching to Edit tab and alloting points to correct and alternate tab such that the difference between the points is substantial and the points per response are in decimal')
191
+ singleSelectionGridPage.steps.switchToEditTab();
192
+ singleSelectionGridPage.steps.clearPointsField();
193
+ singleSelectionGridPage.steps.allotPoints('10');
194
+ singleSelectionGridPage.steps.selectOptionForAllQuestionStemsInSetCorrectAnswerTable([2, 2, 2, 2]);
195
+ singleSelectionGridPage.steps.navigateToCorrectTab();
196
+ singleSelectionGridPage.steps.clearPointsField();
197
+ singleSelectionGridPage.steps.allotPoints('50');
198
+ singleSelectionGridPage.steps.switchToPreviewTab();
199
+
200
+ cy.log('Overachiever case: When the user selects more number of correct options from the alternate tab than the correct tab but the score of the individual response selected from the correct tab overpowers the combined score of the alternate tab answers then green checkmark icons should be displayed for the correct tab option, red crossmark icon should be displayed for the alternate tab options and points awarded should be of the correct tab and correct/incorrect answer label and its border should not be displayed')
201
+ singleSelectionGridPage.steps.selectOptionForAllQuestionStemsInPreviewTabAnswerTable([2, 2, 2, 1]);
202
+ singleSelectionGridPage.previewScoreText()
203
+ .verifyInnerText('12.5/50');
204
+ singleSelectionGridPage.steps.checkShowCorrectAnswerCheckbox()
205
+ singleSelectionGridPage.steps.verifyCorrectOptionCheckmarkIconForAllQuestionStems([0, 1, 0, 1]);
206
+ singleSelectionGridPage.steps.verifyIncorrectOptionCrossmarkIcon(0, 2);
207
+ singleSelectionGridPage.steps.verifyIncorrectOptionCrossmarkIcon(1, 2);
208
+ singleSelectionGridPage.steps.verifyIncorrectOptionCrossmarkIcon(2, 2);
209
+ singleSelectionGridPage.correctIncorectAnswerLabel()
210
+ .should('not.exist');
211
+ singleSelectionGridPage.steps.verifyCorrectIncorrectBorderNotVisible()
212
+
213
+ singleSelectionGridPage.steps.verifyQuestionPreviewStateWhenShowCorrectAnswerIsUnchecked()
214
+
215
+ cy.log('Overachiever case: When the user clicks on \'Check answer\' button, green checkmark icons should be displayed for the correct tab option, red crossmark icon should be displayed for the alternate tab options and points awarded should be of the correct tab and correct/incorrect answer label and its border should not be displayed')
216
+ singleSelectionGridPage.steps.checkAnswer()
217
+ singleSelectionGridPage.steps.verifyIncorrectOptionCrossmarkIcon(0, 2);
218
+ singleSelectionGridPage.steps.verifyIncorrectOptionCrossmarkIcon(1, 2);
219
+ singleSelectionGridPage.steps.verifyIncorrectOptionCrossmarkIcon(2, 2);
220
+ singleSelectionGridPage.steps.verifyCorrectOptionCheckmarkIcon(3, 1);
221
+ singleSelectionGridPage.correctIncorectAnswerLabel()
222
+ .should('not.exist');
223
+ singleSelectionGridPage.steps.verifyCorrectIncorrectBorderNotVisible();
224
+ });
225
+ });
226
+ });
@@ -0,0 +1,135 @@
1
+ import { videoResponsePage } from "../../../pages";
2
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
3
+ import utilities from "../../../support/helpers/utilities";
4
+ const css = Cypress.env('css');
5
+ const fontSizeDropdownOptions = ['Default', 'Small', 'Normal', 'Large', 'Extra large', 'Huge'];
6
+ const fontSizes = ['16px', '12px', '14px', '17px', '20px', '24px'];
7
+
8
+ describe('Create item page - Video response: Additional settings', () => {
9
+ before(() => {
10
+ cy.loginAs('admin');
11
+ });
12
+
13
+ describe('Video response: Advanced playback options - Edit tab', () => {
14
+ abortEarlySetup();
15
+ before(() => {
16
+ videoResponsePage.steps.navigateToCreateQuestion('video response');
17
+ cy.barsPreLoaderWait();
18
+ videoResponsePage.steps.expandAdditonalSettings();
19
+ });
20
+
21
+ it('\'Advanced playback options\' label should be displayed. By default 3 options - Playback speed, Full screen, Record again should be displayed in \'Advanced playback options\' section in selected state', () => {
22
+ utilities.verifyInnerText(videoResponsePage.advancedPlaybackOptionsLabel(), 'Advanced playback options');
23
+ utilities.verifyElementVisibilityState(videoResponsePage.advancedPlaybackOptionsLabel(), 'visible');
24
+ videoResponsePage.steps.verifyPlaybackSpeedAdvancedPlaybackOptionSelectedState();
25
+ videoResponsePage.steps.verifyFullScreenAdvancedPlaybackOptionSelectedState();
26
+ videoResponsePage.steps.verifyRecordAgainAdvancedPlaybackOptionSelectedState();
27
+ });
28
+
29
+ it('CSS of \'Advanced playback options\' section in default state', { tags: 'css' }, () => {
30
+ utilities.verifyCSS(videoResponsePage.advancedPlaybackOptionsLabel(), {
31
+ 'color': css.color.sectionHeading,
32
+ 'font-size': css.fontSize.normal,
33
+ 'font-weight': css.fontWeight.semibold
34
+ });
35
+ const optionButtons = [videoResponsePage.playbackSpeedAdvancedPlaybackOptionButton(), videoResponsePage.fullScreenAdvancedPlaybackOptionButton(), videoResponsePage.recordAgainAdvancedPlaybackOptionButton()];
36
+ optionButtons.forEach(button => {
37
+ utilities.verifyCSS(button, {
38
+ 'background-color': css.color.activeButtons,
39
+ 'border': `1px solid ${css.color.activeButtons}`
40
+ });
41
+ });
42
+ utilities.verifyCSS(videoResponsePage.advancedPlaybackOptionButtonSelectedIcon().find('[data-name="Icon feather-check"]'), {
43
+ 'fill': css.color.activeButtons
44
+ });
45
+ utilities.verifyCSS(videoResponsePage.advancedPlaybackOptionButtonLabel(), {
46
+ 'color': css.color.whiteText,
47
+ 'font-size': css.fontSize.default,
48
+ 'font-weight': css.fontWeight.regular
49
+ })
50
+ utilities.verifyCSS(videoResponsePage.playbackSpeedAdvancedPlaybackOptionButton().find('.video_icon_wrapper svg g'), {
51
+ 'stroke': css.color.secondaryBtnBg
52
+ });
53
+ utilities.verifyCSS(videoResponsePage.fullScreenAdvancedPlaybackOptionButton().find('.video_icon_wrapper svg'), {
54
+ 'fill': css.color.secondaryBtnBg
55
+ });
56
+ utilities.verifyCSS(videoResponsePage.recordAgainAdvancedPlaybackOptionButton().find('.video_icon_wrapper svg path'), {
57
+ 'fill': css.color.secondaryBtnBg
58
+ });
59
+ });
60
+
61
+ it('Accessibility of \'Advanced playback options\' section in default state', { tags: 'a11y' }, () => {
62
+ cy.checkAccessibility(videoResponsePage.advancedPlaybackOptionsLabel().parents('.advanced-recorder-settings'));
63
+ });
64
+
65
+ it('User should be able to deselect all options present in \'Advanced playback options\' section', () => {
66
+ videoResponsePage.steps.clickOnPlaybackSpeedAdvancedPlaybackOption();
67
+ videoResponsePage.steps.verifyPlaybackSpeedAdvancedPlaybackOptionDeselectedState();
68
+ videoResponsePage.steps.clickOnFullScreenAdvancedPlaybackOption();
69
+ videoResponsePage.steps.verifyFullScreenAdvancedPlaybackOptionDeselectedState();
70
+ videoResponsePage.steps.clickOnRecordAgainAdvancedPlaybackOption();
71
+ videoResponsePage.steps.verifyRecordAgainAdvancedPlaybackOptionDeselectedState();
72
+ utilities.verifyElementVisibilityState(videoResponsePage.advancedPlaybackOptionButtonSelectedIcon(), 'notExist')
73
+ });
74
+
75
+ it('CSS of \'Advanced playback options\' section if user has deselected all options from \'Advanced playback options\' section', { tags: 'css' }, () => {
76
+ const optionButtons = [videoResponsePage.playbackSpeedAdvancedPlaybackOptionButton(), videoResponsePage.fullScreenAdvancedPlaybackOptionButton(), videoResponsePage.recordAgainAdvancedPlaybackOptionButton()];
77
+ for (let index = 0; index < optionButtons.length; index++) {
78
+ utilities.verifyCSS(optionButtons[index], {
79
+ 'background-color': css.color.defaultBackground,
80
+ 'border': `1px solid ${css.color.defaultDropdownBorder}`
81
+ });
82
+ };
83
+ utilities.verifyCSS(videoResponsePage.advancedPlaybackOptionButtonLabel(), {
84
+ 'color': css.color.secondaryBtn,
85
+ 'font-size': css.fontSize.default,
86
+ 'font-weight': css.fontWeight.regular
87
+ });
88
+ utilities.verifyCSS(videoResponsePage.playbackSpeedAdvancedPlaybackOptionButton().find('.video_icon_wrapper svg g'), {
89
+ 'stroke': css.color.secondaryBtn
90
+ });
91
+ utilities.verifyCSS(videoResponsePage.fullScreenAdvancedPlaybackOptionButton().find('.video_icon_wrapper svg'), {
92
+ 'fill': css.color.secondaryBtn
93
+ });
94
+ utilities.verifyCSS(videoResponsePage.recordAgainAdvancedPlaybackOptionButton().find('.video_icon_wrapper svg path'), {
95
+ 'fill': css.color.secondaryBtn
96
+ });
97
+ });
98
+
99
+ it('Accessibility of \'Advanced playback options\' section if user has deselected all options from \'Advanced playback options\' section', { tags: 'a11y' }, () => {
100
+ cy.checkAccessibility(videoResponsePage.advancedPlaybackOptionsLabel().parents('.advanced-recorder-settings'));
101
+ });
102
+ });
103
+
104
+ describe('Video response: Advanced playback options - Preview tab', () => {
105
+ abortEarlySetup();
106
+ before(() => {
107
+ videoResponsePage.steps.navigateToCreateQuestion('video response');
108
+ cy.barsPreLoaderWait();
109
+ videoResponsePage.steps.switchToPreviewTab();
110
+ videoResponsePage.steps.recordAndSaveVideo(5000);
111
+ });
112
+
113
+ it('When all the advanced playback options are in selected state, then in the video playback player, playback speed, full screen and record again buttons should be displayed', () => {
114
+ utilities.verifyElementVisibilityState(videoResponsePage.recordAgainButton(), 'visible');
115
+ utilities.verifyElementVisibilityState(videoResponsePage.playbackSpeedButton(), 'visible');
116
+ utilities.verifyElementVisibilityState(videoResponsePage.fullScreenButton(), 'visible');
117
+ });
118
+
119
+ it('When the user switches to the edit tab and deselects all the advanced playback options, then in the video playback player, playback speed, full screen and record again buttons should not be displayed', () => {
120
+ videoResponsePage.steps.switchToEditTab();
121
+ videoResponsePage.steps.expandAdditonalSettings();
122
+ videoResponsePage.steps.clickOnPlaybackSpeedAdvancedPlaybackOption();
123
+ videoResponsePage.steps.verifyPlaybackSpeedAdvancedPlaybackOptionDeselectedState();
124
+ videoResponsePage.steps.clickOnFullScreenAdvancedPlaybackOption();
125
+ videoResponsePage.steps.verifyFullScreenAdvancedPlaybackOptionDeselectedState();
126
+ videoResponsePage.steps.clickOnRecordAgainAdvancedPlaybackOption();
127
+ videoResponsePage.steps.verifyRecordAgainAdvancedPlaybackOptionDeselectedState();
128
+ videoResponsePage.steps.switchToPreviewTab();
129
+ videoResponsePage.steps.recordAndSaveVideo(5000);
130
+ utilities.verifyElementVisibilityState(videoResponsePage.recordAgainButton(), 'notExist');
131
+ utilities.verifyElementVisibilityState(videoResponsePage.playbackSpeedButton(), 'notExist');
132
+ utilities.verifyElementVisibilityState(videoResponsePage.fullScreenButton(), 'notExist');
133
+ });
134
+ });
135
+ });
@@ -0,0 +1,88 @@
1
+ import { videoResponsePage } from "../../../pages";
2
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
3
+ import utilities from "../../../support/helpers/utilities";
4
+ const css = Cypress.env('css');
5
+ const fontSizeDropdownOptions = ['Default', 'Small', 'Normal', 'Large', 'Extra large', 'Huge'];
6
+ const fontSizes = ['16px', '12px', '14px', '17px', '20px', '24px'];
7
+
8
+ describe('Create item page - Video response: Additional settings', () => {
9
+ before(() => {
10
+ cy.loginAs('admin');
11
+ });
12
+
13
+ describe('\'Additional settings\' accordion', () => {
14
+ abortEarlySetup();
15
+ before(() => {
16
+ videoResponsePage.steps.navigateToCreateQuestion('video response');
17
+ });
18
+
19
+ videoResponsePage.tests.verifyAdditonalSettingsAccordionProperties();
20
+ });
21
+
22
+ describe('Additional settings: Student response area and layout', () => {
23
+ abortEarlySetup();
24
+ before(() => {
25
+ cy.log('Navigating to video response type');
26
+ videoResponsePage.steps.navigateToCreateQuestion('video response');
27
+ videoResponsePage.steps.expandAdditonalSettings();
28
+ });
29
+
30
+ it('\'Student response area and layout\' label should be displayed', () => {
31
+ utilities.verifyInnerText(videoResponsePage.studentResponseAreaAndLayoutLabel(), 'Student response area and layout');
32
+ utilities.verifyElementVisibilityState(videoResponsePage.studentResponseAreaAndLayoutLabel(), 'visible');
33
+ });
34
+
35
+ it('CSS of \'Student response area and layout\' section', { tags: 'css' }, () => {
36
+ utilities.verifyCSS(videoResponsePage.studentResponseAreaAndLayoutLabel(), {
37
+ 'color': css.color.labels,
38
+ 'font-size': css.fontSize.default,
39
+ 'font-weight': css.fontWeight.semibold
40
+ });
41
+ });
42
+ //Note: a11y covered in verifyAdditonalSettingsAccordionProperties
43
+ });
44
+
45
+ describe('Video response: Font size contents', () => {
46
+ abortEarlySetup();
47
+ before(() => {
48
+ videoResponsePage.steps.navigateToCreateQuestion('video response');
49
+ cy.barsPreLoaderWait();
50
+ videoResponsePage.steps.expandAdditonalSettings();
51
+ });
52
+
53
+ videoResponsePage.tests.verifyFontSizeSectionContents();
54
+ });
55
+
56
+ describe('Video response: Font size contents preview tab section', () => {
57
+ abortEarlySetup();
58
+ before(() => {
59
+ videoResponsePage.steps.navigateToCreateQuestion('video response');
60
+ cy.barsPreLoaderWait();
61
+ videoResponsePage.steps.addQuestionInstructions();
62
+ videoResponsePage.steps.expandAdditonalSettings();
63
+ });
64
+
65
+ fontSizeDropdownOptions.forEach((option, fontsIndex) => {
66
+ it(`When the user selects \'${option}\' option from the Font Size dropdown, then font size of the preview content should be changed to ${option} in the preview tab`, () => {
67
+ videoResponsePage.steps.selectFontSizeOptionFromFontSizeDropdown(fontsIndex)
68
+ utilities.verifyInnerText(videoResponsePage.fontSizeDropdown(), `${option}`)
69
+ videoResponsePage.steps.switchToPreviewTab();
70
+ utilities.verifyCSS(videoResponsePage.questionInstructionsText(), {
71
+ 'font-size': fontSizes[fontsIndex]
72
+ });
73
+ videoResponsePage.steps.switchToEditTab();
74
+ });
75
+ });
76
+ });
77
+
78
+ describe('Video response: Details section', () => {
79
+ abortEarlySetup();
80
+ before(() => {
81
+ videoResponsePage.steps.navigateToCreateQuestion('video response');
82
+ cy.barsPreLoaderWait();
83
+ videoResponsePage.steps.expandAdditonalSettings();
84
+ });
85
+
86
+ videoResponsePage.tests.verifyDetailsSection();
87
+ });
88
+ });
@@ -0,0 +1,78 @@
1
+ import { videoResponsePage } from "../../../pages";
2
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
3
+ import utilities from "../../../support/helpers/utilities";
4
+
5
+ describe('Create item page - Video response: Question instructions: Edit tab, Question instructions: Preview tab, Maximum recorder length: Edit tab, Maximum recorder length: Preview tab', () => {
6
+ before(() => {
7
+ cy.loginAs('admin');
8
+ });
9
+
10
+ describe('Question instructions input field: Edit tab', () => {
11
+ abortEarlySetup();
12
+ before(() => {
13
+ cy.log('Navigating to video response question type');
14
+ videoResponsePage.steps.navigateToCreateQuestion('video response');
15
+ });
16
+
17
+ videoResponsePage.tests.verifyQuestionInstructionsInputFieldEditTab();
18
+ });
19
+
20
+ describe('Question instructions input field: Preview tab', () => {
21
+ abortEarlySetup();
22
+ before(() => {
23
+ cy.log('Navigating to video response question type');
24
+ videoResponsePage.steps.navigateToCreateQuestion('video response');
25
+ });
26
+
27
+ videoResponsePage.tests.verifyQuestionInstructionsInputFieldPreviewTab();
28
+ });
29
+
30
+ describe('Maximum recorder length: Edit tab', () => {
31
+ abortEarlySetup();
32
+ before(() => {
33
+ cy.log('Navigating to video response question type');
34
+ videoResponsePage.steps.navigateToCreateQuestion('video response');
35
+ });
36
+
37
+ videoResponsePage.tests.verifyMaximumRecorderLengthLabelAndInputField();
38
+
39
+ //Note: a11y is covered for Maximum recorder length section in HeaderSection file using verifya11yOfCreateItemWrapperContents
40
+
41
+ videoResponsePage.tests.verifyMaximumRecorderLengthInputFieldErrorMessages();
42
+
43
+ videoResponsePage.tests.verifyMaximumRecorderLengthCharacterAcceptanceCriteria();
44
+
45
+ it('When user tries to add a value greater than 1200 it should be automatically set back to 1200 and should not allow to add greater than set value', () => {
46
+ videoResponsePage.steps.setMaximumRecorderLength('9999');
47
+ videoResponsePage.steps.verifyMaximumRecorderLength('1200');
48
+ });
49
+
50
+ videoResponsePage.tests.verifyMaximumRecorderLengthSectionCSS();
51
+ });
52
+
53
+ describe('Maximum recorder length: Preview tab', () => {
54
+ abortEarlySetup();
55
+ before(() => {
56
+ cy.log('Navigating to video response question type');
57
+ videoResponsePage.steps.navigateToCreateQuestion('video response');
58
+ videoResponsePage.steps.switchToPreviewTab();
59
+ });
60
+
61
+ it('By default, maximum recorder length (15 minutes) should be displayed in minutes(mm:ss) format', () => {
62
+ utilities.verifyInnerText(videoResponsePage.recordingTimer(), '15:00');
63
+ utilities.verifyElementVisibilityState(videoResponsePage.recordingTimer(), 'visible');
64
+ });
65
+
66
+ //https://redmine.zeuslearning.com/issues/540912
67
+ it('When the user has updated maximum recorder length value, then the updated value should get reflected in the preview tab and when user starts recording a video, the recorded video time should not go beyond the maximum recorder length value', () => {
68
+ videoResponsePage.steps.switchToEditTab()
69
+ videoResponsePage.steps.setMaximumRecorderLength('10');
70
+ videoResponsePage.steps.switchToPreviewTab();
71
+ videoResponsePage.steps.verifyRecordingTime('00:10');
72
+ videoResponsePage.steps.startRecording();
73
+ videoResponsePage.steps.waitForRecordingToStart();
74
+ videoResponsePage.steps.addWaitToRecord(9000);
75
+ videoResponsePage.steps.verifyVideoPlaybackTimer('00:00/00:10');
76
+ })
77
+ });
78
+ });
@@ -0,0 +1,74 @@
1
+ import { dialogBoxBase, videoResponsePage } from "../../../pages";
2
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
3
+ import utilities from "../../../support/helpers/utilities";
4
+
5
+ describe('Create question page - Video response: Header section and Saving question', () => {
6
+ before(() => {
7
+ cy.loginAs('admin');
8
+ });
9
+
10
+ describe('Header section contents', () => {
11
+ abortEarlySetup();
12
+ before(() => {
13
+ cy.log('Navigating to video response question type');
14
+ videoResponsePage.steps.navigateToCreateQuestion('video response');
15
+ });
16
+
17
+ videoResponsePage.tests.verifyCreateQuestionPageQuestionTypeHeader('Video response');
18
+ });
19
+
20
+ describe('Tabs section', () => {
21
+ abortEarlySetup();
22
+ before(() => {
23
+ cy.log('Navigating to video response question type');
24
+ videoResponsePage.steps.navigateToCreateQuestion('video response');
25
+ });
26
+
27
+ videoResponsePage.tests.verifyTabsSection();
28
+ });
29
+
30
+ describe('Cancel button', () => {
31
+ abortEarlySetup();
32
+ before(() => {
33
+ cy.log('Navigating to video response question type');
34
+ videoResponsePage.steps.navigateToCreateQuestion('video response');
35
+ });
36
+
37
+ videoResponsePage.tests.verifyCancelButton('video response');
38
+ });
39
+
40
+ describe('Save question button', () => {
41
+ abortEarlySetup();
42
+ before(() => {
43
+ cy.log('Navigating to video response question type');
44
+ videoResponsePage.steps.navigateToCreateQuestion('video response');
45
+ cy.barsPreLoaderWait();
46
+ });
47
+
48
+ describe('Validation error messages', () => {
49
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton();
50
+
51
+ it('Validation error messages should be displayed below required input fields', () => {
52
+ videoResponsePage.steps.verifyQuestionInstructionsErrorMessage()
53
+ utilities.verifyElementVisibilityState(videoResponsePage.pleaseEnterPointsErrorMessage(), 'visible');
54
+ });
55
+
56
+ it('Validation error messages should disappear when required input fields are filled', () => {
57
+ videoResponsePage.steps.addQuestionInstructions();
58
+ videoResponsePage.steps.verifyQuestionInstructionsErrorMessageIsNotDisplayed();
59
+ videoResponsePage.steps.allotPoints(20);
60
+ utilities.verifyElementVisibilityState(videoResponsePage.pleaseEnterPointsErrorMessage(), 'notExist');
61
+ });
62
+
63
+ videoResponsePage.tests.verifya11yOfCreateItemWrapperContents();
64
+ });
65
+
66
+ describe('Saving a question', () => {
67
+ it('When user has filled all the mandatory fields then on clicking on Save question button the question should get saved and a snackbar with text \'Saved successfully!\' should be displayed', () => {
68
+ videoResponsePage.steps.saveAQuestionAndVerifySnackbar();
69
+ });
70
+
71
+ videoResponsePage.tests.verifySavedSuccessfullySnackbarCSSanda11y();
72
+ });
73
+ });
74
+ });