itemengine-cypress-automation 1.0.255 → 1.0.256-updatedRepo18thNov-3c7b396.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) 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
@@ -20,7 +20,7 @@ describe('Audio player: Edit tab', () => {
20
20
  multipleSelectionPage.steps.uploadFile('sampleAudio.mp3');
21
21
  utilities.verifyElementVisibilityState(multipleSelectionPage.fileUploadProgressBar(), 'hidden');
22
22
  multipleSelectionPage.steps.clickOnOKButton();
23
- multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
23
+ multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
24
24
  multipleSelectionPage.steps.switchToPreviewTab();
25
25
  });
26
26
 
@@ -34,7 +34,7 @@ describe('Audio player: Edit tab', () => {
34
34
  multipleSelectionPage.steps.clickOnLimitPlayAttempts();
35
35
  multipleSelectionPage.steps.setPlaybackLimit(2);
36
36
  multipleSelectionPage.steps.clickOnOKButton();
37
- multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
37
+ multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
38
38
  multipleSelectionPage.steps.switchToPreviewTab();
39
39
  utilities.verifyInnerText(multipleSelectionPage.playbackLimitHelpText(), 'You have 2 plays remaining.');
40
40
  utilities.verifyElementVisibilityState(multipleSelectionPage.playbackLimitHelpText(), 'visible');
@@ -102,7 +102,7 @@ describe('Audio player: Edit tab', () => {
102
102
  multipleSelectionPage.steps.uploadFile('sample.mp3');
103
103
  utilities.verifyElementVisibilityState(multipleSelectionPage.fileUploadProgressBar(), 'hidden');
104
104
  multipleSelectionPage.steps.clickOnOKButton();
105
- multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
105
+ multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
106
106
  multipleSelectionPage.steps.switchToPreviewTab();
107
107
  });
108
108
 
@@ -116,7 +116,7 @@ describe('Audio player: Edit tab', () => {
116
116
  multipleSelectionPage.steps.checkUncheckAllowStudentsToDownloadAudioCheckbox();
117
117
  multipleSelectionPage.steps.verifyAllowStudentsToDownloadAudioCheckboxChecked();
118
118
  multipleSelectionPage.steps.clickOnOKButton();
119
- multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
119
+ multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
120
120
  multipleSelectionPage.steps.switchToPreviewTab();
121
121
  utilities.verifyElementVisibilityState(multipleSelectionPage.playbackDownloadButton(), 'visible');
122
122
  });
@@ -136,7 +136,7 @@ describe('Audio player: Edit tab', () => {
136
136
  multipleSelectionPage.steps.checkUncheckAllowStudentsToDownloadAudioCheckbox();
137
137
  multipleSelectionPage.steps.verifyAllowStudentsToDownloadAudioCheckboxNotChecked();
138
138
  multipleSelectionPage.steps.clickOnOKButton();
139
- multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
139
+ multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
140
140
  multipleSelectionPage.steps.switchToPreviewTab();
141
141
  utilities.verifyElementVisibilityState(multipleSelectionPage.playbackDownloadButton(), 'notExist');
142
142
  });
@@ -153,7 +153,7 @@ describe('Audio player: Edit tab', () => {
153
153
  multipleSelectionPage.steps.uploadFile('sample.mp3');
154
154
  utilities.verifyElementVisibilityState(multipleSelectionPage.fileUploadProgressBar(), 'hidden');
155
155
  multipleSelectionPage.steps.clickOnOKButton();
156
- multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
156
+ multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
157
157
  multipleSelectionPage.steps.switchToPreviewTab();
158
158
  });
159
159
 
@@ -171,7 +171,7 @@ describe('Audio player: Edit tab', () => {
171
171
  multipleSelectionPage.steps.clickOnCustomizeControlPauseButton();
172
172
  multipleSelectionPage.steps.verifyCustomizeControlPauseButtonDeselectedState();
173
173
  multipleSelectionPage.steps.clickOnOKButton();
174
- multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
174
+ multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
175
175
  multipleSelectionPage.steps.switchToPreviewTab();
176
176
  multipleSelectionPage.steps.startPlayback();
177
177
  multipleSelectionPage.steps.waitForPlaybackToBegin();
@@ -195,7 +195,7 @@ describe('Audio player: Edit tab', () => {
195
195
  multipleSelectionPage.steps.uploadFile('sample.mp3');
196
196
  utilities.verifyElementVisibilityState(multipleSelectionPage.fileUploadProgressBar(), 'hidden');
197
197
  multipleSelectionPage.steps.clickOnOKButton();
198
- multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
198
+ multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
199
199
  multipleSelectionPage.steps.switchToPreviewTab();
200
200
  });
201
201
 
@@ -216,7 +216,7 @@ describe('Audio player: Edit tab', () => {
216
216
  multipleSelectionPage.steps.clickOnCustomizeControlSeekButton();
217
217
  multipleSelectionPage.steps.verifyCustomizeControlSeekButtonDeselectedState();
218
218
  multipleSelectionPage.steps.clickOnOKButton();
219
- multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
219
+ multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
220
220
  multipleSelectionPage.steps.switchToPreviewTab();
221
221
  multipleSelectionPage.steps.startPlayback();
222
222
  multipleSelectionPage.steps.waitForPlaybackToBegin();
@@ -241,7 +241,7 @@ describe('Audio player: Edit tab', () => {
241
241
  multipleSelectionPage.steps.clickOnUploadAudioFileRadioButton();
242
242
  multipleSelectionPage.steps.uploadFile('sample.mp3');
243
243
  multipleSelectionPage.steps.clickOnOKButton();
244
- multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
244
+ multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
245
245
  multipleSelectionPage.steps.switchToPreviewTab();
246
246
  });
247
247
 
@@ -260,7 +260,7 @@ describe('Audio player: Edit tab', () => {
260
260
  multipleSelectionPage.steps.clickOnCustomizeUIControlAccordion();
261
261
  multipleSelectionPage.steps.clickOnCustomizeControlPlayBackSpeedButton();
262
262
  multipleSelectionPage.steps.clickOnOKButton();
263
- multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
263
+ multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
264
264
  multipleSelectionPage.steps.switchToPreviewTab();
265
265
  utilities.verifyElementVisibilityState(multipleSelectionPage.playbackSpeedButton(), 'notExist');
266
266
  });
@@ -277,7 +277,7 @@ describe('Audio player: Edit tab', () => {
277
277
  multipleSelectionPage.steps.uploadFile('sample.mp3');
278
278
  utilities.verifyElementVisibilityState(multipleSelectionPage.fileUploadProgressBar(), 'hidden');
279
279
  multipleSelectionPage.steps.clickOnOKButton();
280
- multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
280
+ multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
281
281
  multipleSelectionPage.steps.switchToPreviewTab();
282
282
  });
283
283
 
@@ -294,7 +294,7 @@ describe('Audio player: Edit tab', () => {
294
294
  multipleSelectionPage.steps.clickOnCustomizeUIControlAccordion();
295
295
  multipleSelectionPage.steps.clickOnCustomizeControlAddPinButton();
296
296
  multipleSelectionPage.steps.clickOnOKButton();
297
- multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
297
+ multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
298
298
  multipleSelectionPage.steps.switchToPreviewTab();
299
299
  utilities.verifyElementVisibilityState(multipleSelectionPage.addPinButton(), 'notExist');
300
300
  });
@@ -311,7 +311,7 @@ describe('Audio player: Edit tab', () => {
311
311
  multipleSelectionPage.steps.uploadFile('sample.mp3');
312
312
  utilities.verifyElementVisibilityState(multipleSelectionPage.fileUploadProgressBar(), 'hidden');
313
313
  multipleSelectionPage.steps.clickOnOKButton();
314
- multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
314
+ multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
315
315
  multipleSelectionPage.steps.switchToPreviewTab();
316
316
  });
317
317
 
@@ -327,7 +327,7 @@ describe('Audio player: Edit tab', () => {
327
327
  multipleSelectionPage.steps.clickOnCustomizeUIControlAccordion();
328
328
  multipleSelectionPage.steps.clickOnCustomizeControlForwardBackwardButton();
329
329
  multipleSelectionPage.steps.clickOnOKButton();
330
- multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
330
+ multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
331
331
  multipleSelectionPage.steps.switchToPreviewTab();
332
332
  utilities.verifyElementVisibilityState(multipleSelectionPage.forwardButton(), 'notExist');
333
333
  utilities.verifyElementVisibilityState(multipleSelectionPage.backwardButton(), 'notExist');
@@ -346,7 +346,7 @@ describe('Audio player: Edit tab', () => {
346
346
  utilities.verifyElementVisibilityState(multipleSelectionPage.fileUploadProgressBar(), 'hidden');
347
347
  multipleSelectionPage.steps.selectAudioPlayerStyleToggleButton('Compact');
348
348
  multipleSelectionPage.steps.clickOnOKButton();
349
- multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
349
+ multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
350
350
  multipleSelectionPage.steps.switchToPreviewTab();
351
351
  });
352
352
 
@@ -363,7 +363,7 @@ describe('Audio player: Edit tab', () => {
363
363
  multipleSelectionPage.steps.clickOnCustomizeUIControlAccordion();
364
364
  multipleSelectionPage.steps.clickOnCustomizeControlVolumeButton();
365
365
  multipleSelectionPage.steps.clickOnOKButton();
366
- multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
366
+ multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
367
367
  multipleSelectionPage.steps.switchToPreviewTab();
368
368
  multipleSelectionPage.steps.clickOnPlayButton();
369
369
  utilities.verifyElementVisibilityState(multipleSelectionPage.volumeControlButton(), 'notExist');
@@ -382,7 +382,7 @@ describe('Audio player: Edit tab', () => {
382
382
  utilities.verifyElementVisibilityState(multipleSelectionPage.fileUploadProgressBar(), 'hidden');
383
383
  multipleSelectionPage.steps.selectAudioPlayerStyleToggleButton('Compact');
384
384
  multipleSelectionPage.steps.clickOnOKButton();
385
- multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
385
+ multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
386
386
  multipleSelectionPage.steps.switchToPreviewTab();
387
387
  });
388
388
 
@@ -400,7 +400,7 @@ describe('Audio player: Edit tab', () => {
400
400
  multipleSelectionPage.steps.clickOnCustomizeUIControlAccordion();
401
401
  multipleSelectionPage.steps.clickOnCustomizeControlTimerButton();
402
402
  multipleSelectionPage.steps.clickOnOKButton();
403
- multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
403
+ multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
404
404
  multipleSelectionPage.steps.switchToPreviewTab();
405
405
  multipleSelectionPage.steps.clickOnPlayButton();
406
406
  utilities.verifyElementVisibilityState(multipleSelectionPage.playbackTime(), 'notExist');
@@ -419,7 +419,7 @@ describe('Audio player: Edit tab', () => {
419
419
  utilities.verifyElementVisibilityState(multipleSelectionPage.fileUploadProgressBar(), 'hidden');
420
420
  multipleSelectionPage.steps.selectAudioPlayerStyleToggleButton('Compact');
421
421
  multipleSelectionPage.steps.clickOnOKButton();
422
- multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
422
+ multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
423
423
  multipleSelectionPage.steps.switchToPreviewTab();
424
424
  });
425
425
 
@@ -435,7 +435,7 @@ describe('Audio player: Edit tab', () => {
435
435
  multipleSelectionPage.steps.clickOnCustomizeUIControlAccordion();
436
436
  multipleSelectionPage.steps.clickOnCustomizeControlProgressBarButton();
437
437
  multipleSelectionPage.steps.clickOnOKButton();
438
- multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
438
+ multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
439
439
  multipleSelectionPage.steps.switchToPreviewTab();
440
440
  multipleSelectionPage.steps.clickOnPlayButton();
441
441
  utilities.verifyElementVisibilityState(multipleSelectionPage.progressBar(), 'notExist');
@@ -22,7 +22,7 @@ describe('Audio player: Edit tab', () => {
22
22
  it('When user adds link of MP3 audio file, audio player should be displayed in preview tab and user should be able to play MP3 audio file.', () => {
23
23
  multipleSelectionPage.steps.enterTextInSourceURLInputField(constants.sampleMp3Link);
24
24
  multipleSelectionPage.steps.clickOnOKButton();
25
- multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
25
+ multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
26
26
  multipleSelectionPage.steps.switchToPreviewTab();
27
27
  multipleSelectionPage.steps.startPlayback();
28
28
  multipleSelectionPage.steps.waitForPlaybackToBegin();
@@ -34,7 +34,7 @@ describe('Audio player: Edit tab', () => {
34
34
  multipleSelectionPage.steps.clearTextInSourceURLInputField();
35
35
  multipleSelectionPage.steps.enterTextInSourceURLInputField(constants.sampleWAVLink);
36
36
  multipleSelectionPage.steps.clickOnOKButton();
37
- multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
37
+ multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
38
38
  multipleSelectionPage.steps.switchToPreviewTab();
39
39
  multipleSelectionPage.steps.startPlayback();
40
40
  multipleSelectionPage.steps.waitForPlaybackToBegin();
@@ -46,7 +46,7 @@ describe('Audio player: Edit tab', () => {
46
46
  multipleSelectionPage.steps.clearTextInSourceURLInputField();
47
47
  multipleSelectionPage.steps.enterTextInSourceURLInputField(constants.sampleAACLink);
48
48
  multipleSelectionPage.steps.clickOnOKButton();
49
- multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
49
+ multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
50
50
  multipleSelectionPage.steps.switchToPreviewTab();
51
51
  multipleSelectionPage.steps.startPlayback();
52
52
  multipleSelectionPage.steps.waitForPlaybackToBegin();
@@ -67,7 +67,7 @@ describe('Audio player: Edit tab', () => {
67
67
  multipleSelectionPage.steps.uploadFile('sample.mp3');
68
68
  utilities.verifyElementVisibilityState(multipleSelectionPage.fileUploadProgressBar(), 'hidden');
69
69
  multipleSelectionPage.steps.clickOnOKButton();
70
- multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
70
+ multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
71
71
  multipleSelectionPage.steps.switchToPreviewTab();
72
72
  multipleSelectionPage.steps.startPlayback();
73
73
  multipleSelectionPage.steps.waitForPlaybackToBegin();
@@ -80,7 +80,7 @@ describe('Audio player: Edit tab', () => {
80
80
  multipleSelectionPage.steps.uploadFile('sample.wav');
81
81
  utilities.verifyElementVisibilityState(multipleSelectionPage.fileUploadProgressBar(), 'hidden');
82
82
  multipleSelectionPage.steps.clickOnOKButton();
83
- multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
83
+ multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
84
84
  multipleSelectionPage.steps.switchToPreviewTab();
85
85
  multipleSelectionPage.steps.startPlayback();
86
86
  multipleSelectionPage.steps.waitForPlaybackToBegin();
@@ -93,7 +93,7 @@ describe('Audio player: Edit tab', () => {
93
93
  multipleSelectionPage.steps.uploadFile('sample.aac');
94
94
  utilities.verifyElementVisibilityState(multipleSelectionPage.fileUploadProgressBar(), 'hidden');
95
95
  multipleSelectionPage.steps.clickOnOKButton();
96
- multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
96
+ multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
97
97
  multipleSelectionPage.steps.switchToPreviewTab();
98
98
  multipleSelectionPage.steps.startPlayback();
99
99
  multipleSelectionPage.steps.waitForPlaybackToBegin();
@@ -20,7 +20,7 @@ describe('Audio player: Edit tab', () => {
20
20
  multipleSelectionPage.steps.uploadFile('sample.mp3');
21
21
  utilities.verifyElementVisibilityState(multipleSelectionPage.fileUploadProgressBar(), 'hidden');
22
22
  multipleSelectionPage.steps.clickOnOKButton();
23
- multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
23
+ multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
24
24
  multipleSelectionPage.steps.switchToPreviewTab();
25
25
  });
26
26
 
@@ -34,7 +34,7 @@ describe('Audio player: Edit tab', () => {
34
34
  multipleSelectionPage.steps.uploadTranscriptFile('sample.txt');
35
35
  utilities.verifyElementVisibilityState(multipleSelectionPage.transcriptFileUploadProgressBar(), 'visible');
36
36
  multipleSelectionPage.steps.clickOnOKButton();
37
- multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
37
+ multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
38
38
  multipleSelectionPage.steps.switchToPreviewTab();
39
39
  utilities.verifyElementVisibilityState(multipleSelectionPage.transcriptButton(), 'visible');
40
40
  multipleSelectionPage.steps.verifyPlaybackTranscriptButtonEnabledState();
@@ -51,7 +51,7 @@ describe('Audio player: Edit tab', () => {
51
51
  multipleSelectionPage.steps.clickOnTypeInTranscriptRadioButton();
52
52
  multipleSelectionPage.steps.enterTextInTranscriptInputField('In triangle ABC,m ∠ ABC = (4x-12) ° and m ∠ ACB = (2x + 26) °');
53
53
  multipleSelectionPage.steps.clickOnOKButton();
54
- multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
54
+ multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
55
55
  multipleSelectionPage.steps.switchToPreviewTab();
56
56
  utilities.verifyElementVisibilityState(multipleSelectionPage.transcriptButton(), 'visible');
57
57
  multipleSelectionPage.steps.verifyPlaybackTranscriptButtonEnabledState();
@@ -78,7 +78,7 @@ describe('Audio player: Edit tab', () => {
78
78
  });
79
79
 
80
80
  it('When the user clicks on the transcript button, a transcript modal should appear', () => {
81
- multipleSelectionPage.steps.focusInAndFocusOutOfQuestionInstructionsInputField();
81
+ multipleSelectionPage.steps.focusInAndOutOfQuestionInstructionsInputField();
82
82
  multipleSelectionPage.steps.switchToPreviewTab();
83
83
  multipleSelectionPage.steps.clickOnTranscriptButton();
84
84
  utilities.verifyElementVisibilityState(multipleSelectionPage.transcriptModal(), 'visible');
@@ -2,6 +2,28 @@ import abortEarlySetup from "../../../support/helpers/abortEarly";
2
2
  import { multipleSelectionPage } from "../../../pages";
3
3
  import utilities from "../../../support/helpers/utilities";
4
4
  const css = Cypress.env('css');
5
+ const latexCode = `
6
+ \\documentclass{article}
7
+ \\begin{document}
8
+ This is a simple document with an equation:
9
+ \\begin{equation}
10
+ E = mc^2
11
+ \\end{equation}
12
+ \\end{document}
13
+ `;
14
+ const mathMl = `
15
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
16
+ <mrow>
17
+ <mi>E</mi>
18
+ <mo>=</mo>
19
+ <mi>m</mi>
20
+ <msup>
21
+ <mi>c</mi>
22
+ <mn>2</mn>
23
+ </msup>
24
+ </mrow>
25
+ </math>
26
+ `;
5
27
 
6
28
  describe('Equation Editor: Edit tab', () => {
7
29
  before(() => {
@@ -20,13 +42,13 @@ describe('Equation Editor: Edit tab', () => {
20
42
  it('\'Equation Editor\' label, \'Ok\' and \'Cancel\' button should be displayed.', () => {
21
43
  utilities.verifyInnerText(multipleSelectionPage.equationEditorLabel(), 'Equation Editor');
22
44
  utilities.verifyElementVisibilityState(multipleSelectionPage.equationEditorLabel(), 'visible');
23
- utilities.verifyInnerText(multipleSelectionPage.buttonOk(), 'OK');
24
- utilities.verifyElementVisibilityState(multipleSelectionPage.buttonOk(), 'visible');
25
- utilities.verifyInnerText(multipleSelectionPage.buttonCancel(), 'Cancel');
26
- utilities.verifyElementVisibilityState(multipleSelectionPage.buttonCancel(), 'visible');
45
+ utilities.verifyInnerText(multipleSelectionPage.okButton(), 'OK');
46
+ utilities.verifyElementVisibilityState(multipleSelectionPage.okButton(), 'visible');
47
+ utilities.verifyInnerText(multipleSelectionPage.cancelButton(), 'Cancel');
48
+ utilities.verifyElementVisibilityState(multipleSelectionPage.cancelButton(), 'visible');
27
49
  });
28
50
 
29
- it('\'Select Mode\' label with \'Editor\', \'LaTex code\' and \'MathML\' radio button should be displayed. Also \'ARIA label\' label should be displayed with Chevron Down Icon. By default \'Editor\' should be selected', () => {
51
+ it('\'Select Mode\' label with \'Editor\', \'LaTex code\' and \'MathML\' radio button should be displayed. Also \'ARIA label\' label should be displayed with chevron down icon.', () => {
30
52
  utilities.verifyInnerText(multipleSelectionPage.selectModeLabel(), 'Select Mode');
31
53
  utilities.verifyElementVisibilityState(multipleSelectionPage.selectModeLabel(), 'visible');
32
54
  utilities.verifyInnerText(multipleSelectionPage.editorLabel(), 'Editor');
@@ -42,5 +64,64 @@ describe('Equation Editor: Edit tab', () => {
42
64
  utilities.verifyElementVisibilityState(multipleSelectionPage.ariaLabelText(), 'visible');
43
65
  utilities.verifyElementVisibilityState(multipleSelectionPage.chevronDownIcon(), 'visible');
44
66
  });
67
+
68
+ it('Clicking on \'Aria Label\', \'Customize ARIA label\' and input section should be visible and user should be able to enter value input', () => {
69
+ multipleSelectionPage.steps.clickOnChevronDownIcon();
70
+ utilities.verifyInnerText(multipleSelectionPage.customizeARIALabel(), 'Customize ARIA label');
71
+ utilities.verifyElementVisibilityState(multipleSelectionPage.customizeARIALabelInputField(), 'visible');
72
+ multipleSelectionPage.steps.typeInCustomizeARIALabelInputField('Aria Label');
73
+ });
74
+ });
75
+
76
+ describe('\'Cancel\' and \'Ok\' Button', () => {
77
+ abortEarlySetup();
78
+ before(() => {
79
+ multipleSelectionPage.steps.navigateToCreateQuestion('multiple selection');
80
+ cy.barsPreLoaderWait();
81
+ multipleSelectionPage.steps.focusInQuestionInstructionsInputField();
82
+ multipleSelectionPage.steps.selectEquationEditorOptionFromCKEditorToolbar();
83
+ });
84
+
85
+ it('When user writes any equation and clicks on cancel button it should not be visible on question instruction section', () => {
86
+ multipleSelectionPage.steps.writeEquationUsingTools();
87
+ multipleSelectionPage.steps.clickOnCancelButton();
88
+ utilities.verifyElementVisibilityState(multipleSelectionPage.equationWrapper(), 'notExist');
89
+ });
90
+
91
+ it('When user writes any equation and clicks on \'Ok\' button the equation should be visible on question instruction section', () => {
92
+ multipleSelectionPage.steps.focusInQuestionInstructionsInputField();
93
+ multipleSelectionPage.steps.selectEquationEditorOptionFromCKEditorToolbar();
94
+ multipleSelectionPage.steps.writeEquationUsingTools();
95
+ multipleSelectionPage.steps.clickOnOkButton();
96
+ utilities.verifyTextContent(multipleSelectionPage.equationInInputField(), 'x∨tan⁡(x+y)');
97
+ });
98
+ });
99
+
100
+ describe('Select Mode', () => {
101
+ abortEarlySetup();
102
+ before(() => {
103
+ multipleSelectionPage.steps.navigateToCreateQuestion('multiple selection');
104
+ cy.barsPreLoaderWait();
105
+ multipleSelectionPage.steps.focusInQuestionInstructionsInputField();
106
+ multipleSelectionPage.steps.selectEquationEditorOptionFromCKEditorToolbar();
107
+ });
108
+
109
+ it('By default \'Editor\' should be selected and tool bar and sub tool bar should be visible', () => {
110
+ multipleSelectionPage.steps.verifyEditorButtonChecked();
111
+ utilities.verifyElementVisibilityState(multipleSelectionPage.toolBarWrapper(), 'visible');
112
+ utilities.verifyElementVisibilityState(multipleSelectionPage.subBarWrapper(), 'visible');
113
+ });
114
+
115
+ it('When user switch to \'LaTex Code\', \'Enter LaTex Code\' title should be visible and user should be able to enter latex code in source input', () => {
116
+ multipleSelectionPage.steps.clickOnLatexCodeButton();
117
+ multipleSelectionPage.steps.verifyLatexCodeButtonChecked();
118
+ multipleSelectionPage.steps.typeInLatexInputFieldArea(latexCode);
119
+ });
120
+
121
+ it('When user switch to \'LaTex Code\', \'Enter LaTex Code\' title should be visible and user should be able to enter latex code in source input', () => {
122
+ multipleSelectionPage.steps.clickOnMathMLButton();
123
+ multipleSelectionPage.steps.verifyMathMLButtonChecked();
124
+ multipleSelectionPage.steps.typeInMathMLInputFieldArea(mathMl);
125
+ });
45
126
  });
46
127
  });
@@ -0,0 +1,114 @@
1
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
2
+ import { multipleSelectionPage } from "../../../pages";
3
+ import utilities from "../../../support/helpers/utilities";
4
+ const css = Cypress.env('css');
5
+ const toolTitle = ['Keypad', 'Basic', 'Greek', 'Operators', 'Relationships', 'Arrows', 'Delimiters', 'Misc', 'Matrices', 'Trigonometric Functions', 'Units', 'Calculus Symbols', 'Geometric Symbols'];
6
+ const subToolNumber = [20, 51, 44, 22, 50, 24, 14, 36, 18, 17, 32, 23, 23];
7
+ const equation = '{x+y}*2+9x*y';
8
+
9
+ describe('Equation Editor: Edit tab', () => {
10
+ before(() => {
11
+ cy.loginAs('admin');
12
+ });
13
+
14
+ describe('Select Mode : Editor', () => {
15
+ abortEarlySetup();
16
+ before(() => {
17
+ multipleSelectionPage.steps.navigateToCreateQuestion('multiple selection');
18
+ cy.barsPreLoaderWait();
19
+ multipleSelectionPage.steps.focusInQuestionInstructionsInputField();
20
+ multipleSelectionPage.steps.selectEquationEditorOptionFromCKEditorToolbar();
21
+ });
22
+
23
+ it('The \'Previous Button\' should be in disabled state while \'Next Button\' should be clickable.When user clicks on \'Next Button\' it should become disabled and \'Previous Button\' should be enabled', () => {
24
+ utilities.verifyElementDisabled(multipleSelectionPage.previousButton());
25
+ utilities.verifyElementNotDisabled(multipleSelectionPage.nextButton());
26
+ multipleSelectionPage.steps.clickOnNextButton();
27
+ utilities.verifyElementDisabled(multipleSelectionPage.nextButton());
28
+ utilities.verifyElementNotDisabled(multipleSelectionPage.previousButton());
29
+ multipleSelectionPage.steps.clickOnPreviousButton();
30
+ });
31
+
32
+ it('13 tool wrapper should be visible with their respect tool title', () => {
33
+ for (let toolIndex = 0; toolIndex < 13; toolIndex++) {
34
+ if (toolIndex == 8) {
35
+ multipleSelectionPage.steps.clickOnNextButton();
36
+ }
37
+ utilities.verifyElementVisibilityState(multipleSelectionPage.toolButton().eq(toolIndex), 'visible');
38
+ utilities.verifyInnerText(multipleSelectionPage.toolTitle().eq(toolIndex), toolTitle[toolIndex]);
39
+ }
40
+ });
41
+
42
+ it('By default \'Keypad\' is selected and 20 tools button will be visible', () => {
43
+ multipleSelectionPage.steps.verifyToolSelected(0);
44
+ for (let subToolIndex = 0; subToolIndex < subToolNumber[0]; subToolIndex++) {
45
+ utilities.verifyElementVisibilityState(multipleSelectionPage.subToolButton().eq(subToolIndex), 'visible');
46
+ }
47
+ });
48
+
49
+ it('CSS of \'Table Properties\' label, \'Ok\' and \'Cancel\' button', { tags: 'css' }, () => {
50
+ utilities.verifyCSS(multipleSelectionPage.toolButton().eq(0), {
51
+ 'color': 'rgb(0, 0, 0)',
52
+ 'font-size': '16px',
53
+ 'font-weight': '400'
54
+ });;
55
+ utilities.verifyCSS(multipleSelectionPage.toolButton().eq(1), {
56
+ 'color': 'rgb(0, 0, 0)',
57
+ 'font-size': '16px',
58
+ 'font-weight': '400'
59
+ });
60
+ utilities.verifyCSS(multipleSelectionPage.subToolButton().eq(0), {
61
+ 'color': 'rgb(0, 0, 0)',
62
+ 'font-size': '16px',
63
+ 'font-weight': '400'
64
+ });
65
+ });
66
+
67
+ it('Accessibility of \'Equation Editor\' popup', { tags: 'a11y' }, () => {
68
+ cy.checkAccessibility(multipleSelectionPage.equationEditorPopUp());
69
+ });
70
+ });
71
+
72
+ describe('Select Mode : Editor', () => {
73
+ abortEarlySetup();
74
+ before(() => {
75
+ multipleSelectionPage.steps.navigateToCreateQuestion('multiple selection');
76
+ cy.barsPreLoaderWait();
77
+ multipleSelectionPage.steps.focusInQuestionInstructionsInputField();
78
+ multipleSelectionPage.steps.selectEquationEditorOptionFromCKEditorToolbar();
79
+ });
80
+
81
+ it('User should be able to select different tools, and each tool should contain its respective sub tools', () => {
82
+ for (let toolIndex = 1; toolIndex < 13; toolIndex++) {
83
+ if (toolIndex == 8) {
84
+ multipleSelectionPage.steps.clickOnNextButton();
85
+ }
86
+ multipleSelectionPage.steps.selectTool(toolIndex);
87
+ multipleSelectionPage.steps.verifyToolSelected(toolIndex);
88
+ for (let subToolIndex = 0; subToolIndex < subToolNumber[toolIndex]; subToolIndex++) {
89
+ utilities.verifyElementVisibilityState(multipleSelectionPage.subToolButton().eq(subToolIndex), 'visible');
90
+ }
91
+ }
92
+ });
93
+
94
+ // Needed to use for loop as the brackets club together with variables make it a special character hence unable to type directly so need to type each char individually
95
+ it('User should be able to write any equation', () => {
96
+ multipleSelectionPage.steps.clickOnPreviousButton();
97
+ multipleSelectionPage.steps.selectTool(12);
98
+ for (const char of equation) {
99
+ multipleSelectionPage.steps.typeInEditorInputFieldArea(char);
100
+ }
101
+ multipleSelectionPage.steps.clickOnOkButton();
102
+ utilities.verifyInnerText(multipleSelectionPage.equationInInputField(), 'x∨tan⁡(x+y)');
103
+ });
104
+
105
+ it('User should be able to create any equation using tools and sub tools.', () => {
106
+ multipleSelectionPage.steps.clearInPromptInputField();
107
+ multipleSelectionPage.steps.focusInQuestionInstructionsInputField();
108
+ multipleSelectionPage.steps.selectEquationEditorOptionFromCKEditorToolbar();
109
+ multipleSelectionPage.steps.writeEquationUsingTools();
110
+ multipleSelectionPage.steps.clickOnOkButton();
111
+ utilities.verifyInnerText(multipleSelectionPage.equationInInputField(), 'x∨tan⁡(x+y)');
112
+ });
113
+ });
114
+ });