itemengine-cypress-automation 1.0.373 → 1.0.374-IEI-5793-ffd832f.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (274) hide show
  1. package/Dockerfile +1 -0
  2. package/cypress/e2e/GradingGridView/gradingGridView.js +156 -0
  3. package/cypress/e2e/ILC/AudioResponseNew/editTabBasicSection.js +4 -16
  4. package/cypress/e2e/ILC/BrainingCampManipulative/editTabBasicSection.js +1 -1
  5. package/cypress/e2e/ILC/BrowseItems/browseReviewItems.js +39 -7
  6. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/gradingViewAndCorrectAnswerView.smoke.js +1 -1
  7. package/cypress/e2e/ILC/ChartsBar/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +33 -0
  8. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightBasic.js +25 -25
  9. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +37 -36
  10. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +37 -36
  11. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +37 -36
  12. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -0
  13. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightBasic.js +26 -25
  14. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +39 -38
  15. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +31 -30
  16. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +35 -34
  17. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePointsLocked.js +247 -0
  18. package/cypress/e2e/ILC/ChartsBar/editTabBasicSection.js +37 -0
  19. package/cypress/e2e/ILC/ChartsBar/headerSection.js +50 -2
  20. package/cypress/e2e/ILC/ChartsBar/specifyCorrectAnswerSection.js +92 -0
  21. package/cypress/e2e/ILC/ChartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePointsLocked.js +220 -0
  22. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightBasic.js +25 -25
  23. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +47 -46
  24. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +25 -24
  25. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +25 -24
  26. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -0
  27. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightBasic.js +25 -25
  28. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +24 -23
  29. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +21 -20
  30. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +48 -46
  31. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePointsLocked.js +249 -0
  32. package/cypress/e2e/ILC/ChartsLine/editQuestion.smoke.js +3 -1
  33. package/cypress/e2e/ILC/ChartsLine/headerSection.js +18 -1
  34. package/cypress/e2e/ILC/ChartsLine/specifyCorrectAnswerSection.js +94 -0
  35. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddFeatureRadioButton.js +2 -3
  36. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddTranscriptRadioButton .js +2 -4
  37. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabStudentViewSettings.js +3 -3
  38. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerHeaderSectionAndButtons.js +2 -2
  39. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTab.js +1 -1
  40. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabSupportedFileTypes.js +6 -0
  41. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabTranscript.js +2 -3
  42. package/cypress/e2e/ILC/CkEditorEquationEditor/equationEditorBasicFile.js +4 -4
  43. package/cypress/e2e/ILC/CkEditorInsertImage/imageInfo.js +4 -4
  44. package/cypress/e2e/ILC/CkEditorInsertTable/tableDimension&FooterProperties.js +3 -3
  45. package/cypress/e2e/ILC/CkEditorInsertTable/tableStyle.js +11 -11
  46. package/cypress/e2e/ILC/CkEditorLink/uploadSection.js +1 -1
  47. package/cypress/e2e/ILC/ContentBlocks/editTabBasics.js +62 -4
  48. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +116 -7
  49. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabScoring.js +1 -0
  50. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/pagination.js +1 -1
  51. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/studentViewSettingsForGroupedLayout.js +3 -0
  52. package/cypress/e2e/ILC/DrawingResponse/drawingResponseAdditionalSettings.js +1 -0
  53. package/cypress/e2e/ILC/DrawingResponse/drawingResponseBackground.js +2 -8
  54. package/cypress/e2e/ILC/DrawingResponse/drawingResponseCustomizeAdditionalOptions.js +1 -0
  55. package/cypress/e2e/ILC/DrawingResponse/drawingResponseEditTabBasicSection.js +3 -3
  56. package/cypress/e2e/ILC/DrawingResponse/drawingResponsePreviewTabContents.smoke.js +1 -3
  57. package/cypress/e2e/ILC/EssayResponse/createCustomCategory.smoke.js +2 -2
  58. package/cypress/e2e/ILC/EssayResponse/editCategoryFlyout.js +0 -1
  59. package/cypress/e2e/ILC/EssayResponse/editTabBasicSections.js +23 -37
  60. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +210 -0
  61. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/draggableOptions.js +2 -0
  62. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editQuestion.smoke.js +40 -0
  63. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +216 -0
  64. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editQuestion.smoke.js +45 -0
  65. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/allOrNothingForAllViews.smoke.js +213 -0
  66. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/backgroundImageAndCanvasProperties.js +1 -0
  67. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/supportedFileTypes.js +3 -1
  68. package/cypress/e2e/ILC/FillInTheGapsTextNew/allOrNothingForAllViews.smoke.js +207 -0
  69. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +73 -0
  70. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +38 -0
  71. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +38 -0
  72. package/cypress/e2e/ILC/Graphing/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +87 -0
  73. package/cypress/e2e/ILC/Graphing/checkAddAlternativeButton.js +35 -0
  74. package/cypress/e2e/ILC/Graphing/editQuestion.smoke.js +28 -0
  75. package/cypress/e2e/ILC/Graphing/editTabBasicSection.js +38 -0
  76. package/cypress/e2e/ILC/Graphing/editTabScoringSection.js +1 -0
  77. package/cypress/e2e/ILC/Graphing/headerSection.js +36 -4
  78. package/cypress/e2e/ILC/Graphing/layoutAndGridOptions.js +6 -3
  79. package/cypress/e2e/ILC/GridFill/addAlternateButton.js +40 -0
  80. package/cypress/e2e/ILC/GridFill/allOrNothingBasicForAllViews.smoke.js +210 -0
  81. package/cypress/e2e/ILC/GridFill/customizeLayoutFillImageBackgroundImage.js +5 -6
  82. package/cypress/e2e/ILC/GridFill/customizeLayoutSectionShadeCellsGridBorders.js +2 -0
  83. package/cypress/e2e/ILC/GridFill/editTabScoringSection.js +3 -0
  84. package/cypress/e2e/ILC/GridFill/headerSection.js +1 -3
  85. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +39 -0
  86. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  87. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +39 -0
  88. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountAllOrNothingCorrectPointsGreaterThanAlternativePoints.js +37 -0
  89. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountallOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  90. package/cypress/e2e/ILC/GridFill/scoring/cellshadeCountAllOrNothingAlternativePointsGreaterThanCorrectPoints.js +36 -0
  91. package/cypress/e2e/ILC/GridFill/scoring/checkLabelSaveAsYouGo.js +75 -0
  92. package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +2 -1
  93. package/cypress/e2e/ILC/GridFill/specifyCorrectAnswerSection.js +2 -4
  94. package/cypress/e2e/ILC/ImageHighlight/Scoring/partialDifferentWeightsScoring.js +2 -1
  95. package/cypress/e2e/ILC/ImageHighlight/allOrNothingForAllViews.smoke.js +212 -0
  96. package/cypress/e2e/ILC/ImageHighlight/customiseHighlightStyle.js +29 -0
  97. package/cypress/e2e/ILC/ImageHighlight/headerSection.js +2 -1
  98. package/cypress/e2e/ILC/ImageHighlight/studentViewSettings.js +2 -2
  99. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +24 -0
  100. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +24 -0
  101. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +24 -0
  102. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +86 -0
  103. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/manuallyAndNonScored.js +2 -4
  104. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +1 -1
  105. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +237 -1
  106. package/cypress/e2e/ILC/ListOrderingDropdown/checkAddAlternativeButton.js +35 -0
  107. package/cypress/e2e/ILC/ListOrderingDropdown/editTabBasicSection.js +24 -0
  108. package/cypress/e2e/ILC/ListOrderingDropdown/headerSection.js +108 -0
  109. package/cypress/e2e/ILC/ListOrderingDropdown/manuallyAndNonScoredEditTab.js +2 -1
  110. package/cypress/e2e/ILC/ListOrderingDropdown/previewContentsForAllViews.smoke.js +2 -4
  111. package/cypress/e2e/ILC/ListOrderingDropdown/specifyCorrectAnswerSection.js +7 -12
  112. package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/specifyCorrectAnswerSection.js +10 -14
  113. package/cypress/e2e/ILC/ListOrderingNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +52 -0
  114. package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +215 -0
  115. package/cypress/e2e/ILC/ListOrderingNew/editTabBasicSection.js +23 -0
  116. package/cypress/e2e/ILC/ListOrderingNew/headerSection.js +36 -9
  117. package/cypress/e2e/ILC/ListOrderingNew/manuallyAndNonScoredEditTab.js +2 -0
  118. package/cypress/e2e/ILC/ListOrderingNew/specifyCorrectAnswerSection.js +7 -23
  119. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +41 -0
  120. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +30 -0
  121. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +50 -0
  122. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +101 -0
  123. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/allOrNothingForAllViews.smoke.js +309 -0
  124. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/checkAddAlternativeButton.js +38 -0
  125. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabBasicSection.js +24 -0
  126. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabScoring.js +4 -1
  127. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/headerSection.js +36 -1
  128. package/cypress/e2e/ILC/Matching/Scoring/blankResponseScoring.js +38 -41
  129. package/cypress/e2e/ILC/Matching/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +98 -0
  130. package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +210 -0
  131. package/cypress/e2e/ILC/Matching/checkAlternativeButton.js +38 -0
  132. package/cypress/e2e/ILC/Matching/clickAndDrop.js +5 -5
  133. package/cypress/e2e/ILC/Matching/draggableOptions.js +7 -0
  134. package/cypress/e2e/ILC/Matching/editQuestion.smoke.js +3 -2
  135. package/cypress/e2e/ILC/Matching/editTabBasicSection.js +41 -0
  136. package/cypress/e2e/ILC/Matching/headerSection.js +38 -12
  137. package/cypress/e2e/ILC/Matching/questionInstructionsAndPromptSection.js +2 -15
  138. package/cypress/e2e/ILC/Matching/studentViewSettings.js +2 -0
  139. package/cypress/e2e/ILC/Matching/studentViewSettingsForGroupedLayout.js +1 -1
  140. package/cypress/e2e/ILC/MatchingDropdown/Scoring/blankResponseScoring.js +6 -6
  141. package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +208 -0
  142. package/cypress/e2e/ILC/MultipleSelection/allOrNothingBasicForAllViews.smoke.js +2 -1
  143. package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswer.js +1 -0
  144. package/cypress/e2e/ILC/MultipleSelectionGridNew/previewContentsForAllViews.smoke.js +100 -69
  145. package/cypress/e2e/ILC/MultipleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +1 -0
  146. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +79 -0
  147. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +42 -0
  148. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +42 -0
  149. package/cypress/e2e/ILC/NumberLine/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +75 -0
  150. package/cypress/e2e/ILC/NumberLine/checkAddAlternativeButton.js +32 -0
  151. package/cypress/e2e/ILC/NumberLine/editTabSection.js +38 -0
  152. package/cypress/e2e/ILC/NumberLine/headerSection.js +33 -4
  153. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +81 -0
  154. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +43 -0
  155. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +43 -0
  156. package/cypress/e2e/ILC/NumberLineLabel/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +76 -0
  157. package/cypress/e2e/ILC/NumberLineLabel/additionalSettingsBasic.js +1 -1
  158. package/cypress/e2e/ILC/NumberLineLabel/checkAddAlternativeButton.js +34 -0
  159. package/cypress/e2e/ILC/NumberLineLabel/editTabSection.js +38 -0
  160. package/cypress/e2e/ILC/NumberLineLabel/headerSection.js +37 -5
  161. package/cypress/e2e/ILC/NumberLineLabel/manuallyAndNonScoredEditTab.js +2 -1
  162. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/editQuestion.smoke.js +1 -1
  163. package/cypress/e2e/ILC/ShortTextResponseNew/allOrNothingBasicForAllViews.smoke.js +186 -0
  164. package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +35 -51
  165. package/cypress/e2e/ILC/ShortTextResponseNew/headerSection.js +2 -4
  166. package/cypress/e2e/ILC/SingleSelectionGridNew/previewContentsForAllViews.smoke.js +101 -70
  167. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +86 -0
  168. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +86 -0
  169. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  170. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +3 -1
  171. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  172. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  173. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsScoringBasic.js +10 -3
  174. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +4 -2
  175. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +5 -3
  176. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  177. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsScoringBasic.js +4 -0
  178. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +64 -0
  179. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAddEvaluation.js +2 -0
  180. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAlternateAnswer.js +2 -0
  181. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +64 -0
  182. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  183. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  184. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  185. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  186. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsScoringBasic.js +8 -0
  187. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  188. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  189. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  190. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasic.js +1 -0
  191. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasicForAlternateAnswer.js +2 -0
  192. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +2 -0
  193. package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +27 -3
  194. package/cypress/e2e/ILC/TextEntryMath/headerSection.js +43 -0
  195. package/cypress/e2e/ILC/TextSelection/ScoringParagraph/checkScoringLabelBannerAndCorrectAnswerSection.js +0 -1
  196. package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +231 -0
  197. package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyPossibleOptionsSection.js +7 -12
  198. package/cypress/e2e/ILC/ThinkSphere/createReviewItem.js +54 -1
  199. package/cypress/e2e/ILC/ThinkSphere/editTabBasicSection.js +53 -2
  200. package/cypress/e2e/ILC/ThinkSphere/editThinkSphereQuestion.smoke.js +145 -54
  201. package/cypress/e2e/ILC/ThinkSphere/equationEditorCreateCustomCategory.smoke.js +417 -0
  202. package/cypress/e2e/ILC/ThinkSphere/equationEditorEditCategoryFlyOut.js +291 -0
  203. package/cypress/e2e/ILC/ThinkSphere/planPhase.js +91 -9
  204. package/cypress/e2e/ILC/ThinkSphere/previewTabPlanSection.js +12 -12
  205. package/cypress/e2e/ILC/ThinkSphere/previewTabReviewSection.js +97 -0
  206. package/cypress/e2e/ILC/ThinkSphere/solvePhase.js +35 -2
  207. package/cypress/e2e/ILC/ThinkSphere/studentViewPlanTabSection.js +393 -0
  208. package/cypress/e2e/ILC/ThinkSphere/studentViewReviewTabSection.js +141 -0
  209. package/cypress/e2e/ILC/ToolAudioPlayerNew/headerSection.js +90 -2
  210. package/cypress/e2e/ILC/UploadResponse/editTabBasicSection.js +34 -0
  211. package/cypress/e2e/ILC/UploadResponse/headerSection.js +38 -1
  212. package/cypress/e2e/ILC/UploadResponse/uploadResponsePreview.js +50 -13
  213. package/cypress/e2e/ILC/VideoResponseNew/editTabBasicSection.js +14 -29
  214. package/cypress/e2e/ILC/chartsDotsPlot/headerSection.js +16 -1
  215. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsBasic.js +27 -28
  216. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +31 -30
  217. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +24 -24
  218. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +39 -37
  219. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsBasic.js +22 -23
  220. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +31 -30
  221. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +25 -24
  222. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +31 -31
  223. package/cypress/e2e/ILC/chartsDotsPlot/scoring/toleranceThresholdScoring.js +18 -19
  224. package/cypress/e2e/ILC/chartsDotsPlot/specifyCorrectAnswerSection.js +96 -0
  225. package/cypress/e2e/Sessions/fetchResponses.js +3 -3
  226. package/cypress/e2e/Sessions/saveResponseScores.js +2 -2
  227. package/cypress/pages/audioPlayerPage.js +47 -22
  228. package/cypress/pages/brainingCampManipulativePage.js +1 -1
  229. package/cypress/pages/chartsBarPage.js +45 -0
  230. package/cypress/pages/chartsDotPlotPage.js +25 -0
  231. package/cypress/pages/chartsLinePage.js +28 -3
  232. package/cypress/pages/components/additionalSettingsPanel.js +1 -0
  233. package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +5 -1
  234. package/cypress/pages/components/browseItemsPage.js +109 -2
  235. package/cypress/pages/components/chartsCommonComponent.js +6 -2
  236. package/cypress/pages/components/ckEditorEquationEditorComponent.js +5 -4
  237. package/cypress/pages/components/ckEditorInsertImageComponent.js +2 -2
  238. package/cypress/pages/components/ckEditorInsertTableComponent.js +3 -3
  239. package/cypress/pages/components/ckEditorLinkComponent.js +8 -9
  240. package/cypress/pages/components/colorPopupComponent.js +6 -0
  241. package/cypress/pages/components/commonComponents.js +4 -0
  242. package/cypress/pages/components/createQuestionBasePage.js +14 -1
  243. package/cypress/pages/components/defaultToolDropdown.js +1 -1
  244. package/cypress/pages/components/draggableOptionsSectionComponent.js +2 -0
  245. package/cypress/pages/components/editCategoryFlyout.js +2 -2
  246. package/cypress/pages/components/equationEditorSectionCommonComponent.js +10 -25
  247. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +28 -0
  248. package/cypress/pages/components/gridQuestionCommonComponent.js +50 -0
  249. package/cypress/pages/components/questionInstructionsComponent.js +2 -0
  250. package/cypress/pages/components/scoringSectionBaseEditTab.js +3 -0
  251. package/cypress/pages/contentBlocksPage.js +2 -0
  252. package/cypress/pages/desmos3DGraphingPage.js +149 -4
  253. package/cypress/pages/desmosGeometryPage.js +184 -4
  254. package/cypress/pages/drawingResponsePage.js +2 -0
  255. package/cypress/pages/gradingGridViewPage.js +64 -0
  256. package/cypress/pages/graphingPage.js +27 -8
  257. package/cypress/pages/gridFillPage.js +15 -6
  258. package/cypress/pages/imageHighlightPage.js +32 -0
  259. package/cypress/pages/index.js +1 -0
  260. package/cypress/pages/listOrderingPage.js +40 -1
  261. package/cypress/pages/matchingPage.js +26 -7
  262. package/cypress/pages/numberLineLabelPage.js +31 -8
  263. package/cypress/pages/numberLinePage.js +19 -7
  264. package/cypress/pages/singleSelectionPage.js +30 -1
  265. package/cypress/pages/textEntryMathPage.js +24 -1
  266. package/cypress/pages/thinkSpherePage.js +637 -11
  267. package/cypress/pages/uploadResponsePage.js +17 -1
  268. package/cypress/pages/videoResponsePage.js +3 -0
  269. package/cypress/support/commands.js +9 -0
  270. package/cypress/support/helpers/createItem.js +22 -3
  271. package/cypress/support/helpers/utilities.js +14 -1
  272. package/package.json +3 -3
  273. /package/cypress/e2e/ILC/{ChartsDotsPlot → chartsDotsPlot}/checkAnswerFunctionalityForAllViews.js +0 -0
  274. /package/cypress/e2e/ILC/{ChartsDotsPlot → chartsDotsPlot}/editQuestion.smoke.js +0 -0
@@ -261,7 +261,7 @@ describe('Fetch Responses API', () => {
261
261
  it('Response data of all the activity for the entered user_id should be returned in the response', () => {
262
262
  cy.get('pre[class="microlight"]')
263
263
  .eq(1)
264
- .should('have.text',`{\n \"meta\": {\n \"records\": 1,\n \"status\": true,\n \"timestamp\": ${timestamp},\n \"next_token\": null\n },\n \"data\": [\n {\n \"user_id\": \"${sessionData[0]["user_id"]}\",\n \"session_id\": \"${sessionData[0]["session_id"]}\",\n \"activity_id\": \"${sessionData[0]["activity_id"]}\",\n \"score\": 1.5,\n \"dt_started\": \"${dtStartedNew}\",\n \"dt_completed\": \"${dtCompletedNew}\",\n \"max_score\": 14,\n \"activity_template_id\": \"${activityTemplateIdNew}\",\n \"num_questions\": 1,\n \"responses\": [\n {\n \"erater\": null,\n \"plagiarism\": null,\n \"score\": 1.5,\n \"max_score\": 4,\n \"serial_no\": 1,\n \"item_reference\": \"${itemReferenceIdNew}\",\n \"question_reference\": \"${questionReferences[0]}\",\n \"automarkable\": true,\n \"response_id\": \"${responseIds[0]}\",\n \"attempted\": true,\n \"responses\": [\n {\n \"xml_identifier\": \"RESPONSE\",\n \"response_text\": \"ChoiceA\"\n },\n {\n \"xml_identifier\": \"RESPONSE\",\n \"response_text\": \"ChoiceD\"\n }\n ]\n },\n {\n \"erater\": null,\n \"plagiarism\": null,\n \"score\": 0,\n \"max_score\": 10,\n \"serial_no\": 2,\n \"item_reference\": \"${itemReferenceIdNew}\",\n \"question_reference\": \"${questionReferences[1]}\",\n \"automarkable\": true,\n \"response_id\": \"${responseIds[1]}\",\n \"attempted\": true,\n \"responses\": [\n {\n \"xml_identifier\": \"RESPONSE\",\n \"response_text\": \"ChoiceA\"\n },\n {\n \"xml_identifier\": \"RESPONSE\",\n \"response_text\": \"ChoiceD\"\n }\n ]\n }\n ],\n \"items\": [\n {\n \"reference\": \"${itemReferenceIdNew}\",\n \"response_ids\": [\n \"${responseIds[0]}\",\n \"${responseIds[1]}\"\n ],\n \"scoring\": {\n \"score\": 1.5,\n \"max_score\": 14,\n \"item_scoring_type\": \"sum up all individual scores\"\n }\n }\n ]\n }\n ]\n}\n`)
264
+ .should('have.text',`{\n \"meta\": {\n \"records\": 1,\n \"status\": true,\n \"timestamp\": ${timestamp},\n \"next_token\": null\n },\n \"data\": [\n {\n \"user_id\": \"${sessionData[0]["user_id"]}\",\n \"session_id\": \"${sessionData[0]["session_id"]}\",\n \"activity_id\": \"${sessionData[0]["activity_id"]}\",\n \"score\": 1.5,\n \"dt_started\": \"${dtStartedNew}\",\n \"dt_completed\": \"${dtCompletedNew}\",\n \"max_score\": 14,\n \"activity_template_id\": \"${activityTemplateIdNew}\",\n \"num_questions\": 1,\n \"responses\": [\n {\n \"erater\": null,\n \"plagiarism\": null,\n \"score\": 1.5,\n \"max_score\": 4,\n \"serial_no\": 1,\n \"item_reference\": \"${itemReferenceIdNew}\",\n \"question_reference\": \"${questionReferences[0]}\",\n \"automarkable\": true,\n \"response_id\": \"${responseIds[0]}\",\n \"attempted\": true,\n "responses": [\n {\n "xml_identifier": "RESPONSE",\n "response_text": "ChoiceA"\n },\n {\n "xml_identifier": "RESPONSE",\n "response_text": "ChoiceD"\n }\n ]\n },\n {\n "erater": null,\n "plagiarism": null,\n "score": 0,\n "max_score": 10,\n "serial_no": 2,\n "item_reference": \"${itemReferenceIdNew}\",\n "question_reference": \"${questionReferences[1]}\",\n "automarkable": true,\n "response_id": \"${responseIds[1]}\",\n "attempted": true,\n "responses": [\n {\n "xml_identifier": "RESPONSE",\n "response_text": "ChoiceA"\n },\n {\n "xml_identifier": "RESPONSE",\n "response_text": "ChoiceD"\n }\n ]\n }\n ],\n "items": [\n {\n "reference": "${itemReferenceIdNew}",\n "response_ids": [\n "${responseIds[0]}",\n "${responseIds[1]}"\n ],\n "scoring": {\n "score": 1.5,\n "max_score": 14,\n "item_scoring_type": "sum up all individual scores"\n }\n }\n ]\n }\n ]\n}\n`);
265
265
  });
266
266
 
267
267
  it('Entering request to get Response data for activity 2- Sending multiple activities and filtering by session id and userid for activity 2 (Incorrect responses, incomplete i.e. all questions are not attempted)', () => {
@@ -300,7 +300,7 @@ describe('Fetch Responses API', () => {
300
300
  it('Response data of all the activity for the entered user_id should be returned in the response', () => {
301
301
  cy.get('pre[class="microlight"]')
302
302
  .eq(1)
303
- .should('have.text', `{\n \"meta\": {\n \"records\": 1,\n \"status\": true,\n \"timestamp\": ${timestamp},\n \"next_token\": null\n },\n \"data\": [\n {\n \"user_id\": \"${sessionData[1]["user_id"]}\",\n \"session_id\": \"${sessionData[1]["session_id"]}\",\n \"activity_id\": \"${sessionData[1]["activity_id"]}\",\n \"score\": 1.5,\n \"dt_started\": \"${dtStartedNew}\",\n \"dt_completed\": \"${dtCompletedNew}\",\n \"max_score\": 14,\n \"activity_template_id\": \"${activityTemplateIdNew}\",\n \"num_questions\": 1,\n \"responses\": [\n {\n \"erater\": null,\n \"plagiarism\": null,\n \"score\": 1.5,\n \"max_score\": 4,\n \"serial_no\": 1,\n \"item_reference\": \"${itemReferenceIdNew}\",\n \"question_reference\": \"${questionReferences[2]}\",\n \"automarkable\": true,\n \"response_id\": \"${responseIds[2]}\",\n \"attempted\": true,\n \"responses\": [\n {\n \"xml_identifier\": \"RESPONSE\",\n \"response_text\": \"ChoiceA\"\n },\n {\n \"xml_identifier\": \"RESPONSE\",\n \"response_text\": \"ChoiceB\"\n }\n ]\n },\n {\n \"erater\": null,\n \"plagiarism\": null,\n \"score\": 0,\n \"max_score\": 10,\n \"serial_no\": 2,\n \"item_reference\": \"${itemReferenceIdNew}\",\n \"question_reference\": \"${questionReferences[3]}\",\n \"automarkable\": true,\n \"response_id\": \"${responseIds[3]}\",\n \"attempted\": true,\n \"responses\": [\n {\n \"xml_identifier\": \"RESPONSE\",\n \"response_text\": \"ChoiceB\"\n },\n {\n \"xml_identifier\": \"RESPONSE\",\n \"response_text\": \"ChoiceC\"\n }\n ]\n }\n ],\n \"items\": [\n {\n \"reference\": \"${itemReferenceIdNew}\",\n \"response_ids\": [\n \"${responseIds[2]}\",\n \"${responseIds[3]}\"\n ],\n \"scoring\": {\n \"score\": 1.5,\n \"max_score\": 14,\n \"item_scoring_type\": \"sum up all individual scores\"\n }\n }\n ]\n }\n ]\n}\n`)
303
+ .should('have.text', `{\n \"meta\": {\n \"records\": 1,\n \"status\": true,\n \"timestamp\": ${timestamp},\n \"next_token\": null\n },\n \"data\": [\n {\n \"user_id\": \"${sessionData[1]["user_id"]}\",\n \"session_id\": \"${sessionData[1]["session_id"]}\",\n \"activity_id\": \"${sessionData[1]["activity_id"]}\",\n \"score\": 1.5,\n \"dt_started\": \"${dtStartedNew}\",\n \"dt_completed\": \"${dtCompletedNew}\",\n \"max_score\": 14,\n \"activity_template_id\": \"${activityTemplateIdNew}\",\n \"num_questions\": 1,\n \"responses\": [\n {\n \"erater\": null,\n \"plagiarism\": null,\n \"score\": 1.5,\n \"max_score\": 4,\n \"serial_no\": 1,\n \"item_reference\": \"${itemReferenceIdNew}\",\n \"question_reference\": \"${questionReferences[2]}\",\n \"automarkable\": true,\n \"response_id\": \"${responseIds[2]}\",\n \"attempted\": true,\n "responses": [\n {\n "xml_identifier": "RESPONSE",\n "response_text": "ChoiceA"\n },\n {\n "xml_identifier": "RESPONSE",\n "response_text": "ChoiceB"\n }\n ]\n },\n {\n "erater": null,\n "plagiarism": null,\n "score": 0,\n "max_score": 10,\n "serial_no": 2,\n "item_reference": \"${itemReferenceIdNew}\",\n "question_reference": \"${questionReferences[3]}\",\n "automarkable": true,\n "response_id": \"${responseIds[3]}\",\n "attempted": true,\n "responses": [\n {\n "xml_identifier": "RESPONSE",\n "response_text": "ChoiceB"\n },\n {\n "xml_identifier": "RESPONSE",\n "response_text": "ChoiceC"\n }\n ]\n }\n ],\n "items": [\n {\n "reference": "${itemReferenceIdNew}",\n "response_ids": [\n "${responseIds[2]}",\n "${responseIds[3]}"\n ],\n "scoring": {\n "score": 1.5,\n "max_score": 14,\n "item_scoring_type": "sum up all individual scores"\n }\n }\n ]\n }\n ]\n}\n`)
304
304
  });
305
305
 
306
306
  it('Entering request to get Response data for both activity 1 and activity 2, keeping sort field blank', () => {
@@ -376,7 +376,7 @@ describe('Fetch Responses API', () => {
376
376
  it('Verifying the response', () => {
377
377
  cy.get('pre[class="microlight"]')
378
378
  .eq(1)
379
- .should('have.text', `{\n \"meta\": {\n \"records\": 2,\n \"status\": true,\n \"timestamp\": ${timestamp},\n \"next_token\": null\n },\n \"data\": [\n {\n \"user_id\": \"${sessionData[0]["user_id"]}\",\n \"session_id\": \"${sessionData[0]["session_id"]}\",\n \"activity_id\": \"${sessionData[0]["activity_id"]}\",\n \"score\": 1.5,\n \"dt_started\": \"${dtStartedNew}\",\n \"dt_completed\": \"${dtCompletedNew}\",\n \"max_score\": 14,\n \"activity_template_id\": \"${activityTemplateIdNew}\",\n \"num_questions\": 1,\n \"responses\": [\n {\n \"erater\": null,\n \"plagiarism\": null,\n \"score\": 1.5,\n \"max_score\": 4,\n \"serial_no\": 1,\n \"item_reference\": \"${itemReferenceIdNew}\",\n \"question_reference\": \"${questionReferences[0]}\",\n \"automarkable\": true,\n \"response_id\": \"${responseIds[0]}\",\n \"attempted\": true,\n \"responses\": [\n {\n \"xml_identifier\": \"RESPONSE\",\n \"response_text\": \"ChoiceA\"\n },\n {\n \"xml_identifier\": \"RESPONSE\",\n \"response_text\": \"ChoiceD\"\n }\n ]\n },\n {\n \"erater\": null,\n \"plagiarism\": null,\n \"score\": 0,\n \"max_score\": 10,\n \"serial_no\": 2,\n \"item_reference\": \"${itemReferenceIdNew}\",\n \"question_reference\": \"${questionReferences[1]}\",\n \"automarkable\": true,\n \"response_id\": \"${responseIds[1]}\",\n \"attempted\": true,\n \"responses\": [\n {\n \"xml_identifier\": \"RESPONSE\",\n \"response_text\": \"ChoiceA\"\n },\n {\n \"xml_identifier\": \"RESPONSE\",\n \"response_text\": \"ChoiceD\"\n }\n ]\n }\n ],\n \"items\": [\n {\n \"reference\": \"${itemReferenceIdNew}\",\n \"response_ids\": [\n \"${responseIds[0]}\",\n \"${responseIds[1]}\"\n ],\n \"scoring\": {\n \"score\": 1.5,\n \"max_score\": 14,\n \"item_scoring_type\": \"sum up all individual scores\"\n }\n }\n ]\n },\n {\n \"user_id\": \"${sessionData[1]["user_id"]}\",\n \"session_id\": \"${sessionData[1]["session_id"]}\",\n \"activity_id\": \"${sessionData[1]["activity_id"]}\",\n \"score\": 1.5,\n \"dt_started\": \"${dtStartedNew1}\",\n \"dt_completed\": \"${dtCompletedNew1}\",\n \"max_score\": 14,\n \"activity_template_id\": \"${activityTemplateIdNew1}\",\n \"num_questions\": 1,\n \"responses\": [\n {\n \"erater\": null,\n \"plagiarism\": null,\n \"score\": 1.5,\n \"max_score\": 4,\n \"serial_no\": 1,\n \"item_reference\": \"${itemReferenceIdNew}\",\n \"question_reference\": \"${questionReferences[2]}\",\n \"automarkable\": true,\n \"response_id\": \"${responseIds[2]}\",\n \"attempted\": true,\n \"responses\": [\n {\n \"xml_identifier\": \"RESPONSE\",\n \"response_text\": \"ChoiceA\"\n },\n {\n \"xml_identifier\": \"RESPONSE\",\n \"response_text\": \"ChoiceB\"\n }\n ]\n },\n {\n \"erater\": null,\n \"plagiarism\": null,\n \"score\": 0,\n \"max_score\": 10,\n \"serial_no\": 2,\n \"item_reference\": \"${itemReferenceIdNew}\",\n \"question_reference\": \"${questionReferences[3]}\",\n \"automarkable\": true,\n \"response_id\": \"${responseIds[3]}\",\n \"attempted\": true,\n \"responses\": [\n {\n \"xml_identifier\": \"RESPONSE\",\n \"response_text\": \"ChoiceB\"\n },\n {\n \"xml_identifier\": \"RESPONSE\",\n \"response_text\": \"ChoiceC\"\n }\n ]\n }\n ],\n \"items\": [\n {\n \"reference\": \"${itemReferenceIdNew}\",\n \"response_ids\": [\n \"${responseIds[2]}\",\n \"${responseIds[3]}\"\n ],\n \"scoring\": {\n \"score\": 1.5,\n \"max_score\": 14,\n \"item_scoring_type\": \"sum up all individual scores\"\n }\n }\n ]\n }\n ]\n}\n`)
379
+ .should('have.text', `{\n \"meta\": {\n \"records\": 2,\n \"status\": true,\n \"timestamp\": ${timestamp},\n \"next_token\": null\n },\n \"data\": [\n {\n \"user_id\": \"${sessionData[0]["user_id"]}\",\n \"session_id\": \"${sessionData[0]["session_id"]}\",\n \"activity_id\": \"${sessionData[0]["activity_id"]}\",\n \"score\": 1.5,\n \"dt_started\": \"${dtStartedNew}\",\n \"dt_completed\": \"${dtCompletedNew}\",\n \"max_score\": 14,\n \"activity_template_id\": \"${activityTemplateIdNew}\",\n \"num_questions\": 1,\n \"responses\": [\n {\n \"erater\": null,\n \"plagiarism\": null,\n \"score\": 1.5,\n \"max_score\": 4,\n \"serial_no\": 1,\n \"item_reference\": \"${itemReferenceIdNew}\",\n \"question_reference\": \"${questionReferences[0]}\",\n \"automarkable\": true,\n \"response_id\": \"${responseIds[0]}\",\n \"attempted\": true,\n \"responses\": [\n {\n "xml_identifier": "RESPONSE",\n "response_text": "ChoiceA"\n },\n {\n "xml_identifier": "RESPONSE",\n "response_text": "ChoiceD"\n }\n ],\n "question_type": "multiple selection"\n },\n {\n "erater": null,\n "plagiarism": null,\n "score": 0,\n "max_score": 10,\n "serial_no": 2,\n "item_reference": \"${itemReferenceIdNew}\",\n "question_reference": \"${questionReferences[1]}\",\n "automarkable": true,\n "response_id": \"${responseIds[1]}\",\n "attempted": true,\n "responses": [\n {\n "xml_identifier": "RESPONSE",\n "response_text": "ChoiceA"\n },\n {\n "xml_identifier": "RESPONSE",\n "response_text": "ChoiceD"\n }\n ],\n "question_type": "multiple selection"\n }\n ],\n "items": [\n {\n "reference": "${itemReferenceIdNew}",\n "response_ids": [\n "${responseIds[0]}",\n "${responseIds[1]}"\n ],\n "scoring": {\n "score": 1.5,\n "max_score": 14,\n "item_scoring_type": "sum up all individual scores"\n }\n }\n ]\n },\n {\n \"user_id\": \"${sessionData[1]["user_id"]}\",\n \"session_id\": \"${sessionData[1]["session_id"]}\",\n \"activity_id\": \"${sessionData[1]["activity_id"]}\",\n \"score\": 1.5,\n \"dt_started\": \"${dtStartedNew1}\",\n \"dt_completed\": \"${dtCompletedNew1}\",\n \"max_score\": 14,\n \"activity_template_id\": \"${activityTemplateIdNew1}\",\n \"num_questions\": 1,\n \"responses\": [\n {\n \"erater\": null,\n \"plagiarism\": null,\n \"score\": 1.5,\n \"max_score\": 4,\n \"serial_no\": 1,\n \"item_reference\": \"${itemReferenceIdNew}\",\n \"question_reference\": \"${questionReferences[2]}\",\n \"automarkable\": true,\n \"response_id\": \"${responseIds[2]}\",\n \"attempted\": true,\n \"responses\": [\n {\n "xml_identifier": "RESPONSE",\n "response_text": "ChoiceA"\n },\n {\n "xml_identifier": "RESPONSE",\n "response_text": "ChoiceB"\n }\n ],\n "question_type": "multiple selection"\n },\n {\n "erater": null,\n "plagiarism": null,\n "score": 0,\n "max_score": 10,\n "serial_no": 2,\n "item_reference": \"${itemReferenceIdNew}\",\n "question_reference": \"${questionReferences[3]}\",\n "automarkable": true,\n "response_id": \"${responseIds[3]}\",\n "attempted": true,\n "responses": [\n {\n "xml_identifier": "RESPONSE",\n "response_text": "ChoiceB"\n },\n {\n "xml_identifier": "RESPONSE",\n "response_text": "ChoiceC"\n }\n ],\n "question_type": "multiple selection"\n }\n ],\n "items": [\n {\n "reference": "${itemReferenceIdNew}",\n "response_ids": [\n "${responseIds[2]}",\n "${responseIds[3]}"\n ],\n "scoring": {\n "score": 1.5,\n "max_score": 14,\n "item_scoring_type": "sum up all individual scores"\n }\n }\n ]\n }\n ]\n}\n`);
380
380
  });
381
381
 
382
382
  it.skip('Entering request to get Response Scores data for activities using userid, filtered by activity id', () => {
@@ -99,7 +99,7 @@ describe('Save Response Scores API cases', () => {
99
99
  .click();
100
100
  cy.get('textarea[class="body-param__text"]')
101
101
  .clear()
102
- .fill(`{\n "data": [\n {\n "activity_id": "${sessionData[0]["activity_id"]}",\n "activity_template_id": "${sessionData[0]["activity_template_id"]}",\n "user_id": "${sessionData[0]["user_id"]}",\n "session_id": "${sessionData[0]["session_id"]}", "scoring_options": [\n "autoscore"\n ],\n "responses": [\n {\n "question_id": "${sessionData[0]["questionReferenceIds"][0]}",\n "is_attempted": true,\n "value": [\n {\n "xml_identifier": "RESPONSE",\n "response_text": "ChoiceA"\n },\n {\n "xml_identifier": "RESPONSE",\n "response_text": "ChoiceD"\n }\n ]\n },\n {\n "question_id": "${sessionData[0]["questionReferenceIds"][1]}",\n "is_attempted": true,\n "value": [\n {\n "xml_identifier": "RESPONSE",\n "response_text": "ChoiceA"\n },\n {\n "xml_identifier": "RESPONSE",\n "response_text": "ChoiceD"\n }\n ]\n },\n {\n "question_id": "${sessionData[0]["questionReferenceIds"][2]}",\n "is_attempted": true,\n "value": [\n {\n "xml_identifier": "RESPONSE",\n "response_text": "ChoiceC"\n }\n ]\n },\n {\n "question_id": "${sessionData[0]["questionReferenceIds"][3]}",\n "is_attempted": true,\n "value": [\n {\n "xml_identifier": "RESPONSE",\n "response_text": "ChoiceD"\n }\n ]\n },\n {\n "question_id": "${sessionData[0]["questionReferenceIds"][4]}",\n "is_attempted": true,\n "value": [\n {\n "xml_identifier": "RESPONSE",\n "response_text": "<p>Response set using set sessions API</p>\\n"\n }\n ]\n },\n {\n "question_id": "${sessionData[0]["questionReferenceIds"][5]}",\n "is_attempted": true,\n "value": [\n {\n "xml_identifier": "RESPONSE",\n "response_text": "<p>Long text response to reach 100 word limit. Long text response to reach 100 word limit. Long text response to reach 100 word limit. Long text response to reach 100 word limit. Long text response to reach 100 word limit. Long text response to reach 100 word limit. Long text response to reach 100 word limit. Long text response to reach 100 word limit. Long text response to reach 100 word limit. Long text response to reach 100 word limit. Long text response to reach 100 word limit. Long text response to reach 100 word limit. Long text response to reach 100 word limit</p>\\n"\n }\n ]\n },\n {\n "question_id": "${sessionData[0]["questionReferenceIds"][6]}",\n "is_attempted": true,\n "value": [\n {\n "response_text": "{\\\"version\\\":\\\"3.6.3\\\",\\\"objects\\\":[{\\\"type\\\":\\\"image\\\",\\\"version\\\":\\\"3.6.3\\\",\\\"originX\\\":\\\"left\\\",\\\"originY\\\":\\\"top\\\",\\\"left\\\":187.42,\\\"top\\\":100.28,\\\"width\\\":1000,\\\"height\\\":992,\\\"fill\\\":\\\"rgb(0,0,0)\\\",\\\"stroke\\\":null,\\\"strokeWidth\\\":0,\\\"strokeDashArray\\\":null,\\\"strokeLineCap\\\":\\\"butt\\\",\\\"strokeDashOffset\\\":0,\\\"strokeLineJoin\\\":\\\"miter\\\",\\\"strokeMiterLimit\\\":4,\\\"scaleX\\\":0.44,\\\"scaleY\\\":0.4,\\\"angle\\\":0,\\\"flipX\\\":false,\\\"flipY\\\":false,\\\"opacity\\\":1,\\\"shadow\\\":null,\\\"visible\\\":true,\\\"clipTo\\\":null,\\\"backgroundColor\\\":\\\"\\\",\\\"fillRule\\\":\\\"nonzero\\\",\\\"paintFirst\\\":\\\"fill\\\",\\\"globalCompositeOperation\\\":\\\"source-over\\\",\\\"transformMatrix\\\":null,\\\"skewX\\\":0,\\\"skewY\\\":0,\\\"crossOrigin\\\":\\\"\\\",\\\"cropX\\\":0,\\\"cropY\\\":0,\\\"src\\\":\\\"https://twig-next-gen-sandbox-staging.zeuslearning.com/item/file?key=images/b17394b2-0684-4d4a-a4b6-b0cd93c24ba1.png\\\",\\\"filters\\\":[]}]}",\n "xml_identifier": "RESPONSE"\n }\n ]\n }\n ]\n }\n ]\n}`);
102
+ .fill(`{\n "data": [\n {\n "activity_id": "${sessionData[0]["activity_id"]}",\n "activity_template_id": "${sessionData[0]["activity_template_id"]}",\n "user_id": "${sessionData[0]["user_id"]}",\n "session_id": "${sessionData[0]["session_id"]}", "scoring_options": [\n "autoscore"\n ],\n "responses": [\n {\n "question_id": "${sessionData[0]["questionReferenceIds"][0]}",\n "is_attempted": true,\n "value": [\n {\n "xml_identifier": "RESPONSE",\n "response_text": "ChoiceA"\n },\n {\n "xml_identifier": "RESPONSE",\n "response_text": "ChoiceD"\n }\n ]\n },\n {\n "question_id": "${sessionData[0]["questionReferenceIds"][1]}",\n "is_attempted": true,\n "value": [\n {\n "xml_identifier": "RESPONSE",\n "response_text": "ChoiceA"\n },\n {\n "xml_identifier": "RESPONSE",\n "response_text": "ChoiceD"\n }\n ]\n },\n {\n "question_id": "${sessionData[0]["questionReferenceIds"][2]}",\n "is_attempted": true,\n "value": [\n {\n "xml_identifier": "RESPONSE",\n "response_text": "ChoiceC"\n }\n ]\n },\n {\n "question_id": "${sessionData[0]["questionReferenceIds"][3]}",\n "is_attempted": true,\n "value": [\n {\n "xml_identifier": "RESPONSE",\n "response_text": "ChoiceD"\n }\n ]\n },\n {\n "question_id": "${sessionData[0]["questionReferenceIds"][4]}",\n "is_attempted": true,\n "value": [\n {\n "xml_identifier": "RESPONSE",\n "response_text": "<p>Response set using set sessions API</p>\\n"\n }\n ]\n },\n {\n "question_id": "${sessionData[0]["questionReferenceIds"][5]}",\n "is_attempted": true,\n "value": [\n {\n "xml_identifier": "RESPONSE",\n "response_text": "<p>Long text response to reach 100 word limit. Long text response to reach 100 word limit. Long text response to reach 100 word limit. Long text response to reach 100 word limit. Long text response to reach 100 word limit. Long text response to reach 100 word limit. Long text response to reach 100 word limit. Long text response to reach 100 word limit. Long text response to reach 100 word limit. Long text response to reach 100 word limit. Long text response to reach 100 word limit. Long text response to reach 100 word limit. Long text response to reach 100 word limit. Long text response to reach 100 word limit</p>\\n"\n }\n ]\n },\n {\n "question_id": "${sessionData[0]["questionReferenceIds"][6]}",\n "is_attempted": true,\n "value": [\n {\n "response_text": "{\\\"version\\\":\\\"3.6.3\\\",\\\"objects\\\":[{\\\"type\\\":\\\"image\\\",\\\"version\\\":\\\"3.6.3\\\",\\\"originX\\\":\\\"left\\\",\\\"originY\\\":\\\"top\\\",\\\"left\\\":187.42,\\\"top\\\":100.28,\\\"width\\\":1000,\\\"height\\\":992,\\\"fill\\\":\\\"rgb(0,0,0)\\\",\\\"stroke\\\":null,\\\"strokeWidth\\\":0,\\\"strokeDashArray\\\":null,\\\"strokeLineCap\\\":\\\"butt\\\",\\\"strokeDashOffset\\\":0,\\\"strokeLineJoin\\\":\\\"miter\\\",\\\"strokeMiterLimit\\\":4,\\\"scaleX\\\":0.44,\\\"scaleY\\\":0.4,\\\"angle\\\":0,\\\"flipX\\\":false,\\\"flipY\\\":false,\\\"opacity\\\":1,\\\"shadow\\\":null,\\\"visible\\\":true,\\\"clipTo\\\":null,\\\"backgroundColor\\\":\\\"\\\",\\\"fillRule\\\":\\\"nonzero\\\",\\\"paintFirst\\\":\\\"fill\\\",\\\"globalCompositeOperation\\\":\\\"source-over\\\",\\\"transformMatrix\\\":null,\\\"skewX\\\":0,\\\"skewY\\\":0,\\\"crossOrigin\\\":\\\"\\\",\\\"cropX\\\":0,\\\"cropY\\\":0,\\\"src\\\":\\\"https://twig-next-gen-sandbox-staging.zeuslearning.com/item/file?key=images/b17394b2-0684-4d4a-a4b6-b0cd93c24ba1.png\\\",\\\"filters\\\":[]}]}",\n "xml_identifier": "RESPONSE"\n }\n ]\n }\n ]\n }\n ]\n}`);
103
103
  cy.get('.execute')
104
104
  .click();
105
105
  cy.wait(2000);
@@ -404,7 +404,7 @@ describe('Save Response Scores API cases', () => {
404
404
  it('The scores updated using update response scores API should get updated for that activity', () => {
405
405
  cy.get('pre[class="microlight"]')
406
406
  .eq(1)
407
- .should('have.text', `{\n \"meta\": {\n \"records\": 1,\n \"status\": true,\n \"timestamp\": ${timestamp},\n \"next_token\": null\n },\n \"data\": [\n {\n \"user_id\": \"${sessionData[0]["user_id"]}\",\n \"session_id\": \"${sessionData[0]["session_id"]}\",\n \"activity_id\": \"${sessionData[0]["activity_id"]}\",\n \"score\": 5,\n \"dt_started\": \"${dtStartedNew}\",\n \"dt_completed\": \"${dtCompletedNew}\",\n \"max_score\": 14,\n \"activity_template_id\": \"${activityTemplateIdNew}\",\n \"num_questions\": 1,\n \"responses\": [\n {\n \"erater\": null,\n \"plagiarism\": null,\n \"score\": 2,\n \"max_score\": 4,\n \"serial_no\": 1,\n \"item_reference\": \"${itemReferenceIdNew}\",\n \"question_reference\": \"${questionReferences[0]}\",\n \"automarkable\": true,\n \"response_id\": \"${responseIds[0]}\",\n \"attempted\": true,\n \"responses\": [\n {\n \"xml_identifier\": \"RESPONSE\",\n \"response_text\": \"ChoiceA\"\n },\n {\n \"xml_identifier\": \"RESPONSE\",\n \"response_text\": \"ChoiceD\"\n }\n ]\n },\n {\n \"erater\": null,\n \"plagiarism\": null,\n \"score\": 3,\n \"max_score\": 10,\n \"serial_no\": 2,\n \"item_reference\": \"${itemReferenceIdNew}\",\n \"question_reference\": \"${questionReferences[1]}\",\n \"automarkable\": true,\n \"response_id\": \"${responseIds[1]}\",\n \"attempted\": true,\n \"responses\": [\n {\n \"xml_identifier\": \"RESPONSE\",\n \"response_text\": \"ChoiceA\"\n },\n {\n \"xml_identifier\": \"RESPONSE\",\n \"response_text\": \"ChoiceD\"\n }\n ]\n }\n ],\n \"items\": [\n {\n \"reference\": \"${itemReferenceIdNew}\",\n \"response_ids\": [\n \"${responseIds[0]}\",\n \"${responseIds[1]}\"\n ],\n \"scoring\": {\n \"score\": 5,\n \"max_score\": 14,\n \"item_scoring_type\": \"sum up all individual scores\"\n }\n }\n ]\n }\n ]\n}\n`)
407
+ .should('have.text', `{\n \"meta\": {\n \"records\": 1,\n \"status\": true,\n \"timestamp\": ${timestamp},\n \"next_token\": null\n },\n \"data\": [\n {\n \"user_id\": \"${sessionData[0]["user_id"]}\",\n \"session_id\": \"${sessionData[0]["session_id"]}\",\n \"activity_id\": \"${sessionData[0]["activity_id"]}\",\n \"score\": 5,\n \"dt_started\": \"${dtStartedNew}\",\n \"dt_completed\": \"${dtCompletedNew}\",\n \"max_score\": 14,\n \"activity_template_id\": \"${activityTemplateIdNew}\",\n \"num_questions\": 1,\n \"responses\": [\n {\n \"erater\": null,\n \"plagiarism\": null,\n \"score\": 2,\n \"max_score\": 4,\n \"serial_no\": 1,\n "item_reference": "${itemReferenceIdNew}",\n "question_reference": "${questionReferences[0]}",\n "automarkable": true,\n "response_id": "${responseIds[0]}",\n "attempted": true,\n "responses": [\n {\n "xml_identifier": "RESPONSE",\n "response_text": "ChoiceA"\n },\n {\n "xml_identifier": "RESPONSE",\n "response_text": "ChoiceD"\n }\n ],\n "question_type": "multiple selection"\n },\n {\n "erater": null,\n "plagiarism": null,\n "score": 3,\n "max_score": 10,\n "serial_no": 2,\n "item_reference": "${itemReferenceIdNew}",\n "question_reference": "${questionReferences[1]}",\n "automarkable": true,\n "response_id": "${responseIds[1]}",\n "attempted": true,\n "responses": [\n {\n "xml_identifier": "RESPONSE",\n "response_text": "ChoiceA"\n },\n {\n "xml_identifier": "RESPONSE",\n "response_text": "ChoiceD"\n }\n ],\n "question_type": "multiple selection"\n }\n ],\n "items": [\n {\n "reference": "${itemReferenceIdNew}",\n "response_ids": [\n "${responseIds[0]}",\n "${responseIds[1]}"\n ],\n "scoring": {\n "score": 5,\n "max_score": 14,\n "item_scoring_type": "sum up all individual scores"\n }\n }\n ]\n }\n ]\n}\n`)
408
408
  });
409
409
 
410
410
  describe.skip('Entering request to get updated Scores data for item 1 and item 2 sorted ascending through Fetch Response Scores API', () => {
@@ -2,6 +2,7 @@ import constants from "../fixtures/constants";
2
2
  import utilities from "../support/helpers/utilities";
3
3
  import { ckEditorToolbar, commonComponents, createQuestionBasePage, equationEditorFlyout, playbackControlsBaseComponent } from "./components";
4
4
  import { dialogBoxBase } from "./dialogBoxBase";
5
+ import { createItemPage } from "./createItemPage";
5
6
 
6
7
  const selectors = {
7
8
  ...playbackControlsBaseComponent,
@@ -14,11 +15,11 @@ const selectors = {
14
15
  uploadAudioFileUploadLabel: () => cy.get('[class*="AudioPlayerstyles__AudioLabel"]').eq(0),
15
16
  uploadAudioFileNameLabel: () => cy.get('[class*="AudioPlayerstyles__AudioLabel"]').eq(1),
16
17
  deleteAudioFileButton: () => cy.get('[aria-label="Delete"]'),
17
- sourceUrlLabel: () => cy.get('[class*="AudioPlayerstyles__AudioLabel"]').eq(0),
18
- sourceUrlInputField: () => cy.get('input[aria-label="Source URL"]'),
18
+ sourceUrlLabel: () => cy.get('[class*="AudioPlayerFormstyles__TextFieldLabel"]').eq(0),
19
+ sourceUrlInputField: () => cy.get('[class*="AudioPlayerFormstyles__Text"] input[type="text"]'),
19
20
  uploadAudioChooseFileButton: () => cy.get('.choose-file-upload-button'),
20
21
  uploadAudioNoFileChosenLabel: () => cy.get('[aria-label="No file chosen"]').eq(0),
21
- uploadedFileNameLabel: () => cy.get('.selected-file').eq(0),
22
+ uploadedFileNameLabel: () => cy.get('[class*="AudioPlayerFormstyles__FileInputWrapper"] .selected-file-wrapper').eq(0),
22
23
  audioFileUploadProgressBar: () => cy.get('[class*="AudioPlayerstyles__ProgressBar-"]').eq(0),
23
24
  inputTypeFile: () => cy.get('input[type="file"]'),
24
25
  audioPlayerStyleLabel: () => cy.get('.player-style-label'),
@@ -28,7 +29,7 @@ const selectors = {
28
29
  standardStyleToggleButtonLabel: () => cy.get('[data-ngie-testid="standard-toggle-button"] .ngie-toggle-button-label'),
29
30
  barStyleToggleButtonLabel: () => cy.get('[data-ngie-testid="bar-toggle-button"] .ngie-toggle-button-label'),
30
31
  compactStyleToggleButtonLabel: () => cy.get('[data-ngie-testid="compact-toggle-button"] .ngie-toggle-button-label'),
31
- compactPlayerOptionsLabel: () => cy.get('.options-label'),
32
+ compactPlayerOptionsLabel: () => cy.get('.compact-player-wrapper .options-label'),
32
33
  defaultPlayerOptionButton: () => cy.get('[data-ngie-testid="default-toggle-button"]'),
33
34
  textPlayerOptionButton: () => cy.get('[data-ngie-testid="text-toggle-button"]'),
34
35
  imagePlayerOptionButton: () => cy.get('[data-ngie-testid="image-toggle-button"]'),
@@ -45,28 +46,30 @@ const selectors = {
45
46
  customizePlayerLayoutProgressIndicatorButton: () => cy.get('[data-ngie-testid="progressbar-toggle-button"]'),
46
47
  customizePlayerLayoutToggleButtonLabel: () => cy.get('[class*="ToggleButtonMUI5style__ButtonLabelWrapper"]'),
47
48
  uncheckAllButton: () => cy.get('[class*="AudioPlayerstyles__UncheckButton"]'),
48
- uploadTranscriptFileLabel: () => cy.get('[class*="RadioGroupMUI5styles__RadioOptionContainer"] .ngie-radio-label').eq(2),
49
- uploadTranscriptFileRadioButton: () => cy.get('.ngie-radio-btn input').eq(2),
50
- typeInTranscriptLabel: () => cy.get('[class*="RadioGroupMUI5styles__RadioOptionContainer"] .ngie-radio-label').eq(3),
51
- typeInTranscriptRadioButton: () => cy.get('.ngie-radio-btn input').eq(3),
52
- transcriptInputField: () => cy.get('[role="textbox"][title="Transcript"]'),
53
- allowStudentsToDownloadAudioLabel: () => cy.get('[data-ngie-testid="allow-students-to-download-the-audio-checkbox"] .MuiFormControlLabel-label'),
54
- allowStudentsToDownloadAudioCheckbox: () => cy.get('[data-ngie-testid="allow-students-to-download-the-audio-checkbox"] input'),
55
- limitPlayAttemptsLabel: () => cy.get('[data-ngie-testid="limit-play-attempts-checkbox"] .MuiFormControlLabel-label'),
56
- limitPlayAttemptsCheckbox: () => cy.get('[data-ngie-testid="limit-play-attempts-checkbox"] input'),
49
+ uploadTranscriptFileLabel: () => cy.get('.upload-transcript-opt-label'),
50
+ uploadTranscriptFileRadioButton: () => cy.get('.upload-transcript-opt-label input'),
51
+ typeInTranscriptLabel: () => cy.get('.type-in-transcript-opt-label'),
52
+ typeInTranscriptRadioButton: () => cy.get('[aria-label="Type in transcript"][type="radio"]'),
53
+ transcriptInputField: () => cy.get('[title="Transcript"]'),
54
+ cKEditorTranscriptInputField: () => cy.get('textarea[aria-label="Transcript"]'),
55
+ ckEditorPlayAttemptsLimitInputField: () => cy.get('input[aria-label="Playback Limit"]'),
56
+ allowStudentsToDownloadAudioLabel: () => cy.get('.allow-students-to-download-audio .MuiFormControlLabel-label').eq(0),
57
+ allowStudentsToDownloadAudioCheckbox: () => cy.get('.allow-students-to-download-audio input'),
58
+ limitPlayAttemptsLabel: () => cy.get('.allow-students-to-download-audio .MuiFormControlLabel-label').eq(1),
59
+ limitPlayAttemptsCheckbox: () => cy.get('.allow-students-to-download-audio input').eq(1),
57
60
  playAttemptsLimitLabel: () => cy.get('.playback-limit-wrapper [class*="Label"]'),
58
- playAttemptsLimitInputField: () => cy.get('.playback-limit-wrapper input'),
61
+ playAttemptsLimitInputField: () => cy.get('.freeResponseAudioFormTextInput input'),
59
62
  studentViewSettingsLabel: () => cy.get('[class*="AudioPlayerstyles__TranscriptLabelWrapper"]').eq(0),
60
63
  audioOverviewLabel: () => cy.get('.additional-settings-label'),
61
64
  audioOverviewInputField: () => cy.get('[title="Description"]'),
62
- transcriptLabel: () => cy.get('.audio-resource-label-wrapper').eq(1),
65
+ transcriptLabel: () => cy.get('.freeResponseAudioFormTextInput .transcript-label'),
63
66
  uploadTranscriptUploadLabel: () => cy.get('[class*="AudioPlayerstyles__AudioLabel"]').eq(2),
64
67
  uploadTranscriptFileNameLabel: () => cy.get('[class*="AudioPlayerstyles__AudioLabel"]').eq(3),
65
68
  uploadTranscriptChooseFileButton: () => cy.get('.upload-audio-file-input-wrapper button').eq(1),
66
69
  uploadTranscriptNoFileChosenLabel: () => cy.get('[aria-label="No file chosen"]').eq(1),
67
- transcriptInputTypeFile: () => cy.get('input[type="file"]').eq(1),
68
- uploadedTranscriptFileNameLabel: () => cy.get('.selected-file').eq(1),
69
- transcriptFileUploadProgressBar: () => cy.get('[class*="AudioPlayerstyles__ProgressBar-"]').eq(1),
70
+ transcriptInputTypeFile: () => cy.get('.upload-transcript-file input[type="file"]'),
71
+ uploadedTranscriptFileNameLabel: () => cy.get('.upload-transcript-file .selected-file-wrapper'),
72
+ transcriptFileUploadProgressBar: () => cy.get('.audio-player-form-progressbar'),
70
73
  transcriptInputFieldLabel: () => cy.get('.additional-settings-label').eq(1),
71
74
  deleteTranscriptButton: () => cy.get('[aria-label*="Delete"]'),
72
75
 
@@ -125,6 +128,7 @@ const steps = {
125
128
  ...ckEditorToolbar.steps,
126
129
  ...equationEditorFlyout.steps,
127
130
  ...commonComponents.steps,
131
+ ...createItemPage.steps,
128
132
  /**
129
133
  * Uploads a file to the audio player by attaching the file located at the specified filePath.
130
134
  * @param {string} filePath - The file path to the file to be uploaded.
@@ -166,6 +170,13 @@ const steps = {
166
170
  .blur();
167
171
  },
168
172
 
173
+ enterTextInCKEditorTranscriptInputField: (text) => {
174
+ audioPlayerPage.cKEditorTranscriptInputField()
175
+ .type(text)
176
+ .blur();
177
+ },
178
+
179
+
169
180
  verifyTextInTranscriptInputField: (text) => {
170
181
  audioPlayerPage.transcriptInputField()
171
182
  .should('have.text', text);
@@ -706,6 +717,20 @@ const steps = {
706
717
  .type(value)
707
718
  },
708
719
 
720
+ /**
721
+ * Sets the playback limit value in the audio player's input field.
722
+ * @param {string|number} value - The value to set as the playback limit.
723
+ * @returns {void}
724
+ */
725
+ setCKEditorPlaybackLimit: (value) => {
726
+ audioPlayerPage.ckEditorPlayAttemptsLimitInputField()
727
+ .clear()
728
+ .type(value);
729
+ cy.wait(2000);
730
+ audioPlayerPage.ckEditorPlayAttemptsLimitInputField()
731
+ .blur();
732
+ },
733
+
709
734
  /**
710
735
  * Verify the playback limit help text in preview tab
711
736
  * @param {string|number} value - The value to set as the playback limit.
@@ -788,14 +813,14 @@ const steps = {
788
813
  audioPlayerPage.audioOverviewInputField()
789
814
  .find('[data-widget="ngie_equation"]')
790
815
  .should('have.attr', 'aria-label', constants.CKEditorInputFieldEnteredEquationAriaLabel)
791
- // .contains(constants.CKEditorInputFieldEnteredEquationText);
816
+ // .contains(constants.CKEditorInputFieldEnteredEquationText);
792
817
  },
793
818
 
794
819
  verifyEquationInAudioOverviewPreviewTab: () => {
795
820
  audioPlayerPage.audioOverviewPreviewTab()
796
821
  .find('[role="math"]')
797
822
  .should('have.attr', 'aria-label', constants.CKEditorInputFieldEnteredEquationAriaLabel)
798
- // .contains(constants.CKEditorInputFieldEnteredEquationText);
823
+ // .contains(constants.CKEditorInputFieldEnteredEquationText);
799
824
  },
800
825
 
801
826
  verifyLinkInAudioOverviewInputField: () => {
@@ -896,14 +921,14 @@ const steps = {
896
921
  audioPlayerPage.transcriptInputField()
897
922
  .find('[data-widget="ngie_equation"]')
898
923
  .should('have.attr', 'aria-label', constants.CKEditorInputFieldEnteredEquationAriaLabel)
899
- // .contains(constants.CKEditorInputFieldEnteredEquationText);
924
+ // .contains(constants.CKEditorInputFieldEnteredEquationText);
900
925
  },
901
926
 
902
927
  verifyEquationInTranscriptPreviewTab: () => {
903
928
  audioPlayerPage.transcriptContentPreviewTab()
904
929
  .find('[role="math"]')
905
930
  .should('have.attr', 'aria-label', constants.CKEditorInputFieldEnteredEquationAriaLabel)
906
- // .contains(constants.CKEditorInputFieldEnteredEquationText);
931
+ // .contains(constants.CKEditorInputFieldEnteredEquationText);
907
932
  },
908
933
 
909
934
  verifyLinkInTranscriptInputField: () => {
@@ -20,7 +20,7 @@ const selectors = {
20
20
  selectAManipulativeLabel: () => cy.get('[class*="SelectManipulativeWrapper"] [class*="BrainingcampManipulativestyle__WrapperSubHeader"]'),
21
21
  enterAShareCodeLabel: () => cy.get('[class*="EnterShareCodeWrapper"] [class*="BrainingcampManipulativestyle__WrapperSubHeader"]'),
22
22
  enterAShareCodeInputField: () => cy.get('[class*="EnterShareCodeWrapper"] input'),
23
- previewTabCanvas: () => cy.get('.bcm-inner'),
23
+ previewTabCanvas: () => cy.get('.bcm-inner')
24
24
  }
25
25
 
26
26
  const steps = {
@@ -1306,6 +1306,51 @@ const steps = {
1306
1306
  verifyPenaltyPointsForEachIncorrectBar: (penaltyPoints) => {
1307
1307
  utilities.verifyInnerText(autoScoredScoringSectionMultiResponseType.penaltyPointsDetailsSectionAllottedPointsLabel(), `Penalty points for each incorrect bar: ${penaltyPoints}`);
1308
1308
  },
1309
+
1310
+ verifyAnswerStatusBannerNotExist: () => {
1311
+ chartsBarPage.correctIncorrectAnswerTextWrapper()
1312
+ .should('not.exist');
1313
+ },
1314
+
1315
+ verifyAnswerStatusBannerExist: () => {
1316
+ chartsBarPage.correctIncorrectAnswerTextWrapper()
1317
+ .should('be.visible');
1318
+ },
1319
+
1320
+ verifyCorrectAnswerSectionExist: () => {
1321
+ chartsBarPage.correctAnswersLabel()
1322
+ .should('be.visible');
1323
+ },
1324
+
1325
+ verifyCorrectAnswerSectionNotExist: () => {
1326
+ chartsBarPage.correctAnswersLabel()
1327
+ .should('not.exist');
1328
+ },
1329
+ /**
1330
+ * @param {Object<number, number>} responsePointsObject - An object where keys are indexes of the points fields and values are the points to be allotted.
1331
+ * @description Allots points to the enabled points input fields for each option in the scoring section based on the provided object.
1332
+ */
1333
+ allotPartialDifferentWeightsPoints: (responsePointsObject) => {
1334
+ Object.entries(responsePointsObject).forEach(([index, points]) => {
1335
+ const indexNumber = parseInt(index);
1336
+ autoScoredScoringSectionMultiResponseType.pointsInputField()
1337
+ .eq(indexNumber)
1338
+ .should('not.be.disabled')
1339
+ autoScoredScoringSectionMultiResponseType.pointsInputField()
1340
+ .eq(indexNumber)
1341
+ .clear()
1342
+ autoScoredScoringSectionMultiResponseType.pointsInputField()
1343
+ .eq(indexNumber)
1344
+ .focus()
1345
+ .click()
1346
+ .type(`${points}`, { delay: 1000 });
1347
+ autoScoredScoringSectionMultiResponseType.pointsInputField()
1348
+ .eq(indexNumber)
1349
+ .click()
1350
+ .blur()
1351
+ .should('have.value', points);
1352
+ });
1353
+ },
1309
1354
  }
1310
1355
 
1311
1356
  const tests = {
@@ -1649,6 +1649,31 @@ const steps = {
1649
1649
  utilities.verifyElementVisibilityState(autoScoredScoringPreviewTab.incorrectIcon(), 'visible');
1650
1650
  }
1651
1651
  },
1652
+ /**
1653
+ * @param {Object<number, number>} responsePointsObject - An object where keys are indexes of the points fields and values are the points to be allotted.
1654
+ * @description Allots points to the enabled points input fields for each option in the scoring section based on the provided object.
1655
+ */
1656
+ allotPartialDifferentWeightsPoints: (responsePointsObject) => {
1657
+ Object.entries(responsePointsObject).forEach(([index, points]) => {
1658
+ const indexNumber = parseInt(index);
1659
+ autoScoredScoringSectionMultiResponseType.pointsInputField()
1660
+ .eq(indexNumber)
1661
+ .should('not.be.disabled')
1662
+ autoScoredScoringSectionMultiResponseType.pointsInputField()
1663
+ .eq(indexNumber)
1664
+ .clear()
1665
+ autoScoredScoringSectionMultiResponseType.pointsInputField()
1666
+ .eq(indexNumber)
1667
+ .focus()
1668
+ .click()
1669
+ .type(`${points}`, { delay: 1000 });
1670
+ autoScoredScoringSectionMultiResponseType.pointsInputField()
1671
+ .eq(indexNumber)
1672
+ .click()
1673
+ .blur()
1674
+ .should('have.value', points);
1675
+ });
1676
+ },
1652
1677
  }
1653
1678
 
1654
1679
  const tests = {
@@ -107,7 +107,7 @@ const steps = {
107
107
  * @param {number} pointIndex Index of the point to be locked
108
108
  */
109
109
  lockPoint: (pointIndex) => {
110
- utilities.hoverOverElement(utilities.getNthElement(chartsLinePage.selectChartTypePoint(), pointIndex))
110
+ utilities.triggerMouseover(utilities.getNthElement(chartsLinePage.selectChartTypePoint(), pointIndex))
111
111
  barAndLineChartComponent.barAndPointTooltipLockUnlockButton()
112
112
  .click();
113
113
  barAndLineChartComponent.barAndPointTooltipLockUnlockButton()
@@ -116,7 +116,7 @@ const steps = {
116
116
  .within(() => {
117
117
  utilities.verifyElementVisibilityState(chartsLinePage.pointLockIcon(), 'visible');
118
118
  });
119
- utilities.hoverAwayFromElement();
119
+ utilities.triggerMouseout(utilities.getNthElement(chartsLinePage.selectChartTypePoint(), pointIndex));
120
120
  },
121
121
 
122
122
  /**
@@ -545,7 +545,32 @@ const steps = {
545
545
  .clear()
546
546
  .type(text)
547
547
  .should('have.value', text);
548
- }
548
+ },
549
+ /**
550
+ * @param {Object<number, number>} responsePointsObject - An object where keys are indexes of the points fields and values are the points to be allotted.
551
+ * @description Allots points to the enabled points input fields for each option in the scoring section based on the provided object.
552
+ */
553
+ allotPartialDifferentWeightsPoints: (responsePointsObject) => {
554
+ Object.entries(responsePointsObject).forEach(([index, points]) => {
555
+ const indexNumber = parseInt(index);
556
+ autoScoredScoringSectionMultiResponseType.pointsInputField()
557
+ .eq(indexNumber)
558
+ .should('not.be.disabled')
559
+ autoScoredScoringSectionMultiResponseType.pointsInputField()
560
+ .eq(indexNumber)
561
+ .clear()
562
+ autoScoredScoringSectionMultiResponseType.pointsInputField()
563
+ .eq(indexNumber)
564
+ .focus()
565
+ .click()
566
+ .type(`${points}`, { delay: 1000 });
567
+ autoScoredScoringSectionMultiResponseType.pointsInputField()
568
+ .eq(indexNumber)
569
+ .click()
570
+ .blur()
571
+ .should('have.value', points);
572
+ });
573
+ },
549
574
  }
550
575
 
551
576
  const tests = {
@@ -69,6 +69,7 @@ const steps = {
69
69
 
70
70
  expandFontSizeDropdown: () => {
71
71
  additionalSettingsPanel.fontSizeDropdown()
72
+ .trigger('mouseover')
72
73
  .click();
73
74
  }
74
75
  }
@@ -327,7 +327,11 @@ const tests = {
327
327
  });
328
328
 
329
329
  it('If user has not selected correct answer in the correct accordion, then the Add alternative answer button should be in disabled state', () => {
330
- utilities.verifyElementDisabled(autoScoredSpecifyCorrectAnswerSection.alternativeAnswerButton());
330
+ if (questionType === 'list ordering') {
331
+ utilities.verifyElementNotDisabled(autoScoredSpecifyCorrectAnswerSection.alternativeAnswerButton());
332
+ } else {
333
+ utilities.verifyElementDisabled(autoScoredSpecifyCorrectAnswerSection.alternativeAnswerButton());
334
+ }
331
335
  });
332
336
  },
333
337
 
@@ -45,15 +45,24 @@ const selectors = {
45
45
  createItemButtonTypography: () => browseItemsPage.buttonCreateItem().find('.ngie-btn-typography'),
46
46
  createQuestionCancelButtonTypography: () => browseItemsPage.buttonCancelCreateQuestion().find('.ngie-btn-typography'),
47
47
  tableColumnHeaderBrowseItemWrapperDiv: (count) => browseItemsPage.tableColumnHeader(count).find('div.browse-item-component-wrapper div'),
48
+ rowItemTitle: () => cy.get('.browse-item-styled-link'),
49
+ previewModeWrapper: () => cy.get('.preview-mode-wrapper'),
50
+ saveButton: () => cy.get('.ngie-btn-typography').contains('save',{matchCase: false}),
51
+ cancelButton: () => cy.get('.ngie-btn-typography').contains('cancel',{matchCase: false}),
52
+ radioGroup: () => cy.get('.ngie-radio-group'),
53
+ studentViewRadioButton: () => cy.get('[class*="RadioGroupMUI5styles__RadioOptionContainer"]').eq(0),
54
+ gradingViewRadioButton: () => cy.get('[class*="RadioGroupMUI5styles__RadioOptionContainer"]').eq(1),
55
+ browseItemQuestionItem: () => cy.get('.browse-item-question-item')
48
56
  };
49
57
 
50
58
  const searchBarSelectors = {
51
- searchBar: () => cy.get('input[placeholder="Search by title, tags and content"]'),
59
+ searchBar: () => cy.get('input[placeholder*="Search by"]'),
52
60
  buttonClearSearch: () => cy.get('[data-at="clear-button"]'),
53
61
  buttonSearch: () => cy.get('button[aria-label="Search"]'),
54
62
  buttonSearchSVG: () => cy.get('button[aria-label="Search"]').find('svg'),
55
- mobileViewSearchBar: () => cy.get('input[placeholder="Search by title, tags and content"]'),
63
+ mobileViewSearchBar: () => cy.get('input[placeholder*="Search by title"]'),
56
64
  searchInputField: () => cy.get('.ngie-search input'),
65
+ searchBarParent: () => cy.get('input[placeholder*="Search by"]').parent(),
57
66
  };
58
67
 
59
68
  const mobileViewBrowsePageSelectors = {
@@ -107,6 +116,7 @@ const mobileViewBrowsePageSelectors = {
107
116
  return utilities.getNthElement(cy.get(`.filter-chip[aria-label*="${chip}"] button[aria-label*="Remove"]`), 0);
108
117
  },
109
118
  filterChipClearAll: () => cy.get('.filter-chip-clearall'),
119
+ itemTitleCell: () => cy.get('[class*=ItemTitleCellstyles__ItemCellWrapper]'),
110
120
  };
111
121
 
112
122
  const steps = {
@@ -962,6 +972,103 @@ const tests = {
962
972
  });
963
973
  });
964
974
  },
975
+
976
+ verifyBrowseItemsRowContent: () => {
977
+ it('Browse review items list row should have title, reference id, and question type', () => {
978
+ browseItemsPage.itemTitleCell().each(($item) => {
979
+ cy.wrap($item).within(() => {
980
+ cy.get('button.browse-item-styled-link').invoke('text').should('not.be.empty');
981
+ cy.get('.browse-item-question-text-container').contains('Ref ID:').should('exist'); // safer
982
+ cy.get('[class*=ItemTitleCellstyles__ReferenceId]').invoke('text').should('not.be.empty');
983
+ cy.get('.browse-item-label-text').contains('Type:').should('exist');
984
+ cy.get('.browse-item-question-item').invoke('text').should('not.be.empty');
985
+ });
986
+ });
987
+ });
988
+ },
989
+
990
+ verifyItemOpening: () => {
991
+ it('When the author clicks on the title of the item in the \'check your math\' browse item list page then the question preview for that item should be displayed along with cancel and save button, and student and grading view radio buttons', () => {
992
+ browseItemsPage.rowItemTitle().eq(0).click();
993
+ utilities.verifyElementVisibilityState(browseItemsPage.previewModeWrapper(), 'visible');
994
+ utilities.verifyElementVisibilityState(browseItemsPage.saveButton(), 'visible');
995
+ utilities.verifyElementVisibilityState(browseItemsPage.cancelButton(), 'visible');
996
+ utilities.verifyElementVisibilityState(browseItemsPage.radioGroup(), 'visible');
997
+ })
998
+
999
+ it('student radio button should be checked by default and author should be able to toggle between student and grading view radio buttons', () => {
1000
+ utilities.verifyElementVisibilityState(browseItemsPage.studentViewRadioButton(), 'exist');
1001
+ utilities.verifyElementVisibilityState(browseItemsPage.gradingViewRadioButton(), 'exist');
1002
+ browseItemsPage.studentViewRadioButton().should('have.class', 'radio-option-checked');
1003
+ browseItemsPage.gradingViewRadioButton().should('have.class', 'radio-option-not-checked');
1004
+ browseItemsPage.gradingViewRadioButton().click();
1005
+ browseItemsPage.studentViewRadioButton().should('have.class', 'radio-option-not-checked');
1006
+ browseItemsPage.gradingViewRadioButton().should('have.class', 'radio-option-checked');
1007
+ browseItemsPage.studentViewRadioButton().click();
1008
+ browseItemsPage.studentViewRadioButton().should('have.class', 'radio-option-checked');
1009
+ browseItemsPage.gradingViewRadioButton().should('have.class', 'radio-option-not-checked');
1010
+ browseItemsPage.cancelButton().click();
1011
+ });
1012
+ },
1013
+
1014
+ verifyFilterSelectionInList: (categories) => {
1015
+ it('When the author checks the \'multiple choice selection\' checkbox then only multiple choice question (single selection and multiple selection) should be displayed on the question list.', () => {
1016
+ browseItemsPage.steps.clickOnFilterCategoryCheckbox(categories[0]);
1017
+ cy.pageLoadWait();
1018
+ const allowedTypes = ['multiple selection','single selection'];
1019
+ browseItemsPage.browseItemQuestionItem().each(($item) => {
1020
+ cy.wrap($item)
1021
+ .invoke('text')
1022
+ .then((text) => {
1023
+ const trimmedText = text.trim();
1024
+ if (trimmedText === '' || trimmedText === ',' || /^,+$/.test(trimmedText)) {
1025
+ cy.log('Skipped invalid/empty item text:', trimmedText);
1026
+ return;
1027
+ }
1028
+ expect(allowedTypes).to.include(trimmedText.toLowerCase());
1029
+ });
1030
+ });
1031
+ });
1032
+ },
1033
+
1034
+ verifySupportedQuestionsInItemsList: (allowedFilterCategories) => {
1035
+ it('The items list page should display items for only the supported question types', () => {
1036
+ const allowedTypes = Object.values(allowedFilterCategories).flat();
1037
+ browseItemsPage.browseItemQuestionItem().each(($item) => {
1038
+ cy.wrap($item)
1039
+ .invoke('text')
1040
+ .then((text) => {
1041
+ const trimmedText = text.trim();
1042
+ if (trimmedText === '' || trimmedText === ',' || /^,+$/.test(trimmedText)) {
1043
+ cy.log('Skipped invalid/empty item text:', trimmedText);
1044
+ return;
1045
+ }
1046
+ expect(allowedTypes).to.include(trimmedText.toLowerCase());
1047
+ });
1048
+ });
1049
+ });
1050
+ },
1051
+
1052
+ verifyFirstPreviousNextPageButtons: () => {
1053
+ it('When user is on first page, previous button should be disabled and when the user is in last page, the next button should be disabled,', () => {
1054
+ browseItemsPage.buttonPrevious().should('have.attr', 'disabled');
1055
+ browseItemsPage.buttonNext().should('not.have.attr', 'disabled');
1056
+ utilities.getNthElement(browseItemsPage.paginationCountText(), 0)
1057
+ .invoke('text')
1058
+ .then((text) => {
1059
+ const totalItems = parseInt(text.split(' ').pop(), 10);
1060
+ const totalPages = Math.ceil(totalItems / 20);
1061
+
1062
+ Cypress._.times(totalPages - 1, () => {
1063
+ browseItemsPage.steps.clickOnNextPageButton();
1064
+ cy.wait(500);
1065
+ });
1066
+ });
1067
+
1068
+ browseItemsPage.buttonNext().should('have.attr', 'disabled');
1069
+ browseItemsPage.buttonPrevious().should('not.have.attr', 'disabled');
1070
+ });
1071
+ }
965
1072
  };
966
1073
 
967
1074
  export const browseItemsPage = {