itemengine-cypress-automation 1.0.256-updatingToOTKV2-5b0ef53.0 → 1.0.257

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTab.js +21 -21
  2. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabSupportedFileTypes.js +6 -6
  3. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabTranscript.js +4 -4
  4. package/cypress/e2e/ILC/CkEditorEquationEditor/equationEditorBasicFile.js +86 -5
  5. package/cypress/e2e/ILC/CkEditorEquationEditor/selectModeEditorBasic.js +114 -0
  6. package/cypress/e2e/ILC/CkEditorInsertImage/imageInfo.js +160 -0
  7. package/cypress/e2e/ILC/CkEditorInsertImage/insertImageBasicFile.js +83 -0
  8. package/cypress/e2e/ILC/CkEditorInsertImage/upload.js +53 -0
  9. package/cypress/e2e/ILC/CkEditorLink/linkBasic.js +85 -0
  10. package/cypress/e2e/ILC/CkEditorLink/linkInfoSection.js +94 -0
  11. package/cypress/e2e/ILC/CkEditorLink/linkPreview.js +38 -0
  12. package/cypress/e2e/ILC/CkEditorLink/uploadSection.js +59 -0
  13. package/cypress/e2e/ILC/EssayResponse/equationEditor.smoke.js +14 -279
  14. package/cypress/e2e/ILC/EssayResponse/equationEditorCategories1.js +78 -0
  15. package/cypress/e2e/ILC/FillInTheGapsTextNew/additionalSettingsForAnswerInputFields.js +2 -2
  16. package/cypress/e2e/ILC/Graphing/acceptRepeatedPoints.js +75 -0
  17. package/cypress/e2e/ILC/TextEntryMath/additionalSettingsBasic.js +84 -0
  18. package/cypress/e2e/ILC/TextEntryMath/additionalSettingsForAnswerInputFields.js +286 -0
  19. package/cypress/e2e/ILC/TextEntryMath/customSettingsSeparators.ts +107 -0
  20. package/cypress/e2e/ILC/TextEntryMath/equationEditor.smoke.js +99 -0
  21. package/cypress/fixtures/equationEditorCategoriesAndSymbols .js +336 -0
  22. package/cypress/pages/components/ariaLabelSectionComponent.js +1 -1
  23. package/cypress/pages/components/ckEditorAudioPlayerComponent.js +0 -11
  24. package/cypress/pages/components/ckEditorEquationEditorComponent.js +175 -7
  25. package/cypress/pages/components/ckEditorInsertImageComponent.js +272 -0
  26. package/cypress/pages/components/ckEditorLinkComponent.js +142 -0
  27. package/cypress/pages/components/customSettingsSeparatorsComponent.ts +97 -0
  28. package/cypress/pages/components/equationEditorSectionCommonComponent.js +528 -0
  29. package/cypress/pages/components/gradingViewEnumerationComponent.js +11 -6
  30. package/cypress/pages/components/index.js +2 -1
  31. package/cypress/pages/components/questionInstructionsComponent.js +10 -0
  32. package/cypress/pages/essayResponsePage.js +4 -121
  33. package/cypress/pages/graphingPage.js +24 -2
  34. package/cypress/pages/multipleSelectionPage.js +8 -0
  35. package/cypress/pages/textEntryMathPage.js +125 -18
  36. package/cypress/support/index.d.ts +7 -0
  37. package/cypress/tsconfig.json +11 -0
  38. package/package.json +1 -1
  39. package/scripts/sorry-cypress.mjs +6 -6
@@ -137,6 +137,342 @@ export const equationEditorCategoriesAndSymbols = {
137
137
  }
138
138
  },
139
139
 
140
+ keyPad: {
141
+ displayName: 'Keypad',
142
+ symbols: {
143
+ q: {
144
+ title: '',
145
+ textElement: null,
146
+ ariaLabel: 'q 1 of 37',
147
+ displayText: 'q'
148
+ },
149
+ w: {
150
+ title: '',
151
+ textElement: null,
152
+ ariaLabel: 'w 2 of 37',
153
+ displayText: 'w'
154
+ },
155
+ e: {
156
+ title: '',
157
+ textElement: null,
158
+ ariaLabel: 'e 3 of 37',
159
+ displayText: 'e'
160
+ },
161
+ r: {
162
+ title: '',
163
+ textElement: null,
164
+ ariaLabel: 'r 4 of 37',
165
+ displayText: 'r'
166
+ },
167
+ r: {
168
+ title: '',
169
+ textElement: null,
170
+ ariaLabel: 'r 4 of 37',
171
+ displayText: 'r'
172
+ },
173
+ t: {
174
+ title: '',
175
+ textElement: null,
176
+ ariaLabel: 't 5 of 37',
177
+ displayText: 't'
178
+ },
179
+ y: {
180
+ title: '',
181
+ textElement: null,
182
+ ariaLabel: 'y 6 of 37',
183
+ displayText: 'y'
184
+ },
185
+ u: {
186
+ title: '',
187
+ textElement: null,
188
+ ariaLabel: 'u 7 of 37',
189
+ displayText: 'u'
190
+ },
191
+ i: {
192
+ title: '',
193
+ textElement: null,
194
+ ariaLabel: 'i 8 of 37',
195
+ displayText: 'i'
196
+ },
197
+ o: {
198
+ title: '',
199
+ textElement: null,
200
+ ariaLabel: 'o 9 of 37',
201
+ displayText: 'o'
202
+ },
203
+ p: {
204
+ title: '',
205
+ textElement: null,
206
+ ariaLabel: 'p 10 of 37',
207
+ displayText: 'p'
208
+ },
209
+ a: {
210
+ title: '',
211
+ textElement: null,
212
+ ariaLabel: 'a 11 of 37',
213
+ displayText: 'a'
214
+ },
215
+ s: {
216
+ title: '',
217
+ textElement: null,
218
+ ariaLabel: 's 12 of 37',
219
+ displayText: 's'
220
+ },
221
+ r: {
222
+ title: '',
223
+ textElement: null,
224
+ ariaLabel: 'r 4 of 37',
225
+ displayText: 'r'
226
+ },
227
+ d: {
228
+ title: '',
229
+ textElement: null,
230
+ ariaLabel: 'd 13 of 37',
231
+ displayText: 'd'
232
+ },
233
+ f: {
234
+ title: '',
235
+ textElement: null,
236
+ ariaLabel: 'f 14 of 37',
237
+ displayText: 'f'
238
+ },
239
+ g: {
240
+ title: '',
241
+ textElement: null,
242
+ ariaLabel: 'g 15 of 37',
243
+ displayText: 'g'
244
+ },
245
+ h: {
246
+ title: '',
247
+ textElement: null,
248
+ ariaLabel: 'h 16 of 37',
249
+ displayText: 'h'
250
+ },
251
+ j: {
252
+ title: '',
253
+ textElement: null,
254
+ ariaLabel: 'j 17 of 37',
255
+ displayText: 'j'
256
+ },
257
+ k: {
258
+ title: '',
259
+ textElement: null,
260
+ ariaLabel: 'k 18 of 37',
261
+ displayText: 'k'
262
+ },
263
+ l: {
264
+ title: '',
265
+ textElement: null,
266
+ ariaLabel: 'l 19 of 37',
267
+ displayText: 'l'
268
+ },
269
+ capsLock: {
270
+ title: '',
271
+ textElement: null,
272
+ ariaLabel: 'Caps 20 of 37',
273
+ displayText: 'null'
274
+ },
275
+ z: {
276
+ title: '',
277
+ textElement: null,
278
+ ariaLabel: 'z 21 of 37',
279
+ displayText: 'z'
280
+ },
281
+ x: {
282
+ title: '',
283
+ textElement: null,
284
+ ariaLabel: 'x 22 of 37',
285
+ displayText: 'x'
286
+ },
287
+ c: {
288
+ title: '',
289
+ textElement: null,
290
+ ariaLabel: 'c 23 of 37',
291
+ displayText: 'c'
292
+ },
293
+ v: {
294
+ title: '',
295
+ textElement: null,
296
+ ariaLabel: 'v 24 of 37',
297
+ displayText: 'v'
298
+ },
299
+ b: {
300
+ title: '',
301
+ textElement: null,
302
+ ariaLabel: 'b 25 of 37',
303
+ displayText: 'b'
304
+ },
305
+ n: {
306
+ title: '',
307
+ textElement: null,
308
+ ariaLabel: 'n 26 of 37',
309
+ displayText: 'n'
310
+ },
311
+ m: {
312
+ title: '',
313
+ textElement: null,
314
+ ariaLabel: 'm 27 of 37',
315
+ displayText: 'm'
316
+ },
317
+ moveUp: {
318
+ title: '',
319
+ textElement: null,
320
+ ariaLabel: 'MoveUp 28 of 37',
321
+ displayText: ''
322
+ },
323
+ clear: {
324
+ title: '',
325
+ textElement: null,
326
+ ariaLabel: 'Clear 29 of 37',
327
+ displayText: 'Clear'
328
+ },
329
+ comma: {
330
+ title: 'Comma',
331
+ textElement: null,
332
+ ariaLabel: 'Comma',
333
+ displayText: ','
334
+ },
335
+ decimal: {
336
+ title: 'Decimal',
337
+ textElement: null,
338
+ ariaLabel: 'Decimal 31 of 37',
339
+ displayText: '.'
340
+ },
341
+ space: {
342
+ title: '',
343
+ textElement: null,
344
+ ariaLabel: 'Space 32 of 37',
345
+ displayText: 'null'
346
+ },
347
+ explanationMark: {
348
+ title: '',
349
+ textElement: null,
350
+ ariaLabel: 'ExplanationMark 33 of 37',
351
+ displayText: '!'
352
+ },
353
+ questionMark: {
354
+ title: 'Question Mark',
355
+ textElement: null,
356
+ ariaLabel: 'QuestionMark 34 of 37',
357
+ displayText: '?'
358
+ },
359
+ moveLeft: {
360
+ title: '',
361
+ textElement: null,
362
+ ariaLabel: 'MoveLeft 35 of 37',
363
+ displayText: ''
364
+ },
365
+ moveDown: {
366
+ title: '',
367
+ textElement: null,
368
+ ariaLabel: 'MoveDown 36 of 37',
369
+ displayText: ''
370
+ },
371
+ moveRight: {
372
+ title: '',
373
+ textElement: null,
374
+ ariaLabel: 'MoveRight 37 of 37',
375
+ displayText: ''
376
+ },
377
+ seven: {
378
+ title: 'Seven',
379
+ textElement: '7',
380
+ ariaLabel: 'Seven',
381
+ displayText: '7'
382
+ },
383
+ eight: {
384
+ title: 'Eight',
385
+ textElement: '8',
386
+ ariaLabel: 'Eight',
387
+ displayText: '8'
388
+ },
389
+ nine: {
390
+ title: 'Nine',
391
+ textElement: '9',
392
+ ariaLabel: 'Nine',
393
+ displayText: '9'
394
+ },
395
+ divide: {
396
+ title: 'Division',
397
+ textElement: null,
398
+ ariaLabel: 'Division',
399
+ displayText: '÷'
400
+ },
401
+ four: {
402
+ title: 'Four',
403
+ textElement: '4',
404
+ ariaLabel: 'Four',
405
+ displayText: '4'
406
+ },
407
+ five: {
408
+ title: 'Five',
409
+ textElement: '5',
410
+ ariaLabel: 'Five',
411
+ displayText: '5'
412
+ },
413
+ six: {
414
+ title: 'Six',
415
+ textElement: '6',
416
+ ariaLabel: 'Six',
417
+ displayText: '6'
418
+ },
419
+ multiply: {
420
+ title: 'Multiply',
421
+ textElement: null,
422
+ ariaLabel: 'Multiply',
423
+ displayText: '×'
424
+ },
425
+ one: {
426
+ title: 'One',
427
+ textElement: '1',
428
+ ariaLabel: 'One',
429
+ displayText: '1'
430
+ },
431
+ two: {
432
+ title: 'Two',
433
+ textElement: '2',
434
+ ariaLabel: 'Two',
435
+ displayText: '2'
436
+ },
437
+ three: {
438
+ title: 'Three',
439
+ textElement: '3',
440
+ ariaLabel: 'Three',
441
+ displayText: '3'
442
+ },
443
+ subtract: {
444
+ title: 'Subtraction',
445
+ textElement: null,
446
+ ariaLabel: 'Minus',
447
+ displayText: '−'
448
+ },
449
+ zero: {
450
+ title: 'Zero',
451
+ textElement: '0',
452
+ ariaLabel: 'zero 13 of 16',
453
+ displayText: '0'
454
+ },
455
+ clearAll: {
456
+ title: 'Clear all',
457
+ textElement: null,
458
+ ariaLabel: 'ClearAll',
459
+ displayText: null
460
+ },
461
+ equalTo: {
462
+ title: 'Equal To',
463
+ textElement: null,
464
+ ariaLabel: 'Equalto',
465
+ displayText: '='
466
+ },
467
+ add: {
468
+ title: 'Addition',
469
+ textElement: null,
470
+ ariaLabel: 'Plus 16 of 16',
471
+ displayText: '+'
472
+ },
473
+ }
474
+ },
475
+
140
476
  intermediate: {
141
477
  displayName: 'Intermediate',
142
478
  symbols: {
@@ -2,7 +2,7 @@ import utilities from "../../support/helpers/utilities";
2
2
  const css = Cypress.env('css');
3
3
 
4
4
  const selectors = {
5
- ariaLabelInputField: () => cy.get('input[aria-label*="Enter ARIA label"]'),
5
+ ariaLabelInputField: () => cy.get('[aria-label*="Enter ARIA label"]'),
6
6
  inputFieldNumeration: () => cy.get('.MuiInputAdornment-root'),
7
7
  ariaLabelSectionLabel: () => cy.get('[class*="AriaLabel"][class*="__LabelWrapper"]'),
8
8
  }
@@ -333,17 +333,6 @@ const steps = {
333
333
  .blur();
334
334
  },
335
335
 
336
- focusInQuestionInstructionsInputField: () => {
337
- ckEditorAudioPlayerComponent.questionInstructionsInputField()
338
- .click();
339
- },
340
-
341
- focusInAndFocusOutOfQuestionInstructionsInputField: () => {
342
- ckEditorAudioPlayerComponent.questionInstructionsInputField()
343
- .click()
344
- .blur();
345
- },
346
-
347
336
  focusInPromptInputField: () => {
348
337
  ckEditorAudioPlayerComponent.promptInputField()
349
338
  .click();
@@ -6,21 +6,37 @@ const selectors = {
6
6
  ...createQuestionBasePage,
7
7
  ...dialogBoxBase,
8
8
  //Basic
9
- equationEditorIcon: () => cy.get('.cke_button__nextgeneqneditor_icon'),
9
+ equationEditorIcon: () => cy.get('.cke_button__nextgeneqneditor_icon:visible'),
10
10
  equationEditorLabel: () => cy.get('[class*="EquationEditorstyles__Heading"]'),
11
- buttonOk: () => cy.get('.ok-btn'),
12
- buttonCancel: () => cy.get('.cancel-btn'),
11
+ okButton: () => cy.get('.ok-btn'),
12
+ cancelButton: () => cy.get('.cancel-btn'),
13
+ equationEditorPopUp: () => cy.get('[class*="EquationEditorstyles__EquationEditorContainer"]'),
14
+ equationWrapper: () => cy.get('.cke_widget_ngie_equation [class*="NGMathJax"]'),
15
+ equationInInputField: () => cy.get('[class*="ngie_latex"]').eq(0),
13
16
  //Aria Label
14
17
  ariaLabelText: () => cy.get('[class*="EquationEditorstyles__AriaLabelText"]').eq(1),
15
18
  chevronDownIcon: () => cy.get('[class*="EquationEditorstyles__ChevronDownIconWrapper"]'),
19
+ customizeARIALabel: () => cy.get('[class*="EquationEditorstyles__InputWrapper"] .input-field-label'),
20
+ customizeARIALabelInputField: () => cy.get('[aria-label="Customize ARIA label"]'),
16
21
  //Select Mode
17
22
  selectModeLabel: () => cy.get('[class*="EquationEditorstyles__SelectModeLabel"]'),
18
23
  editorButton: () => cy.get('[aria-label="Editor"]'),
19
24
  editorLabel: () => cy.get('[class*="EquationEditorstyles__RadioButtonLabel"]').eq(0),
25
+ editorInputFieldArea: () => cy.get('[class*="EquationEditorstyles__PreviewWrapper"]'),
20
26
  latexCodeButton: () => cy.get('[aria-label="LaTex code"]'),
21
27
  latexCodeLabel: () => cy.get('[class*="EquationEditorstyles__RadioButtonLabel"]').eq(1),
28
+ latexCodeInputFieldArea: () => cy.get('.view-source-text-area'),
22
29
  mathMLButton: () => cy.get('[aria-label="MathML"]'),
23
30
  mathMLLabel: () => cy.get('[class*="EquationEditorstyles__RadioButtonLabel"]').eq(2),
31
+ mathMLInputFieldArea: () => cy.get('.mathml-preview-wrapper [role="textbox"]'),
32
+ //Tools
33
+ toolBarWrapper: () => cy.get('.equation-editor-toolbar-wrapper'),
34
+ subBarWrapper: () => cy.get('.subtools-wrapper'),
35
+ toolButton: () => cy.get('.tool-wrapper'),
36
+ toolTitle: () => cy.get('.tool-title'),
37
+ nextButton: () => cy.get('.next-btn'),
38
+ previousButton: () => cy.get('.previous-btn'),
39
+ subToolButton: () => cy.get('.subtools-icon-wrapper'),
24
40
  }
25
41
 
26
42
  const steps = {
@@ -29,13 +45,165 @@ const steps = {
29
45
  .eq(0)
30
46
  .click();
31
47
  },
32
- }
33
48
 
34
- const tests = {
49
+ /**
50
+ * This function verified selected tool using the index
51
+ * @param {number} index of the tool
52
+ */
53
+ verifyToolSelected: (index) => {
54
+ ckEditorEquationEditorComponent.toolButton()
55
+ .eq(index)
56
+ .should('have.class', 'tool-wrapper-selected');
57
+ },
58
+
59
+ writeEquationUsingTools: () => {
60
+ ckEditorEquationEditorComponent.steps.selectTool(1);
61
+ ckEditorEquationEditorComponent.steps.selectSubTool(41);
62
+ ckEditorEquationEditorComponent.steps.selectTool(3);
63
+ ckEditorEquationEditorComponent.steps.selectSubTool(1);
64
+ ckEditorEquationEditorComponent.steps.clickOnNextButton();
65
+ ckEditorEquationEditorComponent.steps.selectTool(9);
66
+ ckEditorEquationEditorComponent.steps.selectSubTool(2);
67
+ ckEditorEquationEditorComponent.steps.clickOnPreviousButton();
68
+ ckEditorEquationEditorComponent.steps.selectTool(6);
69
+ ckEditorEquationEditorComponent.steps.selectSubTool(7);
70
+ ckEditorEquationEditorComponent.steps.selectTool(1);
71
+ ckEditorEquationEditorComponent.steps.selectSubTool(41);
72
+ ckEditorEquationEditorComponent.steps.selectSubTool(16);
73
+ ckEditorEquationEditorComponent.steps.selectSubTool(42);
74
+ },
75
+
76
+ /**
77
+ * This function verified the equation
78
+ * @param {string} selector for the equation to be verified
79
+ * @param {string} text of the equation to be verified
80
+ */
81
+ verifyEquation: (selector, text) => {
82
+ selector
83
+ .should('have.text', text);
84
+ return null;
85
+ },
86
+
87
+ clickOnCancelButton: () => {
88
+ ckEditorEquationEditorComponent.cancelButton()
89
+ .click();
90
+ },
91
+
92
+ clickOnOkButton: () => {
93
+ ckEditorEquationEditorComponent.okButton()
94
+ .click();
95
+ },
96
+
97
+ /**
98
+ * Selects tools using index
99
+ * @param {number} index of the tool
100
+ */
101
+ selectTool: (index) => {
102
+ ckEditorEquationEditorComponent.toolButton()
103
+ .eq(index)
104
+ .click();
105
+ },
106
+
107
+ /**
108
+ * Selects subtools using index
109
+ * @param {number} index of the sub tool
110
+ */
111
+ selectSubTool: (index) => {
112
+ ckEditorEquationEditorComponent.subToolButton()
113
+ .eq(index)
114
+ .click();
115
+ },
116
+
117
+ clickOnNextButton: () => {
118
+ ckEditorEquationEditorComponent.nextButton()
119
+ .click();
120
+ },
121
+
122
+ clickOnPreviousButton: () => {
123
+ ckEditorEquationEditorComponent.previousButton()
124
+ .click();
125
+ },
126
+
127
+ clickOnEditorButton: () => {
128
+ ckEditorEquationEditorComponent.editorButton()
129
+ .click();
130
+ },
131
+
132
+ verifyEditorButtonChecked: () => {
133
+ ckEditorEquationEditorComponent.editorButton()
134
+ .should('be.checked');
135
+ },
136
+
137
+ clickOnLatexCodeButton: () => {
138
+ ckEditorEquationEditorComponent.latexCodeButton()
139
+ .click();
140
+ },
141
+
142
+ verifyLatexCodeButtonChecked: () => {
143
+ ckEditorEquationEditorComponent.latexCodeButton()
144
+ .should('be.checked');
145
+ },
146
+
147
+ clickOnMathMLButton: () => {
148
+ ckEditorEquationEditorComponent.mathMLButton()
149
+ .click();
150
+ },
151
+
152
+ verifyMathMLButtonChecked: () => {
153
+ ckEditorEquationEditorComponent.mathMLButton()
154
+ .should('be.checked');
155
+ },
156
+
157
+ clickOnChevronDownIcon: () => {
158
+ ckEditorEquationEditorComponent.chevronDownIcon()
159
+ .click();
160
+ },
161
+
162
+ /**
163
+ * Type in the equation editor input field
164
+ * @param {string} text to be typed in the input field
165
+ */
166
+ typeInEditorInputFieldArea: (text) => {
167
+ ckEditorEquationEditorComponent.editorInputFieldArea()
168
+ .click()
169
+ .type(text);
170
+ },
171
+
172
+ /**
173
+ * Type in the latex input field
174
+ * @param {string} text to be typed in the input field
175
+ */
176
+ typeInLatexInputFieldArea: (text) => {
177
+ ckEditorEquationEditorComponent.latexCodeInputFieldArea()
178
+ .click();
179
+ cy.get('.view-source-text-area')
180
+ .invoke('val', text);
181
+ },
182
+
183
+ /**
184
+ * Type in the mathML input field
185
+ * @param {string} text to be typed in the input field
186
+ */
187
+ typeInMathMLInputFieldArea: (text) => {
188
+ ckEditorEquationEditorComponent.mathMLInputFieldArea()
189
+ .click();
190
+ cy.wait(1000);
191
+ cy.get('.mathml-preview-wrapper [role="textbox"]')
192
+ .invoke('val', text);
193
+ },
194
+
195
+ /**
196
+ * @param {string} text The text to be typed into the ARIA label input field.
197
+ * @description This function types the specified text into the ARIA label input field within the CKEditor equation editor component.
198
+ */
199
+ typeInCustomizeARIALabelInputField: (text) => {
200
+ ckEditorEquationEditorComponent.customizeARIALabelInputField()
201
+ .click()
202
+ .type(text);
203
+ }
35
204
  }
36
205
 
37
206
  export const ckEditorEquationEditorComponent = {
38
207
  ...selectors,
39
- steps,
40
- tests
208
+ steps
41
209
  }