itemengine-cypress-automation 1.0.375 → 1.0.376-resourceAndTools-fbbcf92.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 (279) hide show
  1. package/Dockerfile +1 -0
  2. package/cypress/e2e/GradingGridView/gradingGridView.js +156 -0
  3. package/cypress/e2e/ILC/AudioResponseNew/barRecorderStyle.smoke.js +2 -0
  4. package/cypress/e2e/ILC/AudioResponseNew/compactRecorderStyle.smoke.js +4 -0
  5. package/cypress/e2e/ILC/AudioResponseNew/editTabBasicSection.js +4 -16
  6. package/cypress/e2e/ILC/BrainingCampManipulative/editTabBasicSection.js +1 -1
  7. package/cypress/e2e/ILC/BrowseItems/browseReviewItems.js +39 -7
  8. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/gradingViewAndCorrectAnswerView.smoke.js +1 -1
  9. package/cypress/e2e/ILC/ChartsBar/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +33 -0
  10. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightBasic.js +25 -25
  11. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +37 -36
  12. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +37 -36
  13. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +37 -36
  14. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -0
  15. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightBasic.js +26 -25
  16. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +39 -38
  17. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +31 -30
  18. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +35 -34
  19. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePointsLocked.js +247 -0
  20. package/cypress/e2e/ILC/ChartsBar/editQuestion.smoke.js +1 -1
  21. package/cypress/e2e/ILC/ChartsBar/editTabBasicSection.js +37 -0
  22. package/cypress/e2e/ILC/ChartsBar/headerSection.js +50 -2
  23. package/cypress/e2e/ILC/ChartsBar/specifyCorrectAnswerSection.js +92 -0
  24. package/cypress/e2e/ILC/ChartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePointsLocked.js +220 -0
  25. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightBasic.js +25 -25
  26. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +47 -46
  27. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +25 -24
  28. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +25 -24
  29. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -0
  30. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightBasic.js +25 -25
  31. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +24 -23
  32. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +21 -20
  33. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +48 -46
  34. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePointsLocked.js +249 -0
  35. package/cypress/e2e/ILC/ChartsLine/editQuestion.smoke.js +3 -1
  36. package/cypress/e2e/ILC/ChartsLine/headerSection.js +18 -1
  37. package/cypress/e2e/ILC/ChartsLine/specifyCorrectAnswerSection.js +94 -0
  38. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddFeatureRadioButton.js +2 -3
  39. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddTranscriptRadioButton .js +2 -4
  40. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabStudentViewSettings.js +3 -3
  41. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerHeaderSectionAndButtons.js +2 -2
  42. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTab.js +1 -1
  43. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabSupportedFileTypes.js +6 -0
  44. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabTranscript.js +2 -3
  45. package/cypress/e2e/ILC/CkEditorEquationEditor/equationEditorBasicFile.js +4 -4
  46. package/cypress/e2e/ILC/CkEditorInsertImage/imageInfo.js +4 -4
  47. package/cypress/e2e/ILC/CkEditorInsertTable/tableDimension&FooterProperties.js +3 -3
  48. package/cypress/e2e/ILC/CkEditorInsertTable/tableStyle.js +11 -11
  49. package/cypress/e2e/ILC/CkEditorLink/uploadSection.js +1 -1
  50. package/cypress/e2e/ILC/ContentBlocks/editTabBasics.js +63 -4
  51. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +116 -7
  52. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabScoring.js +1 -0
  53. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/pagination.js +1 -1
  54. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/studentViewSettingsForGroupedLayout.js +3 -0
  55. package/cypress/e2e/ILC/DrawingResponse/drawingResponseAdditionalSettings.js +1 -0
  56. package/cypress/e2e/ILC/DrawingResponse/drawingResponseBackground.js +2 -8
  57. package/cypress/e2e/ILC/DrawingResponse/drawingResponseCustomizeAdditionalOptions.js +1 -0
  58. package/cypress/e2e/ILC/DrawingResponse/drawingResponseEditTabBasicSection.js +3 -3
  59. package/cypress/e2e/ILC/DrawingResponse/drawingResponsePreviewTabContents.smoke.js +1 -3
  60. package/cypress/e2e/ILC/EssayResponse/createCustomCategory.smoke.js +2 -2
  61. package/cypress/e2e/ILC/EssayResponse/editCategoryFlyout.js +0 -1
  62. package/cypress/e2e/ILC/EssayResponse/editTabBasicSections.js +23 -37
  63. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +210 -0
  64. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/draggableOptions.js +2 -0
  65. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViewInIncompleteAuthoring.smoke.js +7 -7
  66. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editQuestion.smoke.js +40 -0
  67. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +216 -0
  68. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editQuestion.smoke.js +45 -0
  69. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/responseAnswersAndAcceptedStudentInput.js +3 -0
  70. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/supportedFileTypes.js +3 -1
  71. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +73 -0
  72. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +38 -0
  73. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +38 -0
  74. package/cypress/e2e/ILC/Graphing/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +87 -0
  75. package/cypress/e2e/ILC/Graphing/allOrNothingForAllViews.smoke.js +2 -2
  76. package/cypress/e2e/ILC/Graphing/checkAddAlternativeButton.js +35 -0
  77. package/cypress/e2e/ILC/Graphing/editQuestion.smoke.js +28 -0
  78. package/cypress/e2e/ILC/Graphing/editTabBasicSection.js +38 -0
  79. package/cypress/e2e/ILC/Graphing/editTabScoringSection.js +1 -0
  80. package/cypress/e2e/ILC/Graphing/headerSection.js +36 -4
  81. package/cypress/e2e/ILC/Graphing/layoutAndGridOptions.js +6 -3
  82. package/cypress/e2e/ILC/GridFill/addAlternateButton.js +40 -0
  83. package/cypress/e2e/ILC/GridFill/allOrNothingBasicForAllViews.smoke.js +210 -0
  84. package/cypress/e2e/ILC/GridFill/customizeLayoutFillImageBackgroundImage.js +5 -6
  85. package/cypress/e2e/ILC/GridFill/customizeLayoutSectionShadeCellsGridBorders.js +2 -0
  86. package/cypress/e2e/ILC/GridFill/editTabScoringSection.js +3 -0
  87. package/cypress/e2e/ILC/GridFill/headerSection.js +1 -3
  88. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +39 -0
  89. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  90. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +39 -0
  91. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountAllOrNothingCorrectPointsGreaterThanAlternativePoints.js +37 -0
  92. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountallOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  93. package/cypress/e2e/ILC/GridFill/scoring/cellshadeCountAllOrNothingAlternativePointsGreaterThanCorrectPoints.js +36 -0
  94. package/cypress/e2e/ILC/GridFill/scoring/checkLabelSaveAsYouGo.js +75 -0
  95. package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +2 -1
  96. package/cypress/e2e/ILC/GridFill/specifyCorrectAnswerSection.js +2 -4
  97. package/cypress/e2e/ILC/ImageHighlight/Scoring/partialDifferentWeightsScoring.js +2 -1
  98. package/cypress/e2e/ILC/ImageHighlight/allOrNothingForAllViews.smoke.js +212 -0
  99. package/cypress/e2e/ILC/ImageHighlight/customiseHighlightStyle.js +29 -0
  100. package/cypress/e2e/ILC/ImageHighlight/headerSection.js +2 -1
  101. package/cypress/e2e/ILC/ImageHighlight/studentViewSettings.js +2 -2
  102. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +24 -0
  103. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +24 -0
  104. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +24 -0
  105. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +86 -0
  106. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/manuallyAndNonScored.js +2 -4
  107. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +1 -1
  108. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +237 -1
  109. package/cypress/e2e/ILC/ListOrderingDropdown/checkAddAlternativeButton.js +35 -0
  110. package/cypress/e2e/ILC/ListOrderingDropdown/editTabBasicSection.js +24 -0
  111. package/cypress/e2e/ILC/ListOrderingDropdown/headerSection.js +108 -0
  112. package/cypress/e2e/ILC/ListOrderingDropdown/manuallyAndNonScoredEditTab.js +2 -1
  113. package/cypress/e2e/ILC/ListOrderingDropdown/previewContentsForAllViews.smoke.js +2 -4
  114. package/cypress/e2e/ILC/ListOrderingDropdown/specifyCorrectAnswerSection.js +7 -12
  115. package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/specifyCorrectAnswerSection.js +10 -14
  116. package/cypress/e2e/ILC/ListOrderingNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +52 -0
  117. package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +215 -0
  118. package/cypress/e2e/ILC/ListOrderingNew/editTabBasicSection.js +23 -0
  119. package/cypress/e2e/ILC/ListOrderingNew/headerSection.js +36 -9
  120. package/cypress/e2e/ILC/ListOrderingNew/manuallyAndNonScoredEditTab.js +2 -0
  121. package/cypress/e2e/ILC/ListOrderingNew/specifyCorrectAnswerSection.js +7 -23
  122. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +41 -0
  123. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +30 -0
  124. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +50 -0
  125. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +101 -0
  126. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/allOrNothingForAllViews.smoke.js +309 -0
  127. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/checkAddAlternativeButton.js +38 -0
  128. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabBasicSection.js +24 -0
  129. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabScoring.js +4 -1
  130. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/headerSection.js +36 -1
  131. package/cypress/e2e/ILC/Matching/Scoring/blankResponseScoring.js +38 -41
  132. package/cypress/e2e/ILC/Matching/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +98 -0
  133. package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +210 -0
  134. package/cypress/e2e/ILC/Matching/checkAlternativeButton.js +38 -0
  135. package/cypress/e2e/ILC/Matching/clickAndDrop.js +5 -5
  136. package/cypress/e2e/ILC/Matching/draggableOptions.js +7 -0
  137. package/cypress/e2e/ILC/Matching/editQuestion.smoke.js +3 -2
  138. package/cypress/e2e/ILC/Matching/editTabBasicSection.js +41 -0
  139. package/cypress/e2e/ILC/Matching/headerSection.js +38 -12
  140. package/cypress/e2e/ILC/Matching/questionInstructionsAndPromptSection.js +2 -15
  141. package/cypress/e2e/ILC/Matching/studentViewSettings.js +2 -0
  142. package/cypress/e2e/ILC/Matching/studentViewSettingsForGroupedLayout.js +1 -1
  143. package/cypress/e2e/ILC/MatchingDropdown/Scoring/blankResponseScoring.js +6 -6
  144. package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +208 -0
  145. package/cypress/e2e/ILC/MultipleSelection/allOrNothingBasicForAllViews.smoke.js +2 -1
  146. package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswer.js +1 -0
  147. package/cypress/e2e/ILC/MultipleSelectionGridNew/previewContentsForAllViews.smoke.js +100 -69
  148. package/cypress/e2e/ILC/MultipleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +1 -0
  149. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +79 -0
  150. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +42 -0
  151. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +42 -0
  152. package/cypress/e2e/ILC/NumberLine/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +75 -0
  153. package/cypress/e2e/ILC/NumberLine/checkAddAlternativeButton.js +32 -0
  154. package/cypress/e2e/ILC/NumberLine/editTabSection.js +38 -0
  155. package/cypress/e2e/ILC/NumberLine/headerSection.js +33 -4
  156. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +81 -0
  157. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +43 -0
  158. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +43 -0
  159. package/cypress/e2e/ILC/NumberLineLabel/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +76 -0
  160. package/cypress/e2e/ILC/NumberLineLabel/additionalSettingsBasic.js +1 -1
  161. package/cypress/e2e/ILC/NumberLineLabel/checkAddAlternativeButton.js +34 -0
  162. package/cypress/e2e/ILC/NumberLineLabel/editTabSection.js +38 -0
  163. package/cypress/e2e/ILC/NumberLineLabel/headerSection.js +37 -5
  164. package/cypress/e2e/ILC/NumberLineLabel/manuallyAndNonScoredEditTab.js +2 -1
  165. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/editQuestion.smoke.js +1 -1
  166. package/cypress/e2e/ILC/ShortTextResponseNew/allOrNothingBasicForAllViews.smoke.js +186 -0
  167. package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +35 -51
  168. package/cypress/e2e/ILC/ShortTextResponseNew/headerSection.js +2 -4
  169. package/cypress/e2e/ILC/SingleSelectionGridNew/previewContentsForAllViews.smoke.js +101 -70
  170. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +86 -0
  171. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +86 -0
  172. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  173. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +3 -1
  174. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  175. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  176. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsScoringBasic.js +10 -3
  177. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +4 -2
  178. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +5 -3
  179. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  180. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsScoringBasic.js +4 -0
  181. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +64 -0
  182. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAddEvaluation.js +2 -0
  183. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAlternateAnswer.js +2 -0
  184. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +64 -0
  185. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  186. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  187. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  188. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  189. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsScoringBasic.js +8 -0
  190. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  191. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  192. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  193. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasic.js +1 -0
  194. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasicForAlternateAnswer.js +2 -0
  195. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +2 -0
  196. package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +27 -3
  197. package/cypress/e2e/ILC/TextEntryMath/headerSection.js +43 -0
  198. package/cypress/e2e/ILC/TextSelection/ScoringParagraph/checkScoringLabelBannerAndCorrectAnswerSection.js +0 -1
  199. package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +231 -0
  200. package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyPossibleOptionsSection.js +7 -12
  201. package/cypress/e2e/ILC/ThinkSphere/createReviewItem.js +54 -1
  202. package/cypress/e2e/ILC/ThinkSphere/editTabBasicSection.js +53 -2
  203. package/cypress/e2e/ILC/ThinkSphere/editThinkSphereQuestion.smoke.js +145 -54
  204. package/cypress/e2e/ILC/ThinkSphere/equationEditorCreateCustomCategory.smoke.js +417 -0
  205. package/cypress/e2e/ILC/ThinkSphere/equationEditorEditCategoryFlyOut.js +291 -0
  206. package/cypress/e2e/ILC/ThinkSphere/planPhase.js +91 -9
  207. package/cypress/e2e/ILC/ThinkSphere/previewTabPlanSection.js +12 -12
  208. package/cypress/e2e/ILC/ThinkSphere/previewTabReviewSection.js +97 -0
  209. package/cypress/e2e/ILC/ThinkSphere/solvePhase.js +35 -2
  210. package/cypress/e2e/ILC/ThinkSphere/studentViewPlanTabSection.js +393 -0
  211. package/cypress/e2e/ILC/ThinkSphere/studentViewReviewTabSection.js +141 -0
  212. package/cypress/e2e/ILC/ToolAudioPlayerNew/headerSection.js +90 -2
  213. package/cypress/e2e/ILC/UploadResponse/editTabBasicSection.js +34 -0
  214. package/cypress/e2e/ILC/UploadResponse/headerSection.js +38 -1
  215. package/cypress/e2e/ILC/UploadResponse/uploadResponsePreview.js +50 -13
  216. package/cypress/e2e/ILC/VideoResponseNew/editTabBasicSection.js +14 -29
  217. package/cypress/e2e/ILC/chartsDotsPlot/headerSection.js +16 -1
  218. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsBasic.js +27 -28
  219. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +31 -30
  220. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +24 -24
  221. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +39 -37
  222. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsBasic.js +22 -23
  223. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +31 -30
  224. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +25 -24
  225. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +31 -31
  226. package/cypress/e2e/ILC/chartsDotsPlot/scoring/toleranceThresholdScoring.js +18 -19
  227. package/cypress/e2e/ILC/chartsDotsPlot/specifyCorrectAnswerSection.js +96 -0
  228. package/cypress/e2e/Sessions/fetchResponses.js +3 -3
  229. package/cypress/e2e/Sessions/saveResponseScores.js +2 -2
  230. package/cypress/pages/audioPlayerPage.js +47 -22
  231. package/cypress/pages/brainingCampManipulativePage.js +1 -1
  232. package/cypress/pages/chartsBarPage.js +45 -0
  233. package/cypress/pages/chartsDotPlotPage.js +25 -0
  234. package/cypress/pages/chartsLinePage.js +28 -3
  235. package/cypress/pages/components/additionalSettingsPanel.js +1 -0
  236. package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +5 -1
  237. package/cypress/pages/components/browseItemsPage.js +109 -2
  238. package/cypress/pages/components/chartsCommonComponent.js +6 -2
  239. package/cypress/pages/components/ckEditorEquationEditorComponent.js +5 -4
  240. package/cypress/pages/components/ckEditorInsertImageComponent.js +2 -2
  241. package/cypress/pages/components/ckEditorInsertTableComponent.js +3 -3
  242. package/cypress/pages/components/ckEditorLinkComponent.js +8 -9
  243. package/cypress/pages/components/colorPopupComponent.js +6 -0
  244. package/cypress/pages/components/commonComponents.js +4 -0
  245. package/cypress/pages/components/createQuestionBasePage.js +14 -1
  246. package/cypress/pages/components/draggableOptionsSectionComponent.js +2 -0
  247. package/cypress/pages/components/editCategoryFlyout.js +2 -2
  248. package/cypress/pages/components/equationEditorSectionCommonComponent.js +10 -25
  249. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +28 -0
  250. package/cypress/pages/components/gridQuestionCommonComponent.js +55 -2
  251. package/cypress/pages/components/imageCanvasComponent.js +4 -4
  252. package/cypress/pages/components/questionInstructionsComponent.js +2 -0
  253. package/cypress/pages/components/scoringSectionBaseEditTab.js +3 -0
  254. package/cypress/pages/components/specifyRowsAndColumnsComponent.js +7 -1
  255. package/cypress/pages/contentBlocksPage.js +2 -0
  256. package/cypress/pages/desmos3DGraphingPage.js +149 -4
  257. package/cypress/pages/desmosGeometryPage.js +184 -4
  258. package/cypress/pages/drawingResponsePage.js +2 -0
  259. package/cypress/pages/fillInTheGapsDragAndDropPage.js +3 -4
  260. package/cypress/pages/gradingGridViewPage.js +64 -0
  261. package/cypress/pages/graphingPage.js +27 -8
  262. package/cypress/pages/gridFillPage.js +15 -6
  263. package/cypress/pages/imageHighlightPage.js +32 -0
  264. package/cypress/pages/index.js +1 -0
  265. package/cypress/pages/listOrderingPage.js +40 -1
  266. package/cypress/pages/matchingPage.js +26 -7
  267. package/cypress/pages/numberLineLabelPage.js +31 -8
  268. package/cypress/pages/numberLinePage.js +19 -7
  269. package/cypress/pages/singleSelectionPage.js +30 -1
  270. package/cypress/pages/textEntryMathPage.js +24 -1
  271. package/cypress/pages/thinkSpherePage.js +674 -48
  272. package/cypress/pages/uploadResponsePage.js +17 -1
  273. package/cypress/pages/videoResponsePage.js +3 -0
  274. package/cypress/support/commands.js +9 -0
  275. package/cypress/support/helpers/createItem.js +22 -3
  276. package/cypress/support/helpers/utilities.js +14 -1
  277. package/package.json +3 -3
  278. /package/cypress/e2e/ILC/{ChartsDotsPlot → chartsDotsPlot}/checkAnswerFunctionalityForAllViews.js +0 -0
  279. /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 = {