itemengine-cypress-automation 1.0.389-graphAndCharts-04d27f6.0 → 1.0.390-IEI-6314-testScriptForTextEntryMathValidations-dcad527.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 (319) 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 +3 -3
  8. package/cypress/e2e/ILC/BrowseItems/browseReviewItemsMobileView.js +3 -3
  9. package/cypress/e2e/ILC/BrowseItems/browseThinkSphereItems.js +6 -6
  10. package/cypress/e2e/ILC/BrowseItems/browseThinkSphereItemsMobileView.js +6 -6
  11. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/allOrNothingScoringForAllViews.smoke.js +356 -0
  12. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/gradingViewAndCorrectAnswerView.smoke.js +1 -1
  13. package/cypress/e2e/ILC/ChartsBar/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +33 -0
  14. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightBasic.js +27 -27
  15. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +37 -37
  16. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +37 -37
  17. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +37 -37
  18. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightBasic.js +26 -25
  19. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +39 -38
  20. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +31 -30
  21. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +35 -34
  22. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePointsLocked.js +247 -0
  23. package/cypress/e2e/ILC/ChartsBar/allOrNothingScoringForAllViews.smoke.js +287 -0
  24. package/cypress/e2e/ILC/ChartsBar/editQuestion.smoke.js +1 -1
  25. package/cypress/e2e/ILC/ChartsBar/editTabBasicSection.js +37 -0
  26. package/cypress/e2e/ILC/ChartsBar/headerSection.js +50 -2
  27. package/cypress/e2e/ILC/ChartsBar/specifyCorrectAnswerSection.js +92 -0
  28. package/cypress/e2e/ILC/ChartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePointsLocked.js +220 -0
  29. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightBasic.js +25 -26
  30. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +47 -47
  31. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +25 -25
  32. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +25 -25
  33. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightBasic.js +25 -25
  34. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +24 -23
  35. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +21 -20
  36. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +48 -46
  37. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePointsLocked.js +249 -0
  38. package/cypress/e2e/ILC/ChartsLine/allOrNothingScoringForAllViews.smoke.js +247 -0
  39. package/cypress/e2e/ILC/ChartsLine/editQuestion.smoke.js +3 -1
  40. package/cypress/e2e/ILC/ChartsLine/headerSection.js +18 -1
  41. package/cypress/e2e/ILC/ChartsLine/specifyCorrectAnswerSection.js +94 -0
  42. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddTranscriptRadioButton .js +2 -2
  43. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerHeaderSectionAndButtons.js +2 -2
  44. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTab.js +1 -1
  45. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabSupportedFileTypes.js +6 -0
  46. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabTranscript.js +2 -3
  47. package/cypress/e2e/ILC/CkEditorEquationEditor/selectModeEditorBasic.js +4 -1
  48. package/cypress/e2e/ILC/CkEditorInsertImage/imageInfo.js +4 -3
  49. package/cypress/e2e/ILC/CkEditorInsertImage/insertImageBasicFile.js +2 -0
  50. package/cypress/e2e/ILC/CkEditorInsertTable/tableDimension&FooterProperties.js +8 -8
  51. package/cypress/e2e/ILC/CkEditorInsertTable/tableStyle.js +11 -11
  52. package/cypress/e2e/ILC/CkEditorLink/linkPreview.js +2 -1
  53. package/cypress/e2e/ILC/CkEditorLink/uploadSection.js +1 -1
  54. package/cypress/e2e/ILC/ContentBlocks/editTabBasics.js +63 -4
  55. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +116 -7
  56. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabBasicSection.js +3 -3
  57. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabScoring.js +1 -0
  58. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/headerSection.js +3 -3
  59. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/pagination.js +1 -1
  60. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/studentViewSettingsForGroupedLayout.js +3 -0
  61. package/cypress/e2e/ILC/DrawingResponse/drawingResponseEditTabBasicSection.js +11 -3
  62. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +210 -0
  63. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/draggableOptions.js +2 -0
  64. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/editTabBasicSection.js +1 -1
  65. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/headerSection.js +3 -3
  66. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViewInIncompleteAuthoring.smoke.js +7 -7
  67. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViews.smoke.js +15 -16
  68. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editQuestion.smoke.js +40 -0
  69. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editTabBasicSection.js +1 -1
  70. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/headerSection.js +3 -3
  71. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +216 -0
  72. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/editTabBasicSection.js +2 -2
  73. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/headerSection.js +3 -3
  74. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editQuestion.smoke.js +45 -0
  75. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editTabBasicSection.js +1 -1
  76. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/headerSection.js +4 -4
  77. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/HeaderSection.js +4 -4
  78. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/editQuestion.smoke.js +1 -1
  79. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/responseAnswersAndAcceptedStudentInput.js +4 -0
  80. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/supportedFileTypes.js +3 -1
  81. package/cypress/e2e/ILC/FillInTheGapsTextNew/editTabBasicSection.js +1 -1
  82. package/cypress/e2e/ILC/FillInTheGapsTextNew/headerSection.js +3 -3
  83. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +73 -0
  84. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +38 -0
  85. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +38 -0
  86. package/cypress/e2e/ILC/Graphing/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +87 -0
  87. package/cypress/e2e/ILC/Graphing/allOrNothingForAllViews.smoke.js +213 -2
  88. package/cypress/e2e/ILC/Graphing/checkAddAlternativeButton.js +35 -0
  89. package/cypress/e2e/ILC/Graphing/editQuestion.smoke.js +28 -0
  90. package/cypress/e2e/ILC/Graphing/editTabBasicSection.js +38 -0
  91. package/cypress/e2e/ILC/Graphing/editTabScoringSection.js +1 -0
  92. package/cypress/e2e/ILC/Graphing/headerSection.js +37 -4
  93. package/cypress/e2e/ILC/Graphing/specifyCorrectAnswerSection.js +28 -0
  94. package/cypress/e2e/ILC/GridFill/addAlternateButton.js +40 -0
  95. package/cypress/e2e/ILC/GridFill/allOrNothingBasicForAllViews.smoke.js +210 -0
  96. package/cypress/e2e/ILC/GridFill/customizeLayoutFillImageBackgroundImage.js +2 -2
  97. package/cypress/e2e/ILC/GridFill/headerSection.js +4 -4
  98. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +39 -0
  99. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  100. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +39 -0
  101. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountAllOrNothingCorrectPointsGreaterThanAlternativePoints.js +37 -0
  102. package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountallOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
  103. package/cypress/e2e/ILC/GridFill/scoring/cellshadeCountAllOrNothingAlternativePointsGreaterThanCorrectPoints.js +36 -0
  104. package/cypress/e2e/ILC/GridFill/scoring/checkLabelSaveAsYouGo.js +75 -0
  105. package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +2 -1
  106. package/cypress/e2e/ILC/ImageHighlight/additionalSettingsBasic.js +1 -0
  107. package/cypress/e2e/ILC/ImageHighlight/allOrNothingForAllViews.smoke.js +212 -0
  108. package/cypress/e2e/ILC/ImageHighlight/customiseHighlightStyle.js +29 -0
  109. package/cypress/e2e/ILC/ImageHighlight/editTabBasicSection.js +1 -1
  110. package/cypress/e2e/ILC/ImageHighlight/headerSection.js +3 -3
  111. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +24 -0
  112. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +24 -0
  113. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +24 -0
  114. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +86 -0
  115. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/manuallyAndNonScored.js +2 -4
  116. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +1 -1
  117. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +237 -1
  118. package/cypress/e2e/ILC/ListOrderingDropdown/checkAddAlternativeButton.js +35 -0
  119. package/cypress/e2e/ILC/ListOrderingDropdown/editTabBasicSection.js +26 -0
  120. package/cypress/e2e/ILC/ListOrderingDropdown/headerSection.js +108 -0
  121. package/cypress/e2e/ILC/ListOrderingDropdown/manuallyAndNonScoredEditTab.js +2 -1
  122. package/cypress/e2e/ILC/ListOrderingDropdown/previewContentsForAllViews.smoke.js +2 -4
  123. package/cypress/e2e/ILC/ListOrderingDropdown/specifyCorrectAnswerSection.js +7 -12
  124. package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/specifyCorrectAnswerSection.js +10 -14
  125. package/cypress/e2e/ILC/ListOrderingNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +52 -0
  126. package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +215 -0
  127. package/cypress/e2e/ILC/ListOrderingNew/editTabBasicSection.js +23 -0
  128. package/cypress/e2e/ILC/ListOrderingNew/headerSection.js +36 -9
  129. package/cypress/e2e/ILC/ListOrderingNew/manuallyAndNonScoredEditTab.js +2 -0
  130. package/cypress/e2e/ILC/ListOrderingNew/specifyCorrectAnswerSection.js +7 -23
  131. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +41 -0
  132. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +30 -0
  133. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +50 -0
  134. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +101 -0
  135. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/allOrNothingForAllViews.smoke.js +309 -0
  136. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/checkAddAlternativeButton.js +38 -0
  137. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabBasicSection.js +24 -0
  138. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabScoring.js +4 -1
  139. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/headerSection.js +38 -3
  140. package/cypress/e2e/ILC/Matching/Scoring/blankResponseScoring.js +38 -41
  141. package/cypress/e2e/ILC/Matching/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +98 -0
  142. package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +210 -0
  143. package/cypress/e2e/ILC/Matching/checkAlternativeButton.js +38 -0
  144. package/cypress/e2e/ILC/Matching/clickAndDrop.js +5 -5
  145. package/cypress/e2e/ILC/Matching/draggableOptions.js +7 -0
  146. package/cypress/e2e/ILC/Matching/editQuestion.smoke.js +3 -2
  147. package/cypress/e2e/ILC/Matching/editTabBasicSection.js +41 -0
  148. package/cypress/e2e/ILC/Matching/headerSection.js +38 -12
  149. package/cypress/e2e/ILC/Matching/questionInstructionsAndPromptSection.js +2 -15
  150. package/cypress/e2e/ILC/Matching/studentViewSettings.js +3 -1
  151. package/cypress/e2e/ILC/Matching/studentViewSettingsForGroupedLayout.js +1 -1
  152. package/cypress/e2e/ILC/MatchingDropdown/Scoring/blankResponseScoring.js +7 -6
  153. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsScoringBasic.js +6 -6
  154. package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +208 -0
  155. package/cypress/e2e/ILC/MultipleSelection/allOrNothingBasicForAllViews.smoke.js +2 -1
  156. package/cypress/e2e/ILC/MultipleSelection/editTabBasicSection.js +1 -1
  157. package/cypress/e2e/ILC/MultipleSelection/headerSection.js +3 -3
  158. package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswer.js +1 -0
  159. package/cypress/e2e/ILC/MultipleSelectionGridNew/editTabBasicSection.js +2 -2
  160. package/cypress/e2e/ILC/MultipleSelectionGridNew/headerSection.js +3 -3
  161. package/cypress/e2e/ILC/MultipleSelectionGridNew/previewContentsForAllViews.smoke.js +100 -69
  162. package/cypress/e2e/ILC/MultipleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +1 -0
  163. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +79 -0
  164. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +42 -0
  165. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +42 -0
  166. package/cypress/e2e/ILC/NumberLine/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +75 -0
  167. package/cypress/e2e/ILC/NumberLine/allOrNothingScoringForAllViews.smoke.js +213 -0
  168. package/cypress/e2e/ILC/NumberLine/checkAddAlternativeButton.js +32 -0
  169. package/cypress/e2e/ILC/NumberLine/editTabSection.js +38 -0
  170. package/cypress/e2e/ILC/NumberLine/headerSection.js +34 -4
  171. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/allOrNothingScoringForAllViews.smoke.js +249 -0
  172. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +81 -0
  173. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +43 -0
  174. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +43 -0
  175. package/cypress/e2e/ILC/NumberLineLabel/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +76 -0
  176. package/cypress/e2e/ILC/NumberLineLabel/additionalSettingsBasic.js +0 -1
  177. package/cypress/e2e/ILC/NumberLineLabel/allOrNothingForAllViews.smoke.js +266 -0
  178. package/cypress/e2e/ILC/NumberLineLabel/checkAddAlternativeButton.js +34 -0
  179. package/cypress/e2e/ILC/NumberLineLabel/editTabSection.js +38 -0
  180. package/cypress/e2e/ILC/NumberLineLabel/headerSection.js +37 -4
  181. package/cypress/e2e/ILC/NumberLineLabel/manuallyAndNonScoredEditTab.js +2 -1
  182. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/allOrNothingForAllViews.smoke.js +268 -0
  183. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/editQuestion.smoke.js +1 -1
  184. package/cypress/e2e/ILC/ShortTextResponseNew/allOrNothingBasicForAllViews.smoke.js +186 -0
  185. package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +4 -3
  186. package/cypress/e2e/ILC/ShortTextResponseNew/headerSection.js +2 -4
  187. package/cypress/e2e/ILC/SingleSelection/editTabBasicSection.js +1 -1
  188. package/cypress/e2e/ILC/SingleSelection/headerSection.js +2 -2
  189. package/cypress/e2e/ILC/SingleSelectionGridNew/editTabBasicSection.js +2 -2
  190. package/cypress/e2e/ILC/SingleSelectionGridNew/headerSection.js +3 -3
  191. package/cypress/e2e/ILC/SingleSelectionGridNew/previewContentsForAllViews.smoke.js +101 -70
  192. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +86 -0
  193. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +86 -0
  194. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  195. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +4 -2
  196. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  197. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  198. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsScoringBasic.js +9 -2
  199. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +4 -2
  200. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +3 -1
  201. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  202. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsScoringBasic.js +4 -0
  203. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +64 -0
  204. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAddEvaluation.js +2 -0
  205. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAlternateAnswer.js +2 -0
  206. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +64 -0
  207. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
  208. package/cypress/e2e/ILC/TextEntryMath/Scoring/blankResponseScoring.js +2 -2
  209. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  210. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  211. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  212. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsScoringBasic.js +8 -0
  213. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
  214. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
  215. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
  216. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasic.js +1 -0
  217. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasicForAlternateAnswer.js +2 -0
  218. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViews.smoke.js +263 -0
  219. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +219 -0
  220. package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +27 -3
  221. package/cypress/e2e/ILC/TextEntryMath/equationEditor.smoke.js +1 -1
  222. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodEquivalentStructures.smoke.js +3 -3
  223. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchValue.smoke.js +310 -1
  224. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodSymbolsAreEquivalent.smoke.js +205 -1
  225. package/cypress/e2e/ILC/TextEntryMath/headerSection.js +43 -0
  226. package/cypress/e2e/ILC/TextEntryMathWithImage/allOrNothingScoringForAllViews.smoke.js +263 -0
  227. package/cypress/e2e/ILC/TextEntryMathWithImage/backgroundImageAndCanvasProperties.js +0 -1
  228. package/cypress/e2e/ILC/TextEntryMathWithImage/styleAndLayoutCustomization.js +1 -1
  229. package/cypress/e2e/ILC/TextSelection/additionalSettings.js +1 -0
  230. package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +231 -0
  231. package/cypress/e2e/ILC/TextSelection/editTabBasicSection.js +2 -2
  232. package/cypress/e2e/ILC/TextSelection/headerSection.js +3 -3
  233. package/cypress/e2e/ILC/TextSelection/minimumScoringPenaltyPointsAndRoundingDropdown.js +1 -0
  234. package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyPossibleOptionsSection.js +1 -0
  235. package/cypress/e2e/ILC/ThinkSphere/createReviewItem.js +1 -1
  236. package/cypress/e2e/ILC/ThinkSphere/editTabBasicSection.js +1 -1
  237. package/cypress/e2e/ILC/ThinkSphere/editThinkSphereQuestion.smoke.js +145 -54
  238. package/cypress/e2e/ILC/ThinkSphere/equationEditorEditCategoryFlyOut.js +2 -0
  239. package/cypress/e2e/ILC/ThinkSphere/gradingViewPlanTabSection.js +334 -0
  240. package/cypress/e2e/ILC/ThinkSphere/gradingViewReviewTabSection.js +140 -0
  241. package/cypress/e2e/ILC/ThinkSphere/gradingViewSolveTabSection.js +65 -0
  242. package/cypress/e2e/ILC/ThinkSphere/planPhase.js +45 -5
  243. package/cypress/e2e/ILC/ThinkSphere/previewTabPlanSection.js +8 -8
  244. package/cypress/e2e/ILC/ThinkSphere/previewTabReviewSection.js +102 -0
  245. package/cypress/e2e/ILC/ThinkSphere/previewTabSolveSection.js +41 -0
  246. package/cypress/e2e/ILC/ThinkSphere/solvePhase.js +3 -3
  247. package/cypress/e2e/ILC/ThinkSphere/studentViewPlanTabSection.js +393 -0
  248. package/cypress/e2e/ILC/ThinkSphere/studentViewReviewTabSection.js +146 -0
  249. package/cypress/e2e/ILC/ThinkSphere/studentViewSolveSection.js +53 -0
  250. package/cypress/e2e/ILC/ToolAudioPlayerNew/headerSection.js +90 -2
  251. package/cypress/e2e/ILC/UploadResponse/editTabBasicSection.js +34 -0
  252. package/cypress/e2e/ILC/UploadResponse/headerSection.js +38 -1
  253. package/cypress/e2e/ILC/UploadResponse/uploadResponsePreview.js +50 -13
  254. package/cypress/e2e/ILC/VideoResponseNew/editTabBasicSection.js +14 -29
  255. package/cypress/e2e/ILC/chartsDotsPlot/allOrNothingForAllViews.smoke.js +248 -0
  256. package/cypress/e2e/ILC/chartsDotsPlot/headerSection.js +16 -1
  257. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsBasic.js +27 -28
  258. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +31 -30
  259. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +24 -24
  260. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +39 -37
  261. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsBasic.js +22 -23
  262. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +31 -30
  263. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +25 -24
  264. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +31 -31
  265. package/cypress/e2e/ILC/chartsDotsPlot/scoring/toleranceThresholdScoring.js +18 -19
  266. package/cypress/e2e/ILC/chartsDotsPlot/specifyCorrectAnswerSection.js +96 -0
  267. package/cypress/e2e/Sessions/fetchResponses.js +3 -3
  268. package/cypress/e2e/Sessions/saveResponseScores.js +2 -2
  269. package/cypress/fixtures/thinkSphereWhiteboardTools.js +66 -0
  270. package/cypress/pages/audioPlayerPage.js +25 -0
  271. package/cypress/pages/brainingCampManipulativePage.js +1 -1
  272. package/cypress/pages/chartsBarPage.js +45 -0
  273. package/cypress/pages/chartsDotPlotPage.js +25 -0
  274. package/cypress/pages/chartsLinePage.js +29 -2
  275. package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +5 -1
  276. package/cypress/pages/components/chartsCommonComponent.js +21 -2
  277. package/cypress/pages/components/ckEditorEquationEditorComponent.js +1 -0
  278. package/cypress/pages/components/ckEditorInsertImageComponent.js +3 -3
  279. package/cypress/pages/components/ckEditorInsertTableComponent.js +3 -3
  280. package/cypress/pages/components/ckEditorLinkComponent.js +8 -9
  281. package/cypress/pages/components/colorPopupComponent.js +6 -0
  282. package/cypress/pages/components/createQuestionBasePage.js +19 -6
  283. package/cypress/pages/components/desmosToolComponent.js +1 -1
  284. package/cypress/pages/components/draggableOptionsSectionComponent.js +2 -0
  285. package/cypress/pages/components/equationEditorSectionCommonComponent.js +4 -4
  286. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +31 -3
  287. package/cypress/pages/components/fillInTheGapsTextCommonComponent.js +1 -1
  288. package/cypress/pages/components/gridQuestionCommonComponent.js +55 -2
  289. package/cypress/pages/components/imageCanvasComponent.js +11 -5
  290. package/cypress/pages/components/playbackControlsBaseComponent.js +6 -3
  291. package/cypress/pages/components/questionInstructionsComponent.js +2 -0
  292. package/cypress/pages/components/scoringSectionBaseEditTab.js +3 -0
  293. package/cypress/pages/components/specifyRowsAndColumnsComponent.js +16 -0
  294. package/cypress/pages/contentBlocksPage.js +2 -0
  295. package/cypress/pages/desmos3DGraphingPage.js +149 -4
  296. package/cypress/pages/desmosGeometryPage.js +184 -4
  297. package/cypress/pages/drawingResponsePage.js +9 -2
  298. package/cypress/pages/fillInTheGapsDragAndDropPage.js +3 -8
  299. package/cypress/pages/gradingGridViewPage.js +64 -0
  300. package/cypress/pages/graphingPage.js +28 -5
  301. package/cypress/pages/gridFillPage.js +24 -9
  302. package/cypress/pages/imageHighlightPage.js +115 -15
  303. package/cypress/pages/index.js +1 -0
  304. package/cypress/pages/listOrderingPage.js +46 -2
  305. package/cypress/pages/matchingPage.js +29 -10
  306. package/cypress/pages/numberLineLabelPage.js +26 -0
  307. package/cypress/pages/numberLinePage.js +15 -0
  308. package/cypress/pages/singleSelectionPage.js +30 -1
  309. package/cypress/pages/textEntryMathPage.js +29 -10
  310. package/cypress/pages/textSelectionPage.js +2 -2
  311. package/cypress/pages/thinkSpherePage.js +1118 -87
  312. package/cypress/pages/uploadResponsePage.js +17 -1
  313. package/cypress/pages/videoResponsePage.js +3 -0
  314. package/cypress/support/commands.js +9 -0
  315. package/cypress/support/helpers/createItem.js +22 -3
  316. package/cypress/support/helpers/utilities.js +14 -1
  317. package/package.json +1 -1
  318. /package/cypress/e2e/ILC/{ChartsDotsPlot → chartsDotsPlot}/checkAnswerFunctionalityForAllViews.js +0 -0
  319. /package/cypress/e2e/ILC/{ChartsDotsPlot → chartsDotsPlot}/editQuestion.smoke.js +0 -0
@@ -44,8 +44,8 @@ describe('Preview tab contents for all views', () => {
44
44
  fillInTheGapsDragAndDropPage.steps.selectBoldOptionFromCKEditorToolbar();
45
45
  fillInTheGapsDragAndDropPage.steps.addBoldTextInputToOptionsInputField(1);
46
46
  fillInTheGapsDragAndDropPage.steps.allotPoints(10);
47
- fillInTheGapsDragAndDropPage.steps.clickAndDropOptionInDropzoneSpecifyCorrectAnswerSection({ 'Petals': 2 });
48
- fillInTheGapsDragAndDropPage.steps.clickAndDropOptionInDropzoneSpecifyCorrectAnswerSection({ 'Solve the following': 1 });
47
+ fillInTheGapsDragAndDropPage.steps.clickAndDropOptionInDropzoneSpecifyCorrectAnswerSection({ 'Petals': 1 });
48
+ fillInTheGapsDragAndDropPage.steps.clickAndDropOptionInDropzoneSpecifyCorrectAnswerSection({ 'Solve the following': 2 });
49
49
  fillInTheGapsDragAndDropPage.steps.clickAndDropOptionInDropzoneSpecifyCorrectAnswerSection({ 'This is a bold option': 0 });
50
50
  fillInTheGapsDragAndDropPage.steps.switchToPreviewTab();
51
51
  break;
@@ -110,22 +110,22 @@ describe('Preview tab contents for all views', () => {
110
110
  });
111
111
 
112
112
  it('User should be able to drag and drop image, bold text and equation options in the dropzone', () => {
113
- fillInTheGapsDragAndDropPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'This is a bold option': 0, 'Solve the following': 1, 'Petals': 2 });
114
- fillInTheGapsDragAndDropPage.steps.verifyDropzoneTextPreviewTab(2, 'Petals');
115
- fillInTheGapsDragAndDropPage.steps.verifyDropzoneWithImageInPreviewTab(2);
113
+ fillInTheGapsDragAndDropPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'This is a bold option': 0, 'Solve the following': 2, 'Petals': 1 });
114
+ fillInTheGapsDragAndDropPage.steps.verifyDropzoneTextPreviewTab(1, 'Petals');
115
+ fillInTheGapsDragAndDropPage.steps.verifyDropzoneWithImageInPreviewTab(1);
116
116
  fillInTheGapsDragAndDropPage.steps.verifyDropzoneTextPreviewTab(0, 'This is a bold option');
117
- fillInTheGapsDragAndDropPage.steps.verifyDropzoneContainsTextPreviewTab(1, 'Solve the following');
118
- fillInTheGapsDragAndDropPage.steps.verifyDropzoneWithEquationTextInPreviewTab(1);
117
+ // fillInTheGapsDragAndDropPage.steps.verifyDropzoneContainsTextPreviewTab(2, 'Solve the following');
118
+ // fillInTheGapsDragAndDropPage.steps.verifyDropzoneWithEquationTextInPreviewTab(2);
119
119
  });
120
120
  } else if (view === 'Grading view') {
121
121
  it(`The submitted options should be in the respective dropzone and the options container should not be displayed`, () => {
122
- fillInTheGapsDragAndDropPage.steps.verifyDropzoneTextPreviewTab(2, '3\nPetals');
123
- fillInTheGapsDragAndDropPage.steps.verifyDropzoneWithImageInPreviewTab(2);
122
+ fillInTheGapsDragAndDropPage.steps.verifyDropzoneTextPreviewTab(1, '2\nPetals');
123
+ fillInTheGapsDragAndDropPage.steps.verifyDropzoneWithImageInPreviewTab(1);
124
124
  fillInTheGapsDragAndDropPage.steps.verifyDropzoneTextPreviewTab(0, '1\nThis is a bold option');
125
- // fillInTheGapsDragAndDropPage.steps.verifyDropzoneWithEquationTextInPreviewTab(1);
125
+ // fillInTheGapsDragAndDropPage.steps.verifyDropzoneWithEquationTextInPreviewTab(2);
126
126
  fillInTheGapsDragAndDropPage.steps.verifyCorrectOptionIcon(0);
127
- // fillInTheGapsDragAndDropPage.steps.verifyCorrectOptionIcon(1);
128
- fillInTheGapsDragAndDropPage.steps.verifyCorrectOptionIcon(2);
127
+ fillInTheGapsDragAndDropPage.steps.verifyCorrectOptionIcon(1);
128
+ // fillInTheGapsDragAndDropPage.steps.verifyCorrectOptionIcon(2);
129
129
  fillInTheGapsDragAndDropPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
130
130
  utilities.verifyElementVisibilityState(fillInTheGapsDragAndDropPage.optionContainerOptionsPreviewTab(), 'notExist');
131
131
  });
@@ -135,12 +135,11 @@ describe('Preview tab contents for all views', () => {
135
135
  });
136
136
  } else {
137
137
  it('The dropzone should be displayed filled with answers', () => {
138
- utilities.verifyElementCount(fillInTheGapsDragAndDropPage.dropzonePreviewTab(), 3);
139
- fillInTheGapsDragAndDropPage.steps.verifyDropzoneTextPreviewTab(2, 'Petals');
140
- fillInTheGapsDragAndDropPage.steps.verifyDropzoneWithImageInPreviewTab(2);
138
+ fillInTheGapsDragAndDropPage.steps.verifyDropzoneTextPreviewTab(1, 'Petals');
139
+ fillInTheGapsDragAndDropPage.steps.verifyDropzoneWithImageInPreviewTab(1);
141
140
  fillInTheGapsDragAndDropPage.steps.verifyDropzoneTextPreviewTab(0, 'This is a bold option');
142
141
  //Note: Equation needs to be checked manually in correct answer view
143
- // fillInTheGapsDragAndDropPage.steps.verifyDropzoneWithEquationTextInPreviewTab(1);
142
+ // fillInTheGapsDragAndDropPage.steps.verifyDropzoneWithEquationTextInPreviewTab(2);
144
143
  // utilities.verifyElementCount(fillInTheGapsDragAndDropPage.dropzonePreviewTab(), 3);
145
144
  });
146
145
  }
@@ -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 - fill in the gaps with dropdown', () => {
12
14
  before(() => {
@@ -89,4 +91,42 @@ describe('Edit item - fill in the gaps with dropdown', () => {
89
91
  fillInTheGapsDropdownPage.steps.saveAQuestionWithIncompleteAuthoring();
90
92
  });
91
93
  });
94
+
95
+ //https://weldnorthed.atlassian.net/browse/IEI-6059
96
+ describe('Fill in the gaps with dropdown question - equality sign functionality', () => {
97
+ abortEarlySetup();
98
+ before(() => {
99
+ fillInTheGapsDropdownPage.steps.navigateToCreateQuestion('fill in the gaps with dropdown');
100
+ cy.barsPreLoaderWait();
101
+ fillInTheGapsDropdownPage.steps.addTextInQuestionInstructionsInputField('Fill in the gaps with dropdown')
102
+ fillInTheGapsDropdownPage.steps.allotPoints(20);
103
+ fillInTheGapsDropdownPage.steps.addInputToDropdownOptionFields(0, equalitySign);
104
+ fillInTheGapsDropdownPage.steps.addInputToDropdownOptionFields(1, equalitySign1);
105
+ fillInTheGapsDropdownPage.steps.selectResponseFromDropdownSpecifyCorrectAnswerSection(0, equalitySign[2]);
106
+ fillInTheGapsDropdownPage.steps.selectResponseFromDropdownSpecifyCorrectAnswerSection(1, equalitySign1[1]);
107
+ fillInTheGapsDropdownPage.steps.allotPoints(10);
108
+ fillInTheGapsDropdownPage.steps.saveAQuestionAndVerifySnackbar();
109
+ });
110
+
111
+ it('When user switches to the preview tab, then the equality signs should be displayed as is in the dropdown and correct answer section', () => {
112
+ fillInTheGapsDropdownPage.steps.switchToPreviewTab();
113
+ fillInTheGapsDropdownPage.steps.switchToGradingView();
114
+ fillInTheGapsDropdownPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([equalitySign[2], equalitySign1[1]]);
115
+ fillInTheGapsDropdownPage.steps.selectResponseFromDropdownInPreviewTab([{ dropdownIndex: 0, dropdownOption: equalitySign[2] }, { dropdownIndex: 1, dropdownOption: equalitySign1[1] }]);
116
+ });
117
+
118
+ it('User should be able to edit the question and check the options in the options input field', () => {
119
+ fillInTheGapsDropdownPage.steps.switchToEditTab();
120
+ fillInTheGapsDropdownPage.steps.editItem();
121
+ fillInTheGapsDropdownPage.steps.switchToEditTab();
122
+ fillInTheGapsDropdownPage.steps.verifyOptionFieldContent(equalitySign);
123
+ fillInTheGapsDropdownPage.steps.navigateToDropdownOptionsTab(1);
124
+ fillInTheGapsDropdownPage.steps.verifyOptionFieldContent(equalitySign1);
125
+ });
126
+
127
+ it('The options in the dropdown should be displayed as the options in the input field', () => {
128
+ fillInTheGapsDropdownPage.steps.verifyDropdownOptionsSpecifyCorrectAnswerSection(0, equalitySign);
129
+ fillInTheGapsDropdownPage.steps.verifyDropdownOptionsSpecifyCorrectAnswerSection(1, equalitySign1);
130
+ });
131
+ });
92
132
  });
@@ -154,7 +154,7 @@ describe('Create item page - Fill in the gaps: Question instructions, Options se
154
154
  });
155
155
 
156
156
  it('Warning icons should be displayed on the required input fields', () => {
157
- fillInTheGapsDropdownPage.steps.verifyWarningIconOnRequiredFields(['Please enter all option values', 'Please set points']);
157
+ fillInTheGapsDropdownPage.steps.verifyWarningIconOnRequiredFields(['Please enter all option values.', 'Please set points.']);
158
158
  });
159
159
 
160
160
  it('When required input fields are filled then warning icons should disappear', () => {
@@ -46,11 +46,11 @@ describe('Create item page - Fill in the gaps with dropdown: Header section and
46
46
  });
47
47
 
48
48
  describe('Validation error messages', () => {
49
- dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please enter all option values', 'Please set points']);
49
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please enter all option values.', 'Please set points.']);
50
50
 
51
51
  it('Validation error messages should be displayed below required input fields', () => {
52
52
  fillInTheGapsDropdownPage.steps.verifyQuestionInstructionsErrorMessageIsNotDisplayed();
53
- fillInTheGapsDropdownPage.steps.verifyWarningIconOnRequiredFields(['Please enter all option values', 'Please set points']);
53
+ fillInTheGapsDropdownPage.steps.verifyWarningIconOnRequiredFields(['Please enter all option values.', 'Please set points.']);
54
54
  });
55
55
 
56
56
  it('Validation error messages should disappear when required input fields are filled', () => {
@@ -81,7 +81,7 @@ describe('Create item page - Fill in the gaps with dropdown: Header section and
81
81
  });
82
82
 
83
83
  it('User should be able to save the question with incomplete authoring and display a snackbar with the text "Saved successfully!" when the Save Question button is clicked', () => {
84
- dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please enter all option values', 'Please set points']);
84
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please enter all option values.', 'Please set points.']);
85
85
  fillInTheGapsDropdownPage.steps.saveAQuestionWithIncompleteAuthoring();
86
86
  });
87
87
  fillInTheGapsDropdownPage.tests.verifySavedSuccessfullySnackbarCSSAndA11y();
@@ -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();
@@ -18,9 +18,9 @@ describe('Create item page - Fill In the Gaps Over Image Drag and Drop', () => {
18
18
  it('Warning icons should be displayed on the required input fields', () => {
19
19
  fillInTheGapsOverImageDragAndDropPage.steps.verifyWarningIconOnRequiredFields(
20
20
  [
21
- "Please enter all option values",
21
+ "Please enter all option values.",
22
22
  "Please upload an image",
23
- "Please set points"
23
+ "Please set points."
24
24
  ]);
25
25
  });
26
26
 
@@ -48,11 +48,11 @@ describe('Create item page - Fill in the gaps over image - drag and drop: Header
48
48
  });
49
49
 
50
50
  describe('Validation error messages', () => {
51
- dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please enter all option values', 'Please upload an image', 'Please set points']);
51
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please enter all option values.', 'Please upload an image.', 'Please set points.']);
52
52
 
53
53
  it('Validation error messages should be displayed below required input fields', () => {
54
54
  fillInTheGapsOverImageDragAndDropPage.steps.verifyQuestionInstructionsErrorMessageIsNotDisplayed();
55
- fillInTheGapsOverImageDragAndDropPage.steps.verifyWarningIconOnRequiredFields(['Please enter all option values', 'Please upload an image', 'Please set points'])
55
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyWarningIconOnRequiredFields(['Please enter all option values.', 'Please upload an image.', 'Please set points.'])
56
56
  });
57
57
 
58
58
  it('Validation error messages should disappear when required input fields are filled', () => {
@@ -87,7 +87,7 @@ describe('Create item page - Fill in the gaps over image - drag and drop: Header
87
87
  });
88
88
 
89
89
  it('User should be able to save the question with incomplete authoring and display a snackbar with the text "Saved successfully!" when the Save Question button is clicked', () => {
90
- dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please enter all option values', 'Please set points']);
90
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please enter all option values.', 'Please set points.']);
91
91
  fillInTheGapsOverImageDragAndDropPage.steps.saveAQuestionWithIncompleteAuthoring();
92
92
  });
93
93
  fillInTheGapsOverImageDragAndDropPage.tests.verifySavedSuccessfullySnackbarCSSAndA11y();
@@ -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
  });
@@ -434,7 +434,7 @@ describe('Create item page - Fill in the gaps: Question instructions, Options se
434
434
  });
435
435
 
436
436
  it('Warning icons should be displayed on the required input fields', () => {
437
- fillInTheGapsOverImageDropdownPage.steps.verifyWarningIconOnRequiredFields(['Please upload an image', 'Please set points']);
437
+ fillInTheGapsOverImageDropdownPage.steps.verifyWarningIconOnRequiredFields(['Please upload an image.', 'Please set points.']);
438
438
  });
439
439
 
440
440
  it('When required input fields are filled then warning icons should disappear', () => {
@@ -45,11 +45,11 @@ describe('Create item page - Fill in the gaps over image - dropdown: Header sect
45
45
  });
46
46
 
47
47
  describe('Validation error messages', () => {
48
- dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please upload an image', 'Please set points']);
48
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please upload an image.', 'Please set points.']);
49
49
 
50
50
  it('Validation error messages should be displayed below required input fields', () => {
51
51
  fillInTheGapsOverImageDropdownPage.steps.verifyQuestionInstructionsErrorMessageIsNotDisplayed();
52
- fillInTheGapsOverImageDropdownPage.steps.verifyWarningIconOnRequiredFields(['Please upload an image', 'Please set points'])
52
+ fillInTheGapsOverImageDropdownPage.steps.verifyWarningIconOnRequiredFields(['Please upload an image.', 'Please set points.'])
53
53
  });
54
54
 
55
55
  it('Validation error messages should disappear when required input fields are filled', () => {
@@ -81,10 +81,10 @@ describe('Create item page - Fill in the gaps over image - dropdown: Header sect
81
81
  });
82
82
 
83
83
  it('User should be able to save the question with incomplete authoring and display a snackbar with the text "Saved successfully!" when the Save Question button is clicked', () => {
84
- dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please upload an image', 'Please set points']);
84
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please upload an image.', 'Please set points.']);
85
85
  fillInTheGapsOverImageDropdownPage.steps.uploadFile('highlightImage.jpg');
86
86
  fillInTheGapsOverImageDropdownPage.steps.insertResponseArea(60);
87
- dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please insert a dropdown', 'Please set points']);
87
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please insert a dropdown.', 'Please set points.']);
88
88
  fillInTheGapsOverImageDropdownPage.steps.saveAQuestionWithIncompleteAuthoring();
89
89
  });
90
90
  fillInTheGapsOverImageDropdownPage.tests.verifySavedSuccessfullySnackbarCSSAndA11y();
@@ -49,11 +49,11 @@ describe('Create item page - Fill in the gaps over image - text: Header section
49
49
  });
50
50
 
51
51
  describe('Validation error messages', () => {
52
- dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please upload an image', 'Please set points']);
52
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please upload an image.', 'Please set points.']);
53
53
 
54
54
  it('Validation error messages should be displayed below required input fields', () => {
55
55
  fillInTheGapsOverImageTextPage.steps.verifyQuestionInstructionsErrorMessageIsNotDisplayed();
56
- fillInTheGapsOverImageTextPage.steps.verifyWarningIconOnRequiredFields(['Please upload an image', 'Please set points']);
56
+ fillInTheGapsOverImageTextPage.steps.verifyWarningIconOnRequiredFields(['Please upload an image.', 'Please set points.']);
57
57
  });
58
58
 
59
59
  it('Validation error messages should disappear when required input fields are filled', () => {
@@ -85,9 +85,9 @@ describe('Create item page - Fill in the gaps over image - text: Header section
85
85
  });
86
86
 
87
87
  it('Should save the question with incomplete authoring and display a snackbar with the text "Saved successfully!" when the Save Question button is clicked', () => {
88
- dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please upload an image', 'Please set points']);
88
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please upload an image.', 'Please set points.']);
89
89
  fillInTheGapsOverImageTextPage.steps.uploadFile('highlightImage.jpg');
90
- dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please insert a text container', 'Please set points']);
90
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please insert a text container.', 'Please set points.']);
91
91
  fillInTheGapsOverImageTextPage.steps.saveAQuestionWithIncompleteAuthoring();
92
92
  });
93
93
  fillInTheGapsOverImageTextPage.tests.verifySavedSuccessfullySnackbarCSSAndA11y();
@@ -73,7 +73,7 @@ describe('Edit item - fill in the gaps with text', () => {
73
73
  });
74
74
 
75
75
  it('Warning icons should be displayed on the required input fields', () => {
76
- fillInTheGapsOverImageTextPage.steps.verifyWarningIconOnRequiredFields(['Please upload an image','Please set points']);
76
+ fillInTheGapsOverImageTextPage.steps.verifyWarningIconOnRequiredFields(['Please upload an image.','Please set points.']);
77
77
  });
78
78
 
79
79
  it('When required input fields are filled then warning icons should disappear', () => {
@@ -17,6 +17,10 @@ describe('Create Item page - Fill in the gaps over image - text: ', () => {
17
17
  fillInTheGapsOverImageTextPage.steps.verifyImageIsUploaded();
18
18
  fillInTheGapsOverImageTextPage.steps.insertResponseArea(80);
19
19
  utilities.hoverAwayFromElement(fillInTheGapsOverImageTextPage.insertResponseAreaButton());
20
+ utilities.triggerMouseout(fillInTheGapsOverImageTextPage.insertResponseAreaButton());
21
+ utilities.hoverAwayFromElement(fillInTheGapsOverImageTextPage.selectResponseAreaButton());
22
+ utilities.triggerMouseout(fillInTheGapsOverImageTextPage.insertResponseAreaButton());
23
+ fillInTheGapsOverImageTextPage.steps.clickOnCanvasToolbar();
20
24
  });
21
25
 
22
26
  fillInTheGapsOverImageTextPage.tests.verifyAnswerInputFieldEditTab();
@@ -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
+ utilities.verifyElementVisibilityState(fillInTheGapsOverImageTextPage.canvasUploadedImage(), 'notExist');
45
45
  });
46
+
47
+ fillInTheGapsOverImageTextPage.tests.verifyErrorMessageCSSAndA11y();
46
48
  });
47
49
  });
@@ -151,7 +151,7 @@ describe('Create item page - Fill in the gaps with text: Question instructions,
151
151
  });
152
152
 
153
153
  it('Warning icons should be displayed on the required input fields', () => {
154
- fillInTheGapsTextPage.steps.verifyWarningIconOnRequiredFields(['Please set points']);
154
+ fillInTheGapsTextPage.steps.verifyWarningIconOnRequiredFields(['Please set points.']);
155
155
  });
156
156
 
157
157
  it('When required input fields are filled then warning icons should disappear', () => {
@@ -48,11 +48,11 @@ describe('Create item page - Fill in the gaps with text: Header section and savi
48
48
  });
49
49
 
50
50
  describe('Validation error messages', () => {
51
- dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please set points']);
51
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please set points.']);
52
52
 
53
53
  it('Validation error messages should be displayed below required input fields', () => {
54
54
  fillInTheGapsTextPage.steps.verifyQuestionInstructionsErrorMessageIsNotDisplayed();
55
- fillInTheGapsTextPage.steps.verifyWarningIconOnRequiredFields(['Please set points']);
55
+ fillInTheGapsTextPage.steps.verifyWarningIconOnRequiredFields(['Please set points.']);
56
56
  });
57
57
 
58
58
  it('Validation error messages should disappear when required input fields are filled', () => {
@@ -81,7 +81,7 @@ describe('Create item page - Fill in the gaps with text: Header section and savi
81
81
  });
82
82
 
83
83
  it('Should save the question with incomplete authoring and display a snackbar with the text "Saved successfully!" when the Save Question button is clicked', () => {
84
- dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please set points']);
84
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please set points.']);
85
85
  fillInTheGapsTextPage.steps.saveAQuestionWithIncompleteAuthoring();
86
86
  });
87
87
  fillInTheGapsTextPage.tests.verifySavedSuccessfullySnackbarCSSAndA11y();