itemengine-cypress-automation 1.0.105 → 1.0.107

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. package/cypress/e2e/ILC/AudioResponseNew/gradingViewAndCorrectAnswerViewContents.smoke.js +129 -0
  2. package/cypress/e2e/ILC/AudioResponseNew/minimalRecorderStyle.js +482 -0
  3. package/cypress/e2e/ILC/AudioResponseNew/previewContentsForAllViews.smoke.js +123 -0
  4. package/cypress/e2e/ILC/AudioResponseNew/standardRecorderStyle.js +554 -0
  5. package/cypress/e2e/ILC/DrawingResponse/drawingResponseCustomizeAdditionalOptions.js +1 -41
  6. package/cypress/e2e/ILC/EditTabSettingPage/ItemPreviewSettingsTabContent.js +5 -3
  7. package/cypress/e2e/ILC/EssayResponse/editCategoryFlyout.js +284 -0
  8. package/cypress/e2e/ILC/EssayResponse/equationEditor.smoke.js +412 -0
  9. package/cypress/e2e/ILC/EssayResponse/equationEditorCategories1.js +203 -0
  10. package/cypress/e2e/ILC/EssayResponse/equationEditorCategories2.js +340 -0
  11. package/cypress/e2e/ILC/EssayResponse/essayResponseAdditionalSettings.js +432 -0
  12. package/cypress/e2e/ILC/EssayResponse/essayResponseAdditionalSettingsBasic.js +134 -0
  13. package/cypress/e2e/ILC/EssayResponse/essayResponseCustomizeFormattingOptions1.smoke.js +336 -0
  14. package/cypress/e2e/ILC/EssayResponse/essayResponseCustomizeFormattingOptions2.js +332 -0
  15. package/cypress/e2e/ILC/EssayResponse/essayResponseCustomizeFormattingOptions3.js +522 -0
  16. package/cypress/e2e/ILC/EssayResponse/essayResponseSpecialCharacters.js +253 -0
  17. package/cypress/e2e/ILC/EssayResponse/previewHyperlink.js +266 -0
  18. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/backgroundImageAndCanvasProperties.js +57 -640
  19. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/previewContentsForAllViews.smoke.js +1 -2
  20. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +209 -0
  21. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +209 -0
  22. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +303 -0
  23. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/allOrNothingPenaltyScoring.js +68 -0
  24. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/partialEqualWeightsBasic.js +149 -0
  25. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +218 -0
  26. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +191 -0
  27. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +219 -0
  28. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/allOrNothingForAllView.smoke.js +240 -0
  29. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/checkAnswerFunctionalityForAllViews.smoke.js +124 -0
  30. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/previewContentsForAllViews.smoke.js +107 -0
  31. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/manuallyAndNonScored.js +1 -1
  32. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialEqualWeightsBasic.js +0 -2
  33. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/backgroundImageAndCanvasProperties.js +408 -0
  34. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/editTabScoringSection.js +2 -2
  35. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/previewContentsForAllViews.smoke.js +1 -1
  36. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/responseAnswersAndAcceptedStudentInput.js +2 -2
  37. package/cypress/e2e/ILC/MultipleSelection/headerSection.js +1 -0
  38. package/cypress/e2e/ILC/MultipleSelection/studentViewSettings.js +0 -6
  39. package/cypress/e2e/ILC/Passage/multipageContentEditTab.js +242 -0
  40. package/cypress/e2e/ILC/Passage/passageAdditionalSettings.js +99 -0
  41. package/cypress/e2e/ILC/Passage/passageEditTab.js +241 -0
  42. package/cypress/e2e/ILC/Passage/passageHeaderSection.js +73 -0
  43. package/cypress/e2e/ILC/Passage/passagePreviewTab.js +246 -0
  44. package/cypress/e2e/ILC/ReadingRuler/readingRulerEditTabBasicsSection.js +138 -33
  45. package/cypress/e2e/ILC/ReadingRuler/readingRulerHeaderSection.js +30 -6
  46. package/cypress/e2e/ILC/ReadingRuler/readingRulerPreviewTab.js +167 -101
  47. package/cypress/e2e/ILC/ReadingRuler/readingrulerPreviewContents.smoke.js +1 -1
  48. package/cypress/e2e/ILC/SingleSelection/headerSection.js +20 -5
  49. package/cypress/e2e/ILC/SingleSelection/manuallyAndNonScoredScoring.js +1 -0
  50. package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +12 -7
  51. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodEquivalentStructures.js +1336 -0
  52. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchExact.js +419 -0
  53. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchValue.js +443 -0
  54. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodSymbolsAreEquivalent.js +411 -0
  55. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodValueIsEquivalent.js +411 -0
  56. package/cypress/e2e/ILC/TextEntryMath/responseEvaluationMethodsAndCustomSettings.js +3 -3
  57. package/cypress/fixtures/specialAndMathCharacters.js +2 -0
  58. package/cypress/fixtures/theme/ilc.json +4 -2
  59. package/cypress/pages/audioResponsePage.js +326 -165
  60. package/cypress/pages/components/additionalSettingsPanel.js +1 -1
  61. package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +1 -1
  62. package/cypress/pages/components/backgroundImageUploadComponent.js +162 -2
  63. package/cypress/pages/components/colorPopupComponent.js +115 -26
  64. package/cypress/pages/components/customizeMathCharacterComponent.js +133 -0
  65. package/cypress/pages/components/customizeSpecialCharacterComponent.js +74 -4
  66. package/cypress/pages/components/editCategoryFlyout.js +164 -2
  67. package/cypress/pages/components/equationEditorFlyout.js +36 -1
  68. package/cypress/pages/components/essayResponseCommonComponents.js +0 -2
  69. package/cypress/pages/components/figOverImageCanvasComponent.js +587 -134
  70. package/cypress/pages/components/index.js +2 -1
  71. package/cypress/pages/components/playbackControlsBaseComponent.js +137 -2
  72. package/cypress/pages/correctAnswerViewPage.js +12 -1
  73. package/cypress/pages/drawingResponsePage.js +26 -151
  74. package/cypress/pages/essayResponseMathPage.js +28 -16
  75. package/cypress/pages/essayResponsePage.js +187 -7
  76. package/cypress/pages/fillInTheGapsOverImageDragAndDropPage.js +78 -14
  77. package/cypress/pages/fillInTheGapsOverImageDropdownPage.js +178 -221
  78. package/cypress/pages/fillInTheGapsOverImageTextPage.js +79 -0
  79. package/cypress/pages/multipleSelectionPage.js +1 -1
  80. package/cypress/pages/readingRulerPage.js +219 -104
  81. package/cypress/pages/singleSelectionPage.js +1 -0
  82. package/cypress/pages/textEntryMathPage.js +17 -6
  83. package/cypress/pages/videoResponsePage.js +0 -8
  84. package/package.json +1 -1
  85. package/scripts/sorry-cypress.mjs +1 -1
@@ -0,0 +1,284 @@
1
+ import { equationEditorCategoriesAndSymbols } from "../../../fixtures/equationEditorCategoriesAndSymbols ";
2
+ import { essayResponsePage } from "../../../pages";
3
+ import { editCategoryFlyout } from "../../../pages/components/editCategoryFlyout";
4
+ import { equationEditorFlyout } from "../../../pages/components/equationEditorFlyout";
5
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
6
+ import utilities from "../../../support/helpers/utilities";
7
+ const css = Cypress.env('css');
8
+
9
+ describe('Create question page - Essay Response: Edit category', () => {
10
+ before(() => {
11
+ cy.loginAs('admin');
12
+ });
13
+
14
+ describe('Edit category flyout contents', () => {
15
+ abortEarlySetup();
16
+ before(() => {
17
+ essayResponsePage.steps.navigateToCreateQuestion('essay response');
18
+ essayResponsePage.steps.expandCustomizeFormattingOptionsAccordion();
19
+ essayResponsePage.steps.selectCustomizedFormattingOption(['Equation Editor']);
20
+ });
21
+
22
+ it('When user clicks on the Edit category icon below the categories in the Equation Editor section the Edit category flyout should open', () => {
23
+ editCategoryFlyout.steps.openEditCategoryFlyout();
24
+ utilities.verifyElementVisibilityState(editCategoryFlyout.dialogBox(), 'visible');
25
+ });
26
+
27
+ it('Title of the flyout should be \'Edit category\'', () => {
28
+ utilities.verifyElementVisibilityState(editCategoryFlyout.dialogBoxTitle(), 'exist');
29
+ utilities.verifyInnerText(editCategoryFlyout.dialogBoxTitle(), 'Edit Category');
30
+ });
31
+
32
+ it('\'Select the symbols to display to the students.\' help text should be displayed below the title', () => {
33
+ utilities.verifyElementVisibilityState(editCategoryFlyout.selectSymbolsToDisplayLabel(), 'exist');
34
+ utilities.verifyInnerText(editCategoryFlyout.selectSymbolsToDisplayLabel(), 'Select the symbols to display to the students.');
35
+ });
36
+
37
+ it('The name of the category should be displayed in the flyout with a checked checkbox', () => {
38
+ utilities.verifyElementVisibilityState(editCategoryFlyout.categoryLabel(), 'visible');
39
+ utilities.verifyInnerText(editCategoryFlyout.categoryLabel(), `${equationEditorCategoriesAndSymbols['keypad'].displayName}`);
40
+ editCategoryFlyout.steps.verifyCategoryCheckboxIsChecked();
41
+ });
42
+
43
+ it(`All the ${equationEditorCategoriesAndSymbols['keypad'].displayName} characters should be displayed and should be in selected state`, () => {
44
+ const symbolsArray = Object.values(equationEditorCategoriesAndSymbols['keypad'].symbols);
45
+ editCategoryFlyout.steps.verifyCategoryCharactersAndSelectedState(symbolsArray);
46
+ editCategoryFlyout.steps.verifyCategoryCharactersDragIconAndTitle(symbolsArray);
47
+ });
48
+
49
+ it('Reset button should be displayed in the flyout', () => {
50
+ utilities.verifyElementVisibilityState(editCategoryFlyout.buttonReset(), 'exist');
51
+ utilities.verifyInnerText(editCategoryFlyout.buttonReset(), 'Reset');
52
+ utilities.verifyElementVisibilityState(editCategoryFlyout.resetIcon(), 'exist');
53
+ });
54
+
55
+ it('\'Save\' button should be displayed in the flyout', () => {
56
+ utilities.verifyElementVisibilityState(editCategoryFlyout.buttonSave(), 'visible');
57
+ utilities.verifyInnerText(editCategoryFlyout.buttonSave(), 'Save');
58
+ });
59
+
60
+ it('CSS of Edit category flyout components', { tags: 'css' }, () => {
61
+ utilities.verifyCSS(editCategoryFlyout.dialogBoxTitle(), {
62
+ 'color': css.color.flyoutTitle,
63
+ 'font-size': css.fontSize.heading,
64
+ 'font-weight': css.fontWeight.semibold
65
+ });
66
+ utilities.verifyCSS(editCategoryFlyout.categoryLabel(), {
67
+ 'color': css.color.accordionLabel,
68
+ 'font-size': css.fontSize.default,
69
+ 'font-weight': css.fontWeight.bold
70
+ });
71
+ utilities.verifyCSS(editCategoryFlyout.categoryCheckbox().parents('.MuiCheckbox-root').find('svg'), {
72
+ 'fill': css.color.activeButtons
73
+ });
74
+ utilities.verifyCSS(editCategoryFlyout.selectSymbolsToDisplayLabel(), {
75
+ 'color': css.color.labels,
76
+ 'font-size': css.fontSize.normal,
77
+ 'font-weight': css.fontWeight.semibold
78
+ });
79
+ utilities.verifyCSS(editCategoryFlyout.categoryCharacters().eq(0), {
80
+ 'background-color': css.color.activeButtons
81
+ });
82
+ utilities.verifyCSS(editCategoryFlyout.characterDragIcon(), {
83
+ 'background-color': css.color.defaultBackground
84
+ });
85
+ utilities.verifyCSS(editCategoryFlyout.characterDragIcon().eq(0).find('path').eq(1), {
86
+ 'color': css.color.activeButtons,
87
+ 'font-size': css.fontSize.normal,
88
+ 'font-weight': css.fontWeight.bold
89
+ });
90
+ utilities.verifyCSS(editCategoryFlyout.characterTickIcon().eq(0).find('path').eq(1), {
91
+ 'fill': css.color.activeButtons
92
+ });
93
+ utilities.verifyCSS(editCategoryFlyout.buttonSave(), {
94
+ 'color': css.color.primaryBtn,
95
+ 'font-size': css.fontSize.default,
96
+ 'font-weight': css.fontWeight.semibold,
97
+ 'background-color': css.color.primaryBtnBg
98
+ });
99
+ utilities.verifyCSS(editCategoryFlyout.buttonCancel(), {
100
+ 'color': css.color.secondaryBtn,
101
+ 'font-size': css.fontSize.default,
102
+ 'font-weight': css.fontWeight.semibold,
103
+ 'background-color': css.color.transparent
104
+ });
105
+ });
106
+
107
+ it('Accessibility of Edit category flyout components', { tags: 'a11y' }, () => {
108
+ cy.checkAccessibility(editCategoryFlyout.dialogBox());
109
+ });
110
+
111
+ it('\'Cancel\' button should be displayed and on clicking it the flyout should close', () => {
112
+ utilities.verifyElementVisibilityState(editCategoryFlyout.buttonCancel(), 'visible');
113
+ utilities.verifyInnerText(editCategoryFlyout.buttonCancel(), 'Cancel');
114
+ editCategoryFlyout.steps.clickOnCancelButton();
115
+ utilities.verifyElementVisibilityState(editCategoryFlyout.dialogBox(), 'notExist');
116
+ });
117
+ });
118
+
119
+ describe('Category checkbox validation states', () => {
120
+ abortEarlySetup();
121
+ before(() => {
122
+ essayResponsePage.steps.navigateToCreateQuestion('essay response');
123
+ essayResponsePage.steps.expandCustomizeFormattingOptionsAccordion();
124
+ essayResponsePage.steps.selectCustomizedFormattingOption(['Equation Editor']);
125
+ editCategoryFlyout.steps.openEditCategoryFlyout();
126
+ });
127
+
128
+ it('When user deselects any one character by clicking on it then the category checkbox should be in partially checked state', () => {
129
+ editCategoryFlyout.steps.deselectCategoryCharacters(equationEditorCategoriesAndSymbols.keypad.symbols.one.ariaLabel);
130
+ editCategoryFlyout.steps.verifyCategoryCheckboxIsPartiallyChecked();
131
+ });
132
+
133
+ it('When user clicks on the partially checked category checkbox then all the characters should be selected', () => {
134
+ editCategoryFlyout.steps.verifyCategoryCheckboxIsPartiallyChecked();
135
+ editCategoryFlyout.steps.checkCategoryCheckbox();
136
+ editCategoryFlyout.steps.verifyAllCategoryCharactersSelected();
137
+ });
138
+
139
+ it('When user clicks on checked category checkbox then all the characters should get de-selected', () => {
140
+ editCategoryFlyout.steps.verifyCategoryCheckboxIsChecked()
141
+ editCategoryFlyout.steps.uncheckCategoryCheckbox();
142
+ editCategoryFlyout.steps.verifyAllCategoryCharactersNotSelected()
143
+ });
144
+
145
+ it('CSS of de-selected character', { tags: 'css' }, () => {
146
+ utilities.verifyCSS(editCategoryFlyout.categoryCharacters().eq(0).find('text'), {
147
+ 'color': css.color.liText,
148
+ 'font-size': css.fontSize.normal,
149
+ 'font-weight': css.fontWeight.bold,
150
+ });
151
+ utilities.verifyCSS(editCategoryFlyout.categoryCharacters().eq(0), {
152
+ 'background-color': css.color.defaultBackground
153
+ });
154
+ utilities.verifyCSS(editCategoryFlyout.categoryCharacters().eq(0).find('.drag-icon-button-custom-format'), {
155
+ 'background-color': css.color.defaultBackground
156
+ });
157
+ utilities.verifyCSS(editCategoryFlyout.categoryCharacters().eq(0).find('.drag-icon-button-custom-format path').eq(1), {
158
+ 'color': css.color.secondaryBtn,
159
+ 'font-size': css.fontSize.normal,
160
+ 'font-weight': css.fontWeight.bold,
161
+ });
162
+ });
163
+
164
+ it('Accessibility of de-selected character', { tags: 'a11y' }, () => {
165
+ cy.checkAccessibility(editCategoryFlyout.categoryCharacters(0).parents('[class*="DragItemstyles__ItemContainer"]'))
166
+ });
167
+
168
+ it('When user clicks on the unchecked category checkbox then all the characters should get selected', () => {
169
+ editCategoryFlyout.steps.verifyCategoryCheckboxIsUnchecked()
170
+ editCategoryFlyout.steps.checkCategoryCheckbox();
171
+ editCategoryFlyout.steps.verifyAllCategoryCharactersSelected();
172
+ });
173
+
174
+ it('When user clicks on all the selected characters then the category checkbox should get unchecked', () => {
175
+ editCategoryFlyout.steps.verifyCategoryCheckboxIsChecked();
176
+ editCategoryFlyout.steps.deselectAllCategoryCharacters();
177
+ editCategoryFlyout.steps.verifyCategoryCheckboxIsUnchecked();
178
+ });
179
+
180
+ it('When user clicks on all the de-selected characters the category checkbox should get checked', () => {
181
+ editCategoryFlyout.steps.selectAllCategoryCharacters();
182
+ editCategoryFlyout.steps.verifyCategoryCheckboxIsChecked();
183
+ });
184
+ });
185
+
186
+ describe('\'Reset\' button validation states', () => {
187
+ abortEarlySetup();
188
+ before(() => {
189
+ essayResponsePage.steps.navigateToCreateQuestion('essay response');
190
+ essayResponsePage.steps.expandCustomizeFormattingOptionsAccordion();
191
+ essayResponsePage.steps.selectCustomizedFormattingOption(['Equation Editor']);
192
+ });
193
+
194
+ it('When user opens the Edit category flyout then the Reset button should be disabled by default', () => {
195
+ editCategoryFlyout.steps.openEditCategoryFlyout();
196
+ utilities.verifyElementDisabled(editCategoryFlyout.buttonReset());
197
+ });
198
+
199
+ it('When user de-selects any character by clicking on it then the Reset button should get enabled', () => {
200
+ editCategoryFlyout.steps.deselectCategoryCharacters(`${equationEditorCategoriesAndSymbols.keypad.symbols.one.ariaLabel}`);
201
+ utilities.verifyElementNotDisabled(editCategoryFlyout.buttonReset());
202
+ });
203
+
204
+ it('CSS of enabled Reset button', { tags: 'css' }, () => {
205
+ utilities.verifyCSS(editCategoryFlyout.buttonReset(), {
206
+ 'color': css.color.activeButtons,
207
+ 'font-size': css.fontSize.default,
208
+ 'font-weight': css.fontWeight.regular
209
+ });
210
+ });
211
+
212
+ it('Accessibility of enabled Reset button', { tags: 'a11y' }, () => {
213
+ cy.checkAccessibility(editCategoryFlyout.buttonReset());
214
+ })
215
+
216
+ it('When user clicks on the Reset button the changes should be reverted and the all the character should be selected again', () => {
217
+ editCategoryFlyout.steps.reset();
218
+ editCategoryFlyout.steps.verifyAllCategoryCharactersSelected();
219
+ });
220
+
221
+ it('When user de-selects characters and re-selects them then the Reset button should be disabled', () => {
222
+ editCategoryFlyout.steps.deselectCategoryCharacters(`${equationEditorCategoriesAndSymbols.keypad.symbols.one.ariaLabel}`);
223
+ editCategoryFlyout.steps.deselectCategoryCharacters(`${equationEditorCategoriesAndSymbols.keypad.symbols.two.ariaLabel}`)
224
+ editCategoryFlyout.steps.selectCategoryCharacters(`${equationEditorCategoriesAndSymbols.keypad.symbols.one.ariaLabel}`)
225
+ editCategoryFlyout.steps.selectCategoryCharacters(`${equationEditorCategoriesAndSymbols.keypad.symbols.two.ariaLabel}`)
226
+ utilities.verifyElementDisabled(editCategoryFlyout.buttonReset())
227
+ });
228
+
229
+ it('When user edits and saves the category then on opening the same Edit category flyout the \'Reset\' button should be disabled and the previously Saved changes should be displayed', () => {
230
+ editCategoryFlyout.steps.deselectCategoryCharacters(`${equationEditorCategoriesAndSymbols.keypad.symbols.one.ariaLabel}`);
231
+ editCategoryFlyout.steps.deselectCategoryCharacters(`${equationEditorCategoriesAndSymbols.keypad.symbols.two.ariaLabel}`);
232
+ editCategoryFlyout.steps.clickOnSaveButton();
233
+ utilities.verifyElementVisibilityState(editCategoryFlyout.dialogBox(), 'notExist');
234
+ editCategoryFlyout.steps.openEditCategoryFlyout();
235
+ utilities.verifyElementDisabled(editCategoryFlyout.buttonReset());
236
+ editCategoryFlyout.steps.verifyCategoryCharacterNotSelected(`${equationEditorCategoriesAndSymbols.keypad.symbols.one.ariaLabel}`)
237
+ editCategoryFlyout.steps.verifyCategoryCharacterNotSelected(`${equationEditorCategoriesAndSymbols.keypad.symbols.one.ariaLabel}`)
238
+ editCategoryFlyout.categoryCharacters()
239
+ .then(($symbols) => {
240
+ for (let index = 0; index < $symbols.length - 2; index++) {
241
+ editCategoryFlyout.steps.selectCategoryCharactersUsingIndex(index);
242
+ }
243
+ });
244
+ });
245
+ });
246
+
247
+ describe('Save a edited category', () => {
248
+ abortEarlySetup();
249
+ before(() => {
250
+ essayResponsePage.steps.navigateToCreateQuestion('essay response');
251
+ essayResponsePage.steps.expandCustomizeFormattingOptionsAccordion();
252
+ essayResponsePage.steps.selectCustomizedFormattingOption(['Equation Editor']);
253
+ editCategoryFlyout.steps.openEditCategoryFlyout()
254
+ });
255
+
256
+ it('When user edits a category and clicks on Cancel button then the flyout should close and the changes should not be saved', () => {
257
+ editCategoryFlyout.steps.deselectCategoryCharacters(`${equationEditorCategoriesAndSymbols.keypad.symbols.one.ariaLabel}`);
258
+ editCategoryFlyout.steps.deselectCategoryCharacters(`${equationEditorCategoriesAndSymbols.keypad.symbols.two.ariaLabel}`);
259
+ editCategoryFlyout.steps.clickOnCancelButton();
260
+ utilities.verifyElementVisibilityState(editCategoryFlyout.dialogBox(), 'notExist');
261
+ editCategoryFlyout.steps.openEditCategoryFlyout()
262
+ editCategoryFlyout.steps.verifyAllCategoryCharactersSelected();
263
+ });
264
+
265
+ it('When user edits a category and saves it then the changes should be displayed in the Equation editor flyout', () => {
266
+ const symbolsArray = Object.values(equationEditorCategoriesAndSymbols['keypad'].symbols)
267
+ editCategoryFlyout.steps.deselectCategoryCharacters(`${equationEditorCategoriesAndSymbols.keypad.symbols.one.ariaLabel}`)
268
+ editCategoryFlyout.steps.clickOnSaveButton();
269
+ utilities.verifyElementVisibilityState(editCategoryFlyout.dialogBox(), 'notExist');
270
+ essayResponsePage.steps.switchToPreviewTab()
271
+ essayResponsePage.steps.selectPreviewTabToolbarOption('Equation Editor');
272
+ equationEditorFlyout.steps.verifyEquationEditorCharacterWithoutFirstCharacter(symbolsArray);
273
+ equationEditorFlyout.steps.clickOnEquationEditorCancelButton();
274
+ });
275
+
276
+ it('When user re-visits the Edit category flyout the changes should be displayed', () => {
277
+ const symbolsArray = Object.values(equationEditorCategoriesAndSymbols['keypad'].symbols)
278
+ essayResponsePage.steps.switchToEditTab()
279
+ editCategoryFlyout.steps.openEditCategoryFlyout();
280
+ editCategoryFlyout.steps.verifyCategoryCharacterNotSelected(`${equationEditorCategoriesAndSymbols.keypad.symbols.one.ariaLabel}`);
281
+ editCategoryFlyout.steps.verifyCategoryCharactersAndSelectedState(symbolsArray);
282
+ });
283
+ });
284
+ });