itemengine-cypress-automation 1.0.355 → 1.0.356-capture-image-8b4830c.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 (250) hide show
  1. package/Dockerfile +1 -0
  2. package/cypress/e2e/ILC/AudioResponseNew/editTabBasicSection.js +4 -16
  3. package/cypress/e2e/ILC/BrainingCampManipulative/editTabBasicSection.js +1 -1
  4. package/cypress/e2e/ILC/BrowseItems/browseReviewItems.js +49 -11
  5. package/cypress/e2e/ILC/BrowseItems/browseThinkSphereItems.js +4 -3
  6. package/cypress/e2e/ILC/BrowseItems/browseThinkSphereItemsMobileView.js +4 -3
  7. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/gradingViewAndCorrectAnswerView.smoke.js +1 -1
  8. package/cypress/e2e/ILC/ChartsBar/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +33 -0
  9. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightBasic.js +2 -2
  10. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +1 -0
  11. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +1 -0
  12. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +1 -0
  13. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -0
  14. package/cypress/e2e/ILC/ChartsBar/editTabBasicSection.js +37 -0
  15. package/cypress/e2e/ILC/ChartsBar/headerSection.js +50 -2
  16. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightBasic.js +1 -0
  17. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +1 -0
  18. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +1 -0
  19. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +1 -0
  20. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -0
  21. package/cypress/e2e/ILC/ChartsLine/editQuestion.smoke.js +3 -1
  22. package/cypress/e2e/ILC/ChartsLine/headerSection.js +18 -1
  23. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddFeatureRadioButton.js +2 -3
  24. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddTranscriptRadioButton .js +2 -4
  25. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabStudentViewSettings.js +3 -3
  26. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerHeaderSectionAndButtons.js +2 -2
  27. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTab.js +1 -1
  28. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabSupportedFileTypes.js +6 -0
  29. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabTranscript.js +2 -3
  30. package/cypress/e2e/ILC/CkEditorEquationEditor/equationEditorBasicFile.js +4 -4
  31. package/cypress/e2e/ILC/CkEditorInsertImage/imageInfo.js +4 -4
  32. package/cypress/e2e/ILC/CkEditorInsertTable/tableDimension&FooterProperties.js +3 -3
  33. package/cypress/e2e/ILC/CkEditorInsertTable/tableStyle.js +11 -11
  34. package/cypress/e2e/ILC/CkEditorLink/uploadSection.js +1 -1
  35. package/cypress/e2e/ILC/ContentBlocks/editTabBasics.js +62 -4
  36. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +119 -10
  37. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabScoring.js +1 -0
  38. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/headerSection.js +2 -0
  39. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/manuallyAndNonScoredScoringEditTab.js +4 -1
  40. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +3 -0
  41. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/pagination.js +1 -1
  42. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/styleAndLayoutCustomizationLayoutProperties.js +3 -0
  43. package/cypress/e2e/ILC/DrawingResponse/drawingResponseAdditionalSettings.js +1 -0
  44. package/cypress/e2e/ILC/DrawingResponse/drawingResponseBackground.js +2 -8
  45. package/cypress/e2e/ILC/DrawingResponse/drawingResponseCustomizeAdditionalOptions.js +1 -0
  46. package/cypress/e2e/ILC/DrawingResponse/drawingResponseEditTabBasicSection.js +3 -3
  47. package/cypress/e2e/ILC/DrawingResponse/drawingResponsePreviewTabContents.smoke.js +1 -3
  48. package/cypress/e2e/ILC/EssayResponse/createCustomCategory.smoke.js +1 -1
  49. package/cypress/e2e/ILC/EssayResponse/editCategoryFlyout.js +0 -1
  50. package/cypress/e2e/ILC/EssayResponse/editTabBasicSections.js +23 -37
  51. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +210 -0
  52. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editQuestion.smoke.js +40 -0
  53. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +216 -0
  54. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editQuestion.smoke.js +45 -0
  55. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/allOrNothingForAllViews.smoke.js +213 -0
  56. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/backgroundImageAndCanvasProperties.js +1 -0
  57. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/supportedFileTypes.js +3 -1
  58. package/cypress/e2e/ILC/FillInTheGapsTextNew/allOrNothingForAllViews.smoke.js +207 -0
  59. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +73 -0
  60. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +38 -0
  61. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +38 -0
  62. package/cypress/e2e/ILC/Graphing/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +87 -0
  63. package/cypress/e2e/ILC/Graphing/checkAddAlternativeButton.js +35 -0
  64. package/cypress/e2e/ILC/Graphing/editQuestion.smoke.js +28 -0
  65. package/cypress/e2e/ILC/Graphing/editTabBasicSection.js +38 -0
  66. package/cypress/e2e/ILC/Graphing/editTabScoringSection.js +1 -0
  67. package/cypress/e2e/ILC/Graphing/headerSection.js +36 -4
  68. package/cypress/e2e/ILC/Graphing/layoutAndGridOptions.js +6 -3
  69. package/cypress/e2e/ILC/GridFill/addAlternateButton.js +40 -0
  70. package/cypress/e2e/ILC/GridFill/customizeLayoutFillImageBackgroundImage.js +5 -6
  71. package/cypress/e2e/ILC/GridFill/customizeLayoutSectionShadeCellsGridBorders.js +2 -0
  72. package/cypress/e2e/ILC/GridFill/editTabScoringSection.js +3 -0
  73. package/cypress/e2e/ILC/GridFill/headerSection.js +1 -3
  74. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +39 -0
  75. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  76. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +39 -0
  77. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountAllOrNothingCorrectPointsGreaterThanAlternativePoints.js +37 -0
  78. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountallOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  79. package/cypress/e2e/ILC/GridFill/scoring/cellshadeCountAllOrNothingAlternativePointsGreaterThanCorrectPoints.js +36 -0
  80. package/cypress/e2e/ILC/GridFill/scoring/checkLabelSaveAsYouGo.js +75 -0
  81. package/cypress/e2e/ILC/GridFill/specifyCorrectAnswerSection.js +2 -4
  82. package/cypress/e2e/ILC/ImageHighlight/Scoring/partialDifferentWeightsScoring.js +2 -1
  83. package/cypress/e2e/ILC/ImageHighlight/headerSection.js +2 -1
  84. package/cypress/e2e/ILC/ImageHighlight/studentViewSettings.js +2 -2
  85. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +24 -0
  86. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +24 -0
  87. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +24 -0
  88. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +86 -0
  89. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +1 -1
  90. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +1 -1
  91. package/cypress/e2e/ILC/ListOrderingDropdown/checkAddAlternativeButton.js +35 -0
  92. package/cypress/e2e/ILC/ListOrderingDropdown/editTabBasicSection.js +24 -0
  93. package/cypress/e2e/ILC/ListOrderingDropdown/headerSection.js +108 -0
  94. package/cypress/e2e/ILC/ListOrderingDropdown/specifyCorrectAnswerSection.js +6 -10
  95. package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/specifyCorrectAnswerSection.js +2 -1
  96. package/cypress/e2e/ILC/ListOrderingNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +52 -0
  97. package/cypress/e2e/ILC/ListOrderingNew/editTabBasicSection.js +23 -0
  98. package/cypress/e2e/ILC/ListOrderingNew/headerSection.js +35 -9
  99. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +41 -0
  100. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +30 -0
  101. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +50 -0
  102. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +101 -0
  103. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/checkAddAlternativeButton.js +38 -0
  104. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabBasicSection.js +24 -0
  105. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabScoring.js +4 -1
  106. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/headerSection.js +35 -1
  107. package/cypress/e2e/ILC/Matching/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +98 -0
  108. package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +210 -0
  109. package/cypress/e2e/ILC/Matching/checkAlternativeButton.js +38 -0
  110. package/cypress/e2e/ILC/Matching/clickAndDrop.js +3 -5
  111. package/cypress/e2e/ILC/Matching/draggableOptions.js +4 -0
  112. package/cypress/e2e/ILC/Matching/editTabBasicSection.js +41 -0
  113. package/cypress/e2e/ILC/Matching/headerSection.js +36 -11
  114. package/cypress/e2e/ILC/Matching/questionInstructionsAndPromptSection.js +2 -15
  115. package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +208 -0
  116. package/cypress/e2e/ILC/MultipleSelection/allOrNothingBasicForAllViews.smoke.js +227 -0
  117. package/cypress/e2e/ILC/MultipleSelection/checkScoringLabelBannerAndCorrectAnswer.js +2 -0
  118. package/cypress/e2e/ILC/MultipleSelection/editTabScoringSection.js +1 -0
  119. package/cypress/e2e/ILC/MultipleSelection/partialDifferentWeightsWithAlternativeAnswer.js +69 -67
  120. package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswer.js +1 -0
  121. package/cypress/e2e/ILC/MultipleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +220 -0
  122. package/cypress/e2e/ILC/MultipleSelectionGridNew/editTabScoringSection.js +6 -0
  123. package/cypress/e2e/ILC/MultipleSelectionGridNew/previewContentsForAllViews.smoke.js +100 -69
  124. package/cypress/e2e/ILC/MultipleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +1 -0
  125. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +79 -0
  126. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +42 -0
  127. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +42 -0
  128. package/cypress/e2e/ILC/NumberLine/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +75 -0
  129. package/cypress/e2e/ILC/NumberLine/checkAddAlternativeButton.js +32 -0
  130. package/cypress/e2e/ILC/NumberLine/editTabSection.js +38 -0
  131. package/cypress/e2e/ILC/NumberLine/headerSection.js +33 -4
  132. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +81 -0
  133. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +43 -0
  134. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +43 -0
  135. package/cypress/e2e/ILC/NumberLineLabel/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +76 -0
  136. package/cypress/e2e/ILC/NumberLineLabel/additionalSettingsBasic.js +1 -1
  137. package/cypress/e2e/ILC/NumberLineLabel/checkAddAlternativeButton.js +34 -0
  138. package/cypress/e2e/ILC/NumberLineLabel/editTabSection.js +38 -0
  139. package/cypress/e2e/ILC/NumberLineLabel/headerSection.js +37 -5
  140. package/cypress/e2e/ILC/NumberLineLabel/manuallyAndNonScoredEditTab.js +2 -1
  141. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/editQuestion.smoke.js +1 -1
  142. package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +35 -51
  143. package/cypress/e2e/ILC/ShortTextResponseNew/headerSection.js +2 -4
  144. package/cypress/e2e/ILC/SingleSelection/allOrNothingBasicForAllViews.smoke.js +192 -0
  145. package/cypress/e2e/ILC/SingleSelection/checkScoringLabelBannerAndCorrectAnswer.js +2 -0
  146. package/cypress/e2e/ILC/SingleSelection/manuallyAndNonScoredScoring.js +94 -88
  147. package/cypress/e2e/ILC/SingleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +3 -1
  148. package/cypress/e2e/ILC/SingleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +209 -0
  149. package/cypress/e2e/ILC/SingleSelectionGridNew/editTabScoringSection.js +5 -0
  150. package/cypress/e2e/ILC/SingleSelectionGridNew/previewContentsForAllViews.smoke.js +101 -70
  151. package/cypress/e2e/ILC/SingleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +8 -2
  152. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +86 -0
  153. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +86 -0
  154. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  155. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +3 -1
  156. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  157. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  158. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsScoringBasic.js +10 -3
  159. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +4 -2
  160. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +5 -3
  161. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  162. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsScoringBasic.js +4 -0
  163. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +64 -0
  164. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAddEvaluation.js +2 -0
  165. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAlternateAnswer.js +2 -0
  166. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +64 -0
  167. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  168. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  169. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  170. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  171. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsScoringBasic.js +8 -0
  172. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  173. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  174. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  175. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasic.js +1 -0
  176. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasicForAlternateAnswer.js +2 -0
  177. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +2 -0
  178. package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +27 -3
  179. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodEquivalentStructures.smoke.js +86 -0
  180. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchExact.smoke.js +97 -0
  181. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchValue.smoke.js +97 -0
  182. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodSymbolsAreEquivalent.smoke.js +167 -0
  183. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodValueIsEquivalent.smoke.js +167 -1
  184. package/cypress/e2e/ILC/TextEntryMath/headerSection.js +43 -0
  185. package/cypress/e2e/ILC/TextSelection/ScoringParagraph/checkScoringLabelBannerAndCorrectAnswerSection.js +0 -1
  186. package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyPossibleOptionsSection.js +7 -12
  187. package/cypress/e2e/ILC/ThinkSphere/additionalSettings.js +1 -1
  188. package/cypress/e2e/ILC/ThinkSphere/createReviewItem.js +58 -4
  189. package/cypress/e2e/ILC/ThinkSphere/editTabBasicSection.js +208 -13
  190. package/cypress/e2e/ILC/ThinkSphere/editThinkSphereQuestion.smoke.js +259 -9
  191. package/cypress/e2e/ILC/ThinkSphere/equationEditorCreateCustomCategory.smoke.js +417 -0
  192. package/cypress/e2e/ILC/ThinkSphere/equationEditorEditCategoryFlyOut.js +291 -0
  193. package/cypress/e2e/ILC/ThinkSphere/planPhase.js +409 -4
  194. package/cypress/e2e/ILC/ThinkSphere/previewTabPlanSection.js +541 -0
  195. package/cypress/e2e/ILC/ThinkSphere/previewTabReviewSection.js +97 -0
  196. package/cypress/e2e/ILC/ThinkSphere/solvePhase.js +39 -6
  197. package/cypress/e2e/ILC/ThinkSphere/studentViewPlanTabSection.js +393 -0
  198. package/cypress/e2e/ILC/ThinkSphere/studentViewReviewTabSection.js +141 -0
  199. package/cypress/e2e/ILC/ToolAudioPlayerNew/headerSection.js +90 -2
  200. package/cypress/e2e/ILC/UploadResponse/editTabBasicSection.js +34 -0
  201. package/cypress/e2e/ILC/UploadResponse/headerSection.js +38 -1
  202. package/cypress/e2e/ILC/UploadResponse/uploadResponsePreview.js +50 -13
  203. package/cypress/e2e/ILC/VideoResponseNew/editTabBasicSection.js +14 -29
  204. package/cypress/e2e/ILC/chartsDotsPlot/headerSection.js +16 -1
  205. package/cypress/e2e/Sessions/fetchResponses.js +3 -3
  206. package/cypress/e2e/applitools.config.js +3 -3
  207. package/cypress/fixtures/theme/ilc.json +5 -1
  208. package/cypress/fixtures/uploads/sample.webm +0 -0
  209. package/cypress/fixtures/uploads/sample.wmv +0 -0
  210. package/cypress/fixtures/uploads/sample30MB.mp4 +0 -0
  211. package/cypress/pages/audioPlayerPage.js +47 -22
  212. package/cypress/pages/brainingCampManipulativePage.js +1 -1
  213. package/cypress/pages/chartsBarPage.js +20 -0
  214. package/cypress/pages/components/additionalSettingsPanel.js +3 -2
  215. package/cypress/pages/components/autoScoredScoringSectionMultiResponseType.js +2 -0
  216. package/cypress/pages/components/browseItemsPage.js +109 -2
  217. package/cypress/pages/components/ckEditorEquationEditorComponent.js +5 -4
  218. package/cypress/pages/components/ckEditorInsertImageComponent.js +2 -2
  219. package/cypress/pages/components/ckEditorInsertTableComponent.js +3 -3
  220. package/cypress/pages/components/ckEditorLinkComponent.js +8 -9
  221. package/cypress/pages/components/commonComponents.js +4 -0
  222. package/cypress/pages/components/createQuestionBasePage.js +14 -1
  223. package/cypress/pages/components/defaultToolDropdown.js +1 -1
  224. package/cypress/pages/components/editCategoryFlyout.js +2 -2
  225. package/cypress/pages/components/equationEditorSectionCommonComponent.js +10 -25
  226. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +28 -0
  227. package/cypress/pages/components/gridQuestionCommonComponent.js +56 -0
  228. package/cypress/pages/components/mcqAdditionalSettingsBase.js +4 -0
  229. package/cypress/pages/components/questionInstructionsComponent.js +9 -0
  230. package/cypress/pages/components/scoringSectionBaseEditTab.js +4 -0
  231. package/cypress/pages/contentBlocksPage.js +2 -0
  232. package/cypress/pages/desmos3DGraphingPage.js +149 -4
  233. package/cypress/pages/desmosGeometryPage.js +184 -4
  234. package/cypress/pages/drawingResponsePage.js +2 -0
  235. package/cypress/pages/gradingViewPage.js +8 -0
  236. package/cypress/pages/graphingPage.js +27 -8
  237. package/cypress/pages/gridFillPage.js +15 -6
  238. package/cypress/pages/listOrderingPage.js +32 -1
  239. package/cypress/pages/matchingPage.js +26 -7
  240. package/cypress/pages/multipleSelectionPage.js +9 -1
  241. package/cypress/pages/numberLineLabelPage.js +31 -8
  242. package/cypress/pages/numberLinePage.js +19 -7
  243. package/cypress/pages/textEntryMathPage.js +24 -1
  244. package/cypress/pages/thinkSpherePage.js +925 -47
  245. package/cypress/pages/uploadResponsePage.js +17 -1
  246. package/cypress/pages/videoResponsePage.js +3 -0
  247. package/cypress/support/commands.js +9 -0
  248. package/cypress/support/helpers/createItem.js +668 -19
  249. package/cypress/support/helpers/utilities.js +35 -2
  250. package/package.json +3 -3
@@ -209,6 +209,222 @@ describe('Create item page - Fill in the gaps over image - drag and drop: All or
209
209
  });
210
210
  });
211
211
 
212
+ views.forEach((view) => {
213
+ describe(`Fill in the Gaps over Image Drag and drop - Manually scored: ${view}`, { tags: 'smoke' }, () => {
214
+ abortEarlySetup();
215
+ before(() => {
216
+ switch (view) {
217
+ case 'Question preview':
218
+ fillInTheGapsOverImageDragAndDropPage.steps.navigateToCreateQuestion('fill in the gaps over image with drag and drop');
219
+ cy.barsPreLoaderWait();
220
+ fillInTheGapsOverImageDragAndDropPage.steps.addTextInQuestionInstructionsInputField('Drag and drop options into correct dropzone over the image');
221
+ fillInTheGapsOverImageDragAndDropPage.steps.expandScoringTypeDropdown();
222
+ fillInTheGapsOverImageDragAndDropPage.steps.selectOptionFromScoringTypeDropdown('Manually scored');
223
+ fillInTheGapsOverImageDragAndDropPage.steps.uploadFile('highlightImage.jpg');
224
+ fillInTheGapsOverImageDragAndDropPage.steps.insertResponseArea(10);
225
+ fillInTheGapsOverImageDragAndDropPage.steps.insertResponseArea(40);
226
+ fillInTheGapsOverImageDragAndDropPage.steps.insertResponseArea(80);
227
+ fillInTheGapsOverImageDragAndDropPage.steps.allotPoints(20);
228
+ fillInTheGapsOverImageDragAndDropPage.steps.addMultipleOptionFields(2);
229
+ fillInTheGapsOverImageDragAndDropPage.steps.addInputToOptionsInputField(['Petals', 'Leaves', 'Roots', 'Stem']);
230
+ fillInTheGapsOverImageDragAndDropPage.steps.switchToPreviewTab();
231
+ break;
232
+ case 'Item preview':
233
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
234
+ itemPreviewPage.steps.switchToPreviewTab();
235
+ break;
236
+ case 'Grading view':
237
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
238
+ break;
239
+ };
240
+ });
241
+
242
+ beforeEach(() => {
243
+ switch (view) {
244
+ case 'Question preview':
245
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
246
+ fillInTheGapsOverImageDragAndDropPage.steps.resetQuestionPreview();
247
+ break;
248
+ case 'Item preview':
249
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
250
+ itemPreviewPage.steps.resetQuestionPreview();
251
+ break;
252
+ case 'Grading view':
253
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
254
+ break;
255
+ }
256
+ });
257
+
258
+ if (view === 'Question preview') {
259
+ after(() => {
260
+ fillInTheGapsOverImageDragAndDropPage.steps.clickOnSaveQuestionButton();
261
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
262
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
263
+ });
264
+ };
265
+
266
+ it('Question instructions should be visible', () => {
267
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyQuestionInstructionsTextPreviewTab('Drag and drop options into correct dropzone over the image');
268
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyVisibityOfQuestionInstructionsText();
269
+ });
270
+
271
+ it('User should be able to attempt the question in student view, and correct/incorrect icons, "Your answer is correct/incorrect" label, and correct answer section should not be displayed in grading view', () => {
272
+ fillInTheGapsOverImageDragAndDropPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Petals': 0, 'Leaves': 1, 'Roots': 2 });
273
+ if (view === 'Grading view') {
274
+ studentViewPage.steps.submitResponse();
275
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
276
+ studentViewPage.steps.clickOnGoToGradingViewButton();
277
+ gradingViewPage.steps.verifyGradingViewScore('', 20);
278
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectIncorrectIconNotExist(0);
279
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectIncorrectIconNotExist(1);
280
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectIncorrectIconNotExist(2);
281
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyAnswerStatusBannerNotExist();
282
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectAnswerSectionNotExist();
283
+ };
284
+ if (view === 'Question preview' || view === 'Item preview') {
285
+ fillInTheGapsOverImageDragAndDropPage.steps.checkManuallyScoredScoringLabel();
286
+ };
287
+ });
288
+ });
289
+ });
290
+
291
+ views.forEach((view) => {
292
+ describe(`Fill in the Gaps Over Image Drag and drop - Non scored: ${view}`, { tags: 'smoke' }, () => {
293
+ abortEarlySetup();
294
+ before(() => {
295
+ switch (view) {
296
+ case 'Question preview':
297
+ fillInTheGapsOverImageDragAndDropPage.steps.navigateToCreateQuestion('fill in the gaps over image with drag and drop');
298
+ cy.barsPreLoaderWait();
299
+ fillInTheGapsOverImageDragAndDropPage.steps.addTextInQuestionInstructionsInputField('Drag and drop options into correct dropzones over the image');
300
+ fillInTheGapsOverImageDragAndDropPage.steps.uploadFile('highlightImage.jpg');
301
+ fillInTheGapsOverImageDragAndDropPage.steps.insertResponseArea(10);
302
+ fillInTheGapsOverImageDragAndDropPage.steps.insertResponseArea(40);
303
+ fillInTheGapsOverImageDragAndDropPage.steps.insertResponseArea(80);
304
+ fillInTheGapsOverImageDragAndDropPage.steps.addMultipleOptionFields(2);
305
+ fillInTheGapsOverImageDragAndDropPage.steps.addInputToOptionsInputField(['Petals', 'Leaves', 'Roots', 'Stem']);
306
+ fillInTheGapsOverImageDragAndDropPage.steps.expandScoringTypeDropdown();
307
+ fillInTheGapsOverImageDragAndDropPage.steps.selectOptionFromScoringTypeDropdown('Non scored');
308
+ fillInTheGapsOverImageDragAndDropPage.steps.clickAndDropOptionInDropzoneSpecifyCorrectAnswerSection({ 'Petals': 0, 'Leaves': 1, 'Stem': 2 });
309
+ fillInTheGapsOverImageDragAndDropPage.steps.switchToPreviewTab();
310
+ break;
311
+ case 'Item preview':
312
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
313
+ itemPreviewPage.steps.switchToPreviewTab();
314
+ break;
315
+ case 'Grading view':
316
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
317
+ break;
318
+ };
319
+ });
320
+
321
+ beforeEach(() => {
322
+ switch (view) {
323
+ case 'Question preview':
324
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
325
+ fillInTheGapsOverImageDragAndDropPage.steps.resetQuestionPreview();
326
+ break;
327
+ case 'Item preview':
328
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
329
+ itemPreviewPage.steps.resetQuestionPreview();
330
+ break;
331
+ case 'Grading view':
332
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
333
+ break;
334
+ }
335
+ });
336
+
337
+ if (view === 'Question preview') {
338
+ after(() => {
339
+ fillInTheGapsOverImageDragAndDropPage.steps.clickOnSaveQuestionButton();
340
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
341
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
342
+ });
343
+ };
344
+
345
+ it('When the user selects "Grading" view without attempting the question, non-scoring label should be displayed, correct/incorrect status message should not be displayed, correct answers section with a label "Correct answers" should be displayed with correct answers and correct/incorrect icons should not be displayed', () => {
346
+ if (view === 'Grading view') {
347
+ studentViewPage.steps.submitResponse();
348
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
349
+ studentViewPage.steps.clickOnGoToGradingViewButton();
350
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
351
+ };
352
+ if (view === 'Question preview' || view === 'Item preview') {
353
+ fillInTheGapsOverImageDragAndDropPage.steps.checkNonScoredScoringLabel();
354
+ fillInTheGapsOverImageDragAndDropPage.steps.switchToGradingView();
355
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyPreviewTabPointsBackgroundForIncorrectOrPartiallyCorrectAnswer();
356
+ };
357
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectIncorrectIconsNotExist();
358
+ utilities.verifyInnerText(fillInTheGapsOverImageDragAndDropPage.correctAnswersLabel(), 'Correct answers');
359
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Petals'], ['Leaves'], ['Stem']]);
360
+ });
361
+
362
+ it('When the user attempts the question incorrectly, and on switching to "Grading" view, non-scoring label should be displayed, incorrect icon should be displayed beside incorrect response, a status message with text "Your answer is incorrect" and correct answer section with correct answers should be displayed', () => {
363
+ fillInTheGapsOverImageDragAndDropPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Roots': 0, 'Leaves': 2, 'Stem': 1 });
364
+ if (view === 'Grading view') {
365
+ studentViewPage.steps.submitResponse();
366
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
367
+ studentViewPage.steps.clickOnGoToGradingViewButton();
368
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
369
+ };
370
+ if (view === 'Question preview' || view === 'Item preview') {
371
+ fillInTheGapsOverImageDragAndDropPage.steps.checkNonScoredScoringLabel();
372
+ fillInTheGapsOverImageDragAndDropPage.steps.switchToGradingView();
373
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyPreviewTabPointsBackgroundForIncorrectOrPartiallyCorrectAnswer();
374
+ };
375
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyIncorrectOptionIcon(0);
376
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyIncorrectOptionIcon(1);
377
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyIncorrectOptionIcon(2);
378
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
379
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Petals'], ['Leaves'], ['Stem']]);
380
+ });
381
+
382
+ it('When the user attempts the question partially correct, then the user should be awarded 0 points and on switching to \'Grading\' view, correct icon should be displayed besides the correct answer responses, incorrect icon should be displayed besides incorrect answer response, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers along should be displayed', () => {
383
+ if (view === 'Grading view') {
384
+ studentViewPage.steps.clearResponses();
385
+ };
386
+ fillInTheGapsOverImageDragAndDropPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Petals': 0, 'Leaves': 2, 'Stem': 1 });
387
+ if (view === 'Grading view') {
388
+ studentViewPage.steps.submitResponse();
389
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
390
+ studentViewPage.steps.clickOnGoToGradingViewButton();
391
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
392
+ };
393
+ if (view === 'Question preview' || view === 'Item preview') {
394
+ fillInTheGapsOverImageDragAndDropPage.steps.checkNonScoredScoringLabel();
395
+ fillInTheGapsOverImageDragAndDropPage.steps.switchToGradingView();
396
+ };
397
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectOptionIcon(0);
398
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyIncorrectOptionIcon(1);
399
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyIncorrectOptionIcon(2);
400
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
401
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Petals'], ['Leaves'], ['Stem']]);
402
+ });
403
+
404
+ it('When the user attempts the question correctly, and on switching to "Grading" view, non-scoring label should be displayed, correct icons should be displayed beside the correct response, a status message with text "Your answer is correct" should be displayed and correct answer section should not be displayed', () => {
405
+ if (view === 'Grading view') {
406
+ studentViewPage.steps.clearResponses();
407
+ };
408
+ fillInTheGapsOverImageDragAndDropPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Petals': 0, 'Leaves': 1, 'Stem': 2 });
409
+ if (view === 'Grading view') {
410
+ studentViewPage.steps.submitResponse();
411
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
412
+ studentViewPage.steps.clickOnGoToGradingViewButton();
413
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
414
+ };
415
+ if (view === 'Question preview' || view === 'Item preview') {
416
+ fillInTheGapsOverImageDragAndDropPage.steps.checkNonScoredScoringLabel();
417
+ fillInTheGapsOverImageDragAndDropPage.steps.switchToGradingView();
418
+ };
419
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectOptionIcon(0);
420
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectOptionIcon(1);
421
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectOptionIcon(2);
422
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
423
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectAnswerSectionNotExists();
424
+ });
425
+ });
426
+ });
427
+
212
428
  if (!grepTags || !grepTags.includes('smoke')) {
213
429
  describe('Question preview: Auto scored - All or nothing: Minimum scoring', () => {
214
430
  abortEarlySetup();
@@ -7,6 +7,8 @@ const optionsForDropdown1 = ['Flower', 'Petal', 'Stem', 'Branch'];
7
7
  const optionsForDropdown2 = ['Leaf', 'Leaves', 'Stem', 'Seed'];
8
8
  const correctAnswerArray = ['Flower', 'Leaf'];
9
9
  const correctAnswerArray1 = ['Leaves', 'Petal'];
10
+ const equalitySign = ['=', '≠', '>', '<'];
11
+ const equalitySign1 = ['≠', '≥', '≤', '='];
10
12
 
11
13
  describe('Edit item - ', () => {
12
14
  before(() => {
@@ -69,4 +71,47 @@ describe('Edit item - ', () => {
69
71
  fillInTheGapsOverImageDropdownPage.steps.saveAQuestionAndVerifySnackbar();
70
72
  });
71
73
  });
74
+
75
+ //https://weldnorthed.atlassian.net/browse/IEI-6059
76
+ describe('Fill in the gaps with dropdown question - equality sign functionality', () => {
77
+ abortEarlySetup();
78
+ before(() => {
79
+ fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image with dropdown');
80
+ cy.barsPreLoaderWait();
81
+ fillInTheGapsOverImageDropdownPage.steps.addTextInQuestionInstructionsInputField('Fill in the gaps over image with dropdown');
82
+ fillInTheGapsOverImageDropdownPage.steps.allotPoints(20);
83
+ fillInTheGapsOverImageDropdownPage.steps.uploadFile('highlightImage.jpg');
84
+ fillInTheGapsOverImageDropdownPage.steps.verifyImageIsUploaded();
85
+ fillInTheGapsOverImageDropdownPage.steps.insertResponseArea(30);
86
+ fillInTheGapsOverImageDropdownPage.steps.insertResponseArea(40);
87
+ fillInTheGapsOverImageDropdownPage.steps.allotPoints(20);
88
+ fillInTheGapsOverImageDropdownPage.steps.addInputToDropdownOptionFields(0, equalitySign);
89
+ fillInTheGapsOverImageDropdownPage.steps.addInputToDropdownOptionFields(1, equalitySign1);
90
+ fillInTheGapsOverImageDropdownPage.steps.selectResponseFromDropdownSpecifyCorrectAnswerSection(0, equalitySign[2]);
91
+ fillInTheGapsOverImageDropdownPage.steps.selectResponseFromDropdownSpecifyCorrectAnswerSection(1, equalitySign1[1]);
92
+ fillInTheGapsOverImageDropdownPage.steps.allotPoints(10);
93
+ fillInTheGapsOverImageDropdownPage.steps.saveAQuestionAndVerifySnackbar();
94
+ });
95
+
96
+ it('When user switches to the preview tab, then the equality signs should be displayed as is in the dropdown and correct answer section', () => {
97
+ fillInTheGapsOverImageDropdownPage.steps.switchToPreviewTab();
98
+ fillInTheGapsOverImageDropdownPage.steps.switchToGradingView();
99
+ fillInTheGapsOverImageDropdownPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([equalitySign[2], equalitySign1[1]]);
100
+ fillInTheGapsOverImageDropdownPage.steps.selectResponseFromDropdownInPreviewTab([{ dropdownIndex: 0, dropdownOption: equalitySign[2] }, { dropdownIndex: 1, dropdownOption: equalitySign1[1] }]);
101
+ });
102
+
103
+ it('User should be able to edit the question and check the options in the options input field', () => {
104
+ fillInTheGapsOverImageDropdownPage.steps.switchToEditTab();
105
+ fillInTheGapsOverImageDropdownPage.steps.editItem();
106
+ fillInTheGapsOverImageDropdownPage.steps.switchToEditTab();
107
+ fillInTheGapsOverImageDropdownPage.steps.verifyOptionFieldContent(equalitySign);
108
+ fillInTheGapsOverImageDropdownPage.steps.navigateToDropdownOptionsTab(1);
109
+ fillInTheGapsOverImageDropdownPage.steps.verifyOptionFieldContent(equalitySign1);
110
+ });
111
+
112
+ it('The options in the dropdown should be displayed as the options in the input field', () => {
113
+ fillInTheGapsOverImageDropdownPage.steps.verifyDropdownOptionsSpecifyCorrectAnswerSection(0, equalitySign);
114
+ fillInTheGapsOverImageDropdownPage.steps.verifyDropdownOptionsSpecifyCorrectAnswerSection(1, equalitySign1);
115
+ });
116
+ });
72
117
  });
@@ -180,6 +180,219 @@ describe('Create item page - Fill in the gaps over image - text: All or nothing
180
180
  });
181
181
  });
182
182
 
183
+ views.forEach((view) => {
184
+ describe(`Fill in the gaps over image with text - Manually scored: ${view}`, { tags: 'smoke' }, () => {
185
+ abortEarlySetup();
186
+ before(() => {
187
+ switch (view) {
188
+ case 'Question preview':
189
+ fillInTheGapsOverImageTextPage.steps.navigateToCreateQuestion('fill in the gaps over image with text');
190
+ fillInTheGapsOverImageTextPage.steps.addTextInQuestionInstructionsInputField('Fill in the gaps');
191
+ cy.barsPreLoaderWait();
192
+ fillInTheGapsOverImageTextPage.steps.uploadFile('highlightImage.jpg');
193
+ fillInTheGapsOverImageTextPage.steps.verifyImageIsUploaded();
194
+ fillInTheGapsOverImageTextPage.steps.insertResponseArea(10);
195
+ fillInTheGapsOverImageTextPage.steps.insertResponseArea(40);
196
+ fillInTheGapsOverImageTextPage.steps.insertResponseArea(80);
197
+ fillInTheGapsOverImageTextPage.steps.expandScoringTypeDropdown();
198
+ fillInTheGapsOverImageTextPage.steps.selectOptionFromScoringTypeDropdown('Manually scored');
199
+ fillInTheGapsOverImageTextPage.steps.allotPoints(20);
200
+ fillInTheGapsOverImageTextPage.steps.switchToPreviewTab();
201
+ break;
202
+ case 'Item preview':
203
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
204
+ itemPreviewPage.steps.switchToPreviewTab();
205
+ break;
206
+ case 'Grading view':
207
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
208
+ break;
209
+ };
210
+ });
211
+
212
+ beforeEach(() => {
213
+ switch (view) {
214
+ case 'Question preview':
215
+ fillInTheGapsOverImageTextPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
216
+ fillInTheGapsOverImageTextPage.steps.resetQuestionPreview();
217
+ break;
218
+ case 'Item preview':
219
+ fillInTheGapsOverImageTextPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
220
+ itemPreviewPage.steps.resetQuestionPreview();
221
+ break;
222
+ case 'Grading view':
223
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
224
+ break;
225
+ }
226
+ });
227
+
228
+ if (view === 'Question preview') {
229
+ after(() => {
230
+ fillInTheGapsOverImageTextPage.steps.clickOnSaveQuestionButton();
231
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
232
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
233
+ });
234
+ };
235
+
236
+ it('Question instructions should be visible', () => {
237
+ fillInTheGapsOverImageTextPage.steps.verifyQuestionInstructionsTextPreviewTab('Fill in the gaps');
238
+ fillInTheGapsOverImageTextPage.steps.verifyVisibityOfQuestionInstructionsText();
239
+ });
240
+
241
+ it('User should be able to attempt the question in student view and correct/incorrect icons, Your answer is correct/incorrect label, and correct answer section should not be displayed in grading view', () => {
242
+ fillInTheGapsOverImageTextPage.steps.enterTextInAnswerInputFieldsPreviewTab([{ responseIndex: 0, responseText: 'Flower' }, { responseIndex: 1, responseText: 'Leaf' }, { responseIndex: 2, responseText: 'Stem' }]);
243
+ if (view === 'Grading view') {
244
+ studentViewPage.steps.submitResponse();
245
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
246
+ studentViewPage.steps.clickOnGoToGradingViewButton();
247
+ gradingViewPage.steps.verifyGradingViewScore('', 20);
248
+ fillInTheGapsOverImageTextPage.steps.verifyCorrectIncorrectIconNotExist(0);
249
+ fillInTheGapsOverImageTextPage.steps.verifyCorrectIncorrectIconNotExist(1);
250
+ fillInTheGapsOverImageTextPage.steps.verifyCorrectIncorrectIconNotExist(2);
251
+ fillInTheGapsOverImageTextPage.steps.verifyAnswerStatusBannerNotExist();
252
+ fillInTheGapsOverImageTextPage.steps.verifyCorrectAnswerSectionNotExist();
253
+ };
254
+ if (view === 'Question preview' || view === 'Item preview') {
255
+ fillInTheGapsOverImageTextPage.steps.checkManuallyScoredScoringLabel();
256
+ };
257
+ });
258
+ })
259
+ });
260
+
261
+ views.forEach((view) => {
262
+ describe(`Fill in the gaps with text - Non scored: ${view}`, { tags: 'smoke' }, () => {
263
+ abortEarlySetup();
264
+ before(() => {
265
+ switch (view) {
266
+ case 'Question preview':
267
+ fillInTheGapsOverImageTextPage.steps.navigateToCreateQuestion('fill in the gaps over image with text');
268
+ cy.barsPreLoaderWait();
269
+ fillInTheGapsOverImageTextPage.steps.addTextInQuestionInstructionsInputField('Fill in the gaps');
270
+ fillInTheGapsOverImageTextPage.steps.uploadFile('highlightImage.jpg');
271
+ fillInTheGapsOverImageTextPage.steps.verifyImageIsUploaded();
272
+ fillInTheGapsOverImageTextPage.steps.insertResponseArea(30);
273
+ fillInTheGapsOverImageTextPage.steps.insertResponseArea(40);
274
+ fillInTheGapsOverImageTextPage.steps.insertResponseArea(80);
275
+ fillInTheGapsOverImageTextPage.steps.expandScoringTypeDropdown();
276
+ fillInTheGapsOverImageTextPage.steps.selectOptionFromScoringTypeDropdown('Non scored');
277
+ fillInTheGapsOverImageTextPage.steps.enterTextInAnswerInputFieldsSpecifyCorrectAnswerSection([{ responseIndex: 0, responseText: 'Flower' }, { responseIndex: 1, responseText: 'Leaf' }, { responseIndex: 2, responseText: 'Stem' }]);
278
+ fillInTheGapsOverImageTextPage.steps.switchToPreviewTab();
279
+ break;
280
+ case 'Item preview':
281
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
282
+ itemPreviewPage.steps.switchToPreviewTab();
283
+ break;
284
+ case 'Grading view':
285
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
286
+ break;
287
+ };
288
+ });
289
+
290
+ beforeEach(() => {
291
+ switch (view) {
292
+ case 'Question preview':
293
+ fillInTheGapsOverImageTextPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
294
+ fillInTheGapsOverImageTextPage.steps.resetQuestionPreview();
295
+ break;
296
+ case 'Item preview':
297
+ fillInTheGapsOverImageTextPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
298
+ itemPreviewPage.steps.resetQuestionPreview();
299
+ break;
300
+ case 'Grading view':
301
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
302
+ break;
303
+ }
304
+ });
305
+
306
+ if (view === 'Question preview') {
307
+ after(() => {
308
+ fillInTheGapsOverImageTextPage.steps.clickOnSaveQuestionButton();
309
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
310
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
311
+ });
312
+ };
313
+
314
+ it('When the user selects \'Grading\' view without attempting the question, non scoring label should be displayed, correct/incorrect status message should not be displayed, correct answers section with a label \'Correct answers\' should be displayed with correct answers and correct/incorrect icons should not be displayed', () => {
315
+ if (view === 'Grading view') {
316
+ studentViewPage.steps.submitResponse();
317
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
318
+ studentViewPage.steps.clickOnGoToGradingViewButton();
319
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
320
+ };
321
+ if (view === 'Question preview' || view === 'Item preview') {
322
+ fillInTheGapsOverImageTextPage.steps.checkNonScoredScoringLabel();
323
+ fillInTheGapsOverImageTextPage.steps.switchToGradingView();
324
+ fillInTheGapsOverImageTextPage.steps.verifyPreviewTabPointsBackgroundForIncorrectOrPartiallyCorrectAnswer();
325
+ };
326
+ fillInTheGapsOverImageTextPage.steps.verifyResponseAreaNumeration();
327
+ utilities.verifyInnerText(fillInTheGapsOverImageTextPage.correctAnswersLabel(), 'Correct answers');
328
+ fillInTheGapsOverImageTextPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
329
+ fillInTheGapsOverImageTextPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount(['Flower', 'Leaf', 'Stem']);
330
+ });
331
+
332
+ it('When the user attempts the question incorrectly,and on switching to \'Grading\' view non scoring label should be displayed, incorrect icon should be displayed beside incorrect response, a status message with text \'Your answer is incorrect\' and correct answer section with correct answer should be displayed', () => {
333
+ fillInTheGapsOverImageTextPage.steps.enterTextInAnswerInputFieldsPreviewTab([{ responseIndex: 0, responseText: 'Marigold' }, { responseIndex: 1, responseText: 'Rose' }, { responseIndex: 2, responseText: 'Sunflower' }]);
334
+ if (view === 'Grading view') {
335
+ studentViewPage.steps.submitResponse();
336
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
337
+ studentViewPage.steps.clickOnGoToGradingViewButton();
338
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
339
+ };
340
+ if (view === 'Question preview' || view === 'Item preview') {
341
+ fillInTheGapsOverImageTextPage.steps.checkNonScoredScoringLabel();
342
+ fillInTheGapsOverImageTextPage.steps.switchToGradingView();
343
+ };
344
+ fillInTheGapsOverImageTextPage.steps.verifyIncorrectOptionIcon(0);
345
+ fillInTheGapsOverImageTextPage.steps.verifyIncorrectOptionIcon(1);
346
+ fillInTheGapsOverImageTextPage.steps.verifyIncorrectOptionIcon(2);
347
+ fillInTheGapsOverImageTextPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
348
+ fillInTheGapsOverImageTextPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount(['Flower', 'Leaf', 'Stem']);
349
+ });
350
+
351
+ it('When the user attempts the question partially correct, then the user should be awarded 0 points and on switching to \'Grading\' view, correct icon should be displayed besides the correct answer responses, incorrect icon should be displayed besides incorrect answer response, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers along should be displayed', () => {
352
+ if (view === 'Grading view') {
353
+ studentViewPage.steps.clearResponses();
354
+ };
355
+ fillInTheGapsOverImageTextPage.steps.enterTextInAnswerInputFieldsPreviewTab([{ responseIndex: 0, responseText: 'Flower' }, { responseIndex: 1, responseText: 'Leaf' }, { responseIndex: 2, responseText: 'Sunflower' }]);
356
+ if (view === 'Grading view') {
357
+ studentViewPage.steps.submitResponse();
358
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
359
+ studentViewPage.steps.clickOnGoToGradingViewButton();
360
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
361
+ };
362
+ if (view === 'Question preview' || view === 'Item preview') {
363
+ fillInTheGapsOverImageTextPage.steps.checkNonScoredScoringLabel();
364
+ fillInTheGapsOverImageTextPage.steps.switchToGradingView();
365
+ };
366
+ fillInTheGapsOverImageTextPage.steps.verifyCorrectOptionIcon(0);
367
+ fillInTheGapsOverImageTextPage.steps.verifyCorrectOptionIcon(1);
368
+ fillInTheGapsOverImageTextPage.steps.verifyIncorrectOptionIcon(2);
369
+ fillInTheGapsOverImageTextPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
370
+ fillInTheGapsOverImageTextPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount(['Flower', 'Leaf', 'Stem']);
371
+ });
372
+
373
+ it('When user attempts the question correctly, and on switching to \'Grading\' view non scoring label should be displayed, correct icons should be displayed beside the correct response, a status message with text \'Your answer is correct\' should be displayed and correct answer section should not be displayed', () => {
374
+ if (view === 'Grading view') {
375
+ studentViewPage.steps.clearResponses();
376
+ };
377
+ fillInTheGapsOverImageTextPage.steps.enterTextInAnswerInputFieldsPreviewTab([{ responseIndex: 0, responseText: 'Flower' }, { responseIndex: 1, responseText: 'Leaf' }, { responseIndex: 2, responseText: 'Stem' }]);
378
+ if (view === 'Grading view') {
379
+ studentViewPage.steps.submitResponse();
380
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
381
+ studentViewPage.steps.clickOnGoToGradingViewButton();
382
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
383
+ };
384
+ if (view === 'Question preview' || view === 'Item preview') {
385
+ fillInTheGapsOverImageTextPage.steps.checkNonScoredScoringLabel();
386
+ fillInTheGapsOverImageTextPage.steps.switchToGradingView();
387
+ };
388
+ fillInTheGapsOverImageTextPage.steps.verifyCorrectOptionIcon(0);
389
+ fillInTheGapsOverImageTextPage.steps.verifyCorrectOptionIcon(1);
390
+ fillInTheGapsOverImageTextPage.steps.verifyCorrectOptionIcon(2);
391
+ fillInTheGapsOverImageTextPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
392
+ });
393
+ });
394
+ });
395
+
183
396
  if (!grepTags || !grepTags.includes('smoke')) {
184
397
  describe('Question preview: Auto scored - All or nothing: Minimum scoring', () => {
185
398
  abortEarlySetup();
@@ -377,6 +377,7 @@ describe('Create item page - Fill in the gaps: Question instructions, Options se
377
377
  cy.barsPreLoaderWait();
378
378
  fillInTheGapsOverImageTextPage.steps.uploadFile('highlightImage.jpg');
379
379
  fillInTheGapsOverImageTextPage.steps.verifyFileNameLabel('highlightImage.jpg');
380
+ utilities.verifyElementVisibilityState(fillInTheGapsOverImageTextPage.uploadImageProgressBar(), 'visible');
380
381
  fillInTheGapsOverImageTextPage.steps.verifyImageIsUploaded();
381
382
  });
382
383
 
@@ -41,7 +41,9 @@ describe('Create item page - Fill in the gaps over image with text: Supported fi
41
41
  it('When the user tries to uploads an image with unsupported file type, then an error message should not be displayed', () => {
42
42
  fillInTheGapsOverImageTextPage.steps.uploadFileWithoutVerification('uploads/sample.heif');
43
43
  utilities.verifyElementVisibilityState(fillInTheGapsOverImageTextPage.errorMessage(), 'notExist');
44
- utilities.verifyElementVisibilityState(fillInTheGapsOverImageTextPage.canvasUploadedImage(), 'notExist')
44
+ fillInTheGapsOverImageTextPage.steps.verifyCanvasImageNotExist();
45
45
  });
46
+
47
+ fillInTheGapsOverImageTextPage.tests.verifyErrorMessageCSSAndA11y();
46
48
  });
47
49
  });