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,76 @@
1
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
2
+ import { videoResponsePage } from "../../../pages";
3
+ import utilities from "../../../support/helpers/utilities";
4
+
5
+ describe('Create question page - Video response: Scoring', () => {
6
+ before(() => {
7
+ cy.loginAs('admin');
8
+ });
9
+
10
+ describe('Scoring section contents', () => {
11
+ abortEarlySetup();
12
+ before(() => {
13
+ videoResponsePage.steps.navigateToCreateQuestion('video response');
14
+ });
15
+
16
+ videoResponsePage.tests.verifyScoringTypeLabelAndDropdown('manuallyScored');
17
+ });
18
+
19
+ describe('Manually scored scoring type - Edit tab', () => {
20
+ abortEarlySetup();
21
+ before(() => {
22
+ videoResponsePage.steps.navigateToCreateQuestion('video response');
23
+ });
24
+
25
+ it('When the user selects \'Manually scored\' option from the \'Scoring type\' dropdown, then the \'Points\' and \'Minimum score awarded (if attempted)\' labels and input fields should be displayed', () => {
26
+ videoResponsePage.steps.selectAScoringTypeFromScoringTypeDropdown('Manually scored');
27
+ videoResponsePage.steps.verifyDefaultPointsLabelAndInputField();
28
+ videoResponsePage.steps.verifyDefaultMinimumScoreIfAttemptedLabelAndPointsField();
29
+ });
30
+
31
+ videoResponsePage.tests.verifyPointsFieldErrorState(10);
32
+
33
+ videoResponsePage.tests.verifyMinimumScoreIfAttemptedFieldErrorState(10, 20, 10);
34
+ });
35
+
36
+ describe('Manually scored scoring type - Preview tab', () => {
37
+ abortEarlySetup();
38
+ before(() => {
39
+ videoResponsePage.steps.navigateToCreateQuestion('video response');
40
+ videoResponsePage.steps.selectAScoringTypeFromScoringTypeDropdown('Manually scored');
41
+ videoResponsePage.steps.switchToPreviewTab();
42
+ });
43
+
44
+ it('When the user has selected \'Manually scored\' option from the \'Scoring type\' dropdown, then in the preview tab \'Show correct answer\' checkbox as well as points besides it should not be displayed', () => {
45
+ utilities.verifyElementVisibilityState(videoResponsePage.showCorrectAnswerCheckbox(), 'notExist');
46
+ utilities.verifyElementVisibilityState(videoResponsePage.previewScoreText(), 'notExist');
47
+ })
48
+ });
49
+
50
+ describe('Non scored scoring type - Edit tab', () => {
51
+ abortEarlySetup();
52
+ before(() => {
53
+ cy.log('Navigating to video response question type');
54
+ videoResponsePage.steps.navigateToCreateQuestion('video response');
55
+ });
56
+
57
+ it('When the user selects \'Non Scored\' option from the \'Scoring type\' dropdown, then the \'Points\' input field should be displayed in disabled state with prefilled \'0\' points and \'Minimum score awarded (if attempted)\' input field should not be displayed', () => {
58
+ videoResponsePage.steps.selectAScoringTypeFromScoringTypeDropdown('Non scored')
59
+ videoResponsePage.steps.verifyNonScoredPointsField();
60
+ });
61
+ });
62
+
63
+ describe('Non scored scoring type - Preview tab', () => {
64
+ abortEarlySetup();
65
+ before(() => {
66
+ videoResponsePage.steps.navigateToCreateQuestion('video response');
67
+ videoResponsePage.steps.selectAScoringTypeFromScoringTypeDropdown('Non scored');
68
+ videoResponsePage.steps.switchToPreviewTab();
69
+ });
70
+
71
+ it('When the user has selected \'Non scored\' option from the \'Scoring type\' dropdown, then in the preview tab \'Show correct answer\' checkbox as well as points besides it should not be displayed', () => {
72
+ utilities.verifyElementVisibilityState(videoResponsePage.showCorrectAnswerCheckbox(), 'notExist');
73
+ utilities.verifyElementVisibilityState(videoResponsePage.previewScoreText(), 'notExist');
74
+ });
75
+ });
76
+ });
@@ -0,0 +1,230 @@
1
+ import { fillInTheGapsOverImageDropdownPage } from "../../../pages";
2
+ import { uploadImageSectionComponent } from "../../../pages/components";
3
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
4
+ import utilities from "../../../support/helpers/utilities";
5
+ const css = Cypress.env('css');
6
+
7
+ describe('Create item page - Fill in the gaps over image - dropdown: Add response container, response container', () => {
8
+ before(() => {
9
+ cy.loginAs('admin');
10
+ });
11
+
12
+ describe('Add response container button', () => {
13
+ abortEarlySetup();
14
+ before(() => {
15
+ cy.log('Navigating to Fill in the gaps over image - dropdown question type');
16
+ fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
17
+ cy.barsPreLoaderWait();
18
+ });
19
+
20
+ it('By default the \'Add response container\' button should not exist', () => {
21
+ utilities.verifyElementVisibilityState(fillInTheGapsOverImageDropdownPage.addResponseContainerButton(), 'notExist');
22
+ });
23
+
24
+ it('When the user has uploaded an image in image section, then \'Add response container\' button should be displayed', () => {
25
+ fillInTheGapsOverImageDropdownPage.steps.uploadFile('highlightImage.jpg');
26
+ fillInTheGapsOverImageDropdownPage.steps.clickOnImagePopupOkButton();
27
+ utilities.verifyElementVisibilityState(fillInTheGapsOverImageDropdownPage.addResponseContainerButton(), 'visible');
28
+ });
29
+
30
+ it('When the user clicks on \'Add response container\' button, then response container should be added over the uploaded image with numeration', () => {
31
+ fillInTheGapsOverImageDropdownPage.steps.addResponseContainer();
32
+ fillInTheGapsOverImageDropdownPage.steps.verifyResponseContainerIsDisplayedInImageSection(0);
33
+ fillInTheGapsOverImageDropdownPage.steps.verifyResponseContainerNumerationInImageSection(0);
34
+ });
35
+
36
+ it('When the user has added response container in image section, then \'Options for response #\' section should be displayed', () => {
37
+ fillInTheGapsOverImageDropdownPage.steps.verifyOptionsForResponseLabelAndSectionIsDisplayed(0);
38
+ });
39
+
40
+ it('When the user adds a second response container in image section, then respective \'Options for response #\' section should be displayed for the newly added response container with proper numeration', () => {
41
+ fillInTheGapsOverImageDropdownPage.steps.addResponseContainer();
42
+ fillInTheGapsOverImageDropdownPage.steps.verifyResponseContainerNumerationInImageSection(1);
43
+ fillInTheGapsOverImageDropdownPage.steps.verifyOptionsForResponseLabelAndSectionIsDisplayed(0);
44
+ fillInTheGapsOverImageDropdownPage.steps.verifyOptionsForResponseLabelAndSectionIsDisplayed(1);
45
+ utilities.verifyElementCount(fillInTheGapsOverImageDropdownPage.optionsForResponseContainer(), 2);
46
+ });
47
+
48
+ it('When the user clicks on the close button on the response container, then the response container should be removed from the image and options for the removed response container should also be removed', () => {
49
+ fillInTheGapsOverImageDropdownPage.steps.clickOnResponseContainerCloseButton(0);
50
+ utilities.verifyElementCount(fillInTheGapsOverImageDropdownPage.responseContainer(), 1);
51
+ utilities.verifyElementCount(fillInTheGapsOverImageDropdownPage.optionsForResponseContainer(), 1);
52
+ });
53
+
54
+ it('The remaining response container and its options for response section should be displayed with proper updated numeration', () => {
55
+ fillInTheGapsOverImageDropdownPage.steps.verifyResponseContainerIsDisplayedInImageSection(0);
56
+ fillInTheGapsOverImageDropdownPage.steps.verifyResponseContainerNumerationInImageSection(0);
57
+ fillInTheGapsOverImageDropdownPage.steps.verifyOptionsForResponseLabelAndSectionIsDisplayed(0);
58
+ });
59
+ });
60
+
61
+ describe('Add response container - set correct answer section', () => {
62
+ abortEarlySetup();
63
+ before(() => {
64
+ cy.log('Navigating to Fill in the gaps over image - dropdown question type');
65
+ fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
66
+ cy.barsPreLoaderWait();
67
+ fillInTheGapsOverImageDropdownPage.steps.uploadFile('highlightImage.jpg');
68
+ fillInTheGapsOverImageDropdownPage.steps.clickOnImagePopupOkButton();
69
+ });
70
+
71
+ it('When the user has not added any response container over the uploaded image, response label and dropdown should not be displayed in the set correct answer section', () => {
72
+ utilities.verifyElementVisibilityState(fillInTheGapsOverImageDropdownPage.setCorrectAnswerResponseFieldLabel(), 'notExist');
73
+ utilities.verifyElementVisibilityState(fillInTheGapsOverImageDropdownPage.responseDropdownSetCorrectAnswerSection(), 'notExist');
74
+ });
75
+
76
+ it('When the user adds a response container over the uploaded image, then a label \'Response #\' and its respective dropdown should be displayed in the set correct answer section', () => {
77
+ fillInTheGapsOverImageDropdownPage.steps.addResponseContainer();
78
+ fillInTheGapsOverImageDropdownPage.steps.verifyResponseFieldLabelInSetCorrectAnswerSection(0);
79
+ fillInTheGapsOverImageDropdownPage.steps.verifyResponseDropdownIsDisplayedInSetCorrectAnswerSection(0);
80
+ });
81
+
82
+ it('When the user adds second response container in image section, then a label \'Response #\' and its respective dropdown should be displayed in the set correct answer section for the newly added response container with appropriate numeration', () => {
83
+ fillInTheGapsOverImageDropdownPage.steps.addResponseContainer();
84
+ fillInTheGapsOverImageDropdownPage.steps.verifyResponseFieldLabelInSetCorrectAnswerSection(1);
85
+ fillInTheGapsOverImageDropdownPage.steps.verifyResponseDropdownIsDisplayedInSetCorrectAnswerSection(1);
86
+ utilities.verifyElementCount(fillInTheGapsOverImageDropdownPage.setCorrectAnswerResponseFieldLabel(), 2);
87
+ utilities.verifyElementCount(fillInTheGapsOverImageDropdownPage.responseDropdownSetCorrectAnswerSection(), 2);
88
+ });
89
+
90
+ it('When the user removes a response container in the image section, then the label and dropdown for the removed response container should also be removed in the set correct answer section and the remaining label and dropdown in the set correct answer section should be displayed with proper updated numeration', () => {
91
+ fillInTheGapsOverImageDropdownPage.steps.clickOnResponseContainerCloseButton(0);
92
+ utilities.verifyElementCount(fillInTheGapsOverImageDropdownPage.setCorrectAnswerResponseFieldLabel(), 1);
93
+ utilities.verifyElementCount(fillInTheGapsOverImageDropdownPage.responseDropdownSetCorrectAnswerSection(), 1);
94
+ fillInTheGapsOverImageDropdownPage.steps.verifyResponseFieldLabelInSetCorrectAnswerSection(0);
95
+ fillInTheGapsOverImageDropdownPage.steps.verifyResponseDropdownIsDisplayedInSetCorrectAnswerSection(0);
96
+ });
97
+ });
98
+
99
+ describe('Add response container - preview tab', () => {
100
+ abortEarlySetup();
101
+ before(() => {
102
+ cy.log('Navigating to fill in the gaps over image - dropdown question type');
103
+ fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
104
+ cy.barsPreLoaderWait();
105
+ fillInTheGapsOverImageDropdownPage.steps.uploadFile('highlightImage.jpg');
106
+ fillInTheGapsOverImageDropdownPage.steps.clickOnImagePopupOkButton();
107
+ });
108
+
109
+ it('When the user has not added any response container over the uploaded image, then dropdown should not be displayed in preview tab', () => {
110
+ fillInTheGapsOverImageDropdownPage.steps.switchToPreviewTab();
111
+ utilities.verifyElementVisibilityState(fillInTheGapsOverImageDropdownPage.responseDropdownPreviewTab(), 'notExist');
112
+ });
113
+
114
+ it('When the user adds a response container over the uploaded image, then a dropdown should be displayed in preview tab', () => {
115
+ fillInTheGapsOverImageDropdownPage.steps.switchToEditTab();
116
+ fillInTheGapsOverImageDropdownPage.steps.addResponseContainer();
117
+ fillInTheGapsOverImageDropdownPage.steps.switchToPreviewTab();
118
+ fillInTheGapsOverImageDropdownPage.steps.verifyResponseDropdownIsDisplayedInPreviewTab(0);
119
+ });
120
+
121
+ it('When the user adds a second response container in image section, then a second dropdown should also be displayed in preview tab', () => {
122
+ fillInTheGapsOverImageDropdownPage.steps.switchToEditTab();
123
+ fillInTheGapsOverImageDropdownPage.steps.addResponseContainer();
124
+ fillInTheGapsOverImageDropdownPage.steps.switchToPreviewTab();
125
+ fillInTheGapsOverImageDropdownPage.steps.verifyResponseDropdownIsDisplayedInPreviewTab(1);
126
+ utilities.verifyElementCount(fillInTheGapsOverImageDropdownPage.responseDropdownPreviewTab(), 2);
127
+ });
128
+
129
+ it('When the user removes a response container in image section, then the respective dropdown should also be removed from the image in preview tab', () => {
130
+ fillInTheGapsOverImageDropdownPage.steps.switchToEditTab();
131
+ fillInTheGapsOverImageDropdownPage.steps.clickOnResponseContainerCloseButton(0);
132
+ fillInTheGapsOverImageDropdownPage.steps.switchToPreviewTab();
133
+ utilities.verifyElementCount(fillInTheGapsOverImageDropdownPage.responseDropdownPreviewTab(), 1);
134
+ });
135
+
136
+ it('When the user has added response container in edit tab, then in preview tab it should be positioned in the same way as it is positioned in edit tab', () => {
137
+ fillInTheGapsOverImageDropdownPage.steps.switchToEditTab();
138
+ let coordinatesOfResponse1 = fillInTheGapsOverImageDropdownPage.steps.getResponseContainerPositionCoordinates(0);
139
+ fillInTheGapsOverImageDropdownPage.steps.switchToPreviewTab();
140
+ fillInTheGapsOverImageDropdownPage.steps.verifyResponseDropdownPositionCoordinatesInPreviewTab(0, coordinatesOfResponse1);
141
+ });
142
+ });
143
+
144
+ describe('Response container', () => {
145
+ abortEarlySetup();
146
+ before(() => {
147
+ cy.log('fill in the gaps over image - dropdown');
148
+ fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
149
+ cy.barsPreLoaderWait();
150
+ fillInTheGapsOverImageDropdownPage.steps.uploadFile('highlightImage.jpg');
151
+ uploadImageSectionComponent.steps.unlockAspectRatio();
152
+ fillInTheGapsOverImageDropdownPage.steps.updateImageHeight(300);
153
+ fillInTheGapsOverImageDropdownPage.steps.clickOnImagePopupOkButton();
154
+ });
155
+
156
+ it('When the user adds response container over the image, response container should be displayed with pointer, numeric count, chevron down arrow and close button', () => {
157
+ fillInTheGapsOverImageDropdownPage.steps.addResponseContainer();
158
+ fillInTheGapsOverImageDropdownPage.steps.verifyResponseContainerPointerInImageSection(0);
159
+ fillInTheGapsOverImageDropdownPage.steps.verifyResponseContainerNumerationInImageSection(0);
160
+ fillInTheGapsOverImageDropdownPage.steps.verifyResponseContainerChevronDownArrowInImageSection(0);
161
+ fillInTheGapsOverImageDropdownPage.steps.verifyResponseContainerCloseButtonInImageSection(0);
162
+ });
163
+
164
+ it('CSS of \'Response container\' in image section', { tags: 'css' }, () => {
165
+ utilities.verifyCSS(fillInTheGapsOverImageDropdownPage.responseContainerPointer().find('circle'), {
166
+ 'fill': css.color.responseContainerPointer
167
+ });
168
+ utilities.verifyCSS(fillInTheGapsOverImageDropdownPage.responseContainerNumeration(), {
169
+ 'color': css.color.text,
170
+ 'font-size': css.fontSize.default,
171
+ 'font-weight': css.fontWeight.semibold
172
+ });
173
+ fillInTheGapsOverImageDropdownPage.responseContainerChevronDownArrow()
174
+ .verifyPseudoClassBeforeProperty('color', css.color.secondaryBtn);
175
+ utilities.verifyCSS(fillInTheGapsOverImageDropdownPage.responseContainerCloseButton(), {
176
+ 'background-color': css.color.secondaryBtnBg,
177
+ 'border': `1px solid ${css.color.activeComponentBorder}`
178
+ });
179
+ utilities.verifyCSS(fillInTheGapsOverImageDropdownPage.responseContainerCloseButton().find('.X-mark-icon'), {
180
+ 'fill': css.color.activeButtons,
181
+ });
182
+ });
183
+
184
+ it('Accessibility of \'Response container\' in image section', { tags: 'a11y' }, () => {
185
+ cy.checkAccessibility(fillInTheGapsOverImageDropdownPage.responseContainer().parents('.image-container'));
186
+ });
187
+
188
+ it('When the user adds multiple response containers such that their combined width(including padding around the response containers) is less than the width of the uploaded image i.e. in this case 2 response containers, then the response containers should be displayed in the same line', () => {
189
+ fillInTheGapsOverImageDropdownPage.steps.addResponseContainer();
190
+ fillInTheGapsOverImageDropdownPage.steps.verifyResponseContainerVerticalPosition(1, 0);
191
+ fillInTheGapsOverImageDropdownPage.steps.verifyResponseContainerVerticalPosition(1, 1);
192
+ });
193
+
194
+ it('When the user adds multiple response containers such that their combined width(including padding around the response containers) is more than the width of the uploaded image i.e. in this case 3 response containers, then the response container which exceeds the image width(3rd response container) should be displayed below the previously added response containers', () => {
195
+ fillInTheGapsOverImageDropdownPage.steps.addResponseContainer();
196
+ fillInTheGapsOverImageDropdownPage.steps.verifyResponseContainerVerticalPosition(1, 0);
197
+ fillInTheGapsOverImageDropdownPage.steps.verifyResponseContainerVerticalPosition(1, 1);
198
+ fillInTheGapsOverImageDropdownPage.steps.verifyResponseContainerVerticalPosition(2, 2);
199
+ });
200
+
201
+ it('When the user removes a response container using the close button, then the position of the remaining response containers should not be changed', () => {
202
+ let coordinatesOfResponse1 = fillInTheGapsOverImageDropdownPage.steps.getResponseContainerPositionCoordinates(0);
203
+ let coordinatesOfResponse2 = fillInTheGapsOverImageDropdownPage.steps.getResponseContainerPositionCoordinates(2);
204
+ fillInTheGapsOverImageDropdownPage.steps.clickOnResponseContainerCloseButton(1);
205
+ fillInTheGapsOverImageDropdownPage.steps.verifyResponseContainerPositionCoordinates(0, coordinatesOfResponse1);
206
+ fillInTheGapsOverImageDropdownPage.steps.verifyResponseContainerPositionCoordinates(1, coordinatesOfResponse2);
207
+ });
208
+
209
+ //Update after https://redmine.zeuslearning.com/issues/543853 is resolved
210
+ it('When the user adds 15 response containers in the image section, then a snackbar with text \'You have reached the maximum number of tokens that can be added\' and a \'CLOSE\' button should be displayed', () => {
211
+ for (let numeration = 3; numeration < 16; numeration++) {
212
+ fillInTheGapsOverImageDropdownPage.steps.addResponseContainer();
213
+ };
214
+ utilities.verifyInnerText(fillInTheGapsOverImageDropdownPage.snackbar(), 'You have reached the maximum number of tokens that can be added.');
215
+ utilities.verifyInnerText(fillInTheGapsOverImageDropdownPage.snackbarCloseButton(), 'CLOSE');
216
+ });
217
+
218
+ fillInTheGapsOverImageDropdownPage.tests.verifyMaximumNumberOfTokensSnackbarCSSandA11y();
219
+
220
+ it('When the user clicks on snackbar \'CLOSE\' button, the snackbar should disappear', () => {
221
+ //Add pre-step to remove and add response container
222
+ cy.log('Pre-step: Remove and add a response container to make the snackbar appear again');
223
+ fillInTheGapsOverImageDropdownPage.steps.clickOnResponseContainerCloseButton(14);
224
+ fillInTheGapsOverImageDropdownPage.steps.addResponseContainer();
225
+ fillInTheGapsOverImageDropdownPage.steps.closeSnackBar();
226
+ });
227
+
228
+ fillInTheGapsOverImageDropdownPage.tests.verifyDisabledStateOfAddResponseContainerButton();
229
+ });
230
+ });
@@ -0,0 +1,247 @@
1
+ import { fillInTheGapsOverImageDropdownPage } from "../../../pages";
2
+ import { uploadImageSectionComponent } from "../../../pages/components";
3
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
4
+ import utilities from "../../../support/helpers/utilities";
5
+ const css = Cypress.env('css');
6
+
7
+ const optionsForResponse1 = ['Flower', 'Petal', 'Stem', 'Branch'];
8
+ const optionsForResponse2 = ['Leaf', 'Leaves', 'Stem', 'Seed'];
9
+ const answerNumerationDropdownOptions = ['Numerical', 'Uppercase alphabet', 'Lowercase alphabet'];
10
+ const correctTabAnswerArray = ['Flower', 'Leaf'];
11
+ const incorrectAnswerArray = ['Branch', 'Seed'];
12
+ const numbers = ['1', '2'];
13
+ const lowercase = ['a', 'b'];
14
+ const uppercase = ['A', 'B'];
15
+ const pointerDropdownList = ['Left', 'Right', 'Top', 'Bottom', 'Top left', 'Top right', 'None'];
16
+ const fontSizeDropdownOptions = ['Default', 'Small', 'Normal', 'Large', 'Extra large', 'Huge'];
17
+ const fontSizes = ['16px', '12px', '14px', '17px', '20px', '24px'];
18
+
19
+ describe('Fill In the gaps over image - dropdown - Additional settings', () => {
20
+ before(() => {
21
+ cy.loginAs('admin');
22
+ });
23
+
24
+ //https://redmine.zeuslearning.com/issues/542462
25
+ describe('Additional settings: Placeholder text : Contents and set correct answer section', () => {
26
+ abortEarlySetup();
27
+ before(() => {
28
+ cy.log('Navigate to fill in the gaps over image - dropdown question type');
29
+ fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
30
+ cy.barsPreLoaderWait();
31
+ fillInTheGapsOverImageDropdownPage.steps.uploadFile('highlightImage.jpg');
32
+ fillInTheGapsOverImageDropdownPage.steps.clickOnImagePopupOkButton();
33
+ fillInTheGapsOverImageDropdownPage.steps.addResponseContainer();
34
+ fillInTheGapsOverImageDropdownPage.steps.addInputToResponseOptionFields(0, optionsForResponse1);
35
+ fillInTheGapsOverImageDropdownPage.steps.expandAdditonalSettings();
36
+ });
37
+
38
+ it('\'Advanced settings for all response areas\' label should be displayed', () => {
39
+ utilities.verifyInnerText(fillInTheGapsOverImageDropdownPage.advanceSettingsforAllResponseAreasLabel(), 'Advanced settings for all response areas');
40
+ utilities.verifyElementVisibilityState(fillInTheGapsOverImageDropdownPage.advanceSettingsforAllResponseAreasLabel(), 'visible');
41
+ });
42
+
43
+ it('\'Placeholder text\' label and input field should be displayed and by default, the input field should be empty', () => {
44
+ utilities.verifyInnerText(fillInTheGapsOverImageDropdownPage.placeholderTextLabel(), 'Placeholder text');
45
+ utilities.verifyElementVisibilityState(fillInTheGapsOverImageDropdownPage.placeholderTextLabel(), 'visible');
46
+ utilities.verifyElementVisibilityState(fillInTheGapsOverImageDropdownPage.placeholderTextInputField(), 'visible');
47
+ fillInTheGapsOverImageDropdownPage.steps.verifyPlaceholderTextInputFieldValue('');
48
+ });
49
+
50
+ it('When \'Placeholder text\' input field is empty then no \'Placeholder text\' should be displayed in the set correct answer dropdown', () => {
51
+ fillInTheGapsOverImageDropdownPage.steps.verifyPlaceholderAttributeInSetCorrectAnswerSectionResponseDropdownNotExists(0);
52
+ });
53
+
54
+ it('When the user adds a text in the Placeholder input field, the added placeholder should be displayed in the set correct answer dropdown', () => {
55
+ fillInTheGapsOverImageDropdownPage.steps.setResponseFieldPlaceholderTextGlobal('Enter response');
56
+ fillInTheGapsOverImageDropdownPage.steps.verifyPlaceholderAttributeInSetCorrectAnswerSectionResponseDropdown(0, 'Enter response');
57
+ });
58
+
59
+ it('CSS of placeholder text', { tags: 'css' }, () => {
60
+ utilities.verifyCSS(fillInTheGapsOverImageDropdownPage.responseDropdownPlaceholderText(), {
61
+ 'color': css.color.placeholderText,
62
+ 'font-size': css.fontSize.normal,
63
+ 'font-weight': css.fontWeight.regular,
64
+ });
65
+ });
66
+
67
+ it('Accessibility of \'Placeholder text\'', { tags: 'a11y' }, () => {
68
+ cy.checkAccessibility(fillInTheGapsOverImageDropdownPage.responseDropdownWrapperSetCorrectAnswerSection());
69
+ });
70
+
71
+ it('When the user selects and option in dropdown, then the placeholder text should disappear', () => {
72
+ fillInTheGapsOverImageDropdownPage.steps.selectResponseFromSetCorrectAnswerSectionResponseDropdown(0, optionsForResponse1[0]);
73
+ fillInTheGapsOverImageDropdownPage.steps.verifyPlaceholderAttributeInSetCorrectAnswerSectionResponseDropdownNotExists(0);
74
+ });
75
+
76
+ });
77
+
78
+ describe('Additional settings: Placeholder text : Preview tab', () => {
79
+ abortEarlySetup();
80
+ before(() => {
81
+ cy.log('Navigate to fill in the gaps over image - dropdown question type');
82
+ fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
83
+ fillInTheGapsOverImageDropdownPage.steps.uploadFile('highlightImage.jpg');
84
+ fillInTheGapsOverImageDropdownPage.steps.clickOnImagePopupOkButton();
85
+ fillInTheGapsOverImageDropdownPage.steps.addResponseContainer();
86
+ fillInTheGapsOverImageDropdownPage.steps.addInputToResponseOptionFields(0, optionsForResponse1);
87
+ fillInTheGapsOverImageDropdownPage.steps.expandAdditonalSettings();
88
+ fillInTheGapsOverImageDropdownPage.steps.switchToPreviewTab();
89
+ });
90
+
91
+ it('When \'Placeholder text\' input field is empty then no \'Placeholder text\' should be displayed in the preview tab dropdown', () => {
92
+ fillInTheGapsOverImageDropdownPage.steps.verifyPlaceholderAttributeInPreviewTabDropdownNotExists(0);
93
+ });
94
+
95
+ it('When the user adds a text in the Placeholder input field, the added placeholder should be displayed in the preview tab dropdown', () => {
96
+ fillInTheGapsOverImageDropdownPage.steps.switchToEditTab();
97
+ fillInTheGapsOverImageDropdownPage.steps.setResponseFieldPlaceholderTextGlobal('Enter response');
98
+ fillInTheGapsOverImageDropdownPage.steps.switchToPreviewTab();
99
+ fillInTheGapsOverImageDropdownPage.steps.verifyPlaceholderAttributeInPreviewTabDropdown(0, 'Enter response');
100
+ });
101
+
102
+ it('CSS of placeholder text', { tags: 'css' }, () => {
103
+ utilities.verifyCSS(fillInTheGapsOverImageDropdownPage.responseDropdownPlaceholderText(), {
104
+ 'color': css.color.placeholderText,
105
+ 'font-size': css.fontSize.normal,
106
+ 'font-weight': css.fontWeight.regular,
107
+ });
108
+ });
109
+
110
+ it('Accessibility of \'Placeholder text\'', { tags: 'a11y' }, () => {
111
+ cy.checkAccessibility(fillInTheGapsOverImageDropdownPage.responseDropdownContainerWrapperPreviewTab());
112
+ });
113
+
114
+ it('When the user selects and option in dropdown, then the placeholder text should disappear', () => {
115
+ fillInTheGapsOverImageDropdownPage.steps.selectResponseFromDropdownInPreviewTab(0, optionsForResponse1[0]);
116
+ fillInTheGapsOverImageDropdownPage.steps.verifyPlaceholderAttributeInPreviewTabDropdownNotExists(0);
117
+ });
118
+ });
119
+
120
+ describe('Additional settings: Height and Width : Contents and set correct answer section', () => {
121
+ abortEarlySetup();
122
+ before(() => {
123
+ cy.log('Navigate to fill in the gaps over image - dropdown question type');
124
+ fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
125
+ cy.barsPreLoaderWait();
126
+ fillInTheGapsOverImageDropdownPage.steps.uploadFile('highlightImage.jpg');
127
+ fillInTheGapsOverImageDropdownPage.steps.clickOnImagePopupOkButton();
128
+ fillInTheGapsOverImageDropdownPage.steps.addResponseContainer();
129
+ fillInTheGapsOverImageDropdownPage.steps.expandAdditonalSettings();
130
+ });
131
+
132
+ it('\'Height (px)\' and \'Width (px)\' labels and input fields should be displayed and by default, the input fields should be empty', () => {
133
+ utilities.verifyInnerText(fillInTheGapsOverImageDropdownPage.responseFieldHeightLabel(), 'Height (px)');
134
+ utilities.verifyElementVisibilityState(fillInTheGapsOverImageDropdownPage.responseFieldHeightLabel(), 'visible');
135
+ utilities.verifyElementVisibilityState(fillInTheGapsOverImageDropdownPage.responseFieldHeightInputField(), 'visible');
136
+ fillInTheGapsOverImageDropdownPage.steps.verifyAdditionalSettingsHeightInputFieldValue('');
137
+ utilities.verifyInnerText(fillInTheGapsOverImageDropdownPage.responseFieldWidthLabel(), 'Width (px)');
138
+ utilities.verifyElementVisibilityState(fillInTheGapsOverImageDropdownPage.responseFieldWidthLabel(), 'visible');
139
+ utilities.verifyElementVisibilityState(fillInTheGapsOverImageDropdownPage.responseFieldWidthInputField(), 'visible');
140
+ fillInTheGapsOverImageDropdownPage.steps.verifyAdditionalSettingsWidthInputFieldValue('');
141
+ });
142
+
143
+ it('When the input field of \'Height\' and \'Width\' is kept empty, the default dimension of the dropdown should be (120x34)px in the \'Set correct answer\' section', () => {
144
+ fillInTheGapsOverImageDropdownPage.steps.verifyHeightOfResponseDropdownInSetCorrectAnswerSection(0, 34);
145
+ fillInTheGapsOverImageDropdownPage.steps.verifyWidthOfResponseDropdownInSetCorrectAnswerSection(0, 120);
146
+ });
147
+
148
+ it('When the user adds \'Height\' for the dropdown then the height of the dropdown should get updated accordingly in the \'Set correct answer\' section', () => {
149
+ fillInTheGapsOverImageDropdownPage.steps.setResponseFieldHeightGlobal(100);
150
+ fillInTheGapsOverImageDropdownPage.steps.verifyHeightOfResponseDropdownInSetCorrectAnswerSection(0, 100);
151
+ });
152
+
153
+ it('When the user adds \'Width\' for the dropdown then the Width of the dropdown should get updated accordingly in the \'Set correct answer\' section', () => {
154
+ fillInTheGapsOverImageDropdownPage.steps.setResponseFieldWidthGlobal(100);
155
+ fillInTheGapsOverImageDropdownPage.steps.verifyWidthOfResponseDropdownInSetCorrectAnswerSection(0, 100);
156
+ });
157
+
158
+ it('When the user enters a value below 80px in the \'Width\' input field then the width of the input field should remain 80px in \'Set correct answer\' section', () => {
159
+ fillInTheGapsOverImageDropdownPage.steps.setResponseFieldWidthGlobal(20);
160
+ fillInTheGapsOverImageDropdownPage.steps.verifyWidthOfResponseDropdownInSetCorrectAnswerSection(0, 80);
161
+ });
162
+
163
+ it('When the user enters a value above 400px in the \'Width\' input field then the width of the input field should remain 400px in \'Set correct answer\' section', () => {
164
+ fillInTheGapsOverImageDropdownPage.steps.setResponseFieldWidthGlobal(800);
165
+ fillInTheGapsOverImageDropdownPage.steps.verifyWidthOfResponseDropdownInSetCorrectAnswerSection(0, 400);
166
+ });
167
+ });
168
+
169
+ describe('Additional settings: Height and Width : Preview tab', () => {
170
+ abortEarlySetup();
171
+ before(() => {
172
+ cy.log('Navigate to fill in the gaps over image - dropdown question type');
173
+ fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
174
+ cy.barsPreLoaderWait();
175
+ fillInTheGapsOverImageDropdownPage.steps.uploadFile('highlightImage.jpg');
176
+ fillInTheGapsOverImageDropdownPage.steps.clickOnImagePopupOkButton();
177
+ fillInTheGapsOverImageDropdownPage.steps.addResponseContainer();
178
+ fillInTheGapsOverImageDropdownPage.steps.expandAdditonalSettings();
179
+ fillInTheGapsOverImageDropdownPage.steps.switchToPreviewTab();
180
+ });
181
+
182
+ it('When the input field of \'Height\' and \'Width\' is kept empty, the default dimension of the dropdown should be (120x34)px for the preview tab', () => {
183
+ fillInTheGapsOverImageDropdownPage.steps.verifyDropdownHeightPreviewTab(0, 34);
184
+ fillInTheGapsOverImageDropdownPage.steps.verifyDropdownWidthPreviewTab(0, 120);
185
+ });
186
+
187
+ it('When the user adds \'Height\' for the dropdown then the height of the dropdown should get updated accordingly in the preview tab', () => {
188
+ fillInTheGapsOverImageDropdownPage.steps.switchToEditTab();
189
+ fillInTheGapsOverImageDropdownPage.steps.setResponseFieldHeightGlobal(100);
190
+ fillInTheGapsOverImageDropdownPage.steps.switchToPreviewTab();
191
+ fillInTheGapsOverImageDropdownPage.steps.verifyDropdownHeightPreviewTab(0, 100);
192
+ });
193
+
194
+ it('When the user adds \'Width\' for the dropdown then the dropdowns should get updated accordingly in the preview tab', () => {
195
+ fillInTheGapsOverImageDropdownPage.steps.switchToEditTab();
196
+ fillInTheGapsOverImageDropdownPage.steps.setResponseFieldWidthGlobal(100);
197
+ fillInTheGapsOverImageDropdownPage.steps.switchToPreviewTab();
198
+ fillInTheGapsOverImageDropdownPage.steps.verifyDropdownWidthPreviewTab(0, 100);
199
+ });
200
+
201
+ it('When the user enters a value below 80px in the \'Width\' input field then the input field should remain 80px for the preview tab dropdowns', () => {
202
+ fillInTheGapsOverImageDropdownPage.steps.switchToEditTab();
203
+ fillInTheGapsOverImageDropdownPage.steps.setResponseFieldWidthGlobal(20);
204
+ fillInTheGapsOverImageDropdownPage.steps.switchToPreviewTab();
205
+ fillInTheGapsOverImageDropdownPage.steps.verifyDropdownWidthPreviewTab(0, 80);
206
+ });
207
+
208
+ it('When the user enters a value above 400px in the \'Width\' input field then the input field should remain 400px for preview tab dropdown', () => {
209
+ fillInTheGapsOverImageDropdownPage.steps.switchToEditTab();
210
+ fillInTheGapsOverImageDropdownPage.steps.setResponseFieldWidthGlobal(800);
211
+ fillInTheGapsOverImageDropdownPage.steps.switchToPreviewTab();
212
+ fillInTheGapsOverImageDropdownPage.steps.verifyDropdownHeightPreviewTab(0, 400);
213
+ });
214
+ });
215
+
216
+ describe('Additional settings: Pointer : Contents and image section', () => {
217
+ abortEarlySetup();
218
+ before(() => {
219
+ cy.log('Navigate to fill in the gaps over image - dropdown question type');
220
+ fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
221
+ fillInTheGapsOverImageDropdownPage.steps.uploadFile('highlightImage.jpg');
222
+ fillInTheGapsOverImageDropdownPage.steps.clickOnImagePopupOkButton();
223
+ fillInTheGapsOverImageDropdownPage.steps.addResponseContainer();
224
+ fillInTheGapsOverImageDropdownPage.steps.expandAdditonalSettings();
225
+ fillInTheGapsOverImageDropdownPage.steps.switchToPreviewTab();
226
+ });
227
+
228
+ fillInTheGapsOverImageDropdownPage.tests.verifyPointerDropdownContentsGlobal();
229
+
230
+ pointerDropdownList.forEach((option, index) => {
231
+ it(`When the user selects \'${option}\' option from the pointer dropdown, then pointer position in image section response container should change to ${option}`, () => {
232
+ fillInTheGapsOverImageDropdownPage.steps.selectOptionFromPointerDropdownGlobal(option);
233
+ utilities.verifyInnerText(fillInTheGapsOverImageDropdownPage.pointerDropdown(), `${option}`);
234
+ fillInTheGapsOverImageDropdownPage.steps.verifyResponseContainerPointerInImageSection(0, index);
235
+ });
236
+ });
237
+
238
+ it(`When user selects ${pointerDropdownList[6]} then the pointer should not be displayed in the \'Image\' section`, () => {
239
+ utilities.verifyElementVisibilityState(fillInTheGapsOverImageDropdownPage.responseContainerPointer(), 'hidden');
240
+ });
241
+ });
242
+
243
+ //TODO: Pointer dropdown functionality is pending for preview tab due to https://redmine.zeuslearning.com/issues/548121
244
+ //TODO- The below listed describes will be added once the corresponding issues are fixed
245
+ //Match image to font-size => https://redmine.zeuslearning.com/issues/548149
246
+ //Fix position on image => https://redmine.zeuslearning.com/issues/547364 https://redmine.zeuslearning.com/issues/547338 https://redmine.zeuslearning.com/issues/548120
247
+ });