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
@@ -13,6 +13,14 @@ describe('Create item page - Video response: Preview contents', () => {
13
13
  cy.loginAs('admin');
14
14
  });
15
15
 
16
+ beforeEach(() => {
17
+ cy.startApplitools();
18
+ });
19
+
20
+ afterEach(() => {
21
+ cy.eyesClose();
22
+ });
23
+
16
24
  views.forEach((view) => {
17
25
  describe(`Preview tab contents - ${view}`, { tags: 'smoke' }, () => {
18
26
  abortEarlySetup();
@@ -59,8 +67,9 @@ describe('Create item page - Video response: Preview contents', () => {
59
67
  utilities.verifyElementVisibilityState(videoResponsePage.startRecordingText(), 'visible');
60
68
  });
61
69
 
62
- it('When the user has not started recording, a status message: \'Allow camera and microphone access.\' along with a microphone icon should be displayed on the recording interface', () => {
70
+ it(`${view} view - Video response: When the user has not started recording, a status message: \'Allow camera and microphone access.\' along with a microphone icon should be displayed on the recording interface`, () => {
63
71
  videoResponsePage.steps.verifyRecordingStatus('Allow camera and microphone access.');
72
+ cy.eyesCheckWindow(`${view} view - Video response: Status message: Allow camera and microphone access. and microphone icon should be displayed`);
64
73
  });
65
74
 
66
75
  //Note: Add "Blur background" and "Mirror video" assertions when made available
@@ -146,13 +155,14 @@ describe('Create item page - Video response: Preview contents', () => {
146
155
  utilities.verifyElementVisibilityState(videoResponsePage.stopButton(), 'visible');
147
156
  });
148
157
 
149
- it('When a recording is in progress and the user first pauses the recording and then stops recording, then the recording should stop, recorded video response should be saved. User should be able to view the duration of their recorded video in minutes, displayed as \'(min:secs)\'.', () => {
158
+ it(`${view} view - Video response: When a recording is in progress and the user first pauses the recording and then stops recording, then the recording should stop, recorded video response should be saved. User should be able to view the duration of their recorded video in minutes, displayed as \'(min:secs)\'.`, () => {
150
159
  videoResponsePage.steps.resetQuestionPreview();
151
160
  videoResponsePage.steps.startRecording();
152
161
  videoResponsePage.steps.waitForRecordingToStart();
153
162
  videoResponsePage.steps.addWaitToRecord(9000);
154
163
  videoResponsePage.steps.pauseRecording();
155
164
  videoResponsePage.steps.stopAndVerifySavingAndRecordingLength();
165
+ cy.eyesCheckWindow(`${view} view - Video response: Duration of their recorded video in minutes`);
156
166
  });
157
167
  } else {
158
168
  it('When a recording is in progress and the user clicks on the \'Pause recording\' button, recording should pause and the status message should update to \'Recording paused\'. User should be able to view the duration of their recorded video in minutes, displayed as \'(min:secs/min:sec)\'. \'Pause recording\' button should get replaced with \'Resume recording\' button. \'Stop recording\' button should be displayed beside resume recording button', () => {
@@ -182,10 +192,11 @@ describe('Create item page - Video response: Preview contents', () => {
182
192
  utilities.verifyInnerText(videoResponsePage.savedResponseText(), 'Your response has been recorded.');
183
193
  });
184
194
 
185
- it('When the video player is in playback state and the user clicks on \'Pause\' button, then playback should get paused. Progress bar and timer should not update further and the \'Pause\' button should get replaced with \'Play\' button', () => {
195
+ it(`${view} view - Video response: When the video player is in playback state and the user clicks on \'Pause\' button, then playback should get paused. Progress bar and timer should not update further and the \'Pause\' button should get replaced with \'Play\' button`, () => {
186
196
  videoResponsePage.steps.pauseAndVerifyProgressBarSliderPosition();
187
197
  utilities.verifyElementVisibilityState(videoResponsePage.playbackPlayButton(), 'visible');
188
198
  utilities.verifyElementVisibilityState(videoResponsePage.playbackPauseButton(), 'notExist');
199
+ cy.eyesCheckWindow(`${view} view - Video response: Playback state`);
189
200
  });
190
201
 
191
202
  it('When the user seeks the progress bar slider while the video is playing, then the video should continue to play from the position where the slider is seeked', () => {
@@ -12,6 +12,14 @@ describe('Create Item page - Charts - Dot: All or nothing ', () => {
12
12
  cy.loginAs('admin');
13
13
  });
14
14
 
15
+ beforeEach(() => {
16
+ cy.startApplitools();
17
+ });
18
+
19
+ afterEach(() => {
20
+ cy.eyesClose();
21
+ });
22
+
15
23
  if (!grepTags || !grepTags.includes('smoke')) {
16
24
  describe('Question preview modes: Student view and Grading view', () => {
17
25
  abortEarlySetup();
@@ -44,7 +52,7 @@ describe('Create Item page - Charts - Dot: All or nothing ', () => {
44
52
  };
45
53
 
46
54
  views.forEach((view) => {
47
- describe(` Charts - Dot: All or nothing scoring - ${view}`, { tags: 'smoke' }, () => {
55
+ describe(`Charts - Dot: All or nothing scoring - ${view}`, { tags: 'smoke' }, () => {
48
56
  abortEarlySetup();
49
57
  before(() => {
50
58
  switch (view) {
@@ -116,7 +124,7 @@ describe('Create Item page - Charts - Dot: All or nothing ', () => {
116
124
  };
117
125
 
118
126
  //Note: Remove comment after https://redmine.zeuslearning.com/issues/570904 is resolved
119
- it.skip('When the user selects \'Grading\' view without attempting the question, then by default correct dot column should have correct icons, incorrect dot column should have incorrect icons, the correct answer should be displayed in the correct answer section number line axis and correct/incorrect status message should not be displayed', () => {
127
+ it.skip(`${view} - Charts Dot - When the user selects \'Grading\' view without attempting the question, then by default correct dot column should have correct icons, incorrect dot column should have incorrect icons, the correct answer should be displayed in the correct answer section number line axis and correct/incorrect status message should not be displayed`, () => {
120
128
  if (view === 'Grading view') {
121
129
  studentViewPage.steps.submitResponse();
122
130
  utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
@@ -139,9 +147,10 @@ describe('Create Item page - Charts - Dot: All or nothing ', () => {
139
147
  chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 5, min: 1, interval: 1 });
140
148
  chartsDotPlotPage.steps.verifyEmptyDotColumnCorrectAnswerSection({ point: 6, min: 1, interval: 1 });
141
149
  chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
150
+ cy.eyesCheckWindow(`${view} view - Charts Dot - Without attempting the question`);
142
151
  });
143
152
 
144
- it('When the user attempts the question incorrectly then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed and the attempted dot column should be displayed incorrect and the correct answer should be displayed in the correct answer section number line axis', () => {
153
+ it(`${view} - Charts Dot - When the user attempts the question incorrectly then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed and the attempted dot column should be displayed incorrect and the correct answer should be displayed in the correct answer section number line axis`, () => {
145
154
  chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(2, { point: 4, min: 1, interval: 1 });
146
155
  chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(2, { point: 6, min: 1, interval: 1, defaultDots: 0 });
147
156
  if (view === 'Grading view') {
@@ -168,9 +177,10 @@ describe('Create Item page - Charts - Dot: All or nothing ', () => {
168
177
  chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 5, min: 1, interval: 1 });
169
178
  chartsDotPlotPage.steps.verifyEmptyDotColumnCorrectAnswerSection({ point: 6, min: 1, interval: 1 });
170
179
  chartsDotPlotPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
180
+ cy.eyesCheckWindow(`${view} view - Charts Dot - Attempting the question incorrectly`);
171
181
  });
172
182
 
173
- it('When the user attempts the question by adding more dots than required in the dot columns having dots by default, then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed and the attempted dot column should be displayed incorrect and the correct answer should be displayed in the correct answer section number line axis', () => {
183
+ it(`${view} - Charts Dot - When the user attempts the question by adding more dots than required in the dot columns having dots by default, then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed and the attempted dot column should be displayed incorrect and the correct answer should be displayed in the correct answer section number line axis`, () => {
174
184
  if (view === 'Grading view') {
175
185
  studentViewPage.steps.clearResponses();
176
186
  };
@@ -199,9 +209,10 @@ describe('Create Item page - Charts - Dot: All or nothing ', () => {
199
209
  chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 5, min: 1, interval: 1 });
200
210
  chartsDotPlotPage.steps.verifyEmptyDotColumnCorrectAnswerSection({ point: 6, min: 1, interval: 1 });
201
211
  chartsDotPlotPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
212
+ cy.eyesCheckWindow(`${view} view - Charts Dot - Attempting the question by adding more dots than required in the dot columns having dots by default`);
202
213
  });
203
214
 
204
- it('When the user attempts the question by setting fewer dots than required in the dot columns having dots by default, then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed and the attempted dot column should be displayed incorrect and the correct answer should be displayed in the correct answer section number line axis', () => {
215
+ it(`${view} - Charts Dot - When the user attempts the question by setting fewer dots than required in the dot columns having dots by default, then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed and the attempted dot column should be displayed incorrect and the correct answer should be displayed in the correct answer section number line axis`, () => {
205
216
  if (view === 'Grading view') {
206
217
  studentViewPage.steps.clearResponses();
207
218
  };
@@ -231,9 +242,10 @@ describe('Create Item page - Charts - Dot: All or nothing ', () => {
231
242
  chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 5, min: 1, interval: 1 });
232
243
  chartsDotPlotPage.steps.verifyEmptyDotColumnCorrectAnswerSection({ point: 6, min: 1, interval: 1 });
233
244
  chartsDotPlotPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
245
+ cy.eyesCheckWindow(`${view} view - Charts Dot - Attempting the question by setting fewer dots than required in the dot columns having dots by default`);
234
246
  });
235
247
 
236
- it('When the user attempts the question by removing all the dots to dot column that is not supposed to be empty, then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed and the attempted dot column should be displayed incorrect and the correct answer should be displayed in the correct answer section number line axis', () => {
248
+ it(`${view} - Charts Dot - When the user attempts the question by removing all the dots to dot column that is not supposed to be empty, then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed and the attempted dot column should be displayed incorrect and the correct answer should be displayed in the correct answer section number line axis`, () => {
237
249
  if (view === 'Grading view') {
238
250
  studentViewPage.steps.clearResponses();
239
251
  };
@@ -263,9 +275,10 @@ describe('Create Item page - Charts - Dot: All or nothing ', () => {
263
275
  chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 5, min: 1, interval: 1 });
264
276
  chartsDotPlotPage.steps.verifyEmptyDotColumnCorrectAnswerSection({ point: 6, min: 1, interval: 1 });
265
277
  chartsDotPlotPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
278
+ cy.eyesCheckWindow(`${view} view - Charts Dot - Attempting the question by removing all the dots to dot column that is not supposed to be empty`);
266
279
  });
267
280
 
268
- it('When the user attempts the question by adding dots to the dot columns that is supposed to be empty, then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed and the attempted dot column should be displayed incorrect and the correct answer should be displayed in the correct answer section number line axis', () => {
281
+ it(`${view} - Charts Dot - When the user attempts the question by adding dots to the dot columns that is supposed to be empty, then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed and the attempted dot column should be displayed incorrect and the correct answer should be displayed in the correct answer section number line axis`, () => {
269
282
  if (view === 'Grading view') {
270
283
  studentViewPage.steps.clearResponses();
271
284
  };
@@ -295,9 +308,10 @@ describe('Create Item page - Charts - Dot: All or nothing ', () => {
295
308
  chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 5, min: 1, interval: 1 });
296
309
  chartsDotPlotPage.steps.verifyEmptyDotColumnCorrectAnswerSection({ point: 6, min: 1, interval: 1 });
297
310
  chartsDotPlotPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
311
+ cy.eyesCheckWindow(`${view} view - Charts Dot - Attempting the question by adding dots to the dot columns that is supposed to be empty`);
298
312
  });
299
313
 
300
- it('When the user attempts the question by changing number of dots in the dot columns which have the correct number of dots by default and setting a dot column correctly, then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed and the incorrectly attempted dot column should be displayed incorrect, correctly attempted dot column should be displayed correct, and the correct answer should be displayed in the correct answer section number line axis', () => {
314
+ it(`${view} - Charts Dot - When the user attempts the question by changing number of dots in the dot columns which have the correct number of dots by default and setting a dot column correctly, then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed and the incorrectly attempted dot column should be displayed incorrect, correctly attempted dot column should be displayed correct, and the correct answer should be displayed in the correct answer section number line axis`, () => {
301
315
  if (view === 'Grading view') {
302
316
  studentViewPage.steps.clearResponses();
303
317
  };
@@ -328,9 +342,10 @@ describe('Create Item page - Charts - Dot: All or nothing ', () => {
328
342
  chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 5, min: 1, interval: 1 });
329
343
  chartsDotPlotPage.steps.verifyEmptyDotColumnCorrectAnswerSection({ point: 6, min: 1, interval: 1 });
330
344
  chartsDotPlotPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
345
+ cy.eyesCheckWindow(`${view} view - Charts Dot - Attempting the question by changing number of dots in the dot columns which have the correct number of dots by default and setting a dot column correctly`);
331
346
  });
332
347
 
333
- it('When the user attempts the question correctly, the user should be awarded with full points and on switching to grading view, \'Your answer is correct\' should be displayed and correct answer section should not be displayed', () => {
348
+ it(`${view} - Charts Dot - When the user attempts the question correctly, the user should be awarded with full points and on switching to grading view, \'Your answer is correct\' should be displayed and correct answer section should not be displayed`, () => {
334
349
  if (view === 'Grading view') {
335
350
  studentViewPage.steps.clearResponses();
336
351
  };
@@ -353,6 +368,7 @@ describe('Create Item page - Charts - Dot: All or nothing ', () => {
353
368
  chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1 });
354
369
  chartsDotPlotPage.steps.verifyEmptyDotColumnPreviewTab({ point: 6, min: 1, interval: 1 });
355
370
  chartsDotPlotPage.steps.verifyCorrectAnswerSectionNotExists();
371
+ cy.eyesCheckWindow(`${view} view - Charts Dot - Attempting the question correctly`);
356
372
  });
357
373
 
358
374
  });
@@ -11,6 +11,14 @@ describe('Create item page - Dot plot charts : Grading view, Correct answer view
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 (views.includes('Grading view')) {
15
23
  describe('Grading view contents', { tags: 'smoke' }, () => {
16
24
  abortEarlySetup();
@@ -88,13 +96,14 @@ describe('Create item page - Dot plot charts : Grading view, Correct answer view
88
96
  chartsDotPlotPage.steps.verifyDotCountCorrectAnswerSection(2, { point: 1, min: 1, interval: 0.25 });
89
97
  });
90
98
 
91
- it('Correct answer section along with dot plot attempted by the user should be displayed', () => {
99
+ it('Charts Dot - Correct answer section along with dot plot attempted by the user should be displayed', () => {
92
100
  chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 0.25 });
93
101
  chartsDotPlotPage.steps.verifyCorrectDotPreviewTab({ point: 3, min: 1, interval: 0.25 });
94
102
  chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 0.25 });
95
103
  chartsDotPlotPage.steps.verifyIncorrectDotPreviewTab({ point: 2, min: 1, interval: 0.25 });
96
104
  chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 3, min: 1, interval: 0.25 });
97
105
  chartsDotPlotPage.steps.verifyCorrectDotCorrectAnswerSection({ point: 3, min: 1, interval: 0.25 });
106
+ cy.eyesCheckWindow('Charts Dot - Grading view contents');
98
107
  });
99
108
 
100
109
  it('Points and the total score should be displayed', () => {
@@ -181,8 +190,9 @@ describe('Create item page - Dot plot charts : Grading view, Correct answer view
181
190
  chartsDotPlotPage.steps.verifyCorrectDotPreviewTab({ point: 3, min: 1, interval: 0.25 });
182
191
  });
183
192
 
184
- it('The points alloted to the question should be displayed', () => {
193
+ it('Charts Dot - The points alloted to the question should be displayed', () => {
185
194
  correctAnswerViewPage.steps.verifyAvailablePoints(10);
195
+ cy.eyesCheckWindow('Charts Dot- Correct answer view contents');
186
196
  });
187
197
 
188
198
  it('CSS of correct answer section', { tags: 'css' }, () => {
@@ -13,6 +13,14 @@ describe('Create item page: Charts - Dot - Preview contents in all views', () =>
13
13
  cy.loginAs('admin');
14
14
  });
15
15
 
16
+ beforeEach(() => {
17
+ cy.startApplitools();
18
+ });
19
+
20
+ afterEach(() => {
21
+ cy.eyesClose();
22
+ });
23
+
16
24
  views.forEach((view) => {
17
25
  describe(`Preview tab contents - ${view}`, { tags: 'smoke' }, () => {
18
26
  abortEarlySetup();
@@ -71,15 +79,17 @@ describe('Create item page: Charts - Dot - Preview contents in all views', () =>
71
79
  utilities.verifyElementVisibilityState(chartsDotPlotPage.previewTabXAxisLabelButton(), 'visible');
72
80
  });
73
81
 
74
- it('The number line axis should be displayed with labels from 1 to 6 with 20 divisions', () => {
82
+ it(`${view} - Charts Dot - The number line axis should be displayed with labels from 1 to 6 with 20 divisions`, () => {
75
83
  utilities.verifyElementVisibilityState(chartsDotPlotPage.numberLineAxisPreviewTab(), 'exist');
76
84
  chartsDotPlotPage.steps.verifyDivisionsOnNumberLineAxisPreviewTab({ min: 1, max: 6, interval: 0.25 });
77
85
  chartsDotPlotPage.steps.verifyLabelsOnNumberLineAxisPreviewTab(1, 6, 4);
86
+ cy.eyesCheckWindow(`${view}- Charts Dot - Charts Dot: Question instructions, Graph title, X axis label and line divisions`);
78
87
  });
79
88
 
80
- it('User should be able to edit the X axis labels in preview tab', () => {
89
+ it(`${view} - Charts Dot - User should be able to edit the X axis labels in preview tab`, () => {
81
90
  chartsDotPlotPage.steps.editXAxisLabelInPreviewTab('Numbers of days');
82
91
  utilities.verifyInnerText(chartsDotPlotPage.previewTabXAxisLabelButton(), 'Numbers of days');
92
+ cy.eyesCheckWindow(`${view} - Charts Dot: After Editing X axis label`);
83
93
  });
84
94
 
85
95
  it('When user hovers over dot column then it should be displayed in interactive state and tooltip with add and minus button should be displayed', () => {
@@ -164,7 +174,7 @@ describe('Create item page: Charts - Dot - Preview contents in all views', () =>
164
174
  chartsDotPlotPage.steps.unselectDotColumnInPreviewTab({ point: 4, min: 1, interval: 0.25 });
165
175
  });
166
176
 
167
- it('When user removes dots from dot column having 10 dots then \'Add dot\' button should be in enabled state', () => {
177
+ it(`${view} - Charts Dot - When user removes dots from dot column having 10 dots then \'Add dot\' button should be in enabled state`, () => {
168
178
  //using minus button
169
179
  chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(9, { point: 5, min: 1, interval: 0.25 });
170
180
  chartsDotPlotPage.steps.selectDotColumnInPreviewTab({ point: 5, min: 1, interval: 0.25 });
@@ -174,6 +184,7 @@ describe('Create item page: Charts - Dot - Preview contents in all views', () =>
174
184
  chartsDotPlotPage.steps.decreaseDotInDotColumnUsingKeyboardPreviewTab(1, { point: 4, min: 1, interval: 0.25 });
175
185
  utilities.verifyElementNotDisabled(chartsDotPlotPage.addButtonPreviewTab());
176
186
  chartsDotPlotPage.steps.unselectDotColumnInPreviewTab({ point: 4, min: 1, interval: 0.25 });
187
+ cy.eyesCheckWindow(`${view} - Charts Dot - Charts Dot: After Adding/Removing dots`);
177
188
  });
178
189
 
179
190
  it('CSS of preview tab contents', { tags: 'css' }, () => {
@@ -370,7 +381,7 @@ describe('Create item page: Charts - Dot - Preview contents in all views', () =>
370
381
  utilities.verifyElementNotDisabled(chartsDotPlotPage.controlOptionsPreviewTab(controlOptions[0]));
371
382
  });
372
383
 
373
- it('When the user clicks on Reset button and confirms reset, then all the chart actions should be reverted and chart should be reverted to default state and control options should be in disabled state', () => {
384
+ it(`${view} - Charts Dot - When the user clicks on Reset button and confirms reset, then all the chart actions should be reverted and chart should be reverted to default state and control options should be in disabled state`, () => {
374
385
  chartsDotPlotPage.steps.selectControlOptionPreviewTab(controlOptions[2]);
375
386
  chartsDotPlotPage.steps.confirmReset();
376
387
  chartsDotPlotPage.steps.verifyDotColumnIsLockedInPreviewTab({ point: 1, min: 1, interval: 0.25 });
@@ -379,6 +390,7 @@ describe('Create item page: Charts - Dot - Preview contents in all views', () =>
379
390
  utilities.verifyElementDisabled(chartsDotPlotPage.controlOptionsPreviewTab(controlOptions[0]));
380
391
  utilities.verifyElementDisabled(chartsDotPlotPage.controlOptionsPreviewTab(controlOptions[1]));
381
392
  utilities.verifyElementDisabled(chartsDotPlotPage.controlOptionsPreviewTab(controlOptions[2]));
393
+ cy.eyesCheckWindow(`${view} - Charts Dot: Chart reset to default state`);
382
394
  });
383
395
 
384
396
  it('CSS of preview tab contents', { tags: 'css' }, () => {
@@ -0,0 +1,14 @@
1
+ module.exports = {
2
+ apiKey: 'XkObRjxHCyNlYPTHm1VLxIKoCXxY1111nW2RQr5IaUHHk110',
3
+ serverUrl: 'https://eyes.applitools.com',
4
+ browser: [
5
+ { width: 1366, height: 609, name: 'chrome' },
6
+ { width: 1280, height: 832, name: 'edgechromium' },
7
+ { width: 1536, height: 960, name: 'safari' },
8
+ { width: 1024, height: 1366, name: 'safari' }
9
+ ],
10
+ //Configuration options: https://applitools.com/tutorials/sdks/cypress/configuration
11
+ ignoreDisplacements: true, // Set to false to detect mismatches in the displacements of the elements
12
+ failCypressOnDiff: false, // Set to true to fail the test when differences are detected
13
+ isDisabled: false // Set to true to disable Applitools
14
+ };
@@ -363,6 +363,7 @@ const tests = {
363
363
  equationEditorSectionCommonComponent.steps.focusInResponseAnswerInputFieldPreviewTab(0);
364
364
  }
365
365
  utilities.verifyElementVisibilityState(equationEditorFlyout.dialogBox(), 'visible');
366
+ cy.eyesCheckWindow('Equation Editor flyout in preview tab');
366
367
  });
367
368
 
368
369
  it('\'Done\'button should be displayed at the bottom of the flyout', () => {
@@ -430,11 +431,12 @@ const tests = {
430
431
  cy.checkAccessibility(equationEditorFlyout.dialogBox());
431
432
  });
432
433
 
433
- it('Cancel button should be displayed in the flyout and when user clicks the \'Cancel\' button then the flyout should close', () => {
434
+ it(`${questionType} Cancel button should be displayed in the flyout and when user clicks the 'Cancel' button then the flyout should close`, () => {
434
435
  utilities.verifyElementVisibilityState(equationEditorFlyout.buttonCancel(), 'visible');
435
436
  utilities.verifyInnerText(equationEditorFlyout.buttonCancel(), 'Cancel');
436
437
  equationEditorFlyout.steps.clickOnEquationEditorCancelButton();
437
438
  utilities.verifyElementVisibilityState(equationEditorFlyout.dialogBox(), 'notExist');
439
+ cy.eyesCheckWindow(`${questionType} Equation Editor flyout should not be displayed`);
438
440
  });
439
441
  },
440
442
 
@@ -5,6 +5,7 @@ import 'cypress-file-upload';
5
5
  import { iePage } from './migrationHelpers/verifyIeQuestionData';
6
6
  import { lrnPage } from './migrationHelpers/extractLrnQuestionData';
7
7
  require('cy-verify-downloads').addCustomCommand();
8
+ import { apiKey, browser, serverUrl } from '../e2e/applitools.config';
8
9
  //import addContext from "mochawesome/addContext";
9
10
 
10
11
  const randomUser = (j, username, i) => ({
@@ -154,6 +155,16 @@ Cypress.Commands.add('learnosityLoaderWait', () => {
154
155
  .should('be.visible');
155
156
  });
156
157
 
158
+ Cypress.Commands.add('startApplitools', () => {
159
+ cy.eyesOpen({
160
+ apiKey,
161
+ serverUrl,
162
+ browser,
163
+ appName: 'Applitools Demo - ILC',
164
+ testName: Cypress.currentTest.title,
165
+ });
166
+ });
167
+
157
168
  Cypress.Commands.add('lazyLoadPreviewQuestions', (count, retries = 5) => {
158
169
  iePage.questionAndResourceWrapper()
159
170
  .then((elements) => {
@@ -4,6 +4,7 @@ import 'cypress-axe';
4
4
  import './helpers/cypressUtilities';
5
5
  import './helpers/accessibility';
6
6
  import './helpers/selectText';
7
+ import '@applitools/eyes-cypress/commands'
7
8
 
8
9
  let windowConsoleError;
9
10
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "itemengine-cypress-automation",
3
- "version": "1.0.279-4092Changes-71debc9.0",
3
+ "version": "1.0.282-applitools-8c400f4.0",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -35,5 +35,8 @@
35
35
  "node-fetch": "^3.3.2",
36
36
  "react-uuid": "^2.0.0",
37
37
  "typescript": "^5.6.3"
38
+ },
39
+ "devDependencies": {
40
+ "@applitools/eyes-cypress": "^3.47.0"
38
41
  }
39
42
  }