itemengine-cypress-automation 1.0.193-packageUpdated-b3f3d0b.0 → 1.0.193

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. package/cypress/e2e/ILC/AudioPlayerNew/allSupportedFileTypes.js +3 -3
  2. package/cypress/e2e/ILC/AudioPlayerNew/audioOverviewAndTranscript.js +568 -0
  3. package/cypress/e2e/ILC/AudioPlayerNew/barAudioPlayerStyle.js +4 -4
  4. package/cypress/e2e/ILC/AudioPlayerNew/compactAudioPlayerStyle.js +5 -5
  5. package/cypress/e2e/ILC/AudioPlayerNew/customizePlayerLayoutSettings.js +2 -2
  6. package/cypress/e2e/ILC/AudioPlayerNew/headerSection.js +125 -0
  7. package/cypress/e2e/ILC/AudioPlayerNew/previewContents.smoke.js +5 -5
  8. package/cypress/e2e/ILC/AudioPlayerNew/standardAudioPlayerStyle.js +4 -4
  9. package/cypress/e2e/ILC/AudioPlayerNew/studentViewSettings.js +3 -3
  10. package/cypress/e2e/ILC/AudioPlayerNew/uploadAndAddAudioFile.js +19 -17
  11. package/cypress/e2e/ILC/ChartsBar/previewContentsForAllViews.smoke.js +7 -4
  12. package/cypress/e2e/ILC/ChartsLine/allOrNothingScoringForAllViews.smoke.js +366 -0
  13. package/cypress/e2e/ILC/ChartsLine/checkAnswerFunctionalityForAllViews.smoke.js +183 -0
  14. package/cypress/e2e/ILC/ChartsLine/gradingViewAndCorrectAnswerView.smoke.js +281 -0
  15. package/cypress/e2e/ILC/ChartsLine/previewContentsForAllViews.smoke.js +595 -0
  16. package/cypress/e2e/ILC/GridFill/allOrNothingBasicForAllViews.smoke.js +8 -8
  17. package/cypress/e2e/ILC/ImageHighlight/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +241 -0
  18. package/cypress/e2e/ILC/ImageHighlight/Scoring/allOrNothingWithCorrectPointsEqualToAlternativePoints.js +241 -0
  19. package/cypress/e2e/ILC/ImageHighlight/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternatePoints.js +285 -0
  20. package/cypress/e2e/ILC/ImageHighlight/Scoring/manuallyAndNonScored.js +164 -0
  21. package/cypress/e2e/ILC/ImageHighlight/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +281 -0
  22. package/cypress/e2e/ILC/ImageHighlight/Scoring/partialDifferentWeightsScoring.js +467 -0
  23. package/cypress/e2e/ILC/ImageHighlight/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +250 -0
  24. package/cypress/e2e/ILC/ImageHighlight/Scoring/partialDifferentWeigtsCorrectPointsGreaterThanAlternativePoints.js +281 -0
  25. package/cypress/e2e/ILC/ImageHighlight/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +260 -0
  26. package/cypress/e2e/ILC/ImageHighlight/Scoring/partialEqualWeightsScoring.js +184 -0
  27. package/cypress/e2e/ILC/ImageHighlight/Scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +229 -0
  28. package/cypress/e2e/ILC/ImageHighlight/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +261 -0
  29. package/cypress/e2e/ILC/chartsDotsPlot/allOrNothingForAllViews.smoke.js +409 -0
  30. package/cypress/e2e/ILC/chartsDotsPlot/checkAnswerFunctionalityForAllViews.smoke.js +199 -0
  31. package/cypress/e2e/ILC/chartsDotsPlot/gradingViewAndCorrectAnswerView.smoke.js +223 -0
  32. package/cypress/e2e/ILC/chartsDotsPlot/previewContentsForAllViews.smoke.js +402 -0
  33. package/cypress/pages/audioPlayerPage.js +229 -9
  34. package/cypress/pages/chartsBarPage.js +2 -70
  35. package/cypress/pages/chartsDotPlotPage.js +986 -3
  36. package/cypress/pages/chartsLinePage.js +368 -9
  37. package/cypress/pages/components/autoScoredScoringSectionMultiResponseType.js +0 -1
  38. package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +3 -0
  39. package/cypress/pages/components/backgroundImageUploadComponent.js +1 -1
  40. package/cypress/pages/components/barAndLineChartComponent.js +27 -1
  41. package/cypress/pages/components/chartsCommonComponent.js +31 -2
  42. package/cypress/pages/components/createQuestionBasePage.js +1 -0
  43. package/cypress/pages/components/layoutSectionComponent.js +2 -2
  44. package/cypress/pages/components/singleMultipleSelectionModeComponent.js +5 -0
  45. package/cypress/pages/components/toolSettingsComponent.js +2 -2
  46. package/cypress/pages/feedbackScalePage.js +1 -1
  47. package/cypress/pages/gridFillPage.js +13 -6
  48. package/cypress/pages/imageHighlightPage.js +308 -2
  49. package/cypress/pages/numberLinePage.js +40 -16
  50. package/cypress/pages/videoResponsePage.js +350 -6
  51. package/package.json +1 -1
@@ -0,0 +1,281 @@
1
+ import { chartsLinePage, correctAnswerViewPage, itemPreviewPage, studentViewPage } from "../../../pages";
2
+ import { gradingViewPage } from "../../../pages";
3
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
4
+ import utilities from "../../../support/helpers/utilities";
5
+ const css = Cypress.env('css');
6
+
7
+ let gradingAndCorrectAnsView = ['Grading view', 'Correct answer view']
8
+ const views = utilities.getViews(gradingAndCorrectAnsView);
9
+ var itemReferenceID = "";
10
+
11
+
12
+ describe('Create item page - Charts - Line: Grading view, Correct answer view contents', () => {
13
+ before(() => {
14
+ cy.loginAs('admin');
15
+ });
16
+
17
+ if (views.includes('Grading view')) {
18
+ describe('Grading view contents', { tags: 'smoke' }, () => {
19
+ abortEarlySetup();
20
+ before(() => {
21
+ chartsLinePage.steps.navigateToCreateQuestion('charts');
22
+ cy.barsPreLoaderWait();
23
+ chartsLinePage.steps.addTextInQuestionInstructionsInputField('Set the points on the chart for the profits of the years');
24
+ chartsLinePage.steps.selectLineButton();
25
+ chartsLinePage.steps.selectAddBarOrPointToolbarOption();
26
+ chartsLinePage.steps.addBarOrPointInChartInSelectChartTypeSection();
27
+ chartsLinePage.steps.setGraphTitle('Graph of profits');
28
+ chartsLinePage.steps.setYAxisLabel('Profit');
29
+ chartsLinePage.steps.setXAxisLabel('Year');
30
+ chartsLinePage.steps.setMaxYValue(20);
31
+ chartsLinePage.steps.setPointValueInSelectChartTypeSection({ pointIndex: 0, value: 1, range: 20 });
32
+ chartsLinePage.steps.setPointValueInSelectChartTypeSection({ pointIndex: 1, value: 2, range: 20 });
33
+ chartsLinePage.steps.setPointValueInSelectChartTypeSection({ pointIndex: 2, value: 3, range: 20 });
34
+ chartsLinePage.steps.setPointValueInSelectChartTypeSection({ pointIndex: 3, value: 4, range: 20 });
35
+ chartsLinePage.steps.lockPoint(1);
36
+ chartsLinePage.steps.allotPoints(10);
37
+ chartsLinePage.steps.setPointValueInSpecifyCorrectAnswerSection({ pointIndex: 0, value: 2, range: 20 });
38
+ chartsLinePage.steps.setPointValueInSpecifyCorrectAnswerSection({ pointIndex: 2, value: 5, range: 20 });
39
+ chartsLinePage.steps.setPointValueInSpecifyCorrectAnswerSection({ pointIndex: 3, value: 1, range: 20 });
40
+ chartsLinePage.steps.addBarOrPointInChartInSpecifyCorrectAnswerSection();
41
+ chartsLinePage.steps.setPointValueInSpecifyCorrectAnswerSection({ pointIndex: 4, value: 8, range: 20 });
42
+ chartsLinePage.steps.clickOnSaveQuestionButton();
43
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
44
+ //Global variable issue, not working inside before
45
+ itemPreviewPage.referenceID()
46
+ .invoke('text')
47
+ .then(($refID) => {
48
+ itemReferenceID = $refID;
49
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
50
+ chartsLinePage.steps.addBarOrPointInChartInPreviewTab();
51
+ chartsLinePage.steps.setPointValueInPreviewTab({ pointIndex: 2, value: 5, range: 20 });
52
+ chartsLinePage.steps.setPointValueInPreviewTab({ pointIndex: 4, value: 10, range: 20 });
53
+ studentViewPage.steps.submitResponse();
54
+ studentViewPage.steps.clickOnGoToGradingViewButton();
55
+ });
56
+ });
57
+
58
+ it('Question instructions should be visible', () => {
59
+ utilities.verifyInnerText(chartsLinePage.questionInstructionsText(), 'Set the points on the chart for the profits of the years');
60
+ utilities.verifyElementVisibilityState(chartsLinePage.questionInstructionsText(), 'visible');
61
+ });
62
+
63
+ it('Graph title, Y axis label and X axis label should be displayed in the chart', () => {
64
+ utilities.verifyInnerText(chartsLinePage.previewTabGraphTitle(), 'Graph of profits');
65
+ utilities.verifyInnerText(chartsLinePage.previewTabYAxisLabelButton(), 'Profit');
66
+ utilities.verifyInnerText(chartsLinePage.previewTabXAxisLabelButton(), 'Year');
67
+ });
68
+
69
+ it('Toolbar, toolbar options and control actions(Undo, Redo, Reset) should not be displayed', () => {
70
+ utilities.verifyElementVisibilityState(chartsLinePage.previewTabTool(), 'notExist');
71
+ utilities.verifyElementVisibilityState(chartsLinePage.previewTabToolBarWrapper(), 'notExist');
72
+ });
73
+
74
+ it('The response submitted by the student should be displayed in grading view', () => {
75
+ chartsLinePage.steps.verifyPointValueInPreviewTab({ pointIndex: 0, value: 1, range: 20 });
76
+ chartsLinePage.steps.verifyPointValueInPreviewTab({ pointIndex: 1, value: 2, range: 20 });
77
+ chartsLinePage.steps.verifyPointValueInPreviewTab({ pointIndex: 2, value: 5, range: 20 });
78
+ chartsLinePage.steps.verifyPointValueInPreviewTab({ pointIndex: 3, value: 4, range: 20 });
79
+ chartsLinePage.steps.verifyPointValueInPreviewTab({ pointIndex: 4, value: 10, range: 20 });
80
+ });
81
+
82
+ it('The locked point should have lock icon displayed in it', () => {
83
+ chartsLinePage.steps.verifyPointIsLockedInPreviewTab(1);
84
+ });
85
+
86
+ it('Correct and Incorrect icons should be displayed in each line graph and locked point should not have any correct or incorrect icon', () => {
87
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconInPreviewTab(0, 'incorrect');
88
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconNotExistsInPreviewTab(1);
89
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconInPreviewTab(2, 'correct');
90
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconInPreviewTab(3, 'incorrect');
91
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconInPreviewTab(4, 'incorrect');
92
+ });
93
+
94
+ it('\'Your answer is incorrect\' label should be displayed', () => {
95
+ chartsLinePage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
96
+ });
97
+
98
+ it('All the points in grading view should be non-editable', () => {
99
+ chartsLinePage.steps.keyBoardUpPointInPreviewTab(0);
100
+ chartsLinePage.steps.keyBoardUpPointInPreviewTab(1);
101
+ chartsLinePage.steps.verifyPointValueInPreviewTab({ pointIndex: 0, value: 1, range: 20 });
102
+ chartsLinePage.steps.verifyPointValueInPreviewTab({ pointIndex: 1, value: 2, range: 20 });
103
+ for (let index = 0; index < 5; index++) {
104
+ utilities.triggerMouseover(utilities.getNthElement(chartsLinePage.previewTabPoint(), index));
105
+ utilities.verifyElementVisibilityState(chartsLinePage.barAndPointTooltipWrapper(), 'notExist');
106
+ }
107
+ });
108
+
109
+ it('Correct answer label should be displayed', () => {
110
+ utilities.verifyInnerText(chartsLinePage.correctAnswersLabel(), 'Correct answers');
111
+ utilities.verifyElementVisibilityState(chartsLinePage.correctAnswersLabel(), 'visible');
112
+ });
113
+
114
+ it('Correct answer should be displayed in the correct answer section', () => {
115
+ chartsLinePage.steps.verifyPointValueInCorrectAnswerSection({ pointIndex: 0, value: 2, range: 20 });
116
+ chartsLinePage.steps.verifyPointValueInCorrectAnswerSection({ pointIndex: 1, value: 2, range: 20 });
117
+ chartsLinePage.steps.verifyPointValueInCorrectAnswerSection({ pointIndex: 2, value: 5, range: 20 });
118
+ chartsLinePage.steps.verifyPointValueInCorrectAnswerSection({ pointIndex: 3, value: 1, range: 20 });
119
+ chartsLinePage.steps.verifyPointValueInCorrectAnswerSection({ pointIndex: 4, value: 8, range: 20 });
120
+ chartsLinePage.steps.verifyPointCorrectIconInCorrectAnswerSection(0);
121
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconNotExistsInCorrectAnswerSection(1);
122
+ chartsLinePage.steps.verifyPointCorrectIconInCorrectAnswerSection(2);
123
+ chartsLinePage.steps.verifyPointCorrectIconInCorrectAnswerSection(3);
124
+ chartsLinePage.steps.verifyPointCorrectIconInCorrectAnswerSection(4);
125
+ chartsLinePage.steps.verifyGraphTitleInCorrectAnswerSection('Graph of profits');
126
+ chartsLinePage.steps.verifyYAxisLabelInCorrectAnswerSection('Profit');
127
+ chartsLinePage.steps.verifyXAxisLabelInCorrectAnswerSection('Year');
128
+ });
129
+
130
+ it('Points and the total score should be displayed', () => {
131
+ gradingViewPage.steps.verifyGradingViewScore(0, 10);
132
+ });
133
+
134
+ it('CSS of grading view', { tags: 'css' }, () => {
135
+ utilities.verifyCSS(chartsLinePage.previewTabGraphTitle(), {
136
+ 'color': css.color.text,
137
+ 'font-size': css.fontSize.default,
138
+ 'font-weight': css.fontWeight.bold
139
+ });
140
+ utilities.verifyCSS(chartsLinePage.previewTabYAxisLabelButton(), {
141
+ 'color': css.color.text,
142
+ 'font-size': css.fontSize.default,
143
+ 'font-weight': css.fontWeight.bold
144
+ });
145
+ utilities.verifyCSS(chartsLinePage.previewTabXAxisLabelButton(), {
146
+ 'color': css.color.text,
147
+ 'font-size': css.fontSize.default,
148
+ 'font-weight': css.fontWeight.bold
149
+ });
150
+ utilities.verifyCSS(chartsLinePage.lineChartDragIcon().eq(0), {
151
+ 'background-color': css.color.incorrectAnswer
152
+ });
153
+ utilities.verifyCSS(chartsLinePage.lineChartDragIcon().eq(1), {
154
+ 'background-color': css.color.lineChartDragIcon
155
+ });
156
+ utilities.verifyCSS(chartsLinePage.lineChartDragIcon().last(), {
157
+ 'background-color': css.color.correctAnswer
158
+ });
159
+ utilities.verifyCSS(chartsLinePage.previewTabConnectorLine().eq(0), {
160
+ 'background-color': css.color.lineChartConnectorLine
161
+ });
162
+ utilities.verifyCSS(chartsLinePage.previewTabConnectorLine().last(), {
163
+ 'background-color': css.color.lineChartConnectorLine
164
+ });
165
+ utilities.verifyCSS(chartsLinePage.pointLockIcon(), {
166
+ 'background-color': css.color.defaultBackground,
167
+ });
168
+ });
169
+
170
+ it('Accessibility of grading view', { tags: 'a11y' }, () => {
171
+ cy.checkAccessibility(chartsLinePage.previewTabPoint().parents('[class*="question-preview-wrapper"]'));
172
+ });
173
+ });
174
+ }
175
+
176
+ if (views.includes('Correct answer view')) {
177
+ describe('Correct answer view contents', { tags: 'smoke' }, () => {
178
+ abortEarlySetup();
179
+ before(() => {
180
+ chartsLinePage.steps.navigateToCreateQuestion('charts');
181
+ cy.barsPreLoaderWait();
182
+ chartsLinePage.steps.addTextInQuestionInstructionsInputField('Set the points on the chart for the profits of the years');
183
+ chartsLinePage.steps.selectLineButton();
184
+ chartsLinePage.steps.selectAddBarOrPointToolbarOption();
185
+ chartsLinePage.steps.addBarOrPointInChartInSelectChartTypeSection();
186
+ chartsLinePage.steps.setGraphTitle('Graph of profits');
187
+ chartsLinePage.steps.setYAxisLabel('Profit');
188
+ chartsLinePage.steps.setXAxisLabel('Year');
189
+ chartsLinePage.steps.setMaxYValue(20);
190
+ chartsLinePage.steps.setPointValueInSelectChartTypeSection({ pointIndex: 0, value: 1, range: 20 });
191
+ chartsLinePage.steps.setPointValueInSelectChartTypeSection({ pointIndex: 1, value: 2, range: 20 });
192
+ chartsLinePage.steps.setPointValueInSelectChartTypeSection({ pointIndex: 2, value: 3, range: 20 });
193
+ chartsLinePage.steps.setPointValueInSelectChartTypeSection({ pointIndex: 3, value: 4, range: 20 });
194
+ chartsLinePage.steps.lockPoint(1);
195
+ chartsLinePage.steps.allotPoints(10);
196
+ chartsLinePage.steps.setPointValueInSpecifyCorrectAnswerSection({ pointIndex: 0, value: 2, range: 20 });
197
+ chartsLinePage.steps.setPointValueInSpecifyCorrectAnswerSection({ pointIndex: 2, value: 5, range: 20 });
198
+ chartsLinePage.steps.setPointValueInSpecifyCorrectAnswerSection({ pointIndex: 3, value: 1, range: 20 });
199
+ chartsLinePage.steps.addBarOrPointInChartInSpecifyCorrectAnswerSection();
200
+ chartsLinePage.steps.setPointValueInSpecifyCorrectAnswerSection({ pointIndex: 4, value: 8, range: 20 });
201
+ chartsLinePage.steps.clickOnSaveQuestionButton();
202
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
203
+ //Global variable issue, not working inside before
204
+ itemPreviewPage.referenceID()
205
+ .invoke('text')
206
+ .then(($refID) => {
207
+ itemReferenceID = $refID
208
+ cy.visit(`/item-engine/demo/render-item/correct-answer-view/${utilities.base64Encoding(itemReferenceID)}`);
209
+ });
210
+ });
211
+
212
+ it('Question instructions should be visible', () => {
213
+ utilities.verifyInnerText(chartsLinePage.questionInstructionsText(), 'Set the points on the chart for the profits of the years');
214
+ utilities.verifyElementVisibilityState(chartsLinePage.questionInstructionsText(), 'visible');
215
+ });
216
+
217
+ it('Graph title, Y axis label and X axis label should be displayed in the chart', () => {
218
+ utilities.verifyInnerText(chartsLinePage.previewTabGraphTitle(), 'Graph of profits');
219
+ utilities.verifyInnerText(chartsLinePage.previewTabYAxisLabelButton(), 'Profit');
220
+ utilities.verifyInnerText(chartsLinePage.previewTabXAxisLabelButton(), 'Year');
221
+ });
222
+
223
+ it('Toolbar, toolbar options and control actions(Undo, Redo, Reset) should not be displayed', () => {
224
+ utilities.verifyElementVisibilityState(chartsLinePage.previewTabTool(), 'notExist');
225
+ utilities.verifyElementVisibilityState(chartsLinePage.previewTabToolBarWrapper(), 'notExist');
226
+ });
227
+
228
+ it('The correct answer set by user should be displayed in the correct answer view', () => {
229
+ chartsLinePage.steps.verifyPointValueInPreviewTab({ pointIndex: 0, value: 2, range: 20 });
230
+ chartsLinePage.steps.verifyPointValueInPreviewTab({ pointIndex: 1, value: 2, range: 20 });
231
+ chartsLinePage.steps.verifyPointValueInPreviewTab({ pointIndex: 2, value: 5, range: 20 });
232
+ chartsLinePage.steps.verifyPointValueInPreviewTab({ pointIndex: 3, value: 1, range: 20 });
233
+ chartsLinePage.steps.verifyPointValueInPreviewTab({ pointIndex: 4, value: 8, range: 20 });
234
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconInPreviewTab(0, 'correct');
235
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconNotExistsInPreviewTab(1);
236
+ chartsLinePage.steps.verifyPointIsLockedInPreviewTab(1);
237
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconInPreviewTab(2, 'correct');
238
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconInPreviewTab(3, 'correct');
239
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconInPreviewTab(4, 'correct');
240
+ });
241
+
242
+ it('The points alloted to the question should be displayed', () => {
243
+ correctAnswerViewPage.steps.verifyAvailablePoints(10);
244
+ });
245
+
246
+ it('CSS of correct answer section', { tags: 'css' }, () => {
247
+ utilities.verifyCSS(chartsLinePage.previewTabGraphTitle(), {
248
+ 'color': css.color.text,
249
+ 'font-size': css.fontSize.default,
250
+ 'font-weight': css.fontWeight.bold
251
+ });
252
+ utilities.verifyCSS(chartsLinePage.previewTabYAxisLabelButton(), {
253
+ 'color': css.color.text,
254
+ 'font-size': css.fontSize.default,
255
+ 'font-weight': css.fontWeight.bold
256
+ });
257
+ utilities.verifyCSS(chartsLinePage.previewTabXAxisLabelButton(), {
258
+ 'color': css.color.text,
259
+ 'font-size': css.fontSize.default,
260
+ 'font-weight': css.fontWeight.bold
261
+ });
262
+ utilities.verifyCSS(chartsLinePage.lineChartDragIcon().eq(0), {
263
+ 'background-color': css.color.correctAnswer
264
+ });
265
+ utilities.verifyCSS(chartsLinePage.lineChartDragIcon().eq(1), {
266
+ 'background-color': css.color.lineChartDragIcon
267
+ });
268
+ utilities.verifyCSS(chartsLinePage.previewTabConnectorLine().eq(0), {
269
+ 'background-color': css.color.lineChartConnectorLine
270
+ });
271
+ utilities.verifyCSS(chartsLinePage.pointLockIcon(), {
272
+ 'background-color': css.color.defaultBackground,
273
+ });
274
+ });
275
+
276
+ it('Accessibility of correct answer section', { tags: 'a11y' }, () => {
277
+ cy.checkAccessibility(chartsLinePage.previewTabPoint().parents('[class*="question-preview-wrapper"]'));
278
+ });
279
+ });
280
+ }
281
+ });