itemengine-cypress-automation 1.0.223-minorFix-f2741aa.0 → 1.0.223

Sign up to get free protection for your applications and to get access to all the features.
Files changed (184) hide show
  1. package/cypress/e2e/ILC/AudioResponseNew/customizePlaybackControls.js +1 -1
  2. package/cypress/e2e/ILC/AudioResponseNew/studentViewSettings.js +12 -5
  3. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/allOrNothingScoringForAllViews.smoke.js +370 -0
  4. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/gradingViewAndCorrectAnswerView.smoke.js +285 -0
  5. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/previewContentsForAllViews.smoke.js +629 -0
  6. package/cypress/e2e/ILC/ChartsBar/Scoring/addAndDeleteBarAllOrNothingScoring.js +4 -2
  7. package/cypress/e2e/ILC/ChartsBar/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +5 -4
  8. package/cypress/e2e/ILC/ChartsBar/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +2 -1
  9. package/cypress/e2e/ILC/ChartsBar/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +2 -1
  10. package/cypress/e2e/ILC/ChartsBar/Scoring/manuallyAndNonScored.js +2 -1
  11. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightBasic.js +2 -1
  12. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +11 -10
  13. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -1
  14. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -1
  15. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightBasic.js +2 -1
  16. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -1
  17. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +2 -1
  18. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -1
  19. package/cypress/e2e/ILC/ChartsBar/Scoring/toleranceThresholdScoring.js +2 -1
  20. package/cypress/e2e/ILC/ChartsBar/allOrNothingScoringForAllViews.smoke.js +2 -1
  21. package/cypress/e2e/ILC/ChartsBar/gridSettings.js +8 -5
  22. package/cypress/e2e/ILC/ChartsBar/selectChartTypeSection.js +12 -12
  23. package/cypress/e2e/ILC/ChartsLine/editTabScoringSection.js +1 -1
  24. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/allOrNothingBasicForGroupedOptionsLayout.js +0 -1
  25. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perCorrectOptionAlternativePointsGreaterThanCorrectPoints.js +3 -2
  26. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perCorrectOptionBasic.js +2 -2
  27. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perCorrectOptionCorrectPointsGreaterThanAlternativePoints.js +2 -2
  28. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/additionalSettings.js +4 -2
  29. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/additionalSettingsBasic.js +2 -1
  30. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +2 -1
  31. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/clickAndDrop.js +2 -2
  32. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/draggableOptions.js +0 -2
  33. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/pagination.js +2 -2
  34. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/styleAndLayoutCustomizationDraggableOptionsPanel.js +6 -3
  35. package/cypress/e2e/ILC/DrawingResponse/drawingResponseEditTabBasicSection.js +7 -6
  36. package/cypress/e2e/ILC/EssayResponse/editCategoryFlyout.js +1 -1
  37. package/cypress/e2e/ILC/EssayResponse/essayResponseCustomizeFormattingOptions2.js +4 -0
  38. package/cypress/e2e/ILC/EssayResponse/essayResponseCustomizeFormattingOptions3.js +17 -11
  39. package/cypress/e2e/ILC/FeedbackScaleNew/additionalSettings.js +11 -11
  40. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +8 -8
  41. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +2 -2
  42. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +2 -2
  43. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/dropdownAndDropdownMenuSection.js +3 -4
  44. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/dropdownSettings.js +3 -1
  45. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +1 -1
  46. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/Scoring/partialDifferentWeightsBasic.js +4 -4
  47. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +1 -1
  48. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +2 -1
  49. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/minimumScoringPenaltyPointsAndRoundingDropdown.js +1 -1
  50. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +1 -1
  51. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +2 -2
  52. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/dropdownAndDropdownMenuSection.js +2 -4
  53. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +1 -1
  54. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/HeaderSection.js +1 -0
  55. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +1 -1
  56. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +6 -6
  57. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +1 -1
  58. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +1 -1
  59. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/additionalSettingsBasic.js +1 -0
  60. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/editTabScoringSection.js +3 -3
  61. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +1 -1
  62. package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +6 -6
  63. package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +1 -1
  64. package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +1 -1
  65. package/cypress/e2e/ILC/FillInTheGapsTextNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +1 -1
  66. package/cypress/e2e/ILC/Graphing/layoutAndGridOptions.js +53 -44
  67. package/cypress/e2e/ILC/Graphing/toolsControlsAndBackgroundSection.js +4 -6
  68. package/cypress/e2e/ILC/GridFill/customizeLayoutFillImageBackgroundImage.js +2 -2
  69. package/cypress/e2e/ILC/ImageHighlight/Scoring/manuallyAndNonScored.js +2 -1
  70. package/cypress/e2e/ILC/ImageHighlight/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +1 -1
  71. package/cypress/e2e/ILC/ImageHighlight/Scoring/singleSelectionPreviewScoring.js +9 -9
  72. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +1 -1
  73. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +3 -1
  74. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +1 -1
  75. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +1 -1
  76. package/cypress/e2e/ILC/ListOrderingDropdown/minimumScoringPenaltyPointsAndRoundingDropdown.js +3 -3
  77. package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsScoringBasic.js +6 -6
  78. package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +1 -1
  79. package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +1 -1
  80. package/cypress/e2e/ILC/Matching/additionalSettings.js +1 -0
  81. package/cypress/e2e/ILC/Matching/maximumCapacityPerDropzoneSection.js +8 -56
  82. package/cypress/e2e/ILC/Matching/minimumScoringPenaltyPointsAndRoundingDropdown.js +4 -4
  83. package/cypress/e2e/ILC/Matching/specifyCorrectAnswerSection.js +2 -1
  84. package/cypress/e2e/ILC/Matching/toolSettings.js +1 -1
  85. package/cypress/e2e/ILC/MultipleSelection/editTabScoringSection.js +1 -1
  86. package/cypress/e2e/ILC/MultipleSelection/minimumScoringPenaltyPointsAndRoundingDropdown.js +4 -4
  87. package/cypress/e2e/ILC/MultipleSelection/partialDifferentWeightsBasic.js +6 -6
  88. package/cypress/e2e/ILC/MultipleSelection/partialDifferentWeightsWithAlternativeAnswer.js +1 -0
  89. package/cypress/e2e/ILC/MultipleSelection/partialEqualWeightsWithAlternativeAnswer.js +12 -12
  90. package/cypress/e2e/ILC/MultipleSelection/previewContentsForAllViews.smoke.js +1 -1
  91. package/cypress/e2e/ILC/MultipleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +48 -48
  92. package/cypress/e2e/ILC/MultipleSelectionGridNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +2 -2
  93. package/cypress/e2e/ILC/NumberLine/LayoutSection.js +22 -25
  94. package/cypress/e2e/ILC/NumberLine/additionalSettings.js +23 -3
  95. package/cypress/e2e/ILC/NumberLine/editTabScoringSection.js +96 -7
  96. package/cypress/e2e/ILC/NumberLine/lineSettingsSection.js +12 -2
  97. package/cypress/e2e/ILC/NumberLine/numberLineSection.js +4 -6
  98. package/cypress/e2e/ILC/NumberLine/specifyCorrectAnswerSection.js +1 -2
  99. package/cypress/e2e/ILC/NumberLine/studentViewSettings.js +3 -2
  100. package/cypress/e2e/ILC/NumberLine/toolSettings.js +1 -1
  101. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/layoutSection.js +3 -5
  102. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/numberLineSection.js +12 -3
  103. package/cypress/e2e/ILC/NumberLineLabel/specifyCorrectAnswerSection.js +1 -1
  104. package/cypress/e2e/ILC/NumberLineLabel/toolSettings.js +1 -1
  105. package/cypress/e2e/ILC/ShortTextResponseNew/allOrNothingBasicForAllViews.smoke.js +2 -1
  106. package/cypress/e2e/ILC/SingleSelection/allOrNothingBasicForAllViews.smoke.js +2 -1
  107. package/cypress/e2e/ILC/SingleSelection/allOrNothingWithAlternativeAnswer.js +9 -9
  108. package/cypress/e2e/ILC/SingleSelection/manuallyAndNonScoredScoring.js +2 -0
  109. package/cypress/e2e/ILC/SingleSelection/previewContents.smoke.js +1 -1
  110. package/cypress/e2e/ILC/SingleSelectionGridNew/editTabBasicSection.js +3 -3
  111. package/cypress/e2e/ILC/SingleSelectionGridNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +2 -2
  112. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchValue.js +20 -0
  113. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodSymbolsAreEquivalent.js +214 -0
  114. package/cypress/e2e/ILC/TextEntryMath/specifyCorrectAnswerSection.js +2 -1
  115. package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyCorrectAnswerSection.js +1 -6
  116. package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyPossibleOptionsSection.js +1 -2
  117. package/cypress/e2e/ILC/{AudioPlayerNew → ToolAudioPlayerNew}/audioOverviewAndTranscript.js +3 -2
  118. package/cypress/e2e/ILC/{AudioPlayerNew → ToolAudioPlayerNew}/customizePlayerLayoutSettings.js +2 -2
  119. package/cypress/e2e/ILC/{AudioPlayerNew → ToolAudioPlayerNew}/standardAudioPlayerStyle.js +3 -3
  120. package/cypress/e2e/ILC/VideoResponseNew/studentViewSettingsCompactRecorderStyle.js +3 -1
  121. package/cypress/e2e/ILC/chartsDotsPlot/additionalSettings.js +6 -6
  122. package/cypress/e2e/ILC/chartsDotsPlot/editTabScoring.js +4 -4
  123. package/cypress/e2e/ILC/chartsDotsPlot/minimumScoringPenaltyPointsAndRoundingDropdown.js +5 -5
  124. package/cypress/e2e/ILC/chartsDotsPlot/scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +3 -1
  125. package/cypress/e2e/ILC/chartsDotsPlot/scoring/allOrNothingWithCorrectPointsEqualToAlternativePoints.js +4 -2
  126. package/cypress/e2e/ILC/chartsDotsPlot/scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +3 -1
  127. package/cypress/e2e/ILC/chartsDotsPlot/scoring/manualAndNonScoredScoring.js +9 -7
  128. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsBasic.js +62 -60
  129. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +29 -27
  130. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +45 -45
  131. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +28 -28
  132. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsBasic.js +48 -34
  133. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +41 -38
  134. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +26 -26
  135. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +41 -38
  136. package/cypress/e2e/ILC/chartsDotsPlot/scoring/toleranceThresholdScoring.js +7 -5
  137. package/cypress/pages/audioPlayerPage.js +2 -2
  138. package/cypress/pages/audioResponsePage.js +1 -0
  139. package/cypress/pages/chartsBarPage.js +177 -76
  140. package/cypress/pages/chartsDotPlotPage.js +28 -43
  141. package/cypress/pages/components/additionalSettingsPanel.js +5 -2
  142. package/cypress/pages/components/barAndLineChartComponent.js +1 -1
  143. package/cypress/pages/components/chartsCommonComponent.js +28 -0
  144. package/cypress/pages/components/colorPopupComponent.js +2 -0
  145. package/cypress/pages/components/createQuestionBasePage.js +1 -0
  146. package/cypress/pages/components/draggableOptionsSectionComponent.js +1 -0
  147. package/cypress/pages/components/editCategoryFlyout.js +6 -4
  148. package/cypress/pages/components/essayResponseCommonComponents.js +1 -1
  149. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +3 -0
  150. package/cypress/pages/components/gridQuestionCommonComponent.js +2 -4
  151. package/cypress/pages/components/imageCanvasComponent.js +7 -5
  152. package/cypress/pages/components/layoutSectionComponent.js +4 -3
  153. package/cypress/pages/components/numberLineCommonComponent.js +38 -21
  154. package/cypress/pages/components/opacityComponent.js +1 -0
  155. package/cypress/pages/components/optionsWrapperComponent.js +1 -0
  156. package/cypress/pages/components/questionInstructionsComponent.js +1 -1
  157. package/cypress/pages/components/responseAreaSettingsPopupComponent.js +8 -0
  158. package/cypress/pages/components/scoringSectionBaseEditTab.js +5 -2
  159. package/cypress/pages/components/toolSettingsComponent.js +1 -0
  160. package/cypress/pages/contentBlocksPage.js +1 -0
  161. package/cypress/pages/dragAndDropIntoCategoriesPage.js +9 -2
  162. package/cypress/pages/fillInTheGapsDropdownPage.js +16 -1
  163. package/cypress/pages/fillInTheGapsOverImageDropdownPage.js +16 -1
  164. package/cypress/pages/fillInTheGapsOverImageTextPage.js +20 -1
  165. package/cypress/pages/graphingPage.js +43 -10
  166. package/cypress/pages/gridFillPage.js +11 -3
  167. package/cypress/pages/matchingPage.js +2 -0
  168. package/cypress/pages/numberLineLabelPage.js +1 -1
  169. package/cypress/pages/numberLinePage.js +25 -24
  170. package/cypress/pages/readingRulerPage.js +6 -2
  171. package/cypress/pages/rulerPage.js +1 -0
  172. package/cypress/pages/shortTextResponsePage.js +3 -1
  173. package/cypress/pages/singleSelectionPage.js +25 -2
  174. package/cypress/pages/textSelectionPage.js +1 -1
  175. package/cypress/pages/videoResponsePage.js +7 -2
  176. package/package.json +2 -2
  177. /package/cypress/e2e/ILC/{AudioPlayerNew → ToolAudioPlayerNew}/allSupportedFileTypes.js +0 -0
  178. /package/cypress/e2e/ILC/{AudioPlayerNew → ToolAudioPlayerNew}/barAudioPlayerStyle.js +0 -0
  179. /package/cypress/e2e/ILC/{AudioPlayerNew → ToolAudioPlayerNew}/compactAudioPlayerStyle.js +0 -0
  180. /package/cypress/e2e/ILC/{AudioPlayerNew → ToolAudioPlayerNew}/headerSection.js +0 -0
  181. /package/cypress/e2e/ILC/{AudioPlayerNew → ToolAudioPlayerNew}/previewContents.smoke.js +0 -0
  182. /package/cypress/e2e/ILC/{AudioPlayerNew → ToolAudioPlayerNew}/studentViewSettings.js +0 -0
  183. /package/cypress/e2e/ILC/{AudioPlayerNew → ToolAudioPlayerNew}/uploadAndAddAudioFile.js +0 -0
  184. /package/cypress/fixtures/uploads/{sample10Sec.mp3 → sampleAudio.mp3} +0 -0
@@ -68,6 +68,8 @@ const steps = {
68
68
  editCategoryFlyout.categoryCharacters()
69
69
  .eq(index)
70
70
  .click()
71
+ editCategoryFlyout.categoryCharacters()
72
+ .eq(index)
71
73
  .should('have.class', 'Mui-selected');
72
74
  },
73
75
 
@@ -171,8 +173,8 @@ const steps = {
171
173
 
172
174
 
173
175
  /**
174
- * @description this function verifies the aria label of category characters along with its selected state
175
- * @param {string[]} symbolsArray array of aria label of category characters
176
+ * @description This function verifies the aria label of category characters along with its selected state.
177
+ * @param {string[]} arrayOfSymbolsAriaLabel Array of aria labels of category characters.
176
178
  */
177
179
  verifyCategoryCharactersAndSelectedStateForEditedCategory: (arrayOfSymbolsAriaLabel) => {
178
180
  editCategoryFlyout.categoryCharacters()
@@ -183,8 +185,8 @@ const steps = {
183
185
  .should('have.class', 'Mui-selected')
184
186
  .invoke('attr', 'aria-label')
185
187
  .then((ariaLabel) => {
186
- const expectedValue = `${arrayOfSymbolsAriaLabel[index + 1].ariaLabel} selected`;
187
- expect(ariaLabel.toLowerCase()).to.equal(expectedValue.toLowerCase())
188
+ const expectedValue = `${arrayOfSymbolsAriaLabel[index]} selected`;
189
+ expect(ariaLabel.toLowerCase()).to.equal(expectedValue.toLowerCase());
188
190
  });
189
191
  }
190
192
  });
@@ -219,7 +219,7 @@ const steps = {
219
219
 
220
220
  enterInputInResponseField: (textContent) => {
221
221
  essayResponseCommonComponents.responseField()
222
- .type(textContent);
222
+ .type(textContent, { delay: 500 });
223
223
  },
224
224
 
225
225
  clearResponseField: () => {
@@ -82,7 +82,10 @@ const steps = {
82
82
  utilities.getNthElement(fillInTheGapsDropdownCommonComponent.dropdownOptionsInputField(), optionIndex)
83
83
  .clear()
84
84
  .type(responseFieldText, { delay: 0 })
85
+ cy.wait(1000);
86
+ utilities.getNthElement(fillInTheGapsDropdownCommonComponent.dropdownOptionsInputField(), optionIndex)
85
87
  .should('have.value', responseFieldText)
88
+ utilities.getNthElement(fillInTheGapsDropdownCommonComponent.dropdownOptionsInputField(), optionIndex)
86
89
  .blur();
87
90
  },
88
91
 
@@ -1529,10 +1529,9 @@ const steps = {
1529
1529
  .should('have.value', cellHeight);
1530
1530
  gridQuestionCommonComponent.cellMinimumHeightInputField()
1531
1531
  .click();
1532
- cy.wait(2000);
1532
+ cy.wait(2000);
1533
1533
  gridQuestionCommonComponent.cellMinimumHeightInputField()
1534
1534
  .blur();
1535
- cy.wait(2000);
1536
1535
  },
1537
1536
 
1538
1537
  /**
@@ -1716,11 +1715,10 @@ const steps = {
1716
1715
  gridQuestionCommonComponent.columnWidthInputField()
1717
1716
  .eq(index)
1718
1717
  .click();
1719
- cy.wait(2000);
1718
+ cy.wait(2000);
1720
1719
  gridQuestionCommonComponent.columnWidthInputField()
1721
1720
  .eq(index)
1722
1721
  .blur();
1723
- cy.wait(2000);
1724
1722
  },
1725
1723
 
1726
1724
  verifyTableColumnWidthPreviewTab: (index, width) => {
@@ -283,7 +283,8 @@ const steps = {
283
283
  .invoke('attr', 'value')
284
284
  .then((value) => {
285
285
  createQuestionBasePage.steps.switchToPreviewTab();
286
- imageCanvasComponent.canvasImageInPreviewTab().should('have.css', 'width', `${value}px`);
286
+ imageCanvasComponent.canvasImageInPreviewTab()
287
+ .should('have.css', 'width', `${value}px`);
287
288
  });
288
289
  },
289
290
 
@@ -293,7 +294,8 @@ const steps = {
293
294
  .then(($element) => {
294
295
  const imgWidth = $element[0].naturalWidth;
295
296
  createQuestionBasePage.steps.switchToPreviewTab();
296
- imageCanvasComponent.canvasImageInPreviewTab().should('have.css', 'width', `${imgWidth}px`);
297
+ imageCanvasComponent.canvasImageInPreviewTab()
298
+ .should('have.css', 'width', `${imgWidth}px`);
297
299
  });
298
300
  },
299
301
 
@@ -1144,16 +1146,16 @@ const tests = {
1144
1146
  verifyFillImageToCanvasPreviewTabFunctionality: () => {
1145
1147
  it('When user checks \'Fill image to canvas\' checkbox in edit tab, then image should be adjusted to fit inside the canvas in preview tab', () => {
1146
1148
  imageCanvasComponent.steps.switchToEditTab();
1147
- imageCanvasComponent.steps.checkFillImageToCanvasCheckbox(); imageCanvasComponent.steps.switchToPreviewTab();
1149
+ imageCanvasComponent.steps.checkFillImageToCanvasCheckbox();
1150
+ imageCanvasComponent.steps.switchToPreviewTab();
1148
1151
  imageCanvasComponent.steps.verifyImageFitsToCanvasInPreviewTab();
1149
1152
  });
1150
1153
 
1151
- // Failed due to https://redmine.zeuslearning.com/issues/556897
1152
1154
  it('When user unchecks \'Fill image to canvas\' checkbox, then image dimensions should set to default state in preview tab', () => {
1153
1155
  imageCanvasComponent.steps.switchToEditTab();
1154
1156
  imageCanvasComponent.steps.uncheckFillImageToCanvasCheckbox();
1155
1157
  imageCanvasComponent.steps.switchToPreviewTab();
1156
- imageCanvasComponent.steps.verifyImageDoesNotFitToCanvas();
1158
+ imageCanvasComponent.steps.verifyImageDoesNotFitToCanvasInPreviewTab();
1157
1159
  });
1158
1160
  },
1159
1161
 
@@ -513,13 +513,13 @@ const steps = {
513
513
  * @param {number} interval - The interval between consecutive labels.
514
514
  */
515
515
  verifyLabelsVisibleOnNumberLineNumberLineSection: (min, interval) => {
516
- cy.wait(3000);
516
+ cy.wait(1000);
517
517
  layoutSectionComponent.numberLineNumberLineSection()
518
518
  .parents('.ngie-jxgbox')
519
519
  .find('.number-line-tick-font')
520
520
  .its('length').then((len) => {
521
521
  const length = len - 3;
522
- let value = min + 1;
522
+ let value = min + interval;
523
523
  for (let index = 0; index < length; index++) {
524
524
  layoutSectionComponent.numberLineNumberLineSection()
525
525
  .parents('.ngie-jxgbox')
@@ -708,6 +708,7 @@ const steps = {
708
708
  * @param {Array} values - An array of objects containing the value and index of each label.
709
709
  */
710
710
  verifyLabelOnNumberLineNumberLineSection: (values) => {
711
+ cy.wait(1000);
711
712
  values.forEach(({ value, index }) => {
712
713
  layoutSectionComponent.numberLineNumberLineSection()
713
714
  .parents('.ngie-jxgbox')
@@ -761,7 +762,7 @@ const steps = {
761
762
  * @param {number} annotateEvery - The frequency of annotation.
762
763
  */
763
764
  verifyAnnotatedLabelsOnNumberLineNumberLineSection: (value, annotateEvery) => {
764
- cy.wait(3000);
765
+ cy.wait(1000);
765
766
  layoutSectionComponent.numberLineNumberLineSection()
766
767
  .parents('.ngie-jxgbox')
767
768
  .find('.number-line-tick-font')
@@ -2,7 +2,7 @@ import utilities from "../../support/helpers/utilities";
2
2
  import { createQuestionBasePage } from "./createQuestionBasePage";
3
3
  import { layoutSectionComponent } from "./layoutSectionComponent";
4
4
  const lineSettingsOptions = ['Whole numbers', 'Decimals', 'Fractions', 'Mixed fractions'];
5
- const numbers = ['-10', '-10.00', "−\n10\n1", "−\n10\n0\n1"]
5
+ const numbers = ['-9.50', "-\n19\n2", "-9\n1\n2"]
6
6
 
7
7
  const selectors = {
8
8
  ...layoutSectionComponent,
@@ -75,8 +75,9 @@ const steps = {
75
75
  */
76
76
  verifyResponseSpacingSpecifyCorrectAnswerSection: (orientation, value) => {
77
77
  const attribute = orientation === 'Sideways' ? 'height' : 'width';
78
+ const number = orientation === 'Sideways' ? 4 : 5;
78
79
  numberLineCommonComponent.numberLineSpecifyCorrectAnswer()
79
- .should('have.attr', attribute, value * 5);
80
+ .should('have.attr', attribute, value * number);
80
81
  },
81
82
 
82
83
  /**
@@ -132,13 +133,13 @@ const steps = {
132
133
  */
133
134
  verifyLabelsVisibleOnNumberLineSpecifyCorrectAnswerSection: (min, interval) => {
134
135
  cy.log('Wait added to make sure all the labels are visible after checking the checkbox')
135
- cy.wait(3000)
136
+ cy.wait(500)
136
137
  numberLineCommonComponent.numberLineSpecifyCorrectAnswer()
137
138
  .parents('.ngie-jxgbox')
138
139
  .find('.number-line-tick-font')
139
140
  .its('length').then((len) => {
140
141
  const length = len - 3;
141
- let value = min + 1;
142
+ let value = min + interval;
142
143
  for (let index = 0; index < length; index++) {
143
144
  numberLineCommonComponent.numberLineSpecifyCorrectAnswer()
144
145
  .parents('.ngie-jxgbox')
@@ -192,8 +193,9 @@ const steps = {
192
193
  */
193
194
  verifyResponseSpacingPreviewTab: (orientation, value) => {
194
195
  const attribute = orientation === 'Sideways' ? 'height' : 'width';
196
+ const number = orientation === 'Sideways' ? 4 : 5;
195
197
  numberLineCommonComponent.numberLinePreviewTab()
196
- .should('have.attr', attribute, value * 5);
198
+ .should('have.attr', attribute, value * number);
197
199
  },
198
200
 
199
201
  /**
@@ -245,7 +247,7 @@ const steps = {
245
247
  .find('.number-line-tick-font')
246
248
  .its('length').then((len) => {
247
249
  const length = len - 3;
248
- let value = min + 1;
250
+ let value = min + interval;
249
251
  for (let index = 0; index < length; index++) {
250
252
  numberLineCommonComponent.numberLinePreviewTab()
251
253
  .parents('.ngie-jxgbox')
@@ -297,7 +299,7 @@ const steps = {
297
299
  * @param {number} annotateEvery - The frequency of annotation.
298
300
  */
299
301
  verifyAnnotatedLabelsOnNumberLineSpecifyCorrectAnswerSection: (value, annotateEvery) => {
300
- cy.wait(3000);
302
+ cy.wait(500);
301
303
  numberLineCommonComponent.numberLineSpecifyCorrectAnswer()
302
304
  .parents('.ngie-jxgbox')
303
305
  .find('.number-line-tick-font')
@@ -570,8 +572,8 @@ const tests = {
570
572
  it('When user updates value in Min input field then it should be updated in Specify correct answer section', () => {
571
573
  numberLineCommonComponent.steps.enterTextInMinInputField(-12);
572
574
  numberLineCommonComponent.steps.verifyTextInMinInputField(-12);
573
- numberLineCommonComponent.steps.verifyLabelOnNumberLineNumberLineSection([{ value: -12, index: 0 }]);
574
- numberLineCommonComponent.steps.verifyLabelOnNumberLineSpecifyCorrectAnswerSection([{ value: -12, index: 0 }]);
575
+ numberLineCommonComponent.steps.verifyLabelOnNumberLineNumberLineSection([{ value: -11, index: 0 }]);
576
+ numberLineCommonComponent.steps.verifyLabelOnNumberLineSpecifyCorrectAnswerSection([{ value: -11, index: 0 }]);
575
577
  });
576
578
 
577
579
  it('When user updates value in Max input field then it should be updated in Specify correct answer section', () => {
@@ -629,7 +631,7 @@ const tests = {
629
631
  numberLineCommonComponent.steps.enterTextInMinInputField(-12);
630
632
  numberLineCommonComponent.steps.verifyTextInMinInputField(-12);
631
633
  numberLineCommonComponent.steps.switchToPreviewTab();
632
- numberLineCommonComponent.steps.verifyLabelOnNumberLinePreviewTab([{ value: -12, index: 0 }]);
634
+ numberLineCommonComponent.steps.verifyLabelOnNumberLinePreviewTab([{ value: -11, index: 0 }]);
633
635
  });
634
636
 
635
637
  it('When user updates value in Max input field then it should be updated in preview tab', () => {
@@ -662,7 +664,8 @@ const tests = {
662
664
  },
663
665
 
664
666
  verifyDisplaySpecificAnnotationAndLineSettingsEditTabFunctionality: () => {
665
- lineSettingsOptions.forEach((option, index) => {
667
+ const lineSettingsOption = ['Decimals', 'Fractions', 'Mixed fractions'];
668
+ lineSettingsOption.forEach((option, index) => {
666
669
  it(`When user selects ${option} in line settings section, then number displayed on number line should be ${option} in number line section and specify correct answer section`, () => {
667
670
  numberLineCommonComponent.steps.selectLineSettingsToggleButton(option);
668
671
  numberLineCommonComponent.steps.verifyLineSettingsToggleButtonSelected(option);
@@ -672,16 +675,26 @@ const tests = {
672
675
  });
673
676
 
674
677
  it('When user enters value in Display specific annotation (use semicolons to separate) input field then it should be displayed on number line in Number line section and Specify correct answer section', () => {
675
- numberLineCommonComponent.steps.selectLineSettingsToggleButton(lineSettingsOptions[0]);
676
- numberLineCommonComponent.steps.enterTextInDisplaySpecificAnnotationInputField('-9;');
677
- numberLineCommonComponent.steps.verifyTextInDisplaySpecificAnnotationInputField('-9;');
678
- numberLineCommonComponent.steps.verifyLabelOnNumberLineSpecifyCorrectAnswerSection([{ value: -9, index: 1 }]);
679
- numberLineCommonComponent.steps.verifyLabelOnNumberLineNumberLineSection([{ value: -9, index: 1 }]);
678
+ numberLineCommonComponent.steps.selectLineSettingsToggleButton(lineSettingsOptions[1]);
679
+ numberLineCommonComponent.steps.enterTextInDisplaySpecificAnnotationInputField('-9.25;');
680
+ numberLineCommonComponent.steps.verifyTextInDisplaySpecificAnnotationInputField('-9.25;');
681
+ cy.wait(200);
682
+ numberLineCommonComponent.numberLineSpecifyCorrectAnswer()
683
+ .parents('.ngie-jxgbox')
684
+ .find('.number-line-tick-font')
685
+ .contains('-9.25')
686
+ .should('exist');
687
+ numberLineCommonComponent.numberLineNumberLineSection()
688
+ .parents('.ngie-jxgbox')
689
+ .find('.number-line-tick-font')
690
+ .contains('-9.25')
691
+ .should('exist');
680
692
  });
681
693
  },
682
694
 
683
695
  verifyDisplaySpecificAnnotationAndLineSettingsPreviewTabFunctionality: () => {
684
- lineSettingsOptions.forEach((option, index) => {
696
+ const lineSettingsOption = ['Decimals', 'Fractions', 'Mixed fractions'];
697
+ lineSettingsOption.forEach((option, index) => {
685
698
  it(`When user selects ${option} in line settings section, then number displayed on number line should be ${option} in preview tab`, () => {
686
699
  numberLineCommonComponent.steps.switchToEditTab();
687
700
  numberLineCommonComponent.steps.selectLineSettingsToggleButton(option);
@@ -693,11 +706,15 @@ const tests = {
693
706
 
694
707
  it('When user enters value in Display specific annotation (use semicolons to separate) input field then it should be displayed on number line in preview tab', () => {
695
708
  numberLineCommonComponent.steps.switchToEditTab();
696
- numberLineCommonComponent.steps.selectLineSettingsToggleButton(lineSettingsOptions[0]);
697
- numberLineCommonComponent.steps.enterTextInDisplaySpecificAnnotationInputField('-9;');
698
- numberLineCommonComponent.steps.verifyTextInDisplaySpecificAnnotationInputField('-9;');
709
+ numberLineCommonComponent.steps.selectLineSettingsToggleButton(lineSettingsOptions[1]);
710
+ numberLineCommonComponent.steps.enterTextInDisplaySpecificAnnotationInputField('-9.25;');
711
+ numberLineCommonComponent.steps.verifyTextInDisplaySpecificAnnotationInputField('-9.25;');
699
712
  numberLineCommonComponent.steps.switchToPreviewTab();
700
- numberLineCommonComponent.steps.verifyLabelOnNumberLinePreviewTab([{ value: -9, index: 1 }]);
713
+ numberLineCommonComponent.numberLinePreviewTab()
714
+ .parents('.ngie-jxgbox')
715
+ .find('.number-line-tick-font')
716
+ .contains('-9.25')
717
+ .should('exist');
701
718
  });
702
719
  },
703
720
  }
@@ -60,6 +60,7 @@ const steps = {
60
60
  clickActionOnOpacitySlider: () => {
61
61
  opacityComponent.opacitySlider()
62
62
  .click();
63
+ cy.wait(1000);
63
64
  }
64
65
  }
65
66
 
@@ -240,6 +240,7 @@ const steps = {
240
240
  optionsWrapperComponent.optionsInputField()
241
241
  .eq(index)
242
242
  .type(textContent)
243
+ cy.wait(2000);
243
244
  optionsWrapperComponent.optionsInputField()
244
245
  .eq(index)
245
246
  .click()
@@ -49,7 +49,7 @@ const steps = {
49
49
  questionInstructionsComponent.questionInstructionsInputField()
50
50
  .type(text)
51
51
  .blur();
52
- cy.wait(1000);
52
+ cy.wait(2000);
53
53
  questionInstructionsComponent.questionInstructionsInputField()
54
54
  .should('have.text', text);
55
55
  },
@@ -53,6 +53,11 @@ const steps = {
53
53
  responseAreaSettingsPopupComponent.responseAreaSettingsWidthInputField()
54
54
  .clear()
55
55
  .type(width)
56
+ cy.wait(1000);
57
+ responseAreaSettingsPopupComponent.responseAreaSettingsWidthInputField()
58
+ .click();
59
+ cy.wait(1000);
60
+ responseAreaSettingsPopupComponent.responseAreaSettingsWidthInputField()
56
61
  .blur();
57
62
  },
58
63
 
@@ -64,6 +69,9 @@ const steps = {
64
69
  responseAreaSettingsPopupComponent.responseAreaSettingsHeightInputField()
65
70
  .clear()
66
71
  .type(height)
72
+ cy.wait(1000)
73
+ responseAreaSettingsPopupComponent.responseAreaSettingsHeightInputField()
74
+ .click()
67
75
  .blur();
68
76
  },
69
77
  }
@@ -47,6 +47,7 @@ const steps = {
47
47
  .should('have.value', points);
48
48
  scoringSectionBaseEditTab.pointsInputField()
49
49
  .click()
50
+ scoringSectionBaseEditTab.pointsInputField()
50
51
  .blur();
51
52
  },
52
53
 
@@ -76,6 +77,8 @@ const steps = {
76
77
  const convertedString = scoringType.replace(/\b\w/g, (match) => match.toUpperCase());
77
78
  scoringSectionBaseEditTab.scoringTypeDropdownListOptions(convertedString)
78
79
  .click();
80
+ cy.wait(2000);
81
+
79
82
  },
80
83
 
81
84
  /**
@@ -87,7 +90,7 @@ const steps = {
87
90
  .clear()
88
91
  scoringSectionBaseEditTab.minimumPointsInputField()
89
92
  .type(`${points}`)
90
- cy.wait(2000)
93
+ cy.wait(2000);
91
94
  scoringSectionBaseEditTab.minimumPointsInputField()
92
95
  .should('have.value', points);
93
96
  scoringSectionBaseEditTab.minimumPointsInputField()
@@ -371,7 +374,7 @@ const tests = {
371
374
  scoringSectionBaseEditTab.steps.clearMinimumPointsField();
372
375
  scoringSectionBaseEditTab.minimumPointsInputField()
373
376
  .click();
374
- cy.wait(1000)
377
+ cy.wait(2000);
375
378
  scoringSectionBaseEditTab.minimumPointsInputField()
376
379
  .blur();
377
380
  utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'notExist');
@@ -92,6 +92,7 @@ const steps = {
92
92
  },
93
93
 
94
94
  clickOnOkButton: () => {
95
+ cy.wait(2000);
95
96
  toolSettingsComponent.okButton()
96
97
  .click();
97
98
  },
@@ -575,6 +575,7 @@ const steps = {
575
575
  .type(inputHeadingText);
576
576
  contentBlocksPage.textBlockInputField()
577
577
  .type(inputBodyText);
578
+ cy.wait(2000);
578
579
  contentBlocksPage.saveQuestionButton()
579
580
  .click();
580
581
  },
@@ -87,7 +87,7 @@ const selectors = {
87
87
  deleteColumnButton: () => cy.get('[aria-label="Columns"] [aria-label*="Decrease count"]'),
88
88
  deleteRowButton: () => cy.get('[aria-label="Rows"] [aria-label*="Decrease count"]'),
89
89
  penaltyPointsForIncorrectDropzoneInputField: () => cy.get('input[aria-label="Penalty points for each incorrect dropzone"]'),
90
- penaltyPointsForIncorrectOptionInputField: () => cy.get('input[aria-label="penalty points for each incorrect option"]'),
90
+ penaltyPointsForIncorrectOptionInputField: () => cy.get('input[aria-label="Penalty points for each incorrect option"]'),
91
91
  penaltyPointsForEachIncorrectOptionOrDropzoneLabel: () => cy.get('[class*="PenaltyScoreForEachIncorrectstyles__PointsLabel"]'),
92
92
  tableOuterBorder: () => cy.get('.table-border'),
93
93
  maxLimitInEachDropzoneHelpText: () => cy.get('[class*="Matrixstyles__MaxLimitWrapper"]'),
@@ -97,7 +97,7 @@ const selectors = {
97
97
  //Style and layout
98
98
  layoutLabel: () => cy.get('[class*="Layoutstyles__SectionWrapper"]'),
99
99
  rowSpacingDropdownLabel: () => cy.get('#Row-spacing-dropdown-label'),
100
- rowSpacingDropdown: () => cy.get('[aria-labelledby*="Row-spacing-dropdown-label"]'),
100
+ rowSpacingDropdown: () => cy.get('[aria-labelledby*="Row-spacing-dropdown-label"]').eq(0),
101
101
  rowSpacingDropdownOptions: (ariaLabel = null) => {
102
102
  if (ariaLabel) {
103
103
  return cy.get(`[aria-labelledby*="Row-spacing-dropdown-label"] .dropdown-menu-item[aria-label*="${ariaLabel}"]`)
@@ -1527,6 +1527,9 @@ const steps = {
1527
1527
  .clear()
1528
1528
  .type(cellHeight)
1529
1529
  .should('have.value', cellHeight);
1530
+ dragAndDropIntoCategoriesPage.dropzoneMinimumHeightInputField()
1531
+ .click();
1532
+ cy.wait(2000);
1530
1533
  dragAndDropIntoCategoriesPage.dropzoneMinimumHeightInputField()
1531
1534
  .blur();
1532
1535
  },
@@ -1744,6 +1747,10 @@ const steps = {
1744
1747
  .eq(index)
1745
1748
  .clear()
1746
1749
  .type(width);
1750
+ dragAndDropIntoCategoriesPage.dropzoneWidthInputField()
1751
+ .eq(index)
1752
+ .click();
1753
+ cy.wait(2000);
1747
1754
  dragAndDropIntoCategoriesPage.dropzoneWidthInputField()
1748
1755
  .eq(index)
1749
1756
  .blur();
@@ -29,7 +29,8 @@ const selectors = {
29
29
  setForAllDropdownsLabel: () => cy.get('[data-ngie-testid="set-for-all-dropdowns-checkbox"] .MuiFormControlLabel-label'),
30
30
  setForAllDropdownsCheckbox: () => cy.get('[data-ngie-testid="set-for-all-dropdowns-checkbox"] input'),
31
31
  correctAnswerSectionWithoutEnumerationWrapper: () => cy.get('.cloze-with-text-correct-answer-wrapper .preview-question-text-wrapper'),
32
- correctAnswersLabel: () => cy.get('.cloze-with-text-correct-answer-label')
32
+ correctAnswersLabel: () => cy.get('.cloze-with-text-correct-answer-label'),
33
+ tooltipText: () => cy.get('[class*="MuiTooltip-tooltip"]'),
33
34
  }
34
35
 
35
36
  const steps = {
@@ -217,6 +218,20 @@ const steps = {
217
218
  });
218
219
  });
219
220
  },
221
+ /**
222
+ * @param {string} element denotes element
223
+ * @param {string} text denotes tooltip text
224
+ * @description function is used to hover over element and verify innertext of its tooltip
225
+ */
226
+ verifyTooltipInnerText: (element, text, index = null) => {
227
+ element
228
+ .eq(index)
229
+ .realHover()
230
+ utilities.verifyInnerText(fillInTheGapsDropdownPage.tooltipText(), text);
231
+ element
232
+ .eq(index)
233
+ .trigger('mouseout');
234
+ },
220
235
  }
221
236
 
222
237
  const tests = {
@@ -32,7 +32,8 @@ const selectors = {
32
32
  dropdownConnectorStyleLabel: () => cy.get('.dropzone-connector-style-label'),
33
33
  connectorEndPointShapeLabel: () => cy.get('[class*="__SubSectionLabel"]').eq(2),
34
34
  connectorEndPointShapeOptions: (shapeOption) => cy.get(`.dropzone-connector-option button[aria-label*="${shapeOption}"]`),
35
- previewTabCanvas: () => cy.get('.drag-and-drop-canvas')
35
+ previewTabCanvas: () => cy.get('.drag-and-drop-canvas'),
36
+ tooltipText: () => cy.get('[class*="MuiTooltip-tooltip"]'),
36
37
  }
37
38
 
38
39
  const steps = {
@@ -275,6 +276,20 @@ const steps = {
275
276
  imageCanvasComponent.canvasImageInPreviewTab()
276
277
  .should('have.attr', 'alt', 'highlightImage.jpg');
277
278
  },
279
+ /**
280
+ * @param {string} element denotes element
281
+ * @param {string} text denotes tooltip text
282
+ * @description function is used to hover over element and verify innertext of its tooltip
283
+ */
284
+ verifyTooltipInnerText: (element, text, index = null) => {
285
+ element
286
+ .eq(index)
287
+ .realHover()
288
+ utilities.verifyInnerText(fillInTheGapsOverImageDropdownPage.tooltipText(), text);
289
+ element
290
+ .eq(index)
291
+ .trigger('mouseout', { force: true });
292
+ },
278
293
  }
279
294
 
280
295
  const tests = {
@@ -39,7 +39,8 @@ const selectors = {
39
39
  textContainerHeightInputField: () => cy.get('.dropzone-text-container-dimension [id="Height (px)"]'),
40
40
  textContainerWidthInputFieldLabel: () => cy.get('.dropzone-text-container-dimension [aria-labelledby="Width (px)"]'),
41
41
  textContainerWidthInputField: () => cy.get('.dropzone-text-container-dimension [id="Width (px)"]'),
42
- textContainerConnectorStyleLabel: () => cy.get('.dropzone-connector-style-label')
42
+ textContainerConnectorStyleLabel: () => cy.get('.dropzone-connector-style-label'),
43
+ responseArea: () => cy.get('.canvas-dropzone'),
43
44
  }
44
45
 
45
46
  const steps = {
@@ -80,6 +81,18 @@ const steps = {
80
81
  });
81
82
  },
82
83
 
84
+
85
+ /**
86
+ * Verifies the background color of a response area element.
87
+ * @param {number} responseAreaIndex - The index of the response area to verify.
88
+ * @param {string} colorValue - The expected background color value.
89
+ */
90
+ verifyResponseAreaFillColor: (responseAreaIndex, colorValue) => {
91
+ utilities.verifyCSS(utilities.getNthElement(fillInTheGapsOverImageTextPage.responseArea(), responseAreaIndex), {
92
+ 'background-color': colorValue
93
+ });
94
+ },
95
+
83
96
  /**
84
97
  * Verify that the correct option icon is displayed for a specific answer input field.
85
98
  * @param {number} inputFieldIndex - The index of the answer input field to verify.
@@ -257,6 +270,9 @@ const steps = {
257
270
  setTextContainerHeight: (height) => {
258
271
  fillInTheGapsOverImageTextPage.textContainerHeightInputField()
259
272
  .type(height)
273
+ cy.wait(1000)
274
+ fillInTheGapsOverImageTextPage.textContainerHeightInputField()
275
+ .click()
260
276
  .blur();
261
277
  },
262
278
 
@@ -267,6 +283,9 @@ const steps = {
267
283
  setTextContainerWidth: (width) => {
268
284
  fillInTheGapsOverImageTextPage.textContainerWidthInputField()
269
285
  .type(width)
286
+ cy.wait(1000)
287
+ fillInTheGapsOverImageTextPage.textContainerWidthInputField()
288
+ .click()
270
289
  .blur();
271
290
  },
272
291