itemengine-cypress-automation 1.0.225-activeDeadlineSecondsUpdated-34c7d0c.0 → 1.0.226-5thAugustFixes-cc6b557.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (141) hide show
  1. package/cypress/e2e/ILC/AudioResponseNew/studentViewSettings.js +9 -5
  2. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/allOrNothingScoringForAllViews.smoke.js +8 -6
  3. package/cypress/e2e/ILC/ChartsBar/Scoring/addAndDeleteBarAllOrNothingScoring.js +2 -1
  4. package/cypress/e2e/ILC/ChartsBar/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +1 -1
  5. package/cypress/e2e/ILC/ChartsBar/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +2 -1
  6. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +2 -1
  7. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -3
  8. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -2
  9. package/cypress/e2e/ILC/ChartsBar/allOrNothingScoringForAllViews.smoke.js +2 -1
  10. package/cypress/e2e/ILC/ChartsBar/editTabScoringSection.js +2 -2
  11. package/cypress/e2e/ILC/ChartsBar/gridSettings.js +3 -3
  12. package/cypress/e2e/ILC/ChartsBar/selectChartTypeSection.js +11 -10
  13. package/cypress/e2e/ILC/ChartsLine/Scoring/addAndDeletePointAllOrNothingScoring.js +307 -0
  14. package/cypress/e2e/ILC/ChartsLine/Scoring/manuallyAndNonScored.js +282 -0
  15. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +387 -0
  16. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +280 -0
  17. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +280 -0
  18. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +340 -0
  19. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +255 -0
  20. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +230 -0
  21. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +354 -0
  22. package/cypress/e2e/ILC/ChartsLine/Scoring/toleranceThresholdScoring.js +143 -0
  23. package/cypress/e2e/ILC/ChartsLine/additionalSettings.js +4 -2
  24. package/cypress/e2e/ILC/ChartsLine/allOrNothingScoringForAllViews.smoke.js +2 -2
  25. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perCorrectOptionAlternativePointsGreaterThanCorrectPoints.js +1 -2
  26. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneAlternativePointsGreaterThanCorrectPoints.js +5 -6
  27. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneCorrectPointsEqualToAlternativePoints.js +1 -1
  28. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/clickAndDrop.js +1 -1
  29. package/cypress/e2e/ILC/DrawingResponse/drawingResponseCustomizeAdditionalOptions.js +2 -1
  30. package/cypress/e2e/ILC/DrawingResponse/drawingResponseEditTabBasicSection.js +1 -0
  31. package/cypress/e2e/ILC/EssayResponse/createCustomCategory.smoke.js +50 -126
  32. package/cypress/e2e/ILC/EssayResponse/essayResponseCustomizeFormattingOptions3.js +1 -1
  33. package/cypress/e2e/ILC/EssayResponse/essayResponseSpecialCharacters.js +2 -2
  34. package/cypress/e2e/ILC/EssayResponseMath/mathCharacters.js +8 -6
  35. package/cypress/e2e/ILC/FeedbackScaleNew/editTabBasicSection.js +2 -1
  36. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialDifferentWeightsBasic.js +6 -7
  37. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/dropzoneSettings.js +1 -0
  38. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/specifyCorrectAnswerSection.js +2 -1
  39. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/additionalSettingsBasic.js +4 -3
  40. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/dropdownSettings.js +6 -4
  41. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/Scoring/partialDifferentWeightsBasic.js +2 -2
  42. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/specifyCorrectAnswerSection.js +2 -1
  43. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/studentViewSettings.js +2 -1
  44. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editTabBasicSection.js +3 -3
  45. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/headerSection.js +2 -1
  46. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +3 -2
  47. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +2 -1
  48. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +3 -2
  49. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +2 -1
  50. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/setLimitSection.js +10 -8
  51. package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +3 -2
  52. package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +3 -2
  53. package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +3 -2
  54. package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +3 -2
  55. package/cypress/e2e/ILC/FillInTheGapsTextNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +3 -2
  56. package/cypress/e2e/ILC/FillInTheGapsTextNew/setLimitSection.js +7 -5
  57. package/cypress/e2e/ILC/Graphing/layoutAndGridOptions.js +32 -21
  58. package/cypress/e2e/ILC/ImageHighlight/Scoring/partialDifferentWeigtsCorrectPointsGreaterThanAlternativePoints.js +2 -2
  59. package/cypress/e2e/ILC/ImageHighlight/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +1 -1
  60. package/cypress/e2e/ILC/ImageHighlight/backgroundImageAndCanvasProperties.js +4 -3
  61. package/cypress/e2e/ILC/ImageHighlight/customiseHighlightStyle.js +1 -1
  62. package/cypress/e2e/ILC/ImageHighlight/editTabScoring.js +1 -1
  63. package/cypress/e2e/ILC/ImageHighlight/imageHighlightStyle.js +6 -6
  64. package/cypress/e2e/ILC/ImageHighlight/minimumScoringPenaltyPointsAndRoundingDropdown.js +8 -6
  65. package/cypress/e2e/ILC/ListOrderingDropdown/specifyCorrectAnswerSection.js +5 -3
  66. package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/setPointsPopup.js +2 -1
  67. package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/specifyCorrectAnswerSection.js +2 -1
  68. package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/studentViewSettings.js +2 -1
  69. package/cypress/e2e/ILC/ListOrderingNew/headerSection.js +2 -1
  70. package/cypress/e2e/ILC/ListOrderingNew/specifyCorrectAnswerSection.js +2 -1
  71. package/cypress/e2e/ILC/Matching/maximumCapacityPerDropzoneSection.js +1 -3
  72. package/cypress/e2e/ILC/Matching/toolSettings.js +1 -1
  73. package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +2 -1
  74. package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +2 -1
  75. package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -1
  76. package/cypress/e2e/ILC/MultipleSelectionGridNew/additionalSettings.js +4 -2
  77. package/cypress/e2e/ILC/MultipleSelectionGridNew/editTabBasicSection.js +4 -3
  78. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +2 -2
  79. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +2 -2
  80. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +2 -2
  81. package/cypress/e2e/ILC/NumberLine/Scoring/manualAndNonScoredScoring.js +2 -2
  82. package/cypress/e2e/ILC/NumberLine/Scoring/partialEqualWeightsBasic.js +11 -11
  83. package/cypress/e2e/ILC/NumberLine/Scoring/partialEqualWeightsWithAlternatePointsGreaterThanCorrectPoints.js +5 -5
  84. package/cypress/e2e/ILC/NumberLine/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternatePoints.js +7 -7
  85. package/cypress/e2e/ILC/NumberLine/Scoring/partialEqualWeigtsWithCorrectPointsEqualToAlternatePoints.js +3 -3
  86. package/cypress/e2e/ILC/NumberLine/allOrNothingScoringForAllViews.smoke.js +15 -15
  87. package/cypress/e2e/ILC/NumberLine/previewTabContentsForAllViews.smoke.js +7 -7
  88. package/cypress/e2e/ILC/NumberLine/toolsAndControls.js +2 -2
  89. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/allOrNothingScoringForAllViews.smoke.js +14 -14
  90. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/numberLineSection.js +3 -3
  91. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/previewTabContentsForAllViews.smoke.js +1 -1
  92. package/cypress/e2e/ILC/NumberLineLabel/editTabBasicSection.js +17 -2
  93. package/cypress/e2e/ILC/NumberLineLabel/editTabScoring.js +8 -8
  94. package/cypress/e2e/ILC/NumberLineLabel/layoutSection.js +15 -28
  95. package/cypress/e2e/ILC/NumberLineLabel/manuallyAndNonScoredEditTab.js +4 -4
  96. package/cypress/e2e/ILC/NumberLineLabel/numberLineSection.js +5 -5
  97. package/cypress/e2e/ILC/NumberLineLabel/studentViewSettings.js +4 -2
  98. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/layoutSection.js +28 -42
  99. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/numberLineSection.js +5 -5
  100. package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +6 -4
  101. package/cypress/e2e/ILC/ShortTextResponseNew/manuallyAndNonScoredScoring.js +2 -1
  102. package/cypress/e2e/ILC/SingleSelectionGridNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +2 -2
  103. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodEquivalentStructures.js +113 -112
  104. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchValue.js +1 -1
  105. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodsWithoutSetResponse.js +66 -65
  106. package/cypress/e2e/ILC/TextEntryMath/responseEvaluationMethodsAndCustomSettings.js +1 -0
  107. package/cypress/e2e/ILC/TextSelection/minimumScoringPenaltyPointsAndRoundingDropdown.js +8 -4
  108. package/cypress/e2e/ILC/TextSelection/questionInstructionsAndQuestion.js +2 -1
  109. package/cypress/e2e/ILC/TextSelection/specifyCorrectAnswerSection.js +2 -1
  110. package/cypress/e2e/ILC/VideoResponseNew/studentViewSettingsStandardRecorderStyle.js +3 -2
  111. package/cypress/e2e/ILC/chartsDotsPlot/additionalSettings.js +4 -2
  112. package/cypress/e2e/ILC/chartsDotsPlot/allOrNothingForAllViews.smoke.js +2 -2
  113. package/cypress/e2e/ILC/chartsDotsPlot/minimumScoringPenaltyPointsAndRoundingDropdown.js +3 -3
  114. package/cypress/e2e/ILC/chartsDotsPlot/numberLineAxisSettings.js +4 -4
  115. package/cypress/e2e/ILC/chartsDotsPlot/scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +3 -3
  116. package/cypress/e2e/ILC/chartsDotsPlot/scoring/allOrNothingWithCorrectPointsEqualToAlternativePoints.js +2 -1
  117. package/cypress/e2e/ILC/chartsDotsPlot/scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +2 -1
  118. package/cypress/e2e/ILC/chartsDotsPlot/scoring/manualAndNonScoredScoring.js +4 -3
  119. package/cypress/e2e/ILC/chartsDotsPlot/selectChartTypeSection.js +2 -2
  120. package/cypress/fixtures/drawingToolbarOptionsAdditionalOptionsAndSpecialAndMathCharacters.js +14 -7
  121. package/cypress/pages/audioResponsePage.js +14 -2
  122. package/cypress/pages/chartsDotPlotPage.js +28 -1
  123. package/cypress/pages/chartsLinePage.js +16 -3
  124. package/cypress/pages/components/additionalSettingsPanel.js +0 -3
  125. package/cypress/pages/components/chartsCommonComponent.js +5 -1
  126. package/cypress/pages/components/createCustomCategoryFlyout.js +47 -12
  127. package/cypress/pages/components/customizeMathCharacterComponent.js +1 -1
  128. package/cypress/pages/components/equationEditorFlyout.js +12 -13
  129. package/cypress/pages/components/fillInTheGapsTextCommonComponent.js +2 -1
  130. package/cypress/pages/components/playbackControlsBaseComponent.js +1 -1
  131. package/cypress/pages/components/scoringSectionBaseEditTab.js +1 -1
  132. package/cypress/pages/dragAndDropIntoCategoriesPage.js +2 -2
  133. package/cypress/pages/essayResponseMathPage.js +19 -10
  134. package/cypress/pages/essayResponsePage.js +16 -10
  135. package/cypress/pages/fillInTheGapsOverImageDropdownPage.js +9 -5
  136. package/cypress/pages/imageHighlightPage.js +46 -29
  137. package/cypress/pages/matchingPage.js +1 -1
  138. package/cypress/pages/numberLineLabelPage.js +25 -28
  139. package/cypress/pages/numberLinePage.js +9 -2
  140. package/cypress/pages/shortTextResponsePage.js +33 -9
  141. package/package.json +1 -1
@@ -81,7 +81,8 @@ describe('Create Item page - Text selection: Specify correct answer, Alternative
81
81
  textSelectionPage.steps.verifyAlternativeAnswerAccordionLabel(0);
82
82
  });
83
83
 
84
- it('When the user deselects an option assigned as correct in the correct accordion then the correct accordion should be in the expanded state', () => {
84
+ //need to remove skip after https://redmine.zeuslearning.com/issues/571545 is resolved
85
+ it.skip('When the user deselects an option assigned as correct in the correct accordion then the correct accordion should be in the expanded state', () => {
85
86
  textSelectionPage.steps.clickOnOptionInSpecifyPossibleOptionsSection(paragraphTextArray[0]);
86
87
  textSelectionPage.steps.verifyCorrectAnswerAccordionIsExpanded();
87
88
  });
@@ -164,8 +164,9 @@ describe('Create item page - Audio response: Student view settings for Standard
164
164
  videoResponsePage.steps.startRecording();
165
165
  videoResponsePage.steps.waitForRecordingToStart();
166
166
  videoResponsePage.steps.stopRecording();
167
- videoResponsePage.retakeRecordingButton()
168
- .verifyTooltip('Retake recording(1 retakes remaining)');
167
+ //need to remove comment after https://redmine.zeuslearning.com/issues/578315 is resolved
168
+ // videoResponsePage.retakeRecordingButton()
169
+ // .verifyTooltip('Retake recording(1 retakes remaining)');
169
170
  });
170
171
 
171
172
  it('For "Standard" mode, When the user removes the retake limit, then the user should be able to retake the recording for n number of times', () => {
@@ -36,7 +36,8 @@ describe('Create Item page : Charts - Dot plot : Additional settings', () => {
36
36
  });
37
37
 
38
38
  Object.keys(fontSizes).forEach((option) => {
39
- it(`When the user selects \'${option}\' option from the Font Size dropdown, then font size of the specify correct answer section should change to ${fontSizes[option]} accordingly`, () => {
39
+ //Remove the following skip after https://redmine.zeuslearning.com/issues/577171 is resolved.
40
+ it.skip(`When the user selects \'${option}\' option from the Font Size dropdown, then font size of the specify correct answer section should change to ${fontSizes[option]} accordingly`, () => {
40
41
  chartsDotPlotPage.steps.selectFontSizeOptionFromFontSizeDropdown(option);
41
42
  utilities.verifyInnerText(chartsDotPlotPage.fontSizeDropdown(), `${option}`);
42
43
  utilities.verifyCSS(chartsDotPlotPage.labelsNumberLineAxisSelectChartType(), {
@@ -74,7 +75,8 @@ describe('Create Item page : Charts - Dot plot : Additional settings', () => {
74
75
  });
75
76
 
76
77
  Object.keys(fontSizes).forEach((option) => {
77
- it(`When the user selects \'${option}\' option from the Font Size dropdown, then font size of the preview tab should change to ${fontSizes[option]} accordingly`, () => {
78
+ //Remove the following skip after https://redmine.zeuslearning.com/issues/577171 is resolved.
79
+ it.skip(`When the user selects \'${option}\' option from the Font Size dropdown, then font size of the preview tab should change to ${fontSizes[option]} accordingly`, () => {
78
80
  chartsDotPlotPage.steps.selectFontSizeOptionFromFontSizeDropdown(option);
79
81
  utilities.verifyInnerText(chartsDotPlotPage.fontSizeDropdown(), `${option}`);
80
82
  chartsDotPlotPage.steps.switchToPreviewTab();
@@ -395,8 +395,8 @@ describe('Create Item page - Charts - Dot: All or nothing ', () => {
395
395
  chartsDotPlotPage.steps.verifyPreviewScore(2, 10);
396
396
  chartsDotPlotPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
397
397
  });
398
-
399
- it('When the user selects \'Award minimum score only if attempted\' from the minimum scoring dropdown, does not attempt the question and switches to grading view, then the user should be awarded with 0 points', () => {
398
+ //Remove the skip after https://redmine.zeuslearning.com/issues/578629 has been resolved.
399
+ it.skip('When the user selects \'Award minimum score only if attempted\' from the minimum scoring dropdown, does not attempt the question and switches to grading view, then the user should be awarded with 0 points', () => {
400
400
  chartsDotPlotPage.steps.switchToEditTab();
401
401
  chartsDotPlotPage.steps.expandMinimumScoringDropdown();
402
402
  chartsDotPlotPage.steps.selectOptionFromMinimumScoringDropdown('Award minimum score only if attempted');
@@ -25,7 +25,7 @@ describe('Create item page - Charts - Dot plot: Minimum scoring, Penalty scoring
25
25
  chartsDotPlotPage.tests.verifyMinimumPointsFieldErrorState();
26
26
  });
27
27
 
28
- describe('Scoring section: Penalty scoring - Edit tab', () => {
28
+ describe.only('Scoring section: Penalty scoring - Edit tab', () => {
29
29
  abortEarlySetup();
30
30
  before(() => {
31
31
  chartsDotPlotPage.steps.navigateToCreateQuestion('charts');
@@ -126,8 +126,8 @@ describe('Create item page - Charts - Dot plot: Minimum scoring, Penalty scoring
126
126
  chartsDotPlotPage.steps.clearTotalPenaltyPointsInputField();
127
127
  chartsDotPlotPage.steps.selectPenaltyPointsForEachIncorrectOptionType('Specify points for each incorrect dot plot');
128
128
  utilities.verifyInnerText(chartsDotPlotPage.penaltyPointsDetailsSectionInputFieldLabel(), 'Penalty points for each incorrect dot plot');
129
- chartsDotPlotPage.steps.verifyPenaltyPointsForEachIncorrectOptionValue('0.86');
130
- utilities.verifyInnerText(chartsDotPlotPage.penaltyPointsDetailsSectionAllottedPointsLabel(), 'Total penalty points: 6.02');
129
+ chartsDotPlotPage.steps.verifyPenaltyPointsForEachIncorrectOptionValue('');
130
+ utilities.verifyInnerText(chartsDotPlotPage.penaltyPointsDetailsSectionAllottedPointsLabel(), 'Total penalty points: -');
131
131
  });
132
132
 
133
133
  it('When the user allots Penalty points for each incorrect dot plot, then \'Total penalty points\' should get updated as per the count of incorrect options available', () => {
@@ -5,7 +5,7 @@ const css = Cypress.env('css');
5
5
 
6
6
  const displayNumbersOptions = ["Below line", "Above line"]
7
7
  const lineSettingsOptions = ['Whole numbers', 'Decimals', 'Fractions', 'Mixed fractions'];
8
- const numbers = ['0.25', '1\n4', "0\n1\n4"];
8
+ const numbers = ['1.25', '5\n4', '1\n1\n4'];
9
9
 
10
10
  describe('Select chart type section', () => {
11
11
  before(() => {
@@ -188,8 +188,8 @@ describe('Select chart type section', () => {
188
188
  it(`When user selects ${option} in line settings section, then number displayed on number line should be ${option} in select chart type and specify correct answer section`, () => {
189
189
  chartsDotPlotPage.steps.selectLineSettingsToggleButton(option);
190
190
  chartsDotPlotPage.steps.verifyLineSettingsToggleButtonSelected(option);
191
- chartsDotPlotPage.steps.verifyLabelOnNumberLineAxisSpecifyCorrectAnswer([{ value: numbers[index], index: 1 }]);
192
- chartsDotPlotPage.steps.verifyLabelOnNumberLineAxisSelectChartType([{ value: numbers[index], index: 1 }]);
191
+ chartsDotPlotPage.steps.verifyLabelOnNumberLineAxisSpecifyCorrectAnswer([{ value: numbers[index], index: 5 }]);
192
+ chartsDotPlotPage.steps.verifyLabelOnNumberLineAxisSelectChartType([{ value: numbers[index], index: 5 }]);
193
193
  });
194
194
  });
195
195
  })
@@ -258,7 +258,7 @@ describe('Select chart type section', () => {
258
258
  chartsDotPlotPage.steps.selectLineSettingsToggleButton(option);
259
259
  chartsDotPlotPage.steps.verifyLineSettingsToggleButtonSelected(option);
260
260
  chartsDotPlotPage.steps.switchToPreviewTab();
261
- chartsDotPlotPage.steps.verifyLabelOnNumberLineAxisPreviewTab([{ value: numbers[index], index: 1 }]);
261
+ chartsDotPlotPage.steps.verifyLabelOnNumberLineAxisPreviewTab([{ value: numbers[index], index: 5 }]);
262
262
  });
263
263
  });
264
264
  });
@@ -126,10 +126,10 @@ describe('Create item page - Charts - Dot plot : All or nothing with alternative
126
126
  chartsDotPlotPage.steps.verifyPreviewScore(0, 30);
127
127
  chartsDotPlotPage.steps.switchToGradingView();
128
128
  chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
129
- chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1 });
129
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1 });
130
130
  chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1, defaultDots: 0 });
131
- chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1 });
132
- chartsDotPlotPage.steps.verifyEmptyDotColumnPreviewTab({ point: 5, min: 1, interval: 1});
131
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1 });
132
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1, defaultDots: 0 });
133
133
  chartsDotPlotPage.steps.verifyEmptyDotColumnPreviewTab({ point: 6, min: 1, interval: 1 });
134
134
  chartsDotPlotPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
135
135
  chartsDotPlotPage.steps.verifyLockedDotColumnCorrectAnswerSection({ point: 1, min: 1, interval: 1 });
@@ -153,7 +153,8 @@ describe('Create item page - Charts-Dot plot : All or nothing with alternative a
153
153
  chartsDotPlotPage.steps.verifyCorrectAnswerSectionNotExists();*/
154
154
  });
155
155
 
156
- it('When the user attempts the question with partially correct options exclusively from the alternative accordion, then the user should be awarded 0 points and on switching to \'Grading\' view, correct icon should be displayed in the dot column attempted correctly, incorrect icon should be displayed in the dot column set incorrectly and a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers from the correct accordion along with dropzone cell numeration should be displayed', () => {
156
+ //Need to remove skip once https://redmine.zeuslearning.com/issues/577731 is resolved.
157
+ it.skip('When the user attempts the question with partially correct options exclusively from the alternative accordion, then the user should be awarded 0 points and on switching to \'Grading\' view, correct icon should be displayed in the dot column attempted correctly, incorrect icon should be displayed in the dot column set incorrectly and a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers from the correct accordion along with dropzone cell numeration should be displayed', () => {
157
158
  chartsDotPlotPage.steps.resetQuestionPreview();
158
159
  chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(3, { point: 2, min: 1, interval: 1 });
159
160
  chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(5, { point: 5, min: 1, interval: 1, defaultDots: 0 });
@@ -178,7 +178,8 @@ describe('Create item page - Charts - Dot plot : All or nothing with alternative
178
178
  chartsDotPlotPage.steps.verifyCorrectAnswerSectionNotExists();*/
179
179
  });
180
180
 
181
- it('When the user attempts the question with partially correct options exclusively from the alternative accordion, then the user should be awarded 0 points and on switching to \'Grading\' view, incorrect icon should be displayed for dot column attempted incorrectly from alternate accordion, a status message with text \'Your answer is incorrect\' should be displayed', () => {
181
+ //Remove the skip after https://redmine.zeuslearning.com/issues/577731 is resolved.
182
+ it.skip('When the user attempts the question with partially correct options exclusively from the alternative accordion, then the user should be awarded 0 points and on switching to \'Grading\' view, incorrect icon should be displayed for dot column attempted incorrectly from alternate accordion, a status message with text \'Your answer is incorrect\' should be displayed', () => {
182
183
  chartsDotPlotPage.steps.resetQuestionPreview();
183
184
  chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(3, { point: 2, min: 1, interval: 1 });
184
185
  chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(5, { point: 5, min: 1, interval: 1, defaultDots: 0 });
@@ -103,6 +103,7 @@ describe('Create Item page - Charts - Dot plot: Manually and non scored', () =>
103
103
  chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 2, min: 1, interval: 1 });
104
104
  chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 3, min: 1, interval: 1 });
105
105
  chartsDotPlotPage.steps.verifyEmptyDotColumnCorrectAnswerSection({ point: 4, min: 1, interval: 1 });
106
+ chartsDotPlotPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
106
107
  chartsDotPlotPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
107
108
  /*cy.log('When user clicks on Check answer button after he attempts the question incorrectly incorrect icons should be displayed besides all incorrect responses, status message \'Your answer is incorrect\' should be displayed and correct answer section should not be displayed')
108
109
  chartsDotPlotPage.steps.checkAnswer();
@@ -113,8 +114,8 @@ describe('Create Item page - Charts - Dot plot: Manually and non scored', () =>
113
114
  chartsDotPlotPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
114
115
  chartsDotPlotPage.steps.verifyCorrectAnswerSectionNotExists();*/
115
116
  });
116
-
117
- it('When the user attempts the question partially correct, then 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 with numeration should be displayed', () => {
117
+ //Remove the skip when https://redmine.zeuslearning.com/issues/577731 is resolved.
118
+ it.skip('When the user attempts the question partially correct, then 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 with numeration should be displayed', () => {
118
119
  chartsDotPlotPage.steps.resetQuestionPreview();
119
120
  chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(1, { point: 4, min: 1, interval: 1, defaultDots: 0 });
120
121
  chartsDotPlotPage.steps.switchToGradingView();
@@ -145,7 +146,7 @@ describe('Create Item page - Charts - Dot plot: Manually and non scored', () =>
145
146
  chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
146
147
  chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1 });
147
148
  chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1 });
148
- chartsDotPlotPage.steps.verifyEmptyDotColumnPreviewTab({ point: 4, min: 1, interval: 1});
149
+ chartsDotPlotPage.steps.verifyEmptyDotColumnPreviewTab({ point: 4, min: 1, interval: 1 });
149
150
  chartsDotPlotPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
150
151
  chartsDotPlotPage.steps.verifyCorrectAnswerSectionNotExists();
151
152
  chartsDotPlotPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
@@ -7,8 +7,8 @@ describe('Charts - Dot plot: Select chart type section', () => {
7
7
  before(() => {
8
8
  cy.loginAs('admin');
9
9
  });
10
-
11
- describe('Control buttons - Select chart type section', () => {
10
+ //Remove the skip once https://redmine.zeuslearning.com/issues/576955 https://redmine.zeuslearning.com/issues/577355 are resolved.
11
+ describe.skip('Control buttons - Select chart type section', () => {
12
12
  abortEarlySetup();
13
13
  before(() => {
14
14
  chartsDotPlotPage.steps.navigateToCreateQuestion('charts');
@@ -126,25 +126,32 @@ export const drawingToolbarOptionsAndAdditionalOptions = {
126
126
 
127
127
  export const specialCharacters = [
128
128
  {
129
- categoryName: 'Spanish'
129
+ categoryName: 'Spanish',
130
+ symbols: ['iexcl', 'iquest', 'Ntilde', 'ntilde', 'aacute', 'Aacute', 'eacute', 'Iacute', 'iacute', 'Oacute', 'oacute', 'Uuml', 'uuml']
130
131
  },
131
132
  {
132
- categoryName: 'French'
133
+ categoryName: 'French',
134
+ symbols: ['Ccedil', 'ccedil', 'acirc', 'Acirc', 'Agrave', 'agrave', 'Egrave', 'Eacute', 'Ecirc', 'Euml', 'egrave', 'ecirc', 'euml', 'Icirc', 'icirc', 'Iuml', 'iuml', 'Ocirc', 'ocirc', 'Ugrave', 'ugrave', 'Uacute', 'uacute', 'Ucirc', 'ucirc', 'yuml', 'AElig', 'OElig', 'oelig']
133
135
  },
134
136
  {
135
- categoryName: 'German'
137
+ categoryName: 'German',
138
+ symbols: ['szlig', 'auml', 'Auml', 'ouml', 'Ouml']
136
139
  },
137
140
  {
138
- categoryName: 'Portuguese'
141
+ categoryName: 'Portuguese',
142
+ symbols: ['atilde', 'Atilde', 'otilde', 'Otilde']
139
143
  },
140
144
  {
141
- categoryName: 'Scandinavian'
145
+ categoryName: 'Scandinavian',
146
+ symbols: ['aring', 'Aring', 'aelig', 'Oslash']
142
147
  },
143
148
  {
144
- categoryName: 'Italian'
149
+ categoryName: 'Italian',
150
+ symbols: ['Igrave', 'igrave', 'Ograve', 'ograve']
145
151
  },
146
152
  {
147
- categoryName: 'Icelandic'
153
+ categoryName: 'Icelandic',
154
+ symbols: ['yacute', 'eth']
148
155
  }
149
156
  ]
150
157
 
@@ -157,7 +157,19 @@ const steps = {
157
157
  * @returns {undefined}
158
158
  */
159
159
  verifyPlaybackTimeStandardPreview: (playbackTime, totalTime) => {
160
- utilities.verifyTextContent(audioResponsePage.standardPreviewPlaybackTime(), `${playbackTime}/${totalTime}`);
160
+ audioResponsePage.standardPreviewPlaybackTime().should('contain.text', playbackTime);
161
+ audioResponsePage.standardPreviewPlaybackTime()
162
+ .invoke('text')
163
+ .then((text) => {
164
+ const actualTotalTime = text.split('/')[1].trim();
165
+ const totalMinutes = parseInt(totalTime.split(':')[0], 10);
166
+ const totalSeconds = parseInt(totalTime.split(':')[1], 10);
167
+ const actualTotalMinutes = parseInt(actualTotalTime.split(':')[0], 10);
168
+ const actualTotalSeconds = parseInt(actualTotalTime.split(':')[1], 10);
169
+ const totalTimeInSeconds = totalMinutes * 60 + totalSeconds;
170
+ const actualTotalTimeInSeconds = actualTotalMinutes * 60 + actualTotalSeconds;
171
+ expect(actualTotalTimeInSeconds).to.be.closeTo(totalTimeInSeconds, 1);
172
+ });
161
173
  },
162
174
 
163
175
  /**
@@ -412,7 +424,7 @@ const steps = {
412
424
 
413
425
  retakeRecordingCompactPreview: () => {
414
426
  audioResponsePage.compactPreviewRetakeButton()
415
- .click({force:true});
427
+ .click({ force: true });
416
428
  },
417
429
 
418
430
  pauseAndVerifyProgressBarSliderPositionCompactPreview: () => {
@@ -1630,7 +1630,34 @@ const steps = {
1630
1630
  verifyPointsPerResponseLabel: () => {
1631
1631
  utilities.verifyInnerText(autoScoredScoringSectionMultiResponseType.pointsPerResponseLabel(), 'Points per response:\n-');
1632
1632
  utilities.verifyElementVisibilityState(autoScoredScoringSectionMultiResponseType.pointsPerResponseLabel(), 'visible');
1633
- }
1633
+ },
1634
+
1635
+ verifyPointsPerResponseLabel: () => {
1636
+ utilities.verifyInnerText(autoScoredScoringSectionMultiResponseType.pointsPerResponseLabel(), 'Points per response:\n-');
1637
+ utilities.verifyElementVisibilityState(autoScoredScoringSectionMultiResponseType.pointsPerResponseLabel(), 'visible');
1638
+ },
1639
+ /**
1640
+ * @param {number} points - The expected points value to be verified.
1641
+ * @description Verifies the partial equal weights points per response score for a specific option in the specify correct answer section for a multi-response type question.
1642
+ */
1643
+ verifyPartialEqualWeightsPointsPerResponseScore: (points) => {
1644
+ utilities.verifyInnerText(autoScoredScoringSectionMultiResponseType.partialEqualWeightsPointsPerResponseScore(), points.toString());
1645
+ },
1646
+ /**
1647
+ * @param {("correct" | "incorrect")} answerStatus - The status of the answer.
1648
+ * @description Verifies the visibility and content of the correct/incorrect answer label block.
1649
+ * If the answer is correct, it also verifies the visibility of the correct icon;
1650
+ * otherwise, it verifies the visibility of the incorrect icon.
1651
+ */
1652
+ verifyCorrectIncorrectAnswerLabel: (answerStatus) => {
1653
+ utilities.verifyElementVisibilityState(correctIncorrectAnswerLabelComponent.correctIncorrectAnswerBlock(), 'exist');
1654
+ utilities.verifyInnerText(correctIncorrectAnswerLabelComponent.correctIncorrectStatusMessageText(), `Your answer is${answerStatus}`)
1655
+ if (answerStatus === 'correct') {
1656
+ utilities.verifyElementVisibilityState(autoScoredScoringPreviewTab.correctIcon(), 'visible');
1657
+ } else {
1658
+ utilities.verifyElementVisibilityState(autoScoredScoringPreviewTab.incorrectIcon(), 'visible');
1659
+ }
1660
+ },
1634
1661
  }
1635
1662
 
1636
1663
  const tests = {
@@ -246,9 +246,9 @@ const steps = {
246
246
  },
247
247
 
248
248
  /**
249
- * @description Delete point in select chart type section
250
- *@param {number} pointIndex Index of the point to be deleted
251
- */
249
+ * @description Delete point in select chart type section
250
+ * @param {number} pointIndex Index of the point to be deleted
251
+ */
252
252
  deletePointInSelectChartType: (pointIndex) => {
253
253
  utilities.triggerMouseover(utilities.getNthElement(chartsLinePage.selectChartTypePoint(), pointIndex))
254
254
  chartsLinePage.barAndPointTooltipDeleteButton()
@@ -490,6 +490,19 @@ const steps = {
490
490
  utilities.triggerMouseover(utilities.getNthElement(chartsLinePage.previewTabPoint(), pointIndex));
491
491
  chartsLinePage.barAndPointTooltipDeleteButton()
492
492
  .click();
493
+ },
494
+
495
+ /**
496
+ * Verify the point height in specify correct answer section
497
+ * @param {Object} pointProperties - The properties of the point
498
+ * @param {number} pointProperties.pointIndex index of the point
499
+ * @param {number} pointProperties.pointValue Height of the point as per the axis
500
+ * @param {number} pointProperties.range Maximum value of the axis on which point value is determined
501
+ */
502
+ verifyPointHeightInPreviewTab: ({ pointIndex, pointValue, range }) => {
503
+ let pointHeight = pointValue / range;
504
+ utilities.getNthElement(chartsLinePage.previewTabPoint(), pointIndex)
505
+ .should('have.attr', 'height', pointHeight);
493
506
  }
494
507
  }
495
508
 
@@ -41,7 +41,6 @@ const steps = {
41
41
  utilities.verifyElementVisibilityState(commonComponents.dropdownList(), 'visible');
42
42
  additionalSettingsPanel.fontSizeListOptions(dropdownOption)
43
43
  .click();
44
- cy.wait(1000);
45
44
  utilities.verifyElementVisibilityState(commonComponents.dropdownList(), 'notExist');
46
45
  },
47
46
 
@@ -171,8 +170,6 @@ const tests = {
171
170
  it(`Clicking on \'Font size\' dropdown should open a list of ${Object.keys(fontSizes).length} options - ${Object.keys(fontSizes).join(',')}`, () => {
172
171
  commonComponents.steps.verifyDropdownIsCollapsed();
173
172
  additionalSettingsPanel.steps.expandFontSizeDropdown();
174
- cy.log('Adding wait for the dropdown to open');
175
- cy.wait(2000);
176
173
  utilities.verifyElementVisibilityState(commonComponents.dropdownList(), 'visible');
177
174
  Object.keys(fontSizes).forEach((size, index) => {
178
175
  utilities.verifyInnerText(utilities.getNthElement(additionalSettingsPanel.fontSizeListOptionLabels(), index), size);
@@ -242,6 +242,10 @@ const steps = {
242
242
  .trigger('mouseout', { force: true });
243
243
  },
244
244
 
245
+ verifyCorrectIncorrectStatusMessageNotExists: () => {
246
+ utilities.verifyElementVisibilityState(correctIncorrectAnswerLabelComponent.correctIncorrectAnswerBlock(), 'notExist');
247
+ },
248
+
245
249
  /**
246
250
  * @param {("correct" | "incorrect")} answerStatus - The status of the answer.
247
251
  * @description Verifies the visibility and content of the correct/incorrect answer label block.
@@ -275,7 +279,7 @@ const steps = {
275
279
  */
276
280
  verifyPartialEqualWeightsPointsPerResponseScore: (points) => {
277
281
  utilities.verifyInnerText(autoScoredScoringSectionMultiResponseType.partialEqualWeightsPointsPerResponseScore(), points);
278
- },
282
+ }
279
283
  }
280
284
 
281
285
  const tests = {
@@ -307,7 +307,8 @@ const steps = {
307
307
  .parents('.accordian-structure-equation-editor')
308
308
  .within(() => {
309
309
  createCustomCategoryFlyout.categoryCharacters(symbolARIALabel)
310
- .click();
310
+ .click({ force: true });
311
+ cy.wait(2000);
311
312
  createCustomCategoryFlyout.categoryCharacters(symbolARIALabel)
312
313
  .should('have.class', 'Mui-selected')
313
314
  .within(() => {
@@ -380,19 +381,53 @@ const steps = {
380
381
  createCustomCategoryFlyout.selectedSymbolsWrapper()
381
382
  .within(() => {
382
383
  createCustomCategoryFlyout.categoryCharacters()
383
- .each(($element, index) => {
384
- cy.wrap($element)
385
- .invoke('attr', 'aria-label')
386
- .then((ariaLabel) => {
387
- const expectedValue = `${symbolARIALabelArray[index]} selected`;
388
- expect(ariaLabel.toLowerCase()).to.equal(expectedValue.toLowerCase());
389
- });
390
- cy.wrap($element)
391
- .within(() => {
392
- utilities.verifyElementVisibilityState(createCustomCategoryFlyout.symbolTickIcon(), 'exist');
393
- utilities.verifyElementVisibilityState(createCustomCategoryFlyout.selectedCharacterDragIcon(), 'exist');
384
+ .then(($elements) => {
385
+ const actualLabels = [];
386
+
387
+ $elements.each((index, $element) => {
388
+ cy.wrap($element)
389
+ .invoke('attr', 'aria-label')
390
+ .then((ariaLabel) => {
391
+ let normalizedLabel;
392
+ if (ariaLabel === 'SquareRoot selected') {
393
+ normalizedLabel = 'sqrt selected';
394
+ } else if (ariaLabel === 'Colon selected') {
395
+ normalizedLabel = 'colonration selected';
396
+ } else if (ariaLabel === 'GammaUppercase selected') {
397
+ normalizedLabel = 'gammaupper selected';
398
+ } else if (ariaLabel === 'ThetaUppercase selected') {
399
+ normalizedLabel = 'thetaupper selected';
400
+ } else if (ariaLabel === 'LambdaUppercase selected') {
401
+ normalizedLabel = 'lambdaupper selected';
402
+ } else if (ariaLabel === 'XiUppercase selected') {
403
+ normalizedLabel = 'xiupper selected';
404
+ } else if (ariaLabel === 'PiUppercase selected') {
405
+ normalizedLabel = 'piupper selected';
406
+ } else if (ariaLabel === 'SigmaUppercase selected') {
407
+ normalizedLabel = 'sigmaupper selected';
408
+ } else if (ariaLabel === 'UpsilonUppercase selected') {
409
+ normalizedLabel = 'upsilonupper selected';
410
+ } else if (ariaLabel === 'PhiUppercase selected') {
411
+ normalizedLabel = 'phiupper selected';
412
+ } else if (ariaLabel === 'PsiUppercase selected') {
413
+ normalizedLabel = 'psiupper selected';
414
+ } else if (ariaLabel === 'OmegaUppercase selected') {
415
+ normalizedLabel = 'omegaupper selected';
416
+ } else {
417
+ normalizedLabel = ariaLabel;
418
+ }
419
+ actualLabels.push(normalizedLabel.toLowerCase());
420
+ });
421
+ });
422
+
423
+ cy.wrap(null).then(() => {
424
+ const expectedLabels = symbolARIALabelArray.map(label => `${label} selected`.toLowerCase());
425
+ expectedLabels.forEach(expectedLabel => {
426
+ expect(actualLabels).to.include(expectedLabel);
394
427
  });
428
+ });
395
429
  });
430
+
396
431
  utilities.verifyElementCount(createCustomCategoryFlyout.categoryCharacters(), symbolARIALabelArray.length);
397
432
  });
398
433
  },
@@ -63,7 +63,7 @@ const steps = {
63
63
  .then((dataName) => {
64
64
  let newDataName = dataName.trim();
65
65
  newDataName = newDataName.toLowerCase();
66
- expect(newDataName).to.equal(symbol.toLowerCase());
66
+ expect(newDataName).to.equal(symbol.trim().toLowerCase());
67
67
  });
68
68
  });
69
69
  utilities.verifyElementCount(customizeMathCharacterComponent.mathCharactersPreviewPopupSymbol(), category.symbols.length);
@@ -95,11 +95,9 @@ const steps = {
95
95
  .each(($el, index) => {
96
96
  cy.wrap($el)
97
97
  .should('have.attr', 'aria-label')
98
- .and('include', symbolsArray[index].ariaLabel)
99
- utilities.verifyTextContent(cy.wrap($el).find('title'), `${symbolsArray[index].title}`);
100
- if (symbolsArray[index].textElement !== null) {
101
- utilities.verifyTextContent(cy.wrap($el), `${symbolsArray[index].textElement}`);
102
- }
98
+ .then((ariaLabel) => {
99
+ expect(ariaLabel.toLowerCase()).to.include(symbolsArray[index].ariaLabel.toLowerCase());
100
+ });
103
101
  });
104
102
  utilities.verifyElementCount(equationEditorFlyout.categoryCharacters(), symbolsArray.length);
105
103
  },
@@ -118,19 +116,20 @@ const steps = {
118
116
  },
119
117
 
120
118
  /**
121
- * @description Select category and enter the equations in equation editor input field
122
- * @param {Object[]} responses - An array of objects containing the categoryName and symbolName
123
- * @param {string} responses[].categoryName Name of the category
124
- * @param {string} responses[].symbolAriaLabel Aria-label of the symbol from the selected category
125
- */
126
- enterEquation: (responses) => {
119
+ * @description Select category and enter the equations in equation editor input field
120
+ * @param {Object[]} responses - An array of objects containing the categoryName and symbolAriaLabel
121
+ * @param {string} responses[].categoryName Name of the category
122
+ * @param {string[]} responses[].symbolAriaLabel Array of aria-labels of the symbols from the selected category
123
+ */
124
+ enterEquationForCustomCategories: (responses) => {
127
125
  responses.forEach(({ categoryName, symbolAriaLabel }) => {
128
126
  equationEditorFlyout.categoryTab()
129
127
  .contains(categoryName, { matchCase: false })
130
128
  .click();
131
129
  symbolAriaLabel.forEach((individualSymbol) => {
132
- equationEditorFlyout.categoryCharacters(individualSymbol)
133
- .click();
130
+ equationEditorFlyout.categoryCharacters()
131
+ .contains(individualSymbol, { matchCase: false })
132
+ .click({ force: true });
134
133
  });
135
134
  });
136
135
  },
@@ -1248,7 +1248,8 @@ const tests = {
1248
1248
  .blur();
1249
1249
  });
1250
1250
 
1251
- autoScoredSpecifyCorrectAnswerSection.tests.verifyAutoScoredPointsErrorMessageWhenPointsFieldIsEmpty(accordionName);
1251
+ // Uncomment below code once https://redmine.zeuslearning.com/issues/578158 is resolved
1252
+ // autoScoredSpecifyCorrectAnswerSection.tests.verifyAutoScoredPointsErrorMessageWhenPointsFieldIsEmpty(accordionName);
1252
1253
 
1253
1254
  it('\'Accepted student input\' label, menu and its options - \'Text\', \'Number\', \'Integer\' should be displayed and \'Text\' option should be active', () => {
1254
1255
  utilities.verifyInnerText(acceptedStudentInputComponent.acceptedStudentInputLabel(), 'Accepted student input');
@@ -110,7 +110,7 @@ const steps = {
110
110
  .then(($value) => {
111
111
  const value = $value[0].valueAsNumber
112
112
  cy.log('The assertion is verifying the value synchronously i.e in real time')
113
- expect(value).to.be.closeTo(sliderPositionToCompare, 10);
113
+ expect(value).to.be.closeTo(sliderPositionToCompare, 15);
114
114
  });
115
115
  },
116
116
 
@@ -41,7 +41,7 @@ const steps = {
41
41
  scoringSectionBaseEditTab.pointsInputField()
42
42
  .clear();
43
43
  scoringSectionBaseEditTab.pointsInputField()
44
- .type(`${points}`);
44
+ .type(`${points}`, { delay: 500 });
45
45
  cy.wait(2000);
46
46
  scoringSectionBaseEditTab.pointsInputField()
47
47
  .should('have.value', points);
@@ -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*="enalty 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"]'),
@@ -106,7 +106,7 @@ const selectors = {
106
106
  }
107
107
  },
108
108
  columnSpacingDropdownLabel: () => cy.get('#Column-spacing-dropdown-label'),
109
- columnSpacingDropdown: () => cy.get('[aria-labelledby*="Column-spacing-dropdown-label"]'),
109
+ columnSpacingDropdown: () => cy.get('[aria-labelledby*="Column-spacing-dropdown-label"]').eq(0),
110
110
  columnSpacingDropdownOptions: (ariaLabel = null) => {
111
111
  if (ariaLabel) {
112
112
  return cy.get(`[aria-labelledby*="Column-spacing-dropdown-label"] .dropdown-menu-item[aria-label*="${ariaLabel}"]`)
@@ -25,25 +25,34 @@ const steps = {
25
25
  ...customizeMathCharacterComponent.steps,
26
26
 
27
27
  /**
28
- * @description Verify categories and symbols displayed in math characters popup
29
- * @param {object[]} categoryAndSymbolsArray Array of list of categories and their symbols present in math characters popup
30
- */
31
- //Failing due to https://redmine.zeuslearning.com/issues/561285
28
+ * @description Verify categories and symbols displayed in math characters popup
29
+ * @param {object[]} categoryAndSymbolsArray Array of list of categories and their symbols present in math characters popup
30
+ */
31
+ /**
32
+ * @description Verify categories and symbols displayed in math characters popup
33
+ * @param {object[]} categoryAndSymbolsArray Array of list of categories and their symbols present in math characters popup
34
+ */
32
35
  verifyMathCharactersPopupCategoriesAndSymbols: (categoryAndSymbolsArray) => {
33
36
  categoryAndSymbolsArray.forEach((category, index) => {
34
37
  utilities.verifyInnerText(essayResponseMathPage.mathCharactersPopupCategoryTitle().eq(index), `${category.categoryName}`);
35
38
  essayResponseMathPage.mathCharactersPopupCharactersCategoryWrapper()
36
39
  .eq(index)
37
40
  .within(() => {
38
- categoryAndSymbolsArray[index].symbols.forEach((symbol, index) => {
39
- essayResponseMathPage.mathCharactersPopupCharacterSymbol()
40
- .eq(index)
41
- .find('svg')
42
- .should('have.attr', 'aria-label', `${symbol}`);
41
+ const actualSymbols = [];
42
+ essayResponseMathPage.mathCharactersPopupCharacterSymbol().each(($el) => {
43
+ cy.wrap($el)
44
+ .invoke('attr', 'aria-label')
45
+ .then((ariaLabel) => {
46
+ const normalizedAriaLabel = ariaLabel.trim().toLowerCase().replace(/\s+/g, '');
47
+ actualSymbols.push(normalizedAriaLabel);
48
+ });
49
+ }).then(() => {
50
+ const expectedSymbols = category.symbols.map(symbol => symbol.trim().toLowerCase().replace(/\s+/g, ''));
51
+ expect(actualSymbols).to.have.members(expectedSymbols);
43
52
  });
44
53
  });
45
54
  });
46
- },
55
+ }
47
56
  }
48
57
 
49
58
  const tests = {