itemengine-cypress-automation 1.0.189-e2e-execution-crash-fbb0d92.0 → 1.0.189

Sign up to get free protection for your applications and to get access to all the features.
Files changed (244) hide show
  1. package/cypress/e2e/ILC/AudioPlayerNew/allSupportedFileTypes.js +79 -0
  2. package/cypress/e2e/ILC/AudioPlayerNew/barAudioPlayerStyle.js +647 -0
  3. package/cypress/e2e/ILC/AudioPlayerNew/compactAudioPlayerStyle.js +429 -0
  4. package/cypress/e2e/ILC/AudioPlayerNew/customizePlayerLayoutSettings.js +596 -0
  5. package/cypress/e2e/ILC/AudioPlayerNew/previewContents.smoke.js +162 -0
  6. package/cypress/e2e/ILC/AudioPlayerNew/standardAudioPlayerStyle.js +792 -0
  7. package/cypress/e2e/ILC/AudioPlayerNew/studentViewSettings.js +253 -0
  8. package/cypress/e2e/ILC/AudioPlayerNew/uploadAndAddAudioFile.js +313 -0
  9. package/cypress/e2e/ILC/AudioResponseNew/additionalSettingsBasic.js +1 -22
  10. package/cypress/e2e/ILC/AudioResponseNew/barRecorderStyle.smoke.js +1 -1
  11. package/cypress/e2e/ILC/AudioResponseNew/compactRecorderStyle.smoke.js +1 -1
  12. package/cypress/e2e/ILC/AudioResponseNew/standardRecorderStyle.smoke.js +1 -1
  13. package/cypress/e2e/ILC/AudioResponseNew/studentViewSettings.js +2 -11
  14. package/cypress/e2e/ILC/ChartsBar/previewContentsForAllViews.smoke.js +359 -0
  15. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/clickAndDrop.js +1 -1
  16. package/cypress/e2e/ILC/DrawingResponse/drawingResponseGradingViewAndCorrectAnswerViewContents.smoke.js +6 -8
  17. package/cypress/e2e/ILC/EditTabSettingPage/itemPreviewSettingsTabFunctionality.js +417 -28
  18. package/cypress/e2e/ILC/EssayResponse/editCategoryFlyout.js +1 -1
  19. package/cypress/e2e/ILC/FeedbackScaleNew/headerSection.js +29 -1
  20. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViews.smoke.js +2 -2
  21. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/studentViewSettings.js +1 -1
  22. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/studentViewSettings.js +1 -1
  23. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/editTabScoring.js +1 -0
  24. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/previewContentsForAllViews.smoke.js +2 -2
  25. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/studentViewSettings.js +1 -1
  26. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/studentViewSettings.js +1 -1
  27. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +4 -4
  28. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +1 -1
  29. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/studentViewSettings.js +1 -1
  30. package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +5 -5
  31. package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +3 -4
  32. package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +1 -1
  33. package/cypress/e2e/ILC/FillInTheGapsTextNew/headerSection.js +1 -0
  34. package/cypress/e2e/ILC/FillInTheGapsTextNew/studentViewSettings.js +1 -1
  35. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +2 -2
  36. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +2 -2
  37. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +2 -2
  38. package/cypress/e2e/ILC/Graphing/addBackgroundShapesSection.js +2 -2
  39. package/cypress/e2e/ILC/Graphing/studentViewSettings.js +1 -1
  40. package/cypress/e2e/ILC/GridFill/checkAnswerFunctionalityForAllViews.smoke.js +3 -2
  41. package/cypress/e2e/ILC/GridFill/gridLayoutContents.js +11 -3
  42. package/cypress/e2e/ILC/GridFill/previewContentsForAllViews.smoke.js +3 -3
  43. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingScoringCellShadeCount.js +2 -2
  44. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountAllOrNothingCorrectPointsGreaterThanAlternativePoints.js +143 -0
  45. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountPartialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +132 -0
  46. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountPartialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +143 -0
  47. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountPartialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +144 -0
  48. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountallOrNothingCorrectPointsEqualToAlternativePoints.js +143 -0
  49. package/cypress/e2e/ILC/GridFill/scoring/cellshadeCountAllOrNothingAlternativePointsGreaterThanCorrectPoints.js +131 -0
  50. package/cypress/e2e/ILC/GridFill/scoring/matchExactAndCellShadeCountCombinedScoring.js +87 -0
  51. package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsCellShadeCountBasics.js +446 -0
  52. package/cypress/e2e/ILC/GridFill/studentViewSettingsSection.js +1 -1
  53. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +194 -0
  54. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +195 -0
  55. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +274 -0
  56. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingPenaltyScoring.js +48 -0
  57. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/manuallyAndNonScored.js +144 -0
  58. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +252 -0
  59. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsBasic.js +102 -0
  60. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +256 -0
  61. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +253 -0
  62. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +308 -0
  63. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +225 -0
  64. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +151 -0
  65. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +196 -0
  66. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +227 -0
  67. package/cypress/e2e/ILC/ListOrderingDropdown/additionalSettings.js +91 -0
  68. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +230 -0
  69. package/cypress/e2e/ILC/ListOrderingDropdown/checkAnswerFunctionalityForAllViews.smoke.js +124 -0
  70. package/cypress/e2e/ILC/ListOrderingDropdown/editTabBasicSection.js +221 -0
  71. package/cypress/e2e/ILC/ListOrderingDropdown/editTabScoring.js +203 -0
  72. package/cypress/e2e/ILC/ListOrderingDropdown/manuallyAndNonScoredEditTab.js +71 -0
  73. package/cypress/e2e/ILC/ListOrderingDropdown/minimumScoringPenaltyPointsAndRoundingDropdown.js +197 -0
  74. package/cypress/e2e/ILC/ListOrderingDropdown/previewContentsForAllViews.smoke.js +201 -0
  75. package/cypress/e2e/ILC/ListOrderingDropdown/specifyCorrectAnswerSection.js +115 -0
  76. package/cypress/e2e/ILC/ListOrderingDropdown/studentViewSettings.js +183 -0
  77. package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +216 -0
  78. package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +214 -0
  79. package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +273 -0
  80. package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingPenaltyScoring.js +52 -0
  81. package/cypress/e2e/ILC/ListOrderingNew/Scoring/manuallyAndNonScored.js +128 -0
  82. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +279 -0
  83. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsBasic.js +109 -0
  84. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +278 -0
  85. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +278 -0
  86. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +335 -0
  87. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +250 -0
  88. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsBasic.js +161 -0
  89. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +216 -0
  90. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +252 -0
  91. package/cypress/e2e/ILC/ListOrderingNew/additionalSettings.js +118 -0
  92. package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +243 -0
  93. package/cypress/e2e/ILC/ListOrderingNew/checkAnswerFunctionalityForAllViews.smoke.js +128 -0
  94. package/cypress/e2e/ILC/ListOrderingNew/editTabBasicSection.js +155 -0
  95. package/cypress/e2e/ILC/ListOrderingNew/editTabScoring.js +195 -0
  96. package/cypress/e2e/ILC/ListOrderingNew/headerSection.js +78 -0
  97. package/cypress/e2e/ILC/ListOrderingNew/manuallyAndNonScoredEditTab.js +69 -0
  98. package/cypress/e2e/ILC/ListOrderingNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +194 -0
  99. package/cypress/e2e/ILC/ListOrderingNew/previewContentsForAllViews.smoke.js +176 -0
  100. package/cypress/e2e/ILC/ListOrderingNew/specifyCorrectAnswerSection.js +112 -0
  101. package/cypress/e2e/ILC/ListOrderingNew/studentViewSettings.js +244 -0
  102. package/cypress/e2e/ILC/Matching/studentViewSettings.js +1 -1
  103. package/cypress/e2e/ILC/MultipleSelection/allOrNothingWithAlternativeAnswer.js +1 -0
  104. package/cypress/e2e/ILC/MultipleSelectionGridNew/studentViewSettings.js +1 -1
  105. package/cypress/e2e/ILC/NumberLine/LayoutSection.js +209 -0
  106. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +1 -1
  107. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +1 -1
  108. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +4 -4
  109. package/cypress/e2e/ILC/NumberLine/Scoring/manualAndNonScoredScoring.js +1 -1
  110. package/cypress/e2e/ILC/NumberLine/Scoring/partialEqualWeightsBasic.js +1 -1
  111. package/cypress/e2e/ILC/NumberLine/Scoring/partialEqualWeightsWithAlternatePointsGreaterThanCorrectPoints.js +1 -1
  112. package/cypress/e2e/ILC/NumberLine/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternatePoints.js +1 -1
  113. package/cypress/e2e/ILC/NumberLine/Scoring/partialEqualWeigtsWithCorrectPointsEqualToAlternatePoints.js +1 -1
  114. package/cypress/e2e/ILC/NumberLine/allOrNothingScoringForAllViews.smoke.js +58 -2
  115. package/cypress/e2e/ILC/NumberLine/checkAnswerFunctionalityForAllViews.smoke.js +1 -1
  116. package/cypress/e2e/ILC/NumberLine/editTabScoringSection.js +1 -1
  117. package/cypress/e2e/ILC/NumberLine/gradingViewAndCorrectAnswerView.smoke.js +2 -2
  118. package/cypress/e2e/ILC/NumberLine/headerSection.js +1 -1
  119. package/cypress/e2e/ILC/NumberLine/lineSettingsSection.js +33 -0
  120. package/cypress/e2e/ILC/NumberLine/numberLineSection.js +50 -0
  121. package/cypress/e2e/ILC/NumberLine/previewTabContentsForAllViews.smoke.js +2 -2
  122. package/cypress/e2e/ILC/NumberLine/specifyCorrectAnswerSection.js +1 -1
  123. package/cypress/e2e/ILC/NumberLine/studentViewSettings.js +2 -2
  124. package/cypress/e2e/ILC/NumberLine/toolSettings.js +2 -1
  125. package/cypress/e2e/ILC/NumberLine/toolsAndControls.js +1 -1
  126. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/allOrNothingScoringForAllViews.smoke.js +696 -0
  127. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/gradingViewAndCorrectAnswerView.smoke.js +173 -0
  128. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/layoutSection.js +211 -0
  129. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/numberLineSection.js +75 -0
  130. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/previewTabContentsForAllViews.smoke.js +204 -0
  131. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +229 -0
  132. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +229 -0
  133. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +229 -0
  134. package/cypress/e2e/ILC/NumberLineLabel/Scoring/manualAndNonScoredScoring.js +169 -0
  135. package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +274 -0
  136. package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialDifferentWeightsBasic.js +433 -0
  137. package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +274 -0
  138. package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +274 -0
  139. package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +249 -0
  140. package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialEqualWeightsBasic.js +135 -0
  141. package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +210 -0
  142. package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +248 -0
  143. package/cypress/e2e/ILC/NumberLineLabel/additionalSettingsBasic.js +115 -0
  144. package/cypress/e2e/ILC/NumberLineLabel/allOrNothingForAllViews.smoke.js +288 -0
  145. package/cypress/e2e/ILC/NumberLineLabel/checkAnswerFunctionalityForAllViews.smoke.js +153 -0
  146. package/cypress/e2e/ILC/NumberLineLabel/editTabBasicSection.js +326 -0
  147. package/cypress/e2e/ILC/NumberLineLabel/editTabScoring.js +234 -0
  148. package/cypress/e2e/ILC/NumberLineLabel/gradingViewAndCorrectAnswerView.smoke.js +164 -0
  149. package/cypress/e2e/ILC/NumberLineLabel/headerSection.js +80 -0
  150. package/cypress/e2e/ILC/NumberLineLabel/layoutSection.js +204 -0
  151. package/cypress/e2e/ILC/NumberLineLabel/manuallyAndNonScoredEditTab.js +79 -0
  152. package/cypress/e2e/ILC/NumberLineLabel/minimumScoringPenaltyPointsAndRoundingDropdown.js +85 -0
  153. package/cypress/e2e/ILC/NumberLineLabel/numberLineSection.js +51 -0
  154. package/cypress/e2e/ILC/NumberLineLabel/previewContentsForAllViews.smoke.js +120 -0
  155. package/cypress/e2e/ILC/NumberLineLabel/specifyCorrectAnswerSection.js +74 -0
  156. package/cypress/e2e/ILC/NumberLineLabel/studentViewSettings.js +183 -0
  157. package/cypress/e2e/ILC/NumberLineLabel/toolSettings.js +76 -0
  158. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/allOrNothingForAllViews.smoke.js +292 -0
  159. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/checkAnswerFunctionalityForAllViews.smoke.js +155 -0
  160. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/gradingViewAndCorrectAnswerView.smoke.js +166 -0
  161. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/layoutSection.js +360 -0
  162. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/numberLineSection.js +80 -0
  163. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/previewContentsForAllViews.smoke.js +111 -0
  164. package/cypress/e2e/ILC/Protractor/protractorPreviewContents.smoke.js +1 -1
  165. package/cypress/e2e/ILC/ReadingRuler/readingRulerEditTabBasicsSection.js +49 -1
  166. package/cypress/e2e/ILC/ShortTextResponseNew/studentViewSettings.js +1 -1
  167. package/cypress/e2e/ILC/SingleSelectionGridNew/studentViewSettings.js +1 -1
  168. package/cypress/e2e/ILC/TextEntryMath/responseEvaluationMethodsAndCustomSettings.js +2 -2
  169. package/cypress/e2e/ILC/TextSelection/Scoring/allOrNothingAlternatePointsMoreThanCorrectPoints.js +0 -1
  170. package/cypress/e2e/ILC/TextSelection/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +0 -1
  171. package/cypress/e2e/ILC/TextSelection/Scoring/allOrNothingCorrectPointsMoreThanAlternatePoints.js +0 -1
  172. package/cypress/e2e/ILC/TextSelection/Scoring/basicScoringForAllTextSelectionTypes.smoke.js +0 -1
  173. package/cypress/e2e/ILC/TextSelection/additionalSettings.js +125 -0
  174. package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +0 -1
  175. package/cypress/e2e/ILC/TextSelection/checkAnswerFunctionalityForAllViews.smoke.js +2 -2
  176. package/cypress/e2e/ILC/TextSelection/editTabScoringSection.js +5 -4
  177. package/cypress/e2e/ILC/TextSelection/headerSection.js +73 -0
  178. package/cypress/e2e/ILC/TextSelection/previewContentsForAllViews.smoke.js +6 -7
  179. package/cypress/e2e/ILC/TextSelection/questionInstructionsAndQuestion.js +179 -0
  180. package/cypress/e2e/ILC/TextSelection/specifyCorrectAnswerSection.js +89 -0
  181. package/cypress/e2e/ILC/TextSelection/studentViewSettings.js +436 -0
  182. package/cypress/e2e/ILC/TextSelection/styleAndLayoutCustomizationAccordion.js +277 -0
  183. package/cypress/e2e/ILC/TextSelection/textSelectionModesInPreviewTab.js +222 -0
  184. package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyCorrectAnswerSection.js +260 -0
  185. package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyPossibleOptionsSection.js +380 -0
  186. package/cypress/e2e/ILC/ToolSettings/toolSettingsContent.js +5 -5
  187. package/cypress/e2e/ILC/ToolSettings/toolSettingsPreviewContents.smoke.js +3 -3
  188. package/cypress/e2e/ILC/VideoResponseNew/additionalSettingsBasic.js +77 -0
  189. package/cypress/e2e/ILC/VideoResponseNew/customizePlaybackControls.js +313 -0
  190. package/cypress/e2e/ILC/VideoResponseNew/editAndPreviewTabScoringSection.js +99 -0
  191. package/cypress/e2e/ILC/VideoResponseNew/editTabBasicSection.js +171 -0
  192. package/cypress/e2e/ILC/VideoResponseNew/gradingViewAndCorrectAnswerViewContents.smoke.js +179 -0
  193. package/cypress/e2e/ILC/VideoResponseNew/headerSection.js +79 -0
  194. package/cypress/e2e/ILC/VideoResponseNew/previewContentsForAllViews.smoke.js +201 -0
  195. package/cypress/e2e/ILC/VideoResponseNew/standardRecorderStyle.js +567 -0
  196. package/cypress/e2e/ILC/VideoResponseNew/studentViewSettings.js +194 -0
  197. package/cypress/fixtures/constants.js +1 -1
  198. package/cypress/fixtures/drawingToolbarOptionsAdditionalOptionsAndSpecialAndMathCharacters.js +1 -1
  199. package/cypress/fixtures/equationEditorCategoriesAndSymbols .js +20 -20
  200. package/cypress/fixtures/theme/ilc.json +22 -18
  201. package/cypress/pages/audioPlayerPage.js +668 -446
  202. package/cypress/pages/audioResponsePage.js +8 -80
  203. package/cypress/pages/brainingCampManipulativePage.js +1 -1
  204. package/cypress/pages/chartsBarPage.js +231 -0
  205. package/cypress/pages/chartsDotPlotPage.js +8 -0
  206. package/cypress/pages/chartsLinePage.js +42 -0
  207. package/cypress/pages/components/allowTeachersToDownloadStudentResponseComponent.js +58 -0
  208. package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +13 -23
  209. package/cypress/pages/components/autoScoredStudentViewSettings.js +6 -6
  210. package/cypress/pages/components/barAndLineChartComponent.js +120 -0
  211. package/cypress/pages/components/chartsCommonComponent.js +105 -0
  212. package/cypress/pages/components/commonComponents.js +1 -0
  213. package/cypress/pages/components/draggableOptionContainer.js +2 -1
  214. package/cypress/pages/components/equationEditorFlyout.js +3 -2
  215. package/cypress/pages/components/essayResponseCommonComponents.js +8 -2
  216. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +1 -0
  217. package/cypress/pages/components/imageCanvasComponent.js +2 -1
  218. package/cypress/pages/components/index.js +7 -0
  219. package/cypress/pages/components/layoutSectionComponent.js +1156 -0
  220. package/cypress/pages/components/limitNumberOfRetakeComponent.js +90 -0
  221. package/cypress/pages/components/numberLineCommonComponent.js +685 -0
  222. package/cypress/pages/components/optionsWrapperComponent.js +13 -2
  223. package/cypress/pages/components/playbackControlsBaseComponent.js +20 -13
  224. package/cypress/pages/components/questionInstructionsComponent.js +3 -19
  225. package/cypress/pages/components/styleAndLayoutCustomizationAccordionComponent.js +46 -0
  226. package/cypress/pages/components/toolSettingsComponent.js +6 -0
  227. package/cypress/pages/contentBlocksPage.js +18 -2
  228. package/cypress/pages/createItemPage.js +75 -8
  229. package/cypress/pages/dialogBoxBase.js +2 -2
  230. package/cypress/pages/drawingResponsePage.js +24 -4
  231. package/cypress/pages/feedbackScalePage.js +3 -0
  232. package/cypress/pages/graphingPage.js +19 -1
  233. package/cypress/pages/gridFillPage.js +47 -59
  234. package/cypress/pages/index.js +5 -1
  235. package/cypress/pages/itemPreviewSettingsPage.js +4 -0
  236. package/cypress/pages/listOrderingPage.js +561 -555
  237. package/cypress/pages/matchingPage.js +1 -1
  238. package/cypress/pages/multipleSelectionPage.js +23 -1
  239. package/cypress/pages/numberLineLabelPage.js +1086 -0
  240. package/cypress/pages/numberLinePage.js +696 -78
  241. package/cypress/pages/rulerPage.js +6 -2
  242. package/cypress/pages/textSelectionPage.js +461 -23
  243. package/cypress/pages/videoResponsePage.js +393 -81
  244. package/package.json +1 -1
@@ -0,0 +1,197 @@
1
+ import { listOrderingPage } from "../../../pages";
2
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
3
+ import utilities from "../../../support/helpers/utilities";
4
+ const css = Cypress.env('css');
5
+ const penaltyScoringTypeArray = ['No penalty points', 'Penalty points for the entire question', 'Penalty points for each incorrect option'];
6
+
7
+ describe('Create item page - List ordering: Minimum scoring, Penalty scoring, Rounding - Edit tab', () => {
8
+ before(() => {
9
+ cy.loginAs('admin');
10
+ });
11
+
12
+ describe('Scoring section: Minimum scoring - Edit tab', () => {
13
+ abortEarlySetup();
14
+ before(() => {
15
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
16
+ cy.barsPreLoaderWait();
17
+ listOrderingPage.steps.selectOrderingLayoutOption('Dropdown menu');
18
+ listOrderingPage.steps.allotPoints(10);
19
+ });
20
+
21
+ listOrderingPage.tests.verifyMinimumScoringDropdown();
22
+
23
+ listOrderingPage.tests.verifyMinimumPointsLabelAndInputField();
24
+
25
+ listOrderingPage.tests.verifyMinimumPointsFieldErrorState();
26
+ });
27
+
28
+ describe('Scoring section: Penalty scoring - Edit tab', () => {
29
+ abortEarlySetup();
30
+ before(() => {
31
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
32
+ cy.barsPreLoaderWait();
33
+ listOrderingPage.steps.allotPoints(10);
34
+ listOrderingPage.steps.selectOrderingLayoutOption('Dropdown menu');
35
+ listOrderingPage.steps.selectAutoScoredScoringSubtype('Partial equal weights');
36
+ });
37
+
38
+ listOrderingPage.tests.verifyPenaltyScoringDropdown(penaltyScoringTypeArray);
39
+
40
+ listOrderingPage.tests.verifyPenaltyPointsLabelAndInputField();
41
+
42
+ listOrderingPage.tests.verifyPenaltyPointsErrorState();
43
+
44
+ it('When the user selects \'Penalty points for each incorrect option\' from the penalty scoring dropdown, \'Automatically set penalty for each incorrect option to total points / no. of incorrect options\' label and checkbox should be displayed, by default the checkbox should be unchecked. Two radio buttons with labels - \'Specify total penalty points\' and \'Specify points for each incorrect option\' should be displayed. By default, \'Specify total penalty points\' radio button should be checked', () => {
45
+ listOrderingPage.steps.expandPenaltyScoringDropdown();
46
+ listOrderingPage.steps.selectOptionFromPenaltyScoringDropdown('Penalty points for each incorrect option');
47
+ utilities.verifyInnerText(listOrderingPage.automaticallySetPenaltyPointsCheckboxLabel(), 'Automatically set penalty for each incorrect option to total points / no. of incorrect options');
48
+ utilities.verifyInnerText(listOrderingPage.specifyTotalPenaltyPointsRadioButtonLabel(), 'Specify total penalty points');
49
+ utilities.verifyInnerText(listOrderingPage.specifyPointsForEachIncorrectOptionRadioButtonLabel(), 'Specify points for each incorrect option');
50
+ listOrderingPage.steps.verifyAutomaticallySetPenaltyPointsCheckboxUncheckedState();
51
+ listOrderingPage.steps.verifySpecifyTotalPenaltyPointsRadioButtonCheckedState();
52
+ listOrderingPage.steps.verifySpecifyPointsForEachIncorrectOptionRadioButtonUncheckedState();
53
+ });
54
+
55
+ it('When \'Specify total penalty points\' is selected, a penalty points detail section with \'Total penalty points\' label and empty input field, \'Penalty points for each incorrect option: -\' label should be displayed', () => {
56
+ utilities.verifyInnerText(listOrderingPage.penaltyPointsDetailsSectionInputFieldLabel(), 'Total penalty points');
57
+ listOrderingPage.steps.verifyTotalPenaltyPointsValue('');
58
+ utilities.verifyInnerText(listOrderingPage.penaltyPointsDetailsSectionAllottedPointsLabel(), 'Penalty points for each incorrect option: -');
59
+ });
60
+
61
+ it('When the user allots total penalty points, then \'points for each incorrect option\' should get updated as per the count of incorrect options available', () => {
62
+ listOrderingPage.steps.allotTotalPenaltyPoints(5);
63
+ listOrderingPage.steps.verifyPenaltyPointsForEachIncorrectOption(1.67);
64
+ });
65
+
66
+ it('When the user deletes an option, then \'points for each incorrect option\' should get updated accordingly', () => {
67
+ listOrderingPage.steps.deleteOption(0);
68
+ listOrderingPage.steps.verifyPenaltyPointsForEachIncorrectOption(2.5);
69
+ });
70
+
71
+ it('When the user adds a new option, then \'points for each incorrect option\' should get updated accordingly', () => {
72
+ listOrderingPage.steps.addOption();
73
+ listOrderingPage.steps.verifyPenaltyPointsForEachIncorrectOption(1.67);
74
+ });
75
+
76
+ it('CSS of the penalty points section - Total penalty points', { tags: 'css' }, () => {
77
+ utilities.verifyCSS(listOrderingPage.automaticallySetPenaltyPointsCheckboxLabel(), {
78
+ 'color': css.color.labelText,
79
+ 'font-size': css.fontSize.default,
80
+ 'font-weight': css.fontWeight.regular
81
+ });
82
+ utilities.verifyCSS(listOrderingPage.automaticallySetPenaltyPointsCheckbox().parent().find('svg'), {
83
+ 'fill': css.color.uncheckedCheckbox
84
+ });
85
+ utilities.verifyCSS(listOrderingPage.specifyTotalPenaltyPointsRadioButton().parent().find('svg'), {
86
+ 'fill': css.color.activeButtons
87
+ });
88
+ utilities.verifyCSS(listOrderingPage.specifyPointsForEachIncorrectOptionRadioButton().parent().find('svg path'), {
89
+ 'fill': css.color.uncheckedCheckbox
90
+ });
91
+ utilities.verifyCSS(listOrderingPage.specifyTotalPenaltyPointsRadioButtonLabel(), {
92
+ 'color': css.color.labelText,
93
+ 'font-size': css.fontSize.default,
94
+ 'font-weight': css.fontWeight.regular
95
+ });
96
+ utilities.verifyCSS(listOrderingPage.specifyPointsForEachIncorrectOptionRadioButtonLabel(), {
97
+ 'color': css.color.labelText,
98
+ 'font-size': css.fontSize.default,
99
+ 'font-weight': css.fontWeight.regular
100
+ });
101
+ utilities.verifyCSS(listOrderingPage.penaltyPointsDetailsSectionInputFieldLabel(), {
102
+ 'color': css.color.labelText,
103
+ 'font-size': css.fontSize.default,
104
+ 'font-weight': css.fontWeight.regular
105
+ });
106
+ utilities.verifyCSS(listOrderingPage.totalPenaltyPointsInputField(), {
107
+ 'color': css.color.text,
108
+ 'font-size': css.fontSize.default,
109
+ 'font-weight': css.fontWeight.regular
110
+ });
111
+ utilities.verifyCSS(listOrderingPage.penaltyPointsDetailsSectionAllottedPointsLabel(), {
112
+ 'color': css.color.labelText,
113
+ 'font-size': css.fontSize.default,
114
+ 'font-weight': css.fontWeight.regular
115
+ });
116
+ });
117
+
118
+ it('Accessibility of the penalty points section - Total penalty points', { tags: 'a11y' }, () => {
119
+ cy.checkAccessibility(listOrderingPage.automaticallySetPenaltyPointsCheckboxLabel().parents('.penalty-score-for-each-incorrect-wrapper'));
120
+ });
121
+
122
+ it('When the user selects \'Specify points for each incorrect answer\', a penalty points detail section with \'Penalty points for each incorrect option:\' label and empty input field, \'Total penalty points: -\' label should be displayed', () => {
123
+ cy.log('Pre-step: Clearing the total penalty points input field')
124
+ listOrderingPage.steps.clearTotalPenaltyPointsInputField();
125
+ listOrderingPage.steps.selectPenaltyPointsForEachIncorrectOptionType('Specify points for each incorrect option');
126
+ utilities.verifyInnerText(listOrderingPage.penaltyPointsDetailsSectionInputFieldLabel(), 'Penalty points for each incorrect option');
127
+ listOrderingPage.steps.verifyPenaltyPointsForEachIncorrectOptionValue('');
128
+ utilities.verifyInnerText(listOrderingPage.penaltyPointsDetailsSectionAllottedPointsLabel(), 'Total penalty points: -');
129
+ });
130
+
131
+ it('When the user allots Penalty points for each incorrect option, then \'Total penalty points\' should get updated as per the count of incorrect options available', () => {
132
+ listOrderingPage.steps.allotPenaltyPointsForEachIncorrectOption(1);
133
+ listOrderingPage.steps.verifyTotalPenaltyPoints(3);
134
+ });
135
+
136
+ it('When the user adds a new option, then \'Total penalty points\' should get updated accordingly', () => {
137
+ listOrderingPage.steps.addOption();
138
+ listOrderingPage.steps.verifyTotalPenaltyPoints(4);
139
+ });
140
+
141
+ it('When the user deletes an option, then \'points for each incorrect option\' should get updated accordingly', () => {
142
+ listOrderingPage.steps.deleteOption(0);
143
+ listOrderingPage.steps.verifyTotalPenaltyPoints(3);
144
+ });
145
+
146
+ it('CSS of the penalty points section - Penalty points for each incorrect option', { tags: 'css' }, () => {
147
+ utilities.verifyCSS(listOrderingPage.penaltyPointsDetailsSectionInputFieldLabel(), {
148
+ 'color': css.color.labelText,
149
+ 'font-size': css.fontSize.default,
150
+ 'font-weight': css.fontWeight.regular
151
+ });
152
+ utilities.verifyCSS(listOrderingPage.penaltyPointsForEachIncorrectOptionInputField(), {
153
+ 'color': css.color.text,
154
+ 'font-size': css.fontSize.default,
155
+ 'font-weight': css.fontWeight.regular
156
+ });
157
+ utilities.verifyCSS(listOrderingPage.penaltyPointsDetailsSectionAllottedPointsLabel(), {
158
+ 'color': css.color.labelText,
159
+ 'font-size': css.fontSize.default,
160
+ 'font-weight': css.fontWeight.regular
161
+ });
162
+ });
163
+
164
+ it('Accessibility of the penalty points section - Penalty points for each incorrect option', { tags: 'a11y' }, () => {
165
+ cy.checkAccessibility(listOrderingPage.automaticallySetPenaltyPointsCheckboxLabel().parents('.penalty-score-for-each-incorrect-wrapper'));
166
+ });
167
+
168
+ it('When the user switches to the \'Specify total penalty points\' option, the total penalty points input field should be filled as per the total penalty points in \'Specify points for each incorrect option\'', () => {
169
+ listOrderingPage.steps.selectPenaltyPointsForEachIncorrectOptionType('Specify total penalty points');
170
+ listOrderingPage.steps.verifyTotalPenaltyPointsValue(3);
171
+ utilities.verifyInnerText(listOrderingPage.penaltyPointsDetailsSectionAllottedPointsLabel(), 'Penalty points for each incorrect option: 1');
172
+ });
173
+
174
+ it('When the user checks the \'Automatically set penalty for each incorrect option to total points / no. of incorrect options\' checkbox, both radio buttons should get disabled, \'Specify points for each incorrect option\' should get checked, in the penalty points details section, \'Penalty points for each incorrect option: #\' and \'Total penalty points: #\' should be displayed as per the alloted points and available incorrect options', () => {
175
+ listOrderingPage.steps.checkAutomaticallySetPenaltyPointsCheckbox();
176
+ listOrderingPage.steps.verifySpecifyTotalPenaltyPointsDisabledState();
177
+ listOrderingPage.steps.verifySpecifyPointsForEachIncorrectOptionRadioButtonSelectedAndDisabledState();
178
+ utilities.verifyInnerText(utilities.getNthElement(listOrderingPage.penaltyPointsDetailsSectionAllottedPointsLabel(), 0), 'Penalty points for each incorrect option: 3.33');
179
+ utilities.verifyInnerText(utilities.getNthElement(listOrderingPage.penaltyPointsDetailsSectionAllottedPointsLabel(), 1), 'Total penalty points: 9.99');
180
+ });
181
+ });
182
+
183
+ describe('Scoring section: Rounding - Edit tab', () => {
184
+ abortEarlySetup();
185
+ before(() => {
186
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
187
+ cy.barsPreLoaderWait();
188
+ listOrderingPage.steps.allotPoints(10);
189
+ listOrderingPage.steps.selectOrderingLayoutOption('Dropdown menu');
190
+ listOrderingPage.steps.selectAutoScoredScoringSubtype('Partial equal weights')
191
+ });
192
+
193
+ listOrderingPage.tests.verifyRoundingDropdown();
194
+
195
+ listOrderingPage.tests.verifyRoundNegativeScoreToZeroLabelAndCheckbox();
196
+ });
197
+ });
@@ -0,0 +1,201 @@
1
+ import { listOrderingPage, itemPreviewPage, studentViewPage } from "../../../pages";
2
+ import { ckEditorToolbar, equationEditorFlyout } from "../../../pages/components";
3
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
4
+ import utilities from "../../../support/helpers/utilities";
5
+ const previewContentViews = ['Question preview', 'Item view', 'Item preview', 'Student view', 'Grading view', 'Correct answer view'];
6
+ const views = utilities.getViews(previewContentViews);
7
+ var itemReferenceID = "";
8
+ const css = Cypress.env('css');
9
+
10
+ describe('Create item page - List ordering - Preview contents in all views', () => {
11
+ before(() => {
12
+ cy.loginAs('admin');
13
+ });
14
+
15
+ views.forEach((view) => {
16
+ describe(`Preview tab contents - ${view}`, { tags: 'smoke' }, () => {
17
+ abortEarlySetup();
18
+ before(() => {
19
+ switch (view) {
20
+ case 'Question preview':
21
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
22
+ cy.barsPreLoaderWait();
23
+ listOrderingPage.steps.addTextInQuestionInstructionsInputField('Arrange options in correct order.');
24
+ listOrderingPage.steps.selectOrderingLayoutOption('Dropdown menu');
25
+ listOrderingPage.steps.allotPoints(10);
26
+ cy.log('Add image to option input field')
27
+ listOrderingPage.steps.focusInOptionsInputField(0);
28
+ ckEditorToolbar.steps.selectImageOptionFromCKEditorToolbar();
29
+ ckEditorToolbar.steps.addImageToInputField();
30
+ listOrderingPage.steps.enterTextInOptionInputField(0, 'Fox');
31
+ cy.log('Add bold text to option input field')
32
+ listOrderingPage.steps.focusInOptionsInputField(1);
33
+ ckEditorToolbar.steps.selectBoldOptionFromCKEditorToolbar();
34
+ listOrderingPage.steps.enterTextInOptionInputField(1, 'This is a bold option');
35
+ cy.log('Add equation to option input field')
36
+ listOrderingPage.steps.enterTextInOptionInputField(2, 'Solve the following');
37
+ listOrderingPage.steps.focusInOptionsInputField(2);
38
+ ckEditorToolbar.steps.selectEquationEditorOptionFromCKEditorToolbar();
39
+ equationEditorFlyout.steps.addGenericEquationUsingEquationEditorToCKEditorInputField();
40
+ listOrderingPage.steps.enterTextInOptionInputField(3, 'alpha');
41
+ listOrderingPage.steps.selectPositionForAllOptionsSpecifyCorrectAnswerSection([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '1' }, { optionIndex: 2, position: '3' }, { optionIndex: 3, position: '4' }])
42
+ listOrderingPage.steps.switchToPreviewTab();
43
+ break;
44
+ case 'Item view':
45
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
46
+ break;
47
+ case 'Item preview':
48
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
49
+ listOrderingPage.steps.switchToPreviewTab();
50
+ break;
51
+ case 'Student view':
52
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
53
+ break;
54
+ case 'Grading view':
55
+ cy.visit(`/item-engine/demo/render-item/grading-view/${utilities.base64Encoding(itemReferenceID)}`);
56
+ break;
57
+ case 'Correct answer view':
58
+ cy.visit(`/item-engine/demo/render-item/correct-answer-view/${utilities.base64Encoding(itemReferenceID)}`);
59
+ break;
60
+ default:
61
+ throw new Error('Invalid view');
62
+ }
63
+ });
64
+
65
+ after(() => {
66
+ if (view === 'Question preview') {
67
+ listOrderingPage.steps.clickOnSaveQuestionButton();
68
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
69
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
70
+ }
71
+ if (view === 'Student view') {
72
+ studentViewPage.steps.submitResponse();
73
+ utilities.verifyElementVisibilityState(studentViewPage.buttonGoToGradingView(), 'visible');
74
+ }
75
+ });
76
+
77
+ it('Question instructions should be visible', () => {
78
+ utilities.verifyInnerText(listOrderingPage.questionInstructionsText(), 'Arrange options in correct order.');
79
+ utilities.verifyElementVisibilityState(listOrderingPage.questionInstructionsText(), 'visible');
80
+ });
81
+
82
+ if (view !== 'Grading view' && view !== 'Correct answer view') {
83
+ it(`When the user has added image, equation, bold text to the options input fields, then they should be displayed in the options container in ${view}`, () => {
84
+ listOrderingPage.steps.verifyOptionWithImageInPreviewTab(0);
85
+ listOrderingPage.steps.verifyOptionWithBoldTextInPreviewTab(1);
86
+ listOrderingPage.steps.verifyOptionWithEquationTextInPreviewTab(2);
87
+ });
88
+
89
+ it('When the user expands a position dropdown, based on the number of options in the list to order, a list of dropdown options to place the particular option in the list order should be displayed', () => {
90
+ listOrderingPage.steps.expandPositionDropdownPreviewTab(0);
91
+ utilities.verifyElementVisibilityState(listOrderingPage.dropdownList(), 'visible');
92
+ for (let index = 0; index < 4; index++) {
93
+ utilities.verifyInnerText(utilities.getNthElement(listOrderingPage.positionDropdownListOption(), index), `${index + 1}`);
94
+ }
95
+ });
96
+
97
+ it('The user should be able to select an option from the position dropdown. When the user has not set position in all dropdowns, an alert message "All options need to have a value assigned to them from the dropdown." should be displayed', () => {
98
+ listOrderingPage.steps.selectOptionPositionPreviewTab(0, 2);
99
+ utilities.verifyElementVisibilityState(listOrderingPage.dropdownList(), 'notExist');
100
+ listOrderingPage.steps.verifyAssignValueToAllDropdownAlertMessage();
101
+ });
102
+
103
+ it('When the user tries to set position of an option such that the same position has already been assigned to another option, then the selected position from the previous option dropdown should reset', () => {
104
+ listOrderingPage.steps.selectOptionPositionPreviewTab(1, 2);
105
+ listOrderingPage.steps.verifySelectedOptionPositionDropdown(0, '');
106
+ });
107
+
108
+ it('User should be able to reorder options containing image, bold text and equation options in the list using position dropdowns. On setting position for all options, the alert message should get removed', () => {
109
+ listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '1' }, { optionIndex: 2, position: '3' }, { optionIndex: 3, position: '4' }])
110
+ listOrderingPage.steps.verifyAlertMessageNotExists();
111
+ });
112
+ } else if (view === 'Grading view') {
113
+ it(`The order of the responses should be as per the submitted response`, () => {
114
+ listOrderingPage.steps.verifyOptionWithImageDropdownLayoutInGradingView(0);
115
+ listOrderingPage.steps.verifyOptionWithBoldTextDropdownLayoutInGradingView(1);
116
+ listOrderingPage.steps.verifyOptionWithEquationTextDropdownLayoutInGradingView(2);
117
+ listOrderingPage.steps.verifyTextContentOfOptionDropdownLayoutInGradingView('alpha', 3);
118
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(0);
119
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(1);
120
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(2);
121
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(3);
122
+ listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
123
+ listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
124
+ });
125
+
126
+ it('The order of the responses should not be editable', () => {
127
+ listOrderingPage.steps.expandPositionDropdownPreviewTab(2);
128
+ utilities.verifyElementVisibilityState(listOrderingPage.dropdownList(), 'notExist');
129
+ });
130
+ } else {
131
+ it('The order of the options should be as per the correct answer order', () => {
132
+ listOrderingPage.steps.verifySelectedOptionPositionDropdown(0, '2');
133
+ listOrderingPage.steps.verifySelectedOptionPositionDropdown(1, '1');
134
+ listOrderingPage.steps.verifySelectedOptionPositionDropdown(2, '3');
135
+ listOrderingPage.steps.verifySelectedOptionPositionDropdown(3, '4');
136
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(0);
137
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(1);
138
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(2);
139
+ listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(3);
140
+ });
141
+ }
142
+
143
+ it('CSS of preview contents', { tags: 'css' }, () => {
144
+ switch (view) {
145
+ case 'Question preview':
146
+ case 'Item preview':
147
+ case 'Item view':
148
+ case 'Item preview':
149
+ case 'Student view':
150
+ utilities.verifyCSS(utilities.getNthElement(listOrderingPage.positionDropdownPreviewTab(), 0), {
151
+ 'background-color': css.color.optionsBg,
152
+ 'border': `1px solid ${css.color.draggableOptionBorder}`
153
+ });
154
+ utilities.verifyCSS(utilities.getNthElement(listOrderingPage.positionDropdownPreviewTab(), 0), {
155
+ 'background-color': css.color.defaultBackground,
156
+ 'border': `1px solid ${css.color.correctAnswer}`
157
+ });
158
+ utilities.verifyCSS(listOrderingPage.dropdownOptionWrapperPreviewTab(), {
159
+ 'background-color': css.color.defaultBackground,
160
+ 'border': `1px solid ${css.color.draggableOptionBorder}`
161
+ });
162
+ utilities.verifyCSS(listOrderingPage.dropdownOptionWrapperPreviewTab().find('.question-text-wrapper'), {
163
+ 'color': css.color.text,
164
+ 'font-size': css.fontSize.default,
165
+ 'font-weight': css.fontWeight.regular
166
+ });
167
+ utilities.verifyCSS(listOrderingPage.dropdownWrapperPreviewTab().find('.dropdown-label-text'), {
168
+ 'color': css.color.liText,
169
+ 'font-size': css.fontSize.default,
170
+ 'font-weight': css.fontWeight.regular
171
+ });
172
+ break;
173
+ case 'Grading view':
174
+ case 'Correct answer view':
175
+ utilities.verifyCSS(utilities.getNthElement(listOrderingPage.positionDropdownPreviewTab(), 0), {
176
+ 'background-color': css.color.optionsBg,
177
+ 'border': `1px solid ${css.color.correctAnswer}`
178
+ });
179
+ utilities.verifyCSS(listOrderingPage.dropdownOptionWrapperGradingView(), {
180
+ 'background-color': css.color.defaultBackground,
181
+ 'border': `1px solid ${css.color.draggableOptionBorder}`
182
+ });
183
+ utilities.verifyCSS(utilities.getNthElement(listOrderingPage.dropdownOptionWrapperGradingView(), 3).find('.question-text-wrapper'), {
184
+ 'color': css.color.text,
185
+ 'font-size': css.fontSize.default,
186
+ 'font-weight': css.fontWeight.regular
187
+ });
188
+ utilities.verifyCSS(listOrderingPage.dropdownWrapperPreviewTab().find('.dropdown-label-text'), {
189
+ 'color': css.color.liText,
190
+ 'font-size': css.fontSize.default,
191
+ 'font-weight': css.fontWeight.regular
192
+ });
193
+ }
194
+ });
195
+
196
+ it('Accessibility of preview contents', { tags: 'a11y' }, () => {
197
+ cy.checkAccessibility(listOrderingPage.optionWrapperPreviewTab().parents('[class*="question-preview-wrapper"]'));
198
+ });
199
+ });
200
+ });
201
+ });
@@ -0,0 +1,115 @@
1
+ import { dialogBoxBase, listOrderingPage } from "../../../pages";
2
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
3
+ import utilities from "../../../support/helpers/utilities";
4
+ const options = ['sprout', 'plant', 'flower', 'seed'];
5
+
6
+ describe('Create item page - List ordering: Specify correct answer, Alternative correct answer', () => {
7
+ before(() => {
8
+ cy.loginAs('admin');
9
+ });
10
+
11
+ describe('Specify correct answer section - Header and \'Correct\' accordion', () => {
12
+ abortEarlySetup();
13
+ before(() => {
14
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
15
+ cy.barsPreLoaderWait();
16
+ listOrderingPage.steps.selectOrderingLayoutOption('Dropdown menu');
17
+ listOrderingPage.steps.addInputToOptionsInputField(options);
18
+ });
19
+
20
+ listOrderingPage.tests.verifyAutoScoredSpecifyCorrectAnswerHeaderSectionContents('list ordering');
21
+
22
+ it('By default, 4 options should be displayed with dropdowns in the correct accordion', () => {
23
+ utilities.verifyElementCount(listOrderingPage.positionDropdownSpecifyCorrectAnswerSection(), 4);
24
+ options.forEach((optionText, index) => {
25
+ listOrderingPage.steps.verifyTextContentOfOptionDropdownLayoutInSpecifyCorrectAnswerSection(optionText, index);
26
+ });
27
+ });
28
+
29
+ it('When the user expands a position dropdown, based on the number of options in the list to order, a list of dropdown options to place the particular option in the list order should be displayed', () => {
30
+ listOrderingPage.steps.expandPositionDropdownSpecifyCorrectAnswerSection(0);
31
+ utilities.verifyElementVisibilityState(listOrderingPage.dropdownList(), 'visible');
32
+ for (let index = 0; index < 4; index++) {
33
+ utilities.verifyInnerText(utilities.getNthElement(listOrderingPage.positionDropdownListOption(), index), `${index + 1}`);
34
+ };
35
+ listOrderingPage.steps.selectListOptionPositionDropdown('1');
36
+ });
37
+
38
+ it('The user should be able to select an option from the position dropdown.', () => {
39
+ listOrderingPage.steps.selectOptionPositionSpecifyCorrectAnswerSection(0, '2');
40
+ listOrderingPage.steps.verifySelectedOptionPositionDropdownInSpecifyCorrectAnswerSection(0, '2');
41
+ utilities.verifyElementVisibilityState(listOrderingPage.dropdownList(), 'notExist');
42
+ });
43
+
44
+ listOrderingPage.tests.verifyAutoScoredPointsErrorMessageWhenPointsFieldIsEmpty('Correct');
45
+ });
46
+
47
+ describe('Specify correct answer section - \'Alternative\' accordion', () => {
48
+ abortEarlySetup();
49
+ before(() => {
50
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
51
+ cy.barsPreLoaderWait();
52
+ listOrderingPage.steps.selectOrderingLayoutOption('Dropdown menu');
53
+ listOrderingPage.steps.addInputToOptionsInputField(options);
54
+ });
55
+
56
+ listOrderingPage.tests.verifyAutoScoredAddAlternativeAnswerButtonAndValidation('list ordering');
57
+
58
+ it('When user tries to \'+Add alternative answer\' after allotting points without re-ordering the options then the warning popup should appear and on closing the warning popup, an error message should be displayed in the \'Specify correct answer\' section', () => {
59
+ listOrderingPage.steps.clickOnAddAlternativeAnswerButton();
60
+ dialogBoxBase.steps.closeWarningPopup();
61
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'notExist');
62
+ utilities.verifyInnerText(listOrderingPage.errorMessage(), 'Error: All options need to have a value assigned to them from the dropdown.');
63
+ utilities.verifyElementVisibilityState(listOrderingPage.errorMessage(), 'visible');
64
+ });
65
+
66
+ listOrderingPage.tests.verifyErrorMessageCSSAndA11y();
67
+
68
+ it('When the user checks \'Randomize options\' then the error message should persist', () => {
69
+ listOrderingPage.steps.checkRandomizeOptionsCheckbox();
70
+ utilities.verifyElementVisibilityState(listOrderingPage.errorMessage(), 'visible');
71
+ });
72
+
73
+ it('When the user sets options order in the dropdowns, then the error message should disappear', () => {
74
+ listOrderingPage.steps.selectPositionForAllOptionsSpecifyCorrectAnswerSection([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '3' }, { optionIndex: 2, position: '4' }, { optionIndex: 3, position: '1' }]);
75
+ utilities.verifyElementVisibilityState(listOrderingPage.errorMessage(), 'notExist');
76
+ });
77
+
78
+ it('When the user has set correct answer order, then the user should be able to add alternative answer for the question using \'Add alternative answer\' button', () => {
79
+ listOrderingPage.steps.addAlternativeAnswerAccordion(1);
80
+ });
81
+
82
+ it('When user has added an alternative answer accordion, then the newly added alternative answer accordion should be in expanded state and the correct answer accordion should be in collapsed state', () => {
83
+ listOrderingPage.steps.verifyCorrectAnswerAccordionIsCollapsed();
84
+ listOrderingPage.steps.verifyAlternateAnswerAccordionIsExpanded(0);
85
+ });
86
+
87
+ it('By default, 4 options along with dropdowns should be displayed in the alternative accordion', () => {
88
+ utilities.verifyElementCount(listOrderingPage.dropdownOptionWrapperPreviewTab(), 4);
89
+ options.forEach((optionText, index) => {
90
+ listOrderingPage.steps.verifyTextContentOfOptionDropdownLayoutInPreviewTab(optionText, index);
91
+ });
92
+ });
93
+
94
+ it('User should be able to add another alternative answer for the question using \'Add alternative answer\' button and the name for this new accordion should be \'Alternative 2\'', () => {
95
+ cy.log('Set correct answer in alternative 1 accordion');
96
+ listOrderingPage.steps.selectPositionForAllOptionsSpecifyCorrectAnswerSection([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '3' }, { optionIndex: 2, position: '4' }, { optionIndex: 3, position: '1' }]);
97
+ listOrderingPage.steps.addAlternativeAnswerAccordion(2);
98
+ });
99
+
100
+ listOrderingPage.tests.verifyWarningPopupAndAccordionNavigationWhenNoPointsAddedInAlternativeAccordion();
101
+
102
+ it('User should be able to remove alternative correct answer by clicking on the \'Delete\' icon button alongside alternative answer accordion and the name of the alternative answer accordions should get updated accordingly', () => {
103
+ cy.log('Set correct answer in alternative 2 accordion, then switch to alternative 1 accordion and click delete icon button');
104
+ listOrderingPage.steps.selectPositionForAllOptionsSpecifyCorrectAnswerSection([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '3' }, { optionIndex: 2, position: '4' }, { optionIndex: 3, position: '1' }]);
105
+ listOrderingPage.steps.deleteAlternativeAnswerAccordion(1);
106
+ listOrderingPage.steps.verifyAlternativeAnswerAccordionNotExists(2);
107
+ listOrderingPage.steps.verifyAlternativeAnswerAccordionLabel(0);
108
+ });
109
+
110
+ it('When correct answers and points are set in alternative answer and user clicks on correct answer accordion, then correct answer accordion should be expanded and the alternative answer accordion should be collapsed', () => {
111
+ listOrderingPage.steps.expandCorrectAnswerAccordion();
112
+ listOrderingPage.steps.verifyAlternateAnswerAccordionIsCollapsed(0);
113
+ });
114
+ });
115
+ });