itemengine-cypress-automation 1.0.279-4092Changes-71debc9.0 → 1.0.282-applitools-8c400f4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) hide show
  1. package/cypress/e2e/ILC/AudioResponseNew/barRecorderStyle.smoke.js +40 -26
  2. package/cypress/e2e/ILC/AudioResponseNew/compactRecorderStyle.smoke.js +17 -4
  3. package/cypress/e2e/ILC/AudioResponseNew/gradingViewAndCorrectAnswerViewContents.smoke.js +14 -2
  4. package/cypress/e2e/ILC/AudioResponseNew/previewContentsForAllViews.smoke.js +12 -2
  5. package/cypress/e2e/ILC/BrainingCampManipulative/gradingViewAndCorrectAnswerViewContents.smoke.js +10 -0
  6. package/cypress/e2e/ILC/BrainingCampManipulative/previewTabContent.smoke.js +10 -1
  7. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/allOrNothingScoringForAllViews.smoke.js +24 -8
  8. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/gradingViewAndCorrectAnswerView.smoke.js +12 -2
  9. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/previewContentsForAllViews.smoke.js +18 -5
  10. package/cypress/e2e/ILC/ChartsBar/allOrNothingScoringForAllViews.smoke.js +24 -8
  11. package/cypress/e2e/ILC/ChartsBar/gradingViewAndCorrectAnswerView.smoke.js +12 -2
  12. package/cypress/e2e/ILC/ChartsBar/previewContentsForAllViews.smoke.js +19 -6
  13. package/cypress/e2e/ILC/ChartsLine/allOrNothingScoringForAllViews.smoke.js +24 -8
  14. package/cypress/e2e/ILC/ChartsLine/gradingViewAndCorrectAnswerView.smoke.js +12 -2
  15. package/cypress/e2e/ILC/ChartsLine/previewContentsForAllViews.smoke.js +18 -5
  16. package/cypress/e2e/ILC/Compass/compassPreviewContent.smoke.js +10 -1
  17. package/cypress/e2e/ILC/ContentBlocks/previewContents.smoke.js +10 -1
  18. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +20 -6
  19. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/previewContentsForAllViews.smoke.js +16 -4
  20. package/cypress/e2e/ILC/DrawingResponse/drawingResponseGradingViewAndCorrectAnswerViewContents.smoke.js +12 -2
  21. package/cypress/e2e/ILC/DrawingResponse/drawingResponsePreviewTabContents.smoke.js +54 -21
  22. package/cypress/e2e/ILC/EssayResponse/equationEditor.smoke.js +8 -0
  23. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +20 -6
  24. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViews.smoke.js +14 -3
  25. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/allOrNothingForAllView.smoke.js +16 -4
  26. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/previewContentsForAllViews.smoke.js +13 -2
  27. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +18 -5
  28. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/previewContentsForAllViews.smoke.js +16 -4
  29. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/allOrNothingForAllView.smoke.js +16 -4
  30. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/previewContentsForAllViews.smoke.js +12 -2
  31. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/allOrNothingForAllViews.smoke.js +16 -4
  32. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/previewContentsForAllViews.smoke.js +14 -3
  33. package/cypress/e2e/ILC/FillInTheGapsTextNew/allOrNothingForAllViews.smoke.js +16 -4
  34. package/cypress/e2e/ILC/FillInTheGapsTextNew/previewContentsForAllViews.smoke.js +14 -3
  35. package/cypress/e2e/ILC/Graphing/allOrNothingForAllViews.smoke.js +18 -5
  36. package/cypress/e2e/ILC/Graphing/gradingViewAndCorrectAnswerView.smoke.js +12 -2
  37. package/cypress/e2e/ILC/Graphing/previewContentsForAllViews.smoke.js +16 -4
  38. package/cypress/e2e/ILC/GridFill/allOrNothingBasicForAllViews.smoke.js +21 -6
  39. package/cypress/e2e/ILC/GridFill/previewContentsForAllViews.smoke.js +20 -0
  40. package/cypress/e2e/ILC/ImageHighlight/allOrNothingForAllViews.smoke.js +19 -5
  41. package/cypress/e2e/ILC/ImageHighlight/previewContentsForAllViews.smoke.js +16 -4
  42. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +16 -4
  43. package/cypress/e2e/ILC/ListOrderingDropdown/previewContentsForAllViews.smoke.js +16 -4
  44. package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/previewContentsForAllViews.smoke.js +13 -2
  45. package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +16 -4
  46. package/cypress/e2e/ILC/ListOrderingNew/horizontalOrientationAllOrNothingForAllViews.smoke.js +17 -5
  47. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/HorizontalOrientation/horizontalOrientationAllOrNothingForAllViews.smoke.js +18 -5
  48. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/HorizontalOrientation/previewContentsForAllViews.smoke.js +16 -4
  49. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/allOrNothingForAllViews.smoke.js +17 -4
  50. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/previewContentsForAllViews.smoke.js +16 -4
  51. package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +18 -5
  52. package/cypress/e2e/ILC/Matching/previewTabContentsForAllViews.smoke.js +18 -5
  53. package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +18 -5
  54. package/cypress/e2e/ILC/MatchingDropdown/previewContentsForAllViews.smoke.js +16 -4
  55. package/cypress/e2e/ILC/MultipleSelection/allOrNothingBasicForAllViews.smoke.js +22 -10
  56. package/cypress/e2e/ILC/MultipleSelection/previewContentsForAllViews.smoke.js +19 -6
  57. package/cypress/e2e/ILC/MultipleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +18 -5
  58. package/cypress/e2e/ILC/MultipleSelectionGridNew/previewContentsForAllViews.smoke.js +20 -6
  59. package/cypress/e2e/ILC/NumberLine/allOrNothingScoringForAllViews.smoke.js +18 -5
  60. package/cypress/e2e/ILC/NumberLine/gradingViewAndCorrectAnswerView.smoke.js +12 -2
  61. package/cypress/e2e/ILC/NumberLine/previewTabContentsForAllViews.smoke.js +16 -4
  62. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/allOrNothingScoringForAllViews.smoke.js +18 -5
  63. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/gradingViewAndCorrectAnswerView.smoke.js +12 -2
  64. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/previewTabContentsForAllViews.smoke.js +16 -4
  65. package/cypress/e2e/ILC/NumberLineLabel/allOrNothingForAllViews.smoke.js +18 -5
  66. package/cypress/e2e/ILC/NumberLineLabel/gradingViewAndCorrectAnswerView.smoke.js +10 -0
  67. package/cypress/e2e/ILC/NumberLineLabel/previewContentsForAllViews.smoke.js +10 -1
  68. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/allOrNothingForAllViews.smoke.js +18 -5
  69. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/gradingViewAndCorrectAnswerView.smoke.js +12 -2
  70. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/previewContentsForAllViews.smoke.js +10 -1
  71. package/cypress/e2e/ILC/Protractor/protractorPreviewContents.smoke.js +10 -1
  72. package/cypress/e2e/ILC/ReadingRuler/readingrulerPreviewContents.smoke.js +10 -1
  73. package/cypress/e2e/ILC/Ruler/rulerPreviewContents.smoke.js +10 -1
  74. package/cypress/e2e/ILC/ShortTextResponseNew/allOrNothingBasicForAllViews.smoke.js +14 -3
  75. package/cypress/e2e/ILC/ShortTextResponseNew/previewContentsForAllViews.smoke.js +17 -7
  76. package/cypress/e2e/ILC/SimpleCalculator/previewContents.smoke.js +10 -1
  77. package/cypress/e2e/ILC/SingleSelection/allOrNothingBasicForAllViews.smoke.js +14 -3
  78. package/cypress/e2e/ILC/SingleSelection/previewContents.smoke.js +16 -4
  79. package/cypress/e2e/ILC/SingleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +18 -5
  80. package/cypress/e2e/ILC/SingleSelectionGridNew/previewContentsForAllViews.smoke.js +16 -4
  81. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViews.smoke.js +27 -14
  82. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +21 -9
  83. package/cypress/e2e/ILC/TextEntryMath/previewContentsForAllViews.smoke.js +14 -3
  84. package/cypress/e2e/ILC/TextEntryMathWithImage/allOrNothingScoringForAllViews.smoke.js +26 -13
  85. package/cypress/e2e/ILC/TextEntryMathWithImage/previewTabContentsForAllViews.smoke.js +15 -5
  86. package/cypress/e2e/ILC/TextSelection/ScoringGeneric/basicScoringForAllTextSelectionTypes.smoke.js +16 -4
  87. package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +20 -6
  88. package/cypress/e2e/ILC/TextSelection/previewContentsForAllViews.smoke.js +19 -7
  89. package/cypress/e2e/ILC/ToolAudioPlayerNew/previewContents.smoke.js +14 -3
  90. package/cypress/e2e/ILC/ToolSettings/toolSettingsPreviewContents.smoke.js +13 -3
  91. package/cypress/e2e/ILC/UploadResponse/gradingViewAndCorrectAnswerViewContents.smoke.js +11 -1
  92. package/cypress/e2e/ILC/UploadResponse/previewContentsForAllViews.smoke.js +18 -5
  93. package/cypress/e2e/ILC/UploadResponse/thumbNail.smoke.js +19 -6
  94. package/cypress/e2e/ILC/VideoResponseNew/compactRecorderStyle.smoke.js +14 -3
  95. package/cypress/e2e/ILC/VideoResponseNew/gradingViewAndCorrectAnswerViewContents.smoke.js +16 -4
  96. package/cypress/e2e/ILC/VideoResponseNew/previewContentsForAllViews.smoke.js +14 -3
  97. package/cypress/e2e/ILC/chartsDotsPlot/allOrNothingForAllViews.smoke.js +25 -9
  98. package/cypress/e2e/ILC/chartsDotsPlot/gradingViewAndCorrectAnswerView.smoke.js +12 -2
  99. package/cypress/e2e/ILC/chartsDotsPlot/previewContentsForAllViews.smoke.js +16 -4
  100. package/cypress/e2e/applitools.config.js +14 -0
  101. package/cypress/pages/components/equationEditorSectionCommonComponent.js +3 -1
  102. package/cypress/support/commands.js +11 -0
  103. package/cypress/support/e2e.js +1 -0
  104. package/package.json +4 -1
@@ -19,6 +19,14 @@ describe('Preview tab contents - primary toolbar options, secondary toolbar opti
19
19
  cy.loginAs('admin');
20
20
  });
21
21
 
22
+ beforeEach(() => {
23
+ cy.startApplitools();
24
+ });
25
+
26
+ afterEach(() => {
27
+ cy.eyesClose();
28
+ });
29
+
22
30
  views.forEach((view) => {
23
31
  describe(`Primary toolbar options for ${view}`, { tags: 'smoke' }, () => {
24
32
  abortEarlySetup();
@@ -64,6 +72,7 @@ describe('Preview tab contents - primary toolbar options, secondary toolbar opti
64
72
  defaultUnselectedPreviewTabToolbarOptionsArray.forEach((toolbarOption) => {
65
73
  drawingResponsePage.steps.verifyToolbarOptionIsNotSelectedInPreviewTab(toolbarOption);
66
74
  });
75
+ cy.eyesCheckWindow(`Default toolbar option state`);
67
76
  });
68
77
 
69
78
  //Browser level tooltips are implemented here, will not be able to check till https://redmine.zeuslearning.com/issues/555441 is resolved
@@ -76,10 +85,11 @@ describe('Preview tab contents - primary toolbar options, secondary toolbar opti
76
85
  });
77
86
 
78
87
  //Will not be able to cover image options as they will open the windows explorer popup and closing the popup is not possible
79
- it('When user clicks on the drawing toolbar options, then the option name and its respective secondary toolbar options should be displayed in the secondary toolbar', () => {
88
+ it(`When user clicks on the drawing toolbar options, then the option name and its respective secondary toolbar options should be displayed in the secondary toolbar`, () => {
80
89
  drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions.forEach((toolbarOption) => {
81
90
  if (toolbarOption.secondaryToolbarOptions !== undefined) {
82
91
  drawingResponsePage.steps.selectPreviewTabToolbarOption(toolbarOption.displayName);
92
+ cy.eyesCheckWindow(`${toolbarOption.displayName} toolbar option selected`);
83
93
  //Remove comment below once https://redmine.zeuslearning.com/issues/571543 is resolved
84
94
  // utilities.verifyInnerText(drawingResponsePage.previewTabToolbarOptionName(), toolbarOption.displayName);
85
95
  // drawingResponsePage.steps.verifyDisplayedSecondaryToolbarOptionsInPreviewTab(toolbarOption.secondaryToolbarOptions);
@@ -135,9 +145,10 @@ describe('Preview tab contents - primary toolbar options, secondary toolbar opti
135
145
  drawingResponsePage.steps.switchToPreviewTab();
136
146
  });
137
147
 
138
- it('User should be able to upload an image', () => {
148
+ it(`User should be able to upload an image`, () => {
139
149
  drawingResponsePage.steps.selectPreviewTabToolbarOption(drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[5].displayName);
140
150
  drawingResponsePage.steps.uploadFile('uploads/image.png');
151
+ cy.eyesCheckWindow(`Image uploaded`);
141
152
  });
142
153
 
143
154
  it('\'Uploading files. Please wait...\' should be displayed along with the file name when the image is being uploaded', () => {
@@ -145,19 +156,20 @@ describe('Preview tab contents - primary toolbar options, secondary toolbar opti
145
156
  drawingResponsePage.steps.verifyInsertImageContainerNotExist();
146
157
  });
147
158
 
148
- it('User should be able to attach multiple files at once among the supported file types', () => {
149
- drawingResponsePage.steps.resetQuestionPreview();
159
+ it(`User should be able to attach multiple files at once among the supported file types`, () => {
150
160
  drawingResponsePage.steps.selectPreviewTabToolbarOption(drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[5].displayName);
151
161
  drawingResponsePage.steps.uploadFile(['uploads/sample.jpg', 'uploads/sample.gif']);
152
162
  drawingResponsePage.steps.verifyInsertImageContainerNotExist();
163
+ cy.eyesCheckWindow(`Multiple files uploaded`);
153
164
  });
154
165
 
155
- it('When the user tries to upload an image an image more than 5mb then an error should be displayed \'The following files were rejected *filename* is too large. The maximum file size is 5MB\'', () => {
166
+ it(`When the user tries to upload an image more than 5mb then an error should be displayed 'The following files were rejected *filename* is too large. The maximum file size is 5MB'`, () => {
156
167
  drawingResponsePage.steps.resetQuestionPreview();
157
168
  drawingResponsePage.steps.selectPreviewTabToolbarOption(drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[5].displayName);
158
169
  drawingResponsePage.steps.uploadFile('uploads/20mbFile.png');
159
170
  drawingResponsePage.steps.verifyImageContainerErrorMessage('20mbFile.png');
160
171
  drawingResponsePage.steps.verifyInsertImageContainerIsVisible();
172
+ cy.eyesCheckWindow(`File size error`);
161
173
  });
162
174
  });
163
175
 
@@ -173,6 +185,7 @@ describe('Preview tab contents - primary toolbar options, secondary toolbar opti
173
185
  drawingResponsePage.steps.switchToPreviewTab();
174
186
  drawingResponsePage.steps.selectPreviewTabToolbarOption(drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].displayName);
175
187
  utilities.verifyElementVisibilityState(drawingResponsePage.previewTabSecondaryToolbarOption(drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[0]), 'notExist');
188
+ cy.eyesCheckWindow(`Special characters popup should be displayed`);
176
189
  });
177
190
 
178
191
  it(`When ${drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[0]} additional option is selected in edit tab, then in preview tab the ${drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[0]} secondary toolbar option should be displayed`, () => {
@@ -182,6 +195,7 @@ describe('Preview tab contents - primary toolbar options, secondary toolbar opti
182
195
  drawingResponsePage.steps.switchToPreviewTab();
183
196
  drawingResponsePage.steps.selectPreviewTabToolbarOption(drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].displayName);
184
197
  utilities.verifyElementVisibilityState(drawingResponsePage.previewTabSecondaryToolbarOption(drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[0]), 'visible');
198
+ cy.eyesCheckWindow(`Special characters popup should be displayed`);
185
199
  });
186
200
 
187
201
  it('By default the \'Special characters\' secondary toolbar option should be in deselected state', () => {
@@ -194,11 +208,12 @@ describe('Preview tab contents - primary toolbar options, secondary toolbar opti
194
208
  });
195
209
  });
196
210
 
197
- it('When user clicks on \'Special characters\' secondary toolbar option, then the \'Special characters\' popup should be displayed with \'Special characters\' title and a \'Close\' button', () => {
211
+ it(`When user clicks on 'Special characters' secondary toolbar option, then the 'Special characters' popup should be displayed with 'Special characters' title and a 'Close' button`, () => {
198
212
  drawingResponsePage.steps.selectPreviewTabSecondaryToolbarOption(drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[0]);
199
213
  utilities.verifyElementVisibilityState(drawingResponsePage.previewTabSecondaryPopup(), 'exist');
200
214
  drawingResponsePage.steps.verifySecondaryOptionCharactersPopupTitle(drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[0]);
201
215
  utilities.verifyElementVisibilityState(drawingResponsePage.charactersPopupCloseButton(), 'visible');
216
+ cy.eyesCheckWindow(`Special characters popup displayed`);
202
217
  });
203
218
 
204
219
  it('CSS of \'Special characters\' secondary toolbar option in selected state', { tags: 'css' }, () => {
@@ -207,8 +222,9 @@ describe('Preview tab contents - primary toolbar options, secondary toolbar opti
207
222
  });
208
223
  });
209
224
 
210
- it('All categories and accordions should be displayed in the popup', () => {
225
+ it(`All categories and accordions should be displayed in the popup`, () => {
211
226
  drawingResponsePage.steps.verifySpecialCharactersPopupCategoryTitlesAndAccordions(specialCharacters);
227
+ cy.eyesCheckWindow(`Special characters categories displayed`);
212
228
  });
213
229
 
214
230
  it('By default the \'Spanish\' category accordion should be in expanded state and all other accordions should be in collapsed state.', () => {
@@ -242,9 +258,10 @@ describe('Preview tab contents - primary toolbar options, secondary toolbar opti
242
258
  drawingResponsePage.steps.verifySpecialCharactersPopupCategoryAccordionIsExpanded(2);
243
259
  });
244
260
 
245
- it('When user clicks on any category icon, then the category flyout should stay open', () => {
261
+ it(`When user clicks on any category icon, then the category flyout should stay open`, () => {
246
262
  drawingResponsePage.steps.clickOnCharacterPopupSymbol('Iuml');
247
263
  utilities.verifyElementVisibilityState(drawingResponsePage.previewTabSecondaryPopup(), 'exist');
264
+ cy.eyesCheckWindow(`Category flyout stays open`);
248
265
  });
249
266
 
250
267
  it('CSS of \'Special characters\' popup', { tags: 'css' }, () => {
@@ -282,19 +299,21 @@ describe('Preview tab contents - primary toolbar options, secondary toolbar opti
282
299
  cy.barsPreLoaderWait();
283
300
  });
284
301
 
285
- it(`When ${drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[1]} additional option is not selected in edit tab, then in preview tab the ${drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[1]} secondary toolbar option should not be displayed`, () => {
302
+ it(`${view} When ${drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[1]} additional option is not selected in edit tab, then in preview tab the ${drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[1]} secondary toolbar option should not be displayed`, () => {
286
303
  drawingResponsePage.steps.switchToPreviewTab();
287
304
  drawingResponsePage.steps.selectPreviewTabToolbarOption(drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].displayName);
288
305
  utilities.verifyElementVisibilityState(drawingResponsePage.previewTabSecondaryToolbarOption(drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[1]), 'notExist');
306
+ cy.eyesCheckWindow(`Math characters popup not displayed`);
289
307
  });
290
308
 
291
- it(`When ${drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[1]} additional option is selected in edit tab, then in preview tab the ${drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[1]} secondary toolbar option should be displayed`, () => {
309
+ it(`${view} When ${drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[1]} additional option is selected in edit tab, then in preview tab the ${drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[1]} secondary toolbar option should be displayed`, () => {
292
310
  drawingResponsePage.steps.switchToEditTab();
293
311
  drawingResponsePage.steps.expandCustomizeToolbarOptionsAndControlsAccordion();
294
312
  drawingResponsePage.steps.selectOptionsTiles([`${drawingToolbarOptionsAndAdditionalOptions.additionalOptions[1]}`]);
295
313
  drawingResponsePage.steps.switchToPreviewTab();
296
314
  drawingResponsePage.steps.selectPreviewTabToolbarOption(drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].displayName);
297
315
  utilities.verifyElementVisibilityState(drawingResponsePage.previewTabSecondaryToolbarOption(drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[1]), 'visible');
316
+ cy.eyesCheckWindow(`Math characters popup should be displayed`);
298
317
  });
299
318
 
300
319
  it('By default the \'Math characters\' secondary toolbar option should be in deselected state', () => {
@@ -307,11 +326,12 @@ describe('Preview tab contents - primary toolbar options, secondary toolbar opti
307
326
  });
308
327
  });
309
328
 
310
- it('When user clicks on \'Math characters\' secondary toolbar option, then the \'Math characters\' popup should be displayed with \'Math characters\' title and a \'Close\' button', () => {
329
+ it(`${view} When user clicks on \'Math characters\' secondary toolbar option, then the \'Math characters\' popup should be displayed with \'Math characters\' title and a \'Close\' button`, () => {
311
330
  drawingResponsePage.steps.selectPreviewTabSecondaryToolbarOption(drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[1]);
312
331
  utilities.verifyElementVisibilityState(drawingResponsePage.previewTabSecondaryPopup(), 'exist');
313
332
  drawingResponsePage.steps.verifySecondaryOptionCharactersPopupTitle(drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[1]);
314
333
  utilities.verifyElementVisibilityState(drawingResponsePage.charactersPopupCloseButton(), 'visible');
334
+ cy.eyesCheckWindow(`Math characters popup displayed`);
315
335
  });
316
336
 
317
337
  it('CSS of \'Math characters\' secondary toolbar option in selected state', { tags: 'css' }, () => {
@@ -361,20 +381,21 @@ describe('Preview tab contents - primary toolbar options, secondary toolbar opti
361
381
  cy.barsPreLoaderWait();
362
382
  });
363
383
 
364
-
365
- it(`When ${drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[2]} additional option is not selected in edit tab, then in preview tab the ${drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[2]} secondary toolbar option should not be displayed`, () => {
384
+ it(`${view} When ${drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[2]} additional option is not selected in edit tab, then in preview tab the ${drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[2]} secondary toolbar option should not be displayed`, () => {
366
385
  drawingResponsePage.steps.switchToPreviewTab();
367
386
  drawingResponsePage.steps.selectPreviewTabToolbarOption(drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].displayName);
368
387
  utilities.verifyElementVisibilityState(drawingResponsePage.previewTabSecondaryToolbarOption(drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[2]), 'notExist');
388
+ cy.eyesCheckWindow(`Font size popup not displayed`);
369
389
  });
370
390
 
371
- it(`When ${drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[2]} additional option is selected in edit tab, then in preview tab the ${drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[2]} secondary toolbar option should be displayed`, () => {
391
+ it(`${view} When ${drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[2]} additional option is selected in edit tab, then in preview tab the ${drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[2]} secondary toolbar option should be displayed`, () => {
372
392
  drawingResponsePage.steps.switchToEditTab();
373
393
  drawingResponsePage.steps.expandCustomizeToolbarOptionsAndControlsAccordion();
374
394
  drawingResponsePage.steps.selectOptionsTiles([`${drawingToolbarOptionsAndAdditionalOptions.additionalOptions[2]}`]);
375
395
  drawingResponsePage.steps.switchToPreviewTab();
376
396
  drawingResponsePage.steps.selectPreviewTabToolbarOption(drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].displayName);
377
397
  utilities.verifyElementVisibilityState(drawingResponsePage.previewTabSecondaryToolbarOption(drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[2]), 'visible');
398
+ cy.eyesCheckWindow(`Font size popup should be displayed`);
378
399
  });
379
400
 
380
401
  it('By default the \'Font size\' secondary toolbar option should be in deselected state', () => {
@@ -391,8 +412,9 @@ describe('Preview tab contents - primary toolbar options, secondary toolbar opti
391
412
  cy.checkAccessibility(drawingResponsePage.previewTabSecondaryToolbarOption().parents('.drawing-tool__secondary-toolbar'));
392
413
  });
393
414
 
394
- it('When user clicks on \'Font size\' secondary toolbar option, then the \'Font size\' popup should be displayed', () => {
415
+ it(`${view} When user clicks on \'Font size\' secondary toolbar option, then the \'Font size\' popup should be displayed`, () => {
395
416
  drawingResponsePage.steps.selectPreviewTabSecondaryToolbarOption(drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[2]);
417
+ cy.eyesCheckWindow(`Font size popup displayed`);
396
418
  });
397
419
 
398
420
  it('CSS of \'Font size\' secondary toolbar option in selected state', { tags: 'css' }, () => {
@@ -463,9 +485,10 @@ describe('Preview tab contents - primary toolbar options, secondary toolbar opti
463
485
  cy.checkAccessibility(drawingResponsePage.previewTabSecondaryToolbarOption().parents('.drawing-tool__secondary-toolbar'));
464
486
  });
465
487
 
466
- it('When user clicks on \'Opacity\' secondary toolbar option, then the \'Opacity\' popup should be displayed and \'Opacity\' secondary toolbar option should be in selected state', () => {
488
+ it(`${view} When user clicks on \'Opacity\' secondary toolbar option, then the \'Opacity\' popup should be displayed and \'Opacity\' secondary toolbar option should be in selected state`, () => {
467
489
  drawingResponsePage.steps.selectPreviewTabSecondaryToolbarOption(drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[1].secondaryToolbarOptions[2]);
468
490
  drawingResponsePage.steps.verifySecondaryPopupExist();
491
+ cy.eyesCheckWindow(`Opacity popup displayed`);
469
492
  //Add here once https://redmine.zeuslearning.com/issues/554508 is resolved
470
493
  });
471
494
 
@@ -481,15 +504,17 @@ describe('Preview tab contents - primary toolbar options, secondary toolbar opti
481
504
  drawingResponsePage.steps.verifySecondaryPopupOpacitySliderValue(100);
482
505
  });
483
506
 
484
- it('When the user changes value in the opacity input field, the slider value should also change accordingly', () => {
507
+ it(`When the user changes value in the opacity input field, the slider value should also change accordingly`, () => {
485
508
  drawingResponsePage.steps.enterValueInOpacityInputFieldValue(10);
486
509
  drawingResponsePage.steps.verifySecondaryPopupOpacitySliderValue(10);
510
+ cy.eyesCheckWindow(`Opacity input field value changed`);
487
511
  });
488
512
 
489
- it('When the user changes the opacity slider value, value in the opacity input field should also change', () => {
513
+ it(`When the user changes the opacity slider value, value in the opacity input field should also change`, () => {
490
514
  drawingResponsePage.steps.clickOnSecondaryPopupSlider();
491
515
  drawingResponsePage.steps.verifySecondaryPopupOpacitySliderValue(51);
492
516
  drawingResponsePage.steps.verifySecondaryPopupOpacityInputFieldValue(51);
517
+ cy.eyesCheckWindow(`Opacity slider value changed`);
493
518
  });
494
519
 
495
520
  it('CSS of \'Opacity\' secondary toolbar option in selected state', { tags: 'css' }, () => {
@@ -566,9 +591,10 @@ describe('Preview tab contents - primary toolbar options, secondary toolbar opti
566
591
  cy.checkAccessibility(drawingResponsePage.previewTabSecondaryToolbarOption().parents('.drawing-tool__secondary-toolbar'));
567
592
  });
568
593
 
569
- it('When user clicks on \'Stroke thickness\' secondary toolbar option, then the \'Stroke thickness\' popup should be displayed and \'Stroke thickness\' secondary toolbar option should be in selected state', () => {
594
+ it(`When user clicks on 'Stroke thickness' secondary toolbar option, then the 'Stroke thickness' popup should be displayed and 'Stroke thickness' secondary toolbar option should be in selected state`, () => {
570
595
  drawingResponsePage.steps.selectPreviewTabSecondaryToolbarOption(drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[1].secondaryToolbarOptions[1]);
571
596
  drawingResponsePage.steps.verifySecondaryPopupExist();
597
+ cy.eyesCheckWindow(`Stroke thickness popup displayed`);
572
598
  //Add here once https://redmine.zeuslearning.com/issues/554508 is resolved
573
599
  });
574
600
 
@@ -632,13 +658,14 @@ describe('Preview tab contents - primary toolbar options, secondary toolbar opti
632
658
  cy.barsPreLoaderWait();
633
659
  });
634
660
 
635
- it(`When ${drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[3]} additional option is not selected in edit tab, then in preview tab the ${drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[3]} secondary toolbar option should not be displayed`, () => {
661
+ it(`${view} -When ${drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[3]} additional option is not selected in edit tab, then in preview tab the ${drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[3]} secondary toolbar option should not be displayed`, () => {
636
662
  drawingResponsePage.steps.switchToPreviewTab();
637
663
  drawingResponsePage.steps.selectPreviewTabToolbarOption(drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].displayName);
638
664
  utilities.verifyElementVisibilityState(drawingResponsePage.previewTabSecondaryToolbarOption(drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[3]), 'notExist');
665
+ cy.eyesCheckWindow(`Text color popup not displayed`);
639
666
  });
640
667
 
641
- it(`When ${drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[3]} additional option is selected in edit tab, then in preview tab the ${drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[3]} secondary toolbar option should be displayed`, () => {
668
+ it(`${view} -When ${drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[3]} additional option is selected in edit tab, then in preview tab the ${drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[3]} secondary toolbar option should be displayed`, () => {
642
669
  drawingResponsePage.steps.switchToEditTab();
643
670
  drawingResponsePage.steps.expandCustomizeToolbarOptionsAndControlsAccordion();
644
671
  drawingResponsePage.steps.selectOptionsTiles([`${drawingToolbarOptionsAndAdditionalOptions.additionalOptions[3]}`]);
@@ -646,6 +673,7 @@ describe('Preview tab contents - primary toolbar options, secondary toolbar opti
646
673
  drawingResponsePage.steps.switchToPreviewTab();
647
674
  drawingResponsePage.steps.selectPreviewTabToolbarOption(drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].displayName);
648
675
  utilities.verifyElementVisibilityState(drawingResponsePage.previewTabSecondaryToolbarOption(drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[6].secondaryToolbarOptions[3]), 'visible');
676
+ cy.eyesCheckWindow(`Text color popup is displayed`);
649
677
  });
650
678
 
651
679
  it('By default the \'Text color\' secondary toolbar option should be in deselected state', () => {
@@ -799,6 +827,7 @@ describe('Preview tab contents - primary toolbar options, secondary toolbar opti
799
827
 
800
828
  it(`When ${drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[9].secondaryToolbarOptions[0]} additional option is not selected in edit tab, then in preview tab the ${drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[9].secondaryToolbarOptions[0]} secondary toolbar option should not be displayed`, () => {
801
829
  utilities.verifyElementVisibilityState(drawingResponsePage.previewTabSecondaryToolbarOption(drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[9].secondaryToolbarOptions[0]), 'notExist');
830
+ cy.eyesCheckWindow(`Fill color popup not displayed`);
802
831
  });
803
832
 
804
833
  it(`When ${drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[9].secondaryToolbarOptions[0]} additional option is selected in edit tab, then in preview tab the ${drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[9].secondaryToolbarOptions[0]} secondary toolbar option \'Fill color\' popup should be displayed`, () => {
@@ -809,6 +838,7 @@ describe('Preview tab contents - primary toolbar options, secondary toolbar opti
809
838
  drawingResponsePage.steps.switchToPreviewTab();
810
839
  drawingResponsePage.steps.selectPreviewTabToolbarOption(drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[9].displayName);
811
840
  utilities.verifyElementVisibilityState(drawingResponsePage.previewTabSecondaryToolbarOption(drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[9].secondaryToolbarOptions[0]), 'visible');
841
+ cy.eyesCheckWindow(`Fill color popup is displayed`);
812
842
  });
813
843
 
814
844
  it('The \'Stroke color\' secondary toolbar option should be in deselected state', () => {
@@ -1163,6 +1193,7 @@ describe('Preview tab contents - primary toolbar options, secondary toolbar opti
1163
1193
  drawingResponsePage.steps.selectPreviewTabSecondaryToolbarOption(drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[2].secondaryToolbarOptions[2]);
1164
1194
  drawingResponsePage.steps.verifySecondaryPopupExist();
1165
1195
  //Selected state of secondary toolbar option. Add here once https://redmine.zeuslearning.com/issues/554508 is resolved
1196
+ cy.eyesCheckWindow(`Line type popup displayed`);
1166
1197
  });
1167
1198
 
1168
1199
  it(`A \'Line type\' title along with the five line type options - ${lineTypeOptions.join(', ')} should be displayed`, () => {
@@ -1170,6 +1201,7 @@ describe('Preview tab contents - primary toolbar options, secondary toolbar opti
1170
1201
  lineTypeOptions.forEach((thickness, index) => {
1171
1202
  drawingResponsePage.steps.verifySecondaryPopupLineType(thickness, index);
1172
1203
  });
1204
+ cy.eyesCheckWindow(`Line type options displayed`);
1173
1205
  });
1174
1206
 
1175
1207
  it('Line option should be selected by default', () => {
@@ -1245,6 +1277,7 @@ describe('Preview tab contents - primary toolbar options, secondary toolbar opti
1245
1277
  it('When user clicks on \'Eraser thickness\' secondary toolbar option, then the \'Eraser thickness\' popup should be displayed and \'Eraser thickness\' secondary toolbar option should be in selected state', () => {
1246
1278
  drawingResponsePage.steps.selectPreviewTabSecondaryToolbarOption(drawingToolbarOptionsAndAdditionalOptions.drawingToolbarOptions[7].secondaryToolbarOptions[0]);
1247
1279
  drawingResponsePage.steps.verifySecondaryPopupExist();
1280
+ cy.eyesCheckWindow(`Eraser thickness popup displayed`);
1248
1281
  //Add here once https://redmine.zeuslearning.com/issues/554508 is resolved
1249
1282
  });
1250
1283
 
@@ -11,6 +11,14 @@ describe('Create question page - Essay Response: Equation Editor functionality',
11
11
  cy.loginAs('admin');
12
12
  });
13
13
 
14
+ beforeEach(() => {
15
+ cy.startApplitools();
16
+ });
17
+
18
+ afterEach(() => {
19
+ cy.eyesClose();
20
+ });
21
+
14
22
  describe('Preview tab \'Equation Editor\' flyout', { tags: 'smoke' }, () => {
15
23
  abortEarlySetup();
16
24
  before(() => {
@@ -11,6 +11,14 @@ describe('Create item page - Fill in the gaps - drag and drop: All or nothing ',
11
11
  cy.loginAs('admin');
12
12
  });
13
13
 
14
+ beforeEach(() => {
15
+ cy.startApplitools();
16
+ });
17
+
18
+ afterEach(() => {
19
+ cy.eyesClose();
20
+ });
21
+
14
22
  if (!grepTags || !grepTags.includes('smoke')) {
15
23
  describe('Question preview modes: Student view and Grading view', () => {
16
24
  abortEarlySetup();
@@ -94,7 +102,7 @@ describe('Create item page - Fill in the gaps - drag and drop: All or nothing ',
94
102
  });
95
103
  };
96
104
 
97
- it('When the user selects \'Grading\' view without attempting the question, dropzone numeration should be displayed, correct/incorrect status message should not be displayed, correct answers section with a label \'Correct answers\' should be displayed and respective option numeration', () => {
105
+ it(`${view}: - FIG drag and drop - When the user selects \'Grading\' view without attempting the question, dropzone numeration should be displayed, correct/incorrect status message should not be displayed, correct answers section with a label \'Correct answers\' should be displayed and respective option numeration`, () => {
98
106
  if (view === 'Grading view') {
99
107
  studentViewPage.steps.submitResponse();
100
108
  utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
@@ -110,9 +118,10 @@ describe('Create item page - Fill in the gaps - drag and drop: All or nothing ',
110
118
  utilities.verifyInnerText(fillInTheGapsDragAndDropPage.correctAnswersLabel(), 'Correct answers');
111
119
  fillInTheGapsDragAndDropPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
112
120
  fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Petals'], ['Leaves'], ['Stem']]);
121
+ cy.eyesCheckWindow(`FIG drag and drop - ${view} view - Without attempting the question`);
113
122
  });
114
123
 
115
- it('When the user attempts the question incorrectly, then the user should be awarded 0 points and on switching to \'Grading\' view, incorrect icons should be displayed besides all incorrect responses, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers along with numeration should be displayed', () => {
124
+ it(`${view}: - FIG drag and drop - When the user attempts the question incorrectly, then the user should be awarded 0 points and on switching to \'Grading\' view, incorrect icons should be displayed besides all incorrect responses, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers along with numeration should be displayed`, () => {
116
125
  fillInTheGapsDragAndDropPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Leaves': 0, 'Petals': 1, 'Roots': 2 });
117
126
  if (view === 'Grading view') {
118
127
  studentViewPage.steps.submitResponse();
@@ -129,9 +138,10 @@ describe('Create item page - Fill in the gaps - drag and drop: All or nothing ',
129
138
  fillInTheGapsDragAndDropPage.steps.verifyIncorrectOptionIcon(2);
130
139
  fillInTheGapsDragAndDropPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
131
140
  fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Petals'], ['Leaves'], ['Stem']]);
141
+ cy.eyesCheckWindow(`FIG drag and drop - ${view} view - Without attempting the question`);
132
142
  });
133
143
 
134
- it('When the user attempts the question partially correct with some correct, some incomplete, some incorrect options, then the user should be awarded 0 points and 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', () => {
144
+ it(`${view}: - FIG drag and drop - When the user attempts the question partially correct with some correct, some incomplete, some incorrect options, then the user should be awarded 0 points and 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 the numeration should be displayed`, () => {
135
145
  if (view === 'Grading view') {
136
146
  studentViewPage.steps.clearResponses();
137
147
  };
@@ -151,9 +161,10 @@ describe('Create item page - Fill in the gaps - drag and drop: All or nothing ',
151
161
  fillInTheGapsDragAndDropPage.steps.verifyIncorrectOptionIcon(2);
152
162
  fillInTheGapsDragAndDropPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
153
163
  fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Petals'], ['Leaves'], ['Stem']]);
164
+ cy.eyesCheckWindow(`FIG drag and drop - ${view} view - Attempting the question partially correct with some correct, some incomplete and some incorrect options`);
154
165
  });
155
166
 
156
- it('When the user attempts the question partially correct with all the dropzone correctly attempted but one dropzone incomplete, then the user should be awarded 0 points and 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', () => {
167
+ it(`${view}: - FIG drag and drop - When the user attempts the question partially correct with all the dropzone correctly attempted but one dropzone incomplete, then the user should be awarded 0 points and 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`, () => {
157
168
  if (view === 'Grading view') {
158
169
  studentViewPage.steps.clearResponses();
159
170
  };
@@ -173,9 +184,10 @@ describe('Create item page - Fill in the gaps - drag and drop: All or nothing ',
173
184
  fillInTheGapsDragAndDropPage.steps.verifyCorrectOptionIcon(2);
174
185
  fillInTheGapsDragAndDropPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
175
186
  fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Petals'], ['Leaves'], ['Stem']]);
187
+ cy.eyesCheckWindow(`FIG drag and drop - ${view} view - Attempting the question partially correct with one dropzone incomplete`);
176
188
  });
177
189
 
178
- it('When the user attempts the question partially correct with all the dropzone correctly attempted but with an extra option which is not set as correct answer, then the user should be awarded 0 points and 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 should be displayed along with numeration', () => {
190
+ it(`${view}: - FIG drag and drop - When the user attempts the question partially correct with all the dropzone correctly attempted but with an extra option which is not set as correct answer, then the user should be awarded 0 points and 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 should be displayed along with numeration`, () => {
179
191
  if (view === 'Grading view') {
180
192
  studentViewPage.steps.clearResponses();
181
193
  };
@@ -195,9 +207,10 @@ describe('Create item page - Fill in the gaps - drag and drop: All or nothing ',
195
207
  fillInTheGapsDragAndDropPage.steps.verifyCorrectOptionIcon(2);
196
208
  fillInTheGapsDragAndDropPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
197
209
  fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Petals'], ['Leaves'], ['Stem']]);
210
+ cy.eyesCheckWindow(`FIG drag and drop - ${view} view - Attempting the question partially correct with all the dropzone correctly attempted but with an extra option which is not set as correct answer`);
198
211
  });
199
212
 
200
- it('When user attempts the question correctly, the user should be awarded full points and on switching to \'Grading\' view, then correct icons should be displayed beside all the correct responses, correct icon should be displayed besides the correct answer responses, a status message with text \'Your answer is correct\' and correct answer section should not be displayed', () => {
213
+ it(`${view}: - FIG drag and drop - When user attempts the question correctly, the user should be awarded full points and on switching to \'Grading\' view, then correct icons should be displayed beside all the correct responses, correct icon should be displayed besides the correct answer responses, a status message with text \'Your answer is correct\' and correct answer section should not be displayed`, () => {
201
214
  if (view === 'Grading view') {
202
215
  studentViewPage.steps.clearResponses();
203
216
  };
@@ -218,6 +231,7 @@ describe('Create item page - Fill in the gaps - drag and drop: All or nothing ',
218
231
  fillInTheGapsDragAndDropPage.steps.verifyCorrectOptionIcon(2);
219
232
  fillInTheGapsDragAndDropPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
220
233
  fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerSectionNotExists();
234
+ cy.eyesCheckWindow(`FIG drag and drop - ${view} view - Attempting the question correctly`);
221
235
  });
222
236
  });
223
237
  });
@@ -10,6 +10,14 @@ describe('Preview tab contents for all views', () => {
10
10
  cy.loginAs('admin');
11
11
  });
12
12
 
13
+ beforeEach(() => {
14
+ cy.startApplitools();
15
+ });
16
+
17
+ afterEach(() => {
18
+ cy.eyesClose();
19
+ });
20
+
13
21
  views.forEach((view) => {
14
22
  describe(`Preview tab contents - ${view}`, { tags: 'smoke' }, () => {
15
23
  abortEarlySetup();
@@ -90,7 +98,7 @@ describe('Preview tab contents for all views', () => {
90
98
  fillInTheGapsDragAndDropPage.steps.verifyDropzoneTextPreviewTab(2, '');
91
99
  });
92
100
 
93
- it(`When the user has added image, equation, bold text to the options input fields, then they should be displayed in the options container in ${view}`, () => {
101
+ it(`Fill in the gaps drag and drop - ${view} - When the user has added image, equation, bold text to the options input fields, then they should be displayed in the options container`, () => {
94
102
  fillInTheGapsDragAndDropPage.steps.verifyDraggableOptionWithImageInPreviewTab(0);
95
103
  fillInTheGapsDragAndDropPage.steps.verifyDraggableOptionWithBoldTextInPreviewTab(1);
96
104
  fillInTheGapsDragAndDropPage.steps.verifyDraggableOptionWithEquationTextInPreviewTab(2);
@@ -98,6 +106,7 @@ describe('Preview tab contents for all views', () => {
98
106
  fillInTheGapsDragAndDropPage.steps.verifyDropzoneTextPreviewTab(0, '');
99
107
  fillInTheGapsDragAndDropPage.steps.verifyDropzoneTextPreviewTab(1, '');
100
108
  fillInTheGapsDragAndDropPage.steps.verifyDropzoneTextPreviewTab(2, '');
109
+ cy.eyesCheckWindow(`Fill in the gaps drag and drop - ${view} - Options with image, equation, and bold text`);
101
110
  });
102
111
 
103
112
  it('User should be able to drag and drop image, bold text and equation options in the dropzone', () => {
@@ -109,7 +118,7 @@ describe('Preview tab contents for all views', () => {
109
118
  fillInTheGapsDragAndDropPage.steps.verifyDropzoneWithEquationTextInPreviewTab(1);
110
119
  });
111
120
  } else if (view === 'Grading view') {
112
- it(`The submitted options should be in the respective dropzone and the options container should not be displayed`, () => {
121
+ it(`Fill in the gaps drag and drop - ${view} - The submitted options should be in the respective dropzone and the options container should not be displayed`, () => {
113
122
  fillInTheGapsDragAndDropPage.steps.verifyDropzoneTextPreviewTab(2, '3\nPetals');
114
123
  fillInTheGapsDragAndDropPage.steps.verifyDropzoneWithImageInPreviewTab(2);
115
124
  fillInTheGapsDragAndDropPage.steps.verifyDropzoneTextPreviewTab(0, '1\nThis is a bold option');
@@ -119,18 +128,20 @@ describe('Preview tab contents for all views', () => {
119
128
  fillInTheGapsDragAndDropPage.steps.verifyCorrectOptionIcon(2);
120
129
  fillInTheGapsDragAndDropPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
121
130
  utilities.verifyElementVisibilityState(fillInTheGapsDragAndDropPage.optionContainerOptionsPreviewTab(), 'notExist');
131
+ cy.eyesCheckWindow(`Fill in the gaps drag and drop - ${view} - Submitted options in dropzones`);
122
132
  });
123
133
 
124
134
  it('The content in the dropzone should not be editable', () => {
125
135
  fillInTheGapsDragAndDropPage.steps.verifyDropzoneIsNotEditableInGradingView();
126
136
  });
127
137
  } else {
128
- it('The dropzone should be displayed filled with answers', () => {
138
+ it(`Fill in the gaps drag and drop - ${view} The dropzone should be displayed filled with answers`, () => {
129
139
  utilities.verifyElementCount(fillInTheGapsDragAndDropPage.dropzonePreviewTab(), 3);
130
140
  fillInTheGapsDragAndDropPage.steps.verifyDropzoneTextPreviewTab(2, 'Petals');
131
141
  fillInTheGapsDragAndDropPage.steps.verifyDropzoneWithImageInPreviewTab(2);
132
142
  fillInTheGapsDragAndDropPage.steps.verifyDropzoneTextPreviewTab(0, 'This is a bold option');
133
143
  fillInTheGapsDragAndDropPage.steps.verifyDropzoneWithEquationTextInPreviewTab(1);
144
+ cy.eyesCheckWindow(`Fill in the gaps drag and drop - ${view} - Dropzones filled with answers`);
134
145
  });
135
146
  }
136
147
  });
@@ -16,6 +16,14 @@ describe('Create item page - Fill in the gaps with dropdown: All or nothing ', (
16
16
  cy.loginAs('admin');
17
17
  });
18
18
 
19
+ beforeEach(() => {
20
+ cy.startApplitools();
21
+ });
22
+
23
+ afterEach(() => {
24
+ cy.eyesClose();
25
+ });
26
+
19
27
  if (!grepTags || !grepTags.includes('smoke')) {
20
28
  describe('Question preview modes: Student view and Grading view', () => {
21
29
  abortEarlySetup();
@@ -94,7 +102,7 @@ describe('Create item page - Fill in the gaps with dropdown: All or nothing ', (
94
102
  });
95
103
  };
96
104
 
97
- it('When the user selects \'Grading\' view without attempting the question, dropdown numeration should be displayed, correct/incorrect status message should not be displayed, correct answers section with a label \'Correct answers\' should be displayed with correct answers and respective option numeration', () => {
105
+ it(`${view}: FIG Dropdown - When the user selects \'Grading\' view without attempting the question, dropdown numeration should be displayed, correct/incorrect status message should not be displayed, correct answers section with a label \'Correct answers\' should be displayed with correct answers and respective option numeration`, () => {
98
106
  if (view === 'Grading view') {
99
107
  studentViewPage.steps.submitResponse();
100
108
  utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
@@ -110,9 +118,10 @@ describe('Create item page - Fill in the gaps with dropdown: All or nothing ', (
110
118
  utilities.verifyInnerText(fillInTheGapsDropdownPage.correctAnswersLabel(), 'Correct answers');
111
119
  fillInTheGapsDropdownPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
112
120
  fillInTheGapsDropdownPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount(correctAnswerArray);
121
+ cy.eyesCheckWindow(`FIG Dropdown - ${view} view - Without attempting the question`);
113
122
  });
114
123
 
115
- it('When the user attempts the question incorrectly, then the user should be awarded 0 points and on switching to \'Grading\' view, incorrect icons should be displayed besides all incorrect responses, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers along with numeration should be displayed', () => {
124
+ it(`${view}: FIG Dropdown - When the user attempts the question incorrectly, then the user should be awarded 0 points and on switching to \'Grading\' view, incorrect icons should be displayed besides all incorrect responses, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers along with numeration should be displayed`, () => {
116
125
  fillInTheGapsDropdownPage.steps.selectResponseFromDropdownInPreviewTab([{ dropdownIndex: 0, dropdownOption: incorrectAnswerArray[0] }, { dropdownIndex: 1, dropdownOption: incorrectAnswerArray[1] }]);
117
126
  if (view === 'Grading view') {
118
127
  studentViewPage.steps.submitResponse();
@@ -128,9 +137,10 @@ describe('Create item page - Fill in the gaps with dropdown: All or nothing ', (
128
137
  fillInTheGapsDropdownPage.steps.verifyIncorrectOptionIcon(1);
129
138
  fillInTheGapsDropdownPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
130
139
  fillInTheGapsDropdownPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount(correctAnswerArray);
140
+ cy.eyesCheckWindow(`FIG Dropdown - ${view} - Attempting the question incorrectly`);
131
141
  });
132
142
 
133
- it('When the user attempts the question partially correct, then the user should be awarded 0 points and 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', () => {
143
+ it(`${view}: FIG Dropdown - When the user attempts the question partially correct, then the user should be awarded 0 points and 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`, () => {
134
144
  if (view === 'Grading view') {
135
145
  studentViewPage.steps.clearResponses();
136
146
  };
@@ -149,9 +159,10 @@ describe('Create item page - Fill in the gaps with dropdown: All or nothing ', (
149
159
  fillInTheGapsDropdownPage.steps.verifyIncorrectOptionIcon(1);
150
160
  fillInTheGapsDropdownPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
151
161
  fillInTheGapsDropdownPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount(correctAnswerArray);
162
+ cy.eyesCheckWindow(`FIG Dropdown - ${view} - Attempting partially correct`);
152
163
  });
153
164
 
154
- it('When the user attempts the question correctly, then the user should be awarded with full points and on switching to \'Grading\' view, correct icon should be displayed besides the correct answer responses, a status message with text \'Your answer is correct\' should be displayed and correct answer section should not be displayed', () => {
165
+ it(`${view}: FIG Dropdown - When the user attempts the question correctly, then the user should be awarded with full points and on switching to \'Grading\' view, correct icon should be displayed besides the correct answer responses, a status message with text \'Your answer is correct\' should be displayed and correct answer section should not be displayed`, () => {
155
166
  if (view === 'Grading view') {
156
167
  studentViewPage.steps.clearResponses();
157
168
  };
@@ -170,6 +181,7 @@ describe('Create item page - Fill in the gaps with dropdown: All or nothing ', (
170
181
  fillInTheGapsDropdownPage.steps.verifyCorrectOptionIcon(1);
171
182
  fillInTheGapsDropdownPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
172
183
  fillInTheGapsDropdownPage.steps.verifyCorrectAnswerSectionNotExists();
184
+ cy.eyesCheckWindow(`FIG Dropdown - ${view} - Attempting the question correctly`);
173
185
  });
174
186
  });
175
187
  });
@@ -15,6 +15,14 @@ describe('Create item page - Fill in the gaps with dropdown - Preview contents i
15
15
  cy.loginAs('admin');
16
16
  });
17
17
 
18
+ beforeEach(() => {
19
+ cy.startApplitools();
20
+ });
21
+
22
+ afterEach(() => {
23
+ cy.eyesClose();
24
+ });
25
+
18
26
  views.forEach((view) => {
19
27
  describe(`Preview tab contents - ${view}`, { tags: 'smoke' }, () => {
20
28
  abortEarlySetup();
@@ -70,9 +78,10 @@ describe('Create item page - Fill in the gaps with dropdown - Preview contents i
70
78
  });
71
79
 
72
80
  if (view !== 'Grading view' && view !== 'Correct answer view') {
73
- it('The sample \'Lorem Ipsum\' text along with two response dropdowns should be displayed', () => {
81
+ it(`${view} - Fill in the gaps dropdown - The sample \'Lorem Ipsum\' text along with two response dropdowns should be displayed`, () => {
74
82
  utilities.verifyElementCount(fillInTheGapsDropdownPage.dropdownPreviewTab(), 2);
75
83
  utilities.verifyInnerText(fillInTheGapsDropdownPage.questionContainerPreviewTab(), 'Lorem ipsum dolor sit amet, \n​\n​\n onsectetur adipiscing elit. Ut pellentesque tinciduntornare. Integer porttitor est quis urna porttitor, eget tempus tellus dapibus \n​\n​');
84
+ cy.eyesCheckWindow(`${view} - Fill in the gaps dropdown - Default state`);
76
85
  });
77
86
 
78
87
  it('User should be able to select an option from the dropdown', () => {
@@ -82,6 +91,7 @@ describe('Create item page - Fill in the gaps with dropdown - Preview contents i
82
91
  it('The dropdowns should be displayed filled with answers', () => {
83
92
  utilities.verifyElementCount(fillInTheGapsDropdownPage.dropdownPreviewTab(), 2);
84
93
  fillInTheGapsDropdownPage.steps.verifyTextInDropdownsInPreviewTab([{ dropdownIndex: 0, dropdownText: correctAnswerArray[0] }, { dropdownIndex: 1, dropdownText: correctAnswerArray[1] }]);
94
+ cy.eyesCheckWindow(`${view} - Fill in the gaps dropdown - Correct answers`);
85
95
  });
86
96
 
87
97
  it('The dropdowns should not be editable', () => {
@@ -89,11 +99,12 @@ describe('Create item page - Fill in the gaps with dropdown - Preview contents i
89
99
  fillInTheGapsDropdownPage.steps.verifyDropdownIsDisabled(1);
90
100
  });
91
101
  } else {
92
- it('The dropdowns should be displayed filled with correct answers', () => {
102
+ it(`${view} - Fill in the gaps dropdown The dropdowns should be displayed filled with correct answers`, () => {
93
103
  utilities.verifyElementCount(fillInTheGapsDropdownPage.dropdownPreviewTab(), 2);
94
104
  fillInTheGapsDropdownPage.steps.verifyTextInDropdownsInPreviewTab([{ dropdownIndex: 0, dropdownText: correctAnswerArray[0] }, { dropdownIndex: 1, dropdownText: correctAnswerArray[1] }]);
95
105
  fillInTheGapsDropdownPage.steps.verifyCorrectOptionIcon(0);
96
106
  fillInTheGapsDropdownPage.steps.verifyCorrectOptionIcon(1);
107
+ cy.eyesCheckWindow(`${view} - Fill in the gaps dropdown - Correct answer section`);
97
108
  });
98
109
  }
99
110