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.
- package/cypress/e2e/ILC/AudioResponseNew/barRecorderStyle.smoke.js +40 -26
- package/cypress/e2e/ILC/AudioResponseNew/compactRecorderStyle.smoke.js +17 -4
- package/cypress/e2e/ILC/AudioResponseNew/gradingViewAndCorrectAnswerViewContents.smoke.js +14 -2
- package/cypress/e2e/ILC/AudioResponseNew/previewContentsForAllViews.smoke.js +12 -2
- package/cypress/e2e/ILC/BrainingCampManipulative/gradingViewAndCorrectAnswerViewContents.smoke.js +10 -0
- package/cypress/e2e/ILC/BrainingCampManipulative/previewTabContent.smoke.js +10 -1
- package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/allOrNothingScoringForAllViews.smoke.js +24 -8
- package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/gradingViewAndCorrectAnswerView.smoke.js +12 -2
- package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/previewContentsForAllViews.smoke.js +18 -5
- package/cypress/e2e/ILC/ChartsBar/allOrNothingScoringForAllViews.smoke.js +24 -8
- package/cypress/e2e/ILC/ChartsBar/gradingViewAndCorrectAnswerView.smoke.js +12 -2
- package/cypress/e2e/ILC/ChartsBar/previewContentsForAllViews.smoke.js +19 -6
- package/cypress/e2e/ILC/ChartsLine/allOrNothingScoringForAllViews.smoke.js +24 -8
- package/cypress/e2e/ILC/ChartsLine/gradingViewAndCorrectAnswerView.smoke.js +12 -2
- package/cypress/e2e/ILC/ChartsLine/previewContentsForAllViews.smoke.js +18 -5
- package/cypress/e2e/ILC/Compass/compassPreviewContent.smoke.js +10 -1
- package/cypress/e2e/ILC/ContentBlocks/previewContents.smoke.js +10 -1
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +20 -6
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/previewContentsForAllViews.smoke.js +16 -4
- package/cypress/e2e/ILC/DrawingResponse/drawingResponseGradingViewAndCorrectAnswerViewContents.smoke.js +12 -2
- package/cypress/e2e/ILC/DrawingResponse/drawingResponsePreviewTabContents.smoke.js +54 -21
- package/cypress/e2e/ILC/EssayResponse/equationEditor.smoke.js +8 -0
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +20 -6
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViews.smoke.js +14 -3
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/allOrNothingForAllView.smoke.js +16 -4
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/previewContentsForAllViews.smoke.js +13 -2
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +18 -5
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/previewContentsForAllViews.smoke.js +16 -4
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/allOrNothingForAllView.smoke.js +16 -4
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/previewContentsForAllViews.smoke.js +12 -2
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/allOrNothingForAllViews.smoke.js +16 -4
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/previewContentsForAllViews.smoke.js +14 -3
- package/cypress/e2e/ILC/FillInTheGapsTextNew/allOrNothingForAllViews.smoke.js +16 -4
- package/cypress/e2e/ILC/FillInTheGapsTextNew/previewContentsForAllViews.smoke.js +14 -3
- package/cypress/e2e/ILC/Graphing/allOrNothingForAllViews.smoke.js +18 -5
- package/cypress/e2e/ILC/Graphing/gradingViewAndCorrectAnswerView.smoke.js +12 -2
- package/cypress/e2e/ILC/Graphing/previewContentsForAllViews.smoke.js +16 -4
- package/cypress/e2e/ILC/GridFill/allOrNothingBasicForAllViews.smoke.js +21 -6
- package/cypress/e2e/ILC/GridFill/previewContentsForAllViews.smoke.js +20 -0
- package/cypress/e2e/ILC/ImageHighlight/allOrNothingForAllViews.smoke.js +19 -5
- package/cypress/e2e/ILC/ImageHighlight/previewContentsForAllViews.smoke.js +16 -4
- package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +16 -4
- package/cypress/e2e/ILC/ListOrderingDropdown/previewContentsForAllViews.smoke.js +16 -4
- package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/previewContentsForAllViews.smoke.js +13 -2
- package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +16 -4
- package/cypress/e2e/ILC/ListOrderingNew/horizontalOrientationAllOrNothingForAllViews.smoke.js +17 -5
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/HorizontalOrientation/horizontalOrientationAllOrNothingForAllViews.smoke.js +18 -5
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/HorizontalOrientation/previewContentsForAllViews.smoke.js +16 -4
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/allOrNothingForAllViews.smoke.js +17 -4
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/previewContentsForAllViews.smoke.js +16 -4
- package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +18 -5
- package/cypress/e2e/ILC/Matching/previewTabContentsForAllViews.smoke.js +18 -5
- package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +18 -5
- package/cypress/e2e/ILC/MatchingDropdown/previewContentsForAllViews.smoke.js +16 -4
- package/cypress/e2e/ILC/MultipleSelection/allOrNothingBasicForAllViews.smoke.js +22 -10
- package/cypress/e2e/ILC/MultipleSelection/previewContentsForAllViews.smoke.js +19 -6
- package/cypress/e2e/ILC/MultipleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +18 -5
- package/cypress/e2e/ILC/MultipleSelectionGridNew/previewContentsForAllViews.smoke.js +20 -6
- package/cypress/e2e/ILC/NumberLine/allOrNothingScoringForAllViews.smoke.js +18 -5
- package/cypress/e2e/ILC/NumberLine/gradingViewAndCorrectAnswerView.smoke.js +12 -2
- package/cypress/e2e/ILC/NumberLine/previewTabContentsForAllViews.smoke.js +16 -4
- package/cypress/e2e/ILC/NumberLine/verticalNumberLine/allOrNothingScoringForAllViews.smoke.js +18 -5
- package/cypress/e2e/ILC/NumberLine/verticalNumberLine/gradingViewAndCorrectAnswerView.smoke.js +12 -2
- package/cypress/e2e/ILC/NumberLine/verticalNumberLine/previewTabContentsForAllViews.smoke.js +16 -4
- package/cypress/e2e/ILC/NumberLineLabel/allOrNothingForAllViews.smoke.js +18 -5
- package/cypress/e2e/ILC/NumberLineLabel/gradingViewAndCorrectAnswerView.smoke.js +10 -0
- package/cypress/e2e/ILC/NumberLineLabel/previewContentsForAllViews.smoke.js +10 -1
- package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/allOrNothingForAllViews.smoke.js +18 -5
- package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/gradingViewAndCorrectAnswerView.smoke.js +12 -2
- package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/previewContentsForAllViews.smoke.js +10 -1
- package/cypress/e2e/ILC/Protractor/protractorPreviewContents.smoke.js +10 -1
- package/cypress/e2e/ILC/ReadingRuler/readingrulerPreviewContents.smoke.js +10 -1
- package/cypress/e2e/ILC/Ruler/rulerPreviewContents.smoke.js +10 -1
- package/cypress/e2e/ILC/ShortTextResponseNew/allOrNothingBasicForAllViews.smoke.js +14 -3
- package/cypress/e2e/ILC/ShortTextResponseNew/previewContentsForAllViews.smoke.js +17 -7
- package/cypress/e2e/ILC/SimpleCalculator/previewContents.smoke.js +10 -1
- package/cypress/e2e/ILC/SingleSelection/allOrNothingBasicForAllViews.smoke.js +14 -3
- package/cypress/e2e/ILC/SingleSelection/previewContents.smoke.js +16 -4
- package/cypress/e2e/ILC/SingleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +18 -5
- package/cypress/e2e/ILC/SingleSelectionGridNew/previewContentsForAllViews.smoke.js +16 -4
- package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViews.smoke.js +27 -14
- package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +21 -9
- package/cypress/e2e/ILC/TextEntryMath/previewContentsForAllViews.smoke.js +14 -3
- package/cypress/e2e/ILC/TextEntryMathWithImage/allOrNothingScoringForAllViews.smoke.js +26 -13
- package/cypress/e2e/ILC/TextEntryMathWithImage/previewTabContentsForAllViews.smoke.js +15 -5
- package/cypress/e2e/ILC/TextSelection/ScoringGeneric/basicScoringForAllTextSelectionTypes.smoke.js +16 -4
- package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +20 -6
- package/cypress/e2e/ILC/TextSelection/previewContentsForAllViews.smoke.js +19 -7
- package/cypress/e2e/ILC/ToolAudioPlayerNew/previewContents.smoke.js +14 -3
- package/cypress/e2e/ILC/ToolSettings/toolSettingsPreviewContents.smoke.js +13 -3
- package/cypress/e2e/ILC/UploadResponse/gradingViewAndCorrectAnswerViewContents.smoke.js +11 -1
- package/cypress/e2e/ILC/UploadResponse/previewContentsForAllViews.smoke.js +18 -5
- package/cypress/e2e/ILC/UploadResponse/thumbNail.smoke.js +19 -6
- package/cypress/e2e/ILC/VideoResponseNew/compactRecorderStyle.smoke.js +14 -3
- package/cypress/e2e/ILC/VideoResponseNew/gradingViewAndCorrectAnswerViewContents.smoke.js +16 -4
- package/cypress/e2e/ILC/VideoResponseNew/previewContentsForAllViews.smoke.js +14 -3
- package/cypress/e2e/ILC/chartsDotsPlot/allOrNothingForAllViews.smoke.js +25 -9
- package/cypress/e2e/ILC/chartsDotsPlot/gradingViewAndCorrectAnswerView.smoke.js +12 -2
- package/cypress/e2e/ILC/chartsDotsPlot/previewContentsForAllViews.smoke.js +16 -4
- package/cypress/e2e/applitools.config.js +14 -0
- package/cypress/pages/components/equationEditorSectionCommonComponent.js +3 -1
- package/cypress/support/commands.js +11 -0
- package/cypress/support/e2e.js +1 -0
- package/package.json +4 -1
@@ -57,6 +57,15 @@ describe('Create item page - Text selection: All or nothing ', () => {
|
|
57
57
|
views.forEach((view) => {
|
58
58
|
describe(`${view}: Auto scored - All or nothing scoring`, { tags: 'smoke' }, () => {
|
59
59
|
abortEarlySetup();
|
60
|
+
|
61
|
+
beforeEach(() => {
|
62
|
+
cy.startApplitools();
|
63
|
+
});
|
64
|
+
|
65
|
+
afterEach(() => {
|
66
|
+
cy.eyesClose();
|
67
|
+
});
|
68
|
+
|
60
69
|
before(() => {
|
61
70
|
switch (view) {
|
62
71
|
case 'Question preview':
|
@@ -112,7 +121,7 @@ describe('Create item page - Text selection: All or nothing ', () => {
|
|
112
121
|
});
|
113
122
|
};
|
114
123
|
|
115
|
-
it(
|
124
|
+
it(`Text selection - ${view} - When the user selects 'Grading' view without attempting the question, then correct/incorrect answer should not be displayed in the preview tab and correct answer section should be displayed with correct answers`, () => {
|
116
125
|
if (view === 'Grading view') {
|
117
126
|
studentViewPage.steps.submitResponse();
|
118
127
|
utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
|
@@ -131,9 +140,10 @@ describe('Create item page - Text selection: All or nothing ', () => {
|
|
131
140
|
// utilities.verifyInnerText(textSelectionPage.correctAnswersLabel(), 'Correct answers');
|
132
141
|
textSelectionPage.steps.verifyCorrectIconForOptionCorrectAnswerSection(paragraphTextArray[0]);
|
133
142
|
textSelectionPage.steps.verifyCorrectIconForOptionCorrectAnswerSection(paragraphTextArray[1]);
|
143
|
+
cy.eyesCheckWindow(`Text selection - ${view} - Grading view without attempting`);
|
134
144
|
});
|
135
|
-
|
136
|
-
it(
|
145
|
+
|
146
|
+
it(`Text selection - ${view} - 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 should be displayed`, () => {
|
137
147
|
textSelectionPage.steps.selectOptionInPreviewTab(paragraphTextArray[2]);
|
138
148
|
textSelectionPage.steps.selectOptionInPreviewTab(paragraphTextArray[3]);
|
139
149
|
if (view === 'Grading view') {
|
@@ -153,9 +163,10 @@ describe('Create item page - Text selection: All or nothing ', () => {
|
|
153
163
|
textSelectionPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
154
164
|
textSelectionPage.steps.verifyCorrectIconForOptionCorrectAnswerSection(paragraphTextArray[0]);
|
155
165
|
textSelectionPage.steps.verifyCorrectIconForOptionCorrectAnswerSection(paragraphTextArray[1]);
|
166
|
+
cy.eyesCheckWindow(`Text selection - ${view} - Incorrect attempt`);
|
156
167
|
});
|
157
168
|
|
158
|
-
it(
|
169
|
+
it(`Text selection - ${view} - When the user attempts the question partially correct with some correct then the user should be awarded 0 points and on switching to 'Grading' view, correct icon should be displayed besides the correct answer response, a status message with text 'Your answer is incorrect' and correct answer section with all correct answers should be displayed`, () => {
|
159
170
|
if (view === 'Grading view') {
|
160
171
|
studentViewPage.steps.clearResponses();
|
161
172
|
};
|
@@ -177,9 +188,10 @@ describe('Create item page - Text selection: All or nothing ', () => {
|
|
177
188
|
textSelectionPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
178
189
|
textSelectionPage.steps.verifyCorrectIconForOptionCorrectAnswerSection(paragraphTextArray[0]);
|
179
190
|
textSelectionPage.steps.verifyCorrectIconForOptionCorrectAnswerSection(paragraphTextArray[1]);
|
191
|
+
cy.eyesCheckWindow(`Text selection - ${view} - Partially correct attempt`);
|
180
192
|
});
|
181
193
|
|
182
|
-
it(
|
194
|
+
it(`Text selection - ${view} - When the user attempts the question partially correct with some correct and some incorrect answers then the user should be awarded 0 points and on switching to 'Grading' view, correct icon should be displayed besides the correct answer response, incorrect icon should be displayed besides the incorrect answer response a status message with text 'Your answer is incorrect' and correct answer section with all correct answers should be displayed`, () => {
|
183
195
|
if (view === 'Grading view') {
|
184
196
|
studentViewPage.steps.clearResponses();
|
185
197
|
};
|
@@ -202,9 +214,10 @@ describe('Create item page - Text selection: All or nothing ', () => {
|
|
202
214
|
textSelectionPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
203
215
|
textSelectionPage.steps.verifyCorrectIconForOptionCorrectAnswerSection(paragraphTextArray[0]);
|
204
216
|
textSelectionPage.steps.verifyCorrectIconForOptionCorrectAnswerSection(paragraphTextArray[1]);
|
217
|
+
cy.eyesCheckWindow(`Text selection - ${view} - Partially correct with incorrect answers`);
|
205
218
|
});
|
206
219
|
|
207
|
-
it(
|
220
|
+
it(`Text selection - ${view} - When the user attempts the question correct then the user should be awarded 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`, () => {
|
208
221
|
if (view === 'Grading view') {
|
209
222
|
studentViewPage.steps.clearResponses();
|
210
223
|
};
|
@@ -226,6 +239,7 @@ describe('Create item page - Text selection: All or nothing ', () => {
|
|
226
239
|
textSelectionPage.steps.verifyOptionIsNotSelectedInPreviewTab(paragraphTextArray[3]);
|
227
240
|
textSelectionPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
|
228
241
|
utilities.verifyElementVisibilityState(textSelectionPage.correctAnswerSection(), 'notExist');
|
242
|
+
cy.eyesCheckWindow(`Text selection - ${view} - Correct attempt`);
|
229
243
|
});
|
230
244
|
});
|
231
245
|
});
|
@@ -13,6 +13,14 @@ describe('Create item page - Text selection : 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();
|
@@ -87,47 +95,51 @@ describe('Create item page - Text selection : Preview contents', () => {
|
|
87
95
|
});
|
88
96
|
|
89
97
|
if (view !== 'Grading view' && view !== 'Correct answer view') {
|
90
|
-
it(
|
98
|
+
it(`Text selection - ${view} - The selected options in specify possible options section should be displayed and by default all options should not be selected`, () => {
|
91
99
|
for (let index = 0; index < 3; index++) {
|
92
100
|
utilities.verifyInnerText(utilities.getNthElement(textSelectionPage.optionPreviewTab(), index), paragraphTextArray[index]);
|
93
101
|
utilities.verifyElementVisibilityState(utilities.getNthElement(textSelectionPage.optionPreviewTab(), index), 'visible');
|
94
102
|
textSelectionPage.steps.verifyOptionIsNotSelectedInPreviewTab(paragraphTextArray[index]);
|
95
103
|
};
|
96
104
|
utilities.verifyElementCount(textSelectionPage.optionPreviewTab(), 3);
|
105
|
+
cy.eyesCheckWindow(`Text selection - ${view} - Options displayed and not selected`);
|
97
106
|
});
|
98
107
|
|
99
|
-
it(
|
108
|
+
it(`${view} - When user hovers on the available options, then those options should be displayed in hover state highlight`, () => {
|
100
109
|
for (let index = 0; index < 3; index++) {
|
101
110
|
textSelectionPage.steps.verifyHoverStateOfOptionInPreviewTab(paragraphTextArray[index], "blue");
|
102
111
|
};
|
103
112
|
});
|
104
113
|
|
105
|
-
it(
|
114
|
+
it(`Text selection - ${view} - When user selects an option, then that option should be displayed in selected state`, () => {
|
106
115
|
textSelectionPage.steps.selectOptionInPreviewTab(paragraphTextArray[0]);
|
107
116
|
textSelectionPage.steps.verifySelectedStateOptionInPreviewTab(paragraphTextArray[0], "blue");
|
108
117
|
textSelectionPage.steps.selectOptionInPreviewTab(paragraphTextArray[1]);
|
109
118
|
textSelectionPage.steps.verifySelectedStateOptionInPreviewTab(paragraphTextArray[1], "blue");
|
119
|
+
cy.eyesCheckWindow(`Text selection - ${view} - Option selected state`);
|
110
120
|
});
|
111
121
|
|
112
|
-
it(
|
122
|
+
it(`${view} - When user clicks on a selected option, then that option should be deselected`, () => {
|
113
123
|
textSelectionPage.steps.deselectOptionInPreviewTab(paragraphTextArray[0]);
|
114
124
|
textSelectionPage.steps.verifyStandardStateOptionInPreviewTab(paragraphTextArray[0]);
|
115
125
|
});
|
116
126
|
} else if (view === 'Grading view') {
|
117
|
-
it(
|
127
|
+
it(`${view} - The question text should be displayed with the selected correct options and status message 'Your answer is incorrect' should be displayed`, () => {
|
118
128
|
textSelectionPage.steps.verifyCorrectIconForOption(paragraphTextArray[1]);
|
119
129
|
textSelectionPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
120
130
|
});
|
121
131
|
|
122
|
-
it(
|
132
|
+
it(`Text selection - ${view} - The submitted answer options should not be editable`, () => {
|
123
133
|
textSelectionPage.steps.verifyAnswerSectionNotEditableInPreviewTab();
|
134
|
+
cy.eyesCheckWindow(`Text selection - ${view} - Submitted answers should not be editable and status message should be displayed`);
|
124
135
|
});
|
125
136
|
} else {
|
126
|
-
it(
|
137
|
+
it(`Text selection - ${view} - The question text should be displayed with the selected correct options`, () => {
|
127
138
|
for (let index = 0; index < 2; index++) {
|
128
139
|
textSelectionPage.steps.verifyCorrectIconForOption(paragraphTextArray[index]);
|
129
140
|
};
|
130
141
|
textSelectionPage.steps.verifyOptionIsNotSelectedInPreviewTab(paragraphTextArray[2]);
|
142
|
+
cy.eyesCheckWindow(`Text selection - ${view} - Correct options displayed`);
|
131
143
|
});
|
132
144
|
}
|
133
145
|
});
|
@@ -12,6 +12,14 @@ describe('Preview tab contents for all views', () => {
|
|
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
|
//failing in student view due to https://redmine.zeuslearning.com/issues/568592
|
16
24
|
views.forEach((view) => {
|
17
25
|
describe(`Preview tab contents - ${view}`, { tags: 'smoke' }, () => {
|
@@ -60,7 +68,7 @@ describe('Preview tab contents for all views', () => {
|
|
60
68
|
}
|
61
69
|
});
|
62
70
|
|
63
|
-
it(
|
71
|
+
it(`${view} view - Tool audio player: When the user switches to preview tab, \'Backward\', \'Play\', \'Forward\', \'Volume control\', \'Elapsed time\', \'Progress bar\', \'Total time\', \'Playback speed\' and \'Add pin\' buttons should be displayed`, () => {
|
64
72
|
utilities.verifyElementVisibilityState(audioPlayerPage.backwardButton(), 'visible');
|
65
73
|
utilities.verifyElementVisibilityState(audioPlayerPage.playbackPlayButton(), 'visible');
|
66
74
|
utilities.verifyElementVisibilityState(audioPlayerPage.forwardButton(), 'visible');
|
@@ -72,6 +80,7 @@ describe('Preview tab contents for all views', () => {
|
|
72
80
|
utilities.verifyInnerText(audioPlayerPage.playbackTotalTime(), '00:00');
|
73
81
|
utilities.verifyElementVisibilityState(audioPlayerPage.playbackSpeedButton(), 'visible');
|
74
82
|
utilities.verifyElementVisibilityState(audioPlayerPage.addPinButton(), 'visible');
|
83
|
+
cy.eyesCheckWindow(`${view} view - Tool audio player: Backward, Play, Forward, Volume control, Elapsed time, Progress bar, Total time, Playback speed and Add pin buttons`);
|
75
84
|
});
|
76
85
|
|
77
86
|
it('When the user clicks on \'Play\' button, then the audio file should load and the user should be able to play the audio. Timer should display the amount of audio that has been played and the total audio length in (mm:ss)/(mm:ss) format.', () => {
|
@@ -88,10 +97,11 @@ describe('Preview tab contents for all views', () => {
|
|
88
97
|
utilities.verifyElementVisibilityState(audioPlayerPage.playbackPauseButton(), 'notExist');
|
89
98
|
});
|
90
99
|
|
91
|
-
it(
|
100
|
+
it(`${view} view - Tool audio player: When audio player is in paused state and user clicks on \'Play\' button, then playback should get resumed and \'Play\' button should get replaced with \'Pause\' button.`, () => {
|
92
101
|
audioPlayerPage.steps.startPlayback();
|
93
102
|
utilities.verifyElementVisibilityState(audioPlayerPage.playbackPauseButton(), 'visible');
|
94
103
|
utilities.verifyElementVisibilityState(audioPlayerPage.playbackPlayButton(), 'notExist');
|
104
|
+
cy.eyesCheckWindow(`${view} view - Tool audio player: When user clicks on Play button then playback should be resumed and Play button should be replaced with Pause button`);
|
95
105
|
});
|
96
106
|
|
97
107
|
it('When the user seeks the progress bar slider while the audio is playing, then the audio should continue to play from the position where the slider is seeked', () => {
|
@@ -100,11 +110,12 @@ describe('Preview tab contents for all views', () => {
|
|
100
110
|
audioPlayerPage.steps.verifyProgressBarSliderPosition(actualAudioSeekedInPercent);
|
101
111
|
});
|
102
112
|
|
103
|
-
it(
|
113
|
+
it(`${view} view - Tool audio player: When the audio playback is completed, the \'Pause\' button should get replaced with \'Play\' button`, () => {
|
104
114
|
audioPlayerPage.steps.verifyAudioPlaybackTimer('00:45', '00:45');
|
105
115
|
utilities.verifyElementVisibilityState(audioPlayerPage.playbackPlayButton(), 'visible');
|
106
116
|
utilities.verifyElementVisibilityState(audioPlayerPage.playbackPauseButton(), 'notExist');
|
107
117
|
audioPlayerPage.steps.verifyProgressBarSliderPosition(99);
|
118
|
+
cy.eyesCheckWindow(`${view} view - Tool audio player: When the audio playback is completed, the Pause button should get replaced with Play button`);
|
108
119
|
});
|
109
120
|
|
110
121
|
it('The added audio description and transcript should be displayed in preview tab', () => {
|
@@ -15,13 +15,21 @@ describe('Tool settings content for all views', () => {
|
|
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 : Single tool selected - ${view}`, { tags: 'smoke' }, () => {
|
20
28
|
abortEarlySetup();
|
21
29
|
before(() => {
|
22
30
|
switch (view) {
|
23
31
|
case 'Question preview':
|
24
|
-
cy.log('Navigating to
|
32
|
+
cy.log('Navigating to multiple selection response question type');
|
25
33
|
multipleSelectionPage.steps.navigateToCreateQuestion('multiple selection');
|
26
34
|
cy.barsPreLoaderWait();
|
27
35
|
multipleSelectionPage.steps.addTextInQuestionInstructionsInputField('Text');
|
@@ -74,11 +82,12 @@ describe('Tool settings content for all views', () => {
|
|
74
82
|
rulerPage.steps.verifyRulerNotVisible();
|
75
83
|
});
|
76
84
|
|
77
|
-
it(
|
85
|
+
it(`When user clicks on 'Show ruler' button in ${view}, then ruler should be displayed and its button should change to 'Hide ruler'`, () => {
|
78
86
|
rulerPage.steps.clickOnRulerVisibilityButton();
|
79
87
|
rulerPage.steps.verifyRulerVisible();
|
80
88
|
rulerPage.steps.verifyPreviewTabRulerVisibilityButtonLabel('Hide');
|
81
89
|
rulerPage.steps.verifyLengthOfRulerInPreview('15cm');
|
90
|
+
cy.eyesCheckWindow(`${view} - Ruler visibility`);
|
82
91
|
});
|
83
92
|
|
84
93
|
it('CSS of the \'Hide ruler\' button', { tags: 'css' }, () => {
|
@@ -177,9 +186,10 @@ describe('Tool settings content for all views', () => {
|
|
177
186
|
protractorPage.steps.verifyPreviewTabProtractorVisibilityButtonLabel('Hide');
|
178
187
|
});
|
179
188
|
|
180
|
-
it(
|
189
|
+
it(`When user has clicked visibility buttons for both the ruler and protractor tools in ${view}, both tools should be displayed simultaneously in the preview tab`, () => {
|
181
190
|
rulerPage.steps.verifyRulerVisible();
|
182
191
|
protractorPage.steps.verifyProtractorVisibleInPreviewTab();
|
192
|
+
cy.eyesCheckWindow(`${view} - Protractor and Ruler visibility`);
|
183
193
|
});
|
184
194
|
|
185
195
|
it('CSS of the \'Hide ruler\' and \'Hide protractor\' button', { tags: 'css' }, () => {
|
@@ -12,6 +12,14 @@ describe('Create item page - Upload response: Grading view, Correct answer view
|
|
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 (views.includes('Grading view')) {
|
16
24
|
describe('Grading view contents', { tags: 'smoke' }, () => {
|
17
25
|
abortEarlySetup();
|
@@ -50,6 +58,7 @@ describe('Create item page - Upload response: Grading view, Correct answer view
|
|
50
58
|
|
51
59
|
it('Empty score input field and total score should be displayed', () => {
|
52
60
|
gradingViewPage.steps.verifyGradingViewScore('', 10);
|
61
|
+
cy.eyesCheckWindow('Grading view - Uploaded file and score');
|
53
62
|
});
|
54
63
|
|
55
64
|
it('Accessibility of uploaded file', { tags: 'a11y' }, () => {
|
@@ -58,7 +67,7 @@ describe('Create item page - Upload response: Grading view, Correct answer view
|
|
58
67
|
|
59
68
|
//Adding skip as this does not work on spinnaker
|
60
69
|
it.skip('On clicking on the file name, user should be able to download the file', () => {
|
61
|
-
|
70
|
+
cy.verifyUploadFilePreviewDownload('highlightImage.jpg');
|
62
71
|
});
|
63
72
|
});
|
64
73
|
}
|
@@ -90,6 +99,7 @@ describe('Create item page - Upload response: Grading view, Correct answer view
|
|
90
99
|
it('\'This is a manual scored question\' help text should be displayed in the correct answer view', () => {
|
91
100
|
utilities.verifyTextContent(correctAnswerViewPage.manualScoredQuestionHelpText(), 'This is a manual scored question.');
|
92
101
|
utilities.verifyElementVisibilityState(correctAnswerViewPage.manualScoredQuestionHelpText(), 'visible');
|
102
|
+
cy.eyesCheckWindow('Grading view - question instructions and help text');
|
93
103
|
});
|
94
104
|
|
95
105
|
it('The points alloted to the question should be displayed', () => {
|
@@ -14,6 +14,14 @@ describe('Create item page - Upload response : Preview contents', () => {
|
|
14
14
|
cy.loginAs('admin');
|
15
15
|
});
|
16
16
|
|
17
|
+
beforeEach(() => {
|
18
|
+
cy.startApplitools();
|
19
|
+
});
|
20
|
+
|
21
|
+
afterEach(() => {
|
22
|
+
cy.eyesClose();
|
23
|
+
});
|
24
|
+
|
17
25
|
views.forEach((view) => {
|
18
26
|
describe(`Preview tab contents - ${view}`, { tags: 'smoke' }, () => {
|
19
27
|
abortEarlySetup();
|
@@ -54,10 +62,11 @@ describe('Create item page - Upload response : Preview contents', () => {
|
|
54
62
|
utilities.verifyElementVisibilityState(uploadResponsePage.questionInstructionsText(), 'visible');
|
55
63
|
});
|
56
64
|
|
57
|
-
it(
|
65
|
+
it(`${view} - Upload response area should have a Cloud icon and text 'Drag & Drop files here 'or browse files on your device, or capture an image' should be displayed`, () => {
|
58
66
|
utilities.verifyElementVisibilityState(uploadResponsePage.uploadCloudIcon(), 'visible');
|
59
67
|
utilities.verifyInnerText(uploadResponsePage.dragAndDropFilesText(), 'Drag & Drop files here');
|
60
68
|
utilities.verifyTextContent(uploadResponsePage.fileUploadOptionsLabel(), 'or browse files on your device or capture an image');
|
69
|
+
cy.eyesCheckWindow(`${view} - Upload response area`);
|
61
70
|
});
|
62
71
|
|
63
72
|
it('Computer icon should be displayed before link texts \'device\'', () => {
|
@@ -82,11 +91,12 @@ describe('Create item page - Upload response : Preview contents', () => {
|
|
82
91
|
uploadResponsePage.steps.verifyUploadedFileLimitCount(0, 3);
|
83
92
|
});
|
84
93
|
|
85
|
-
it(
|
94
|
+
it(`${view} - When user uploads file, then uploaded file name should be displayed and file count should get updated`, () => {
|
86
95
|
uploadResponsePage.steps.uploadFile('uploads/highlightImage.jpg');
|
87
96
|
uploadResponsePage.steps.uploadedFileContentsPreviewTab(0, 'highlightImage.jpg');
|
88
97
|
uploadResponsePage.steps.verifyUploadedFileLimitCount(1, 3);
|
89
98
|
utilities.verifyElementCount(uploadResponsePage.fileName(), 1);
|
99
|
+
cy.eyesCheckWindow(`${view} - Uploaded file name displayed and file count updated`);
|
90
100
|
});
|
91
101
|
|
92
102
|
it('When user deletes the uploaded file then uploaded file name, edit icon and delete button should disappear and file limit should be updated accordingly', () => {
|
@@ -103,13 +113,14 @@ describe('Create item page - Upload response : Preview contents', () => {
|
|
103
113
|
utilities.verifyElementCount(uploadResponsePage.fileName(), 2);
|
104
114
|
});
|
105
115
|
|
106
|
-
it(
|
116
|
+
it(`${view} - When user edits the name of uploaded file, then edited name should be visible`, () => {
|
107
117
|
uploadResponsePage.steps.clickOnEditDisplayTextIcon(0);
|
108
118
|
utilities.verifyElementVisibilityState(uploadResponsePage.dialogBox(), 'exist');
|
109
119
|
uploadResponsePage.steps.enterTextInEditDisplayTextPopupInputField('image.csv');
|
110
120
|
uploadResponsePage.steps.verifyTextInEditDisplayTextPopupInputField('image.csv');
|
111
121
|
uploadResponsePage.steps.clickAcceptButtonInPopup();
|
112
122
|
uploadResponsePage.steps.verifyUploadedFileName(0, 'image.csv');
|
123
|
+
cy.eyesCheckWindow(`${view} - Uploaded file name edited`);
|
113
124
|
});
|
114
125
|
|
115
126
|
it('CSS of Preview tab', { tags: 'css' }, () => {
|
@@ -158,15 +169,17 @@ describe('Create item page - Upload response : Preview contents', () => {
|
|
158
169
|
});
|
159
170
|
|
160
171
|
//Failed due to https://redmine.zeuslearning.com/issues/563182
|
161
|
-
it(
|
172
|
+
it(`${view} - When user uploads file type which is not selected from the 'Supported file types' accordion menu, then file upload error message - 'The file type is not supported. Please upload files with the following supported formats: *file format separated by commas*' should be displayed`, () => {
|
162
173
|
uploadResponsePage.steps.uploadFile('uploads/sample.heif');
|
163
174
|
uploadResponsePage.steps.verifyWarningMessage('The file type is not supported. Please upload files with the following supported formats: CSV, Excel, GIF, JPG, Open Office, PDF, PNG, Powerpoint, Publisher, RTF, TXT, Word, XPS, ZIP.');
|
175
|
+
cy.eyesCheckWindow(`${view} - Unsupported file type error message`);
|
164
176
|
});
|
165
177
|
|
166
|
-
it(
|
178
|
+
it(`${view} - When user tries to upload files more than the limit, then warning message 'You have reached the maximum number of files that can be uploaded.' should be displayed`, () => {
|
167
179
|
uploadResponsePage.steps.uploadFile('uploads/highlightImage.jpg');
|
168
180
|
uploadResponsePage.steps.uploadFile('uploads/image.png');
|
169
181
|
uploadResponsePage.steps.verifyWarningMessage('You have reached the maximum number of files that can be uploaded.');
|
182
|
+
cy.eyesCheckWindow(`${view} - File upload limit warning message`);
|
170
183
|
});
|
171
184
|
|
172
185
|
if (view != 'Question preview') {
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { uploadResponsePage, itemPreviewPage} from "../../../pages";
|
1
|
+
import { uploadResponsePage, itemPreviewPage } from "../../../pages";
|
2
2
|
import abortEarlySetup from "../../../support/helpers/abortEarly";
|
3
3
|
import utilities from "../../../support/helpers/utilities";
|
4
4
|
const css = Cypress.env('css');
|
@@ -13,6 +13,14 @@ describe('Create item page - Upload 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();
|
@@ -56,12 +64,13 @@ describe('Create item page - Upload response : Preview contents', () => {
|
|
56
64
|
utilities.verifyElementVisibilityState(uploadResponsePage.questionInstructionsText(), 'visible');
|
57
65
|
});
|
58
66
|
|
59
|
-
it(
|
67
|
+
it(`${view} - When user uploads file, then uploaded file name should be displayed, file count should get updated and thumb nail of the image should be visible`, () => {
|
60
68
|
uploadResponsePage.steps.uploadFile('uploads/highlightImage.jpg');
|
61
69
|
uploadResponsePage.steps.verifyThumbNailExistOrNotExist('highlightImage.jpg', 'visible');
|
70
|
+
cy.eyesCheckWindow(`${view} - Uploaded file name`);
|
62
71
|
});
|
63
72
|
|
64
|
-
it(
|
73
|
+
it(`${view} - CSS of Thumb nail and File name in preview tab`, { tags: 'css' }, () => {
|
65
74
|
utilities.verifyCSS(uploadResponsePage.imageThumbNail(), {
|
66
75
|
'box-sizing': 'border-box',
|
67
76
|
'min-height': 'auto',
|
@@ -79,9 +88,11 @@ describe('Create item page - Upload response : Preview contents', () => {
|
|
79
88
|
cy.checkAccessibility(uploadResponsePage.questionWrapperPreviewTab());
|
80
89
|
});
|
81
90
|
|
82
|
-
it(
|
91
|
+
it(`${view} - When user clicks on the thumbnail then popup should open, and on clicking the close button the popup should close and the uploaded files should be displayed`, () => {
|
92
|
+
utilities.verifyElementCount(uploadResponsePage.imageThumbNail(), 2);
|
83
93
|
uploadResponsePage.steps.clickOnImageThumbNail();
|
84
94
|
uploadResponsePage.steps.verifyImagePopUpDetail();
|
95
|
+
cy.eyesCheckWindow(`${view} - Thumbnail popup`);
|
85
96
|
uploadResponsePage.steps.closeImagePopup();
|
86
97
|
uploadResponsePage.steps.verifyThumbNailExistOrNotExist('highlightImage.jpg', 'visible');
|
87
98
|
utilities.verifyElementCount(uploadResponsePage.fileName(), 1);
|
@@ -95,16 +106,17 @@ describe('Create item page - Upload response : Preview contents', () => {
|
|
95
106
|
utilities.verifyElementCount(uploadResponsePage.fileName(), 1);
|
96
107
|
});
|
97
108
|
|
98
|
-
it(
|
109
|
+
it(`${view} - When user uploads different file types then only image files should be displayed with thumbnail`, () => {
|
99
110
|
for (let number = 0; number < 13; number++) {
|
100
111
|
uploadResponsePage.steps.deleteFile();
|
101
112
|
uploadResponsePage.steps.clickAcceptButtonInPopup();
|
102
113
|
uploadResponsePage.steps.uploadFile(`uploads/${filename[number]}`);
|
103
114
|
uploadResponsePage.steps.verifyThumbNailExistOrNotExist(filename[number], fileThumbNail[number]);
|
104
115
|
}
|
116
|
+
cy.eyesCheckWindow(`${view} - Uploaded different file types`);
|
105
117
|
});
|
106
118
|
|
107
|
-
it(
|
119
|
+
it(`${view} - When user uploads a file in .heif or .heic format then and info icon with tool tip should be present and image thumb nail should not be present`, () => {
|
108
120
|
for (let number = 13; number < 15; number++) {
|
109
121
|
uploadResponsePage.steps.deleteFile();
|
110
122
|
uploadResponsePage.steps.clickAcceptButtonInPopup();
|
@@ -115,6 +127,7 @@ describe('Create item page - Upload response : Preview contents', () => {
|
|
115
127
|
uploadResponsePage.unSupportedFileInfoIcon()
|
116
128
|
.verifyTooltip('The image format (HEIC/HEIF) is not supported on your current device or operating system version. Please click the link to download and view the image.');
|
117
129
|
}
|
130
|
+
cy.eyesCheckWindow(`${view} - Uploaded heic and file types`);
|
118
131
|
});
|
119
132
|
});
|
120
133
|
});
|
@@ -19,11 +19,20 @@ describe('Preview of Video response for compact recorder style', () => {
|
|
19
19
|
videoResponsePage.steps.switchToPreviewTab();
|
20
20
|
});
|
21
21
|
|
22
|
-
|
22
|
+
beforeEach(() => {
|
23
|
+
cy.startApplitools();
|
24
|
+
});
|
25
|
+
|
26
|
+
afterEach(() => {
|
27
|
+
cy.eyesClose();
|
28
|
+
});
|
29
|
+
|
30
|
+
it(`Video response : If user selects \'Compact\' option from \'video recorder style\' toggle buttons, then \'Record\' button and \'Click the button to start recording...\' help text should be displayed in the preview tab`, () => {
|
23
31
|
utilities.verifyElementVisibilityState(videoResponsePage.recordButtonCompactPreview(), 'visible');
|
24
32
|
utilities.verifyInnerText(videoResponsePage.recordButtonCompactPreview(), 'Record');
|
25
33
|
utilities.verifyInnerText(videoResponsePage.recordingHelpTextCompactPreview(), 'Click the button to start recording...');
|
26
34
|
utilities.verifyElementVisibilityState(videoResponsePage.recordingHelpTextCompactPreview(), 'visible');
|
35
|
+
cy.eyesCheckWindow(`Video response : Compact video recorder style`);
|
27
36
|
});
|
28
37
|
|
29
38
|
it('CSS of Preview section', { tags: 'css' }, () => {
|
@@ -139,7 +148,7 @@ describe('Preview of Video response for compact recorder style', () => {
|
|
139
148
|
cy.checkAccessibility(videoResponsePage.previewTabQuestionWrapper());
|
140
149
|
});
|
141
150
|
|
142
|
-
it(
|
151
|
+
it(`Video response: When the recorder is in paused state and the user clicks on the \'Resume recording\' button the recording should get resumed from where it was paused. Resume recording button should update to Pause button and the help text should update to "Recording...". Resume icon button should get replaced with Pause icon button in the flyout, user should be able to view the duration of their recorded video in minutes, displayed as \'(min:secs / min:sec)\'. Stop button should be displayed in preview tab.`, () => {
|
143
152
|
videoResponsePage.steps.resumeRecordingCompactPreview();
|
144
153
|
utilities.verifyElementVisibilityState(videoResponsePage.resumeRecordingButtonCompactPreview(), 'notExist');
|
145
154
|
utilities.verifyElementVisibilityState(videoResponsePage.pauseRecordingButtonCompactPreview(), 'visible');
|
@@ -148,6 +157,7 @@ describe('Preview of Video response for compact recorder style', () => {
|
|
148
157
|
videoResponsePage.steps.verifyRecordingStatusCompactPreview('Recording...');
|
149
158
|
videoResponsePage.steps.addWaitToRecord(1000);
|
150
159
|
videoResponsePage.steps.verifyRecordingLengthAfterResumingCompactPreview();
|
160
|
+
cy.eyesCheckWindow(`Video response : When the recorder is in paused state and the user clicks on the Resume recording button the recording should get resumed from where it was paused`);
|
151
161
|
});
|
152
162
|
|
153
163
|
it('When the recording is inprogress and user clicks on \'Stop\' button, recording should stop. The recording should get saved and recorded video, progress bar, volume control, playback speed buttons should be displayed. Playback time of the recorded video should be displayed as \'(min:secs / min:sec)\'. Stop button should get replaced with Retake button and Play button should be displayed.', () => {
|
@@ -196,7 +206,7 @@ describe('Preview of Video response for compact recorder style', () => {
|
|
196
206
|
utilities.verifyElementVisibilityState(videoResponsePage.playPlaybackButtonCompactPreview(), 'visible');
|
197
207
|
});
|
198
208
|
|
199
|
-
it(
|
209
|
+
it(`Video response : When recording is inprogress, recording should stop at maximum recording duration and \'Stop\' button should get replaced with Retake button. Playback button should be displayed in enabled state.`, () => {
|
200
210
|
cy.log('Pre-step: Switch to edit tab and set maximum recording duration to 10 secs')
|
201
211
|
videoResponsePage.steps.switchToEditTab();
|
202
212
|
videoResponsePage.steps.setMaximumRecordingDuration(40);
|
@@ -209,6 +219,7 @@ describe('Preview of Video response for compact recorder style', () => {
|
|
209
219
|
utilities.verifyElementVisibilityState(videoResponsePage.stopRecordingButtonCompactPreview(), 'notExist');
|
210
220
|
utilities.verifyElementVisibilityState(videoResponsePage.retakeButtonCompactPreview(), 'visible');
|
211
221
|
utilities.verifyElementVisibilityState(videoResponsePage.playPlaybackButtonCompactPreview(), 'visible');
|
222
|
+
cy.eyesCheckWindow(`Video response : Recording should stop at maximum recording duration and Stop button should get replaced with Retake button`);
|
212
223
|
});
|
213
224
|
|
214
225
|
it('When the user updates maximum recorder length the recording should stop at the updated recorder length', () => {
|
@@ -14,6 +14,14 @@ describe('Create item page - Video response: Grading view, Correct answer view c
|
|
14
14
|
cy.loginAs('admin');
|
15
15
|
});
|
16
16
|
|
17
|
+
beforeEach(() => {
|
18
|
+
cy.startApplitools();
|
19
|
+
});
|
20
|
+
|
21
|
+
afterEach(() => {
|
22
|
+
cy.eyesClose();
|
23
|
+
});
|
24
|
+
|
17
25
|
if (views.includes('Grading view')) {
|
18
26
|
describe('Grading view contents', { tags: 'smoke' }, () => {
|
19
27
|
let actualVideoSeekedInPercent = 50
|
@@ -43,9 +51,10 @@ describe('Create item page - Video response: Grading view, Correct answer view c
|
|
43
51
|
utilities.verifyElementVisibilityState(videoResponsePage.questionInstructionsText(), 'visible');
|
44
52
|
});
|
45
53
|
|
46
|
-
it('The response submitted by the student should be visible in the playback player of the grading view.', () => {
|
54
|
+
it('Video response : The response submitted by the student should be visible in the playback player of the grading view.', () => {
|
47
55
|
utilities.verifyElementVisibilityState(videoResponsePage.standardPreviewPlaybackWrapper(), 'visible');
|
48
56
|
videoResponsePage.steps.verifyVideoPlaybackTimer('0:00', '0:12');
|
57
|
+
cy.eyesCheckWindow(`Video response - Grading view contents`);
|
49
58
|
});
|
50
59
|
|
51
60
|
it('When the user clicks on \'Play\' button, then the video should start playing. Timer should display the amount of video that has been played and the total video length in (mm:ss)/(mm:ss) format.', () => {
|
@@ -54,12 +63,13 @@ describe('Create item page - Video response: Grading view, Correct answer view c
|
|
54
63
|
videoResponsePage.steps.verifyVideoPlaybackTimer('0:03', '0:12');
|
55
64
|
});
|
56
65
|
|
57
|
-
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', () => {
|
66
|
+
it('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', () => {
|
58
67
|
videoResponsePage.steps.verifyVideoPlaybackTimer('0:05', '0:12');
|
59
68
|
videoResponsePage.steps.pauseAndVerifyProgressBarSliderPosition();
|
60
69
|
videoResponsePage.steps.verifyVideoPlaybackTimer('0:05', '0:12');
|
61
70
|
utilities.verifyElementVisibilityState(videoResponsePage.playbackPlayButton(), 'visible');
|
62
71
|
utilities.verifyElementVisibilityState(videoResponsePage.playbackPauseButton(), 'notExist');
|
72
|
+
cy.eyesCheckWindow(`Video response : Grading view - Verify progress bar and timer stop, and Pause button is replaced with Play button`);
|
63
73
|
});
|
64
74
|
|
65
75
|
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', () => {
|
@@ -121,8 +131,9 @@ describe('Create item page - Video response: Grading view, Correct answer view c
|
|
121
131
|
});
|
122
132
|
}
|
123
133
|
|
124
|
-
it('A download button should be displayed in the playback player', () => {
|
134
|
+
it('Video response : A download button should be displayed in the playback player', () => {
|
125
135
|
utilities.verifyElementVisibilityState(videoResponsePage.downloadVideoButton(), 'visible');
|
136
|
+
cy.eyesCheckWindow(`Video response: Grading view - Verify download button is displayed in the playback player.`);
|
126
137
|
});
|
127
138
|
|
128
139
|
it('Empty score input field and total score should be displayed', () => {
|
@@ -170,8 +181,9 @@ describe('Create item page - Video response: Grading view, Correct answer view c
|
|
170
181
|
|
171
182
|
correctAnswerViewPage.tests.verifyManualScoredQuestionHelpTextCorrectAnswerPage();
|
172
183
|
|
173
|
-
it('The points alloted to the question should be displayed', () => {
|
184
|
+
it('Video response: The points alloted to the question should be displayed', () => {
|
174
185
|
correctAnswerViewPage.steps.verifyAvailablePoints(10);
|
186
|
+
cy.eyesCheckWindow('Video response: Correct answer view contents');
|
175
187
|
});
|
176
188
|
});
|
177
189
|
}
|