itemengine-cypress-automation 1.0.199-20thMayRepoUpdate-6af11c9.0 → 1.0.200-23rdMayUpdates-264dc55.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. package/cypress/e2e/ILC/AudioPlayerNew/allSupportedFileTypes.js +3 -1
  2. package/cypress/e2e/ILC/AudioResponseNew/gradingViewAndCorrectAnswerViewContents.smoke.js +1 -0
  3. package/cypress/e2e/ILC/ChartsBar/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +348 -0
  4. package/cypress/e2e/ILC/ChartsBar/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +346 -0
  5. package/cypress/e2e/ILC/ChartsBar/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +401 -0
  6. package/cypress/e2e/ILC/ChartsBar/Scoring/allOrNothingPenaltyScoring.js +53 -0
  7. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightBasic.js +251 -0
  8. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightBasic.js +251 -0
  9. package/cypress/e2e/ILC/ChartsBar/allOrNothingScoringForAllViews.smoke.js +366 -0
  10. package/cypress/e2e/ILC/ChartsBar/checkAnswerFunctionalityForAllViews.smoke.js +2 -2
  11. package/cypress/e2e/ILC/ChartsLine/allOrNothingScoringForAllViews.smoke.js +367 -0
  12. package/cypress/e2e/ILC/ChartsLine/gradingViewAndCorrectAnswerView.smoke.js +3 -3
  13. package/cypress/e2e/ILC/Compass/compassEditTabBasicsSection.js +134 -0
  14. package/cypress/e2e/ILC/Compass/compassPreviewContent.smoke.js +88 -0
  15. package/cypress/e2e/ILC/FeedbackScaleNew/editTabBasicSection.js +2 -1
  16. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editTabBasicSection.js +3 -3
  17. package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +2 -2
  18. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +1 -0
  19. package/cypress/e2e/ILC/Graphing/layoutAndGridOptions.js +4 -2
  20. package/cypress/e2e/ILC/Graphing/toolsControlsAndBackgroundSection.js +3 -3
  21. package/cypress/e2e/ILC/ListOrderingNew/horizontalOrientationAllOrNothingForAllViews.smoke.js +1 -1
  22. package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +5 -5
  23. package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +4 -4
  24. package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +1 -1
  25. package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +4 -4
  26. package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +1 -1
  27. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodEquivalentStructures.js +4 -4
  28. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchExact.js +3 -3
  29. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchValue.js +4 -4
  30. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodSymbolsAreEquivalent.js +4 -4
  31. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodValueIsEquivalent.js +4 -4
  32. package/cypress/e2e/ILC/UploadResponse/previewContentsForAllViews.smoke.js +1 -1
  33. package/cypress/e2e/ILC/UploadResponse/studentViewSettingsSection.js +1 -16
  34. package/cypress/e2e/ILC/chartsDotsPlot/checkAnswerFunctionalityForAllViews.smoke.js +0 -1
  35. package/cypress/e2e/ILC/chartsDotsPlot/editTabScoring.js +223 -0
  36. package/cypress/e2e/ILC/chartsDotsPlot/headerSection.js +110 -0
  37. package/cypress/e2e/ILC/chartsDotsPlot/minimumScoringPenaltyPointsAndRoundingDropdown.js +199 -0
  38. package/cypress/e2e/ILC/chartsDotsPlot/scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +375 -0
  39. package/cypress/e2e/ILC/chartsDotsPlot/scoring/allOrNothingWithCorrectPointsEqualToAlternativePoints.js +382 -0
  40. package/cypress/e2e/ILC/chartsDotsPlot/scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +422 -0
  41. package/cypress/e2e/ILC/chartsDotsPlot/scoring/manualAndNonScoredScoring.js +159 -0
  42. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsBasic.js +233 -0
  43. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +380 -0
  44. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +293 -0
  45. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +382 -0
  46. package/cypress/e2e/ILC/chartsDotsPlot/scoring/toleranceThresholdScoring.js +184 -0
  47. package/cypress/e2e/ILC/chartsDotsPlot/toolSettings.js +76 -0
  48. package/cypress/pages/chartsBarPage.js +23 -15
  49. package/cypress/pages/chartsDotPlotPage.js +130 -7
  50. package/cypress/pages/chartsLinePage.js +11 -11
  51. package/cypress/pages/compassPage.js +57 -0
  52. package/cypress/pages/components/autoScoredScoringSectionMultiResponseType.js +1 -0
  53. package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +3 -0
  54. package/cypress/pages/components/barAndLineChartComponent.js +7 -7
  55. package/cypress/pages/components/chartsCommonComponent.js +55 -7
  56. package/cypress/pages/components/createQuestionBasePage.js +1 -1
  57. package/cypress/pages/components/optionsWrapperComponent.js +1 -1
  58. package/cypress/pages/components/questionInputFieldComponent.js +2 -2
  59. package/cypress/pages/feedbackScalePage.js +3 -1
  60. package/cypress/pages/graphingPage.js +1 -1
  61. package/cypress/pages/imageHighlightPage.js +4 -434
  62. package/cypress/pages/index.js +2 -1
  63. package/cypress/pages/listOrderingPage.js +9 -9
  64. package/cypress/pages/textEntryMathPage.js +16 -16
  65. package/package.json +1 -1
@@ -0,0 +1,366 @@
1
+ import { dialogBoxBase, chartsBarPage, gradingViewPage, itemPreviewPage, studentViewPage } from "../../../pages";
2
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
3
+ import utilities from "../../../support/helpers/utilities";
4
+ const grepTags = Cypress.env('grepTags');
5
+ let correctAnswerViews = ['Question preview', 'Item preview', 'Grading view'];
6
+ const views = utilities.getViews(correctAnswerViews);
7
+ var itemReferenceID = "";
8
+
9
+ describe('Create item page - Charts - Bar: All or nothing ', () => {
10
+ before(() => {
11
+ cy.loginAs('admin');
12
+ });
13
+
14
+ if (!grepTags || !grepTags.includes('smoke')) {
15
+ describe('Question preview modes: Student view and Grading view', () => {
16
+ abortEarlySetup();
17
+ before(() => {
18
+ chartsBarPage.steps.navigateToCreateQuestion('charts');
19
+ cy.barsPreLoaderWait();
20
+ chartsBarPage.steps.setBarValueInSelectChartTypeSection({ barIndex: 0, value: 1, range: 10 });
21
+ chartsBarPage.steps.setBarValueInSelectChartTypeSection({ barIndex: 1, value: 2, range: 10 });
22
+ chartsBarPage.steps.setBarValueInSelectChartTypeSection({ barIndex: 2, value: 3, range: 10 });
23
+ chartsBarPage.steps.setBarValueInSelectChartTypeSection({ barIndex: 3, value: 4, range: 10 });
24
+ chartsBarPage.steps.switchToPreviewTab();
25
+ });
26
+
27
+ chartsBarPage.tests.verifyPreviewModesAndScoreWhenPointsAndCorrectAnswersIsNotSet();
28
+
29
+ it('When the user sets correct answer responses and allots points, then the alloted points should be displayed in the preview tab', () => {
30
+ chartsBarPage.steps.switchToEditTab();
31
+ chartsBarPage.steps.allotPoints(20);
32
+ chartsBarPage.steps.setBarValueInSpecifyCorrectAnswerSection({ barIndex: 0, value: 2, range: 10 });
33
+ chartsBarPage.steps.setBarValueInSpecifyCorrectAnswerSection({ barIndex: 1, value: 5, range: 10 });
34
+ chartsBarPage.steps.setBarValueInSpecifyCorrectAnswerSection({ barIndex: 2, value: 1, range: 10 });
35
+ chartsBarPage.steps.setBarValueInSpecifyCorrectAnswerSection({ barIndex: 3, value: 8, range: 10 });
36
+ chartsBarPage.steps.switchToPreviewTab();
37
+ chartsBarPage.steps.verifyPreviewScore(0, 20);
38
+ });
39
+
40
+ it('When the user attempts question in preview tab and switches to edit tab, then on re-switching to the preview tab, users response should not persist', () => {
41
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 0, value: 7, range: 10 });
42
+ chartsBarPage.steps.resetQuestionPreview();
43
+ chartsBarPage.steps.verifyBarHeightInPreviewTab({ barIndex: 0, barValue: 1, range: 10 });
44
+ chartsBarPage.steps.verifyBarHeightInPreviewTab({ barIndex: 1, barValue: 2, range: 10 });
45
+ chartsBarPage.steps.verifyBarHeightInPreviewTab({ barIndex: 2, barValue: 3, range: 10 });
46
+ chartsBarPage.steps.verifyBarHeightInPreviewTab({ barIndex: 3, barValue: 4, range: 10 });
47
+ });
48
+ });
49
+ };
50
+
51
+ views.forEach((view) => {
52
+ describe(`Charts - Bar: All or nothing scoring - ${view}`, { tags: 'smoke' }, () => {
53
+ abortEarlySetup();
54
+ before(() => {
55
+ switch (view) {
56
+ case 'Question preview':
57
+ chartsBarPage.steps.navigateToCreateQuestion('charts');
58
+ cy.barsPreLoaderWait();
59
+ chartsBarPage.steps.addTextInQuestionInstructionsInputField('Set the bar on the chart for the profits of the years');
60
+ chartsBarPage.steps.addBarOrPointInChartInSelectChartTypeSection();
61
+ chartsBarPage.steps.addBarOrPointInChartInSelectChartTypeSection();
62
+ chartsBarPage.steps.setBarValueInSelectChartTypeSection({ barIndex: 0, value: 3, range: 10 });
63
+ chartsBarPage.steps.setBarValueInSelectChartTypeSection({ barIndex: 1, value: 2, range: 10 });
64
+ chartsBarPage.steps.setBarValueInSelectChartTypeSection({ barIndex: 3, value: 3, range: 10 });
65
+ chartsBarPage.steps.lockBar(1);
66
+ chartsBarPage.steps.allotPoints(20);
67
+ chartsBarPage.steps.setBarValueInSpecifyCorrectAnswerSection({ barIndex: 0, value: 3, range: 10 });
68
+ chartsBarPage.steps.setBarValueInSpecifyCorrectAnswerSection({ barIndex: 2, value: 6, range: 10 });
69
+ chartsBarPage.steps.setBarValueInSpecifyCorrectAnswerSection({ barIndex: 3, value: 5, range: 10 });
70
+ chartsBarPage.steps.switchToPreviewTab();
71
+ break;
72
+ case 'Item preview':
73
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
74
+ itemPreviewPage.steps.switchToPreviewTab();
75
+ break;
76
+ case 'Grading view':
77
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
78
+ break;
79
+ }
80
+ });
81
+
82
+ beforeEach(() => {
83
+ switch (view) {
84
+ case 'Question preview':
85
+ chartsBarPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
86
+ chartsBarPage.steps.resetQuestionPreview();
87
+ break;
88
+ case 'Item preview':
89
+ itemPreviewPage.steps.switchToStudentView();
90
+ itemPreviewPage.steps.resetQuestionPreview();
91
+ break;
92
+ case 'Grading view':
93
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
94
+ break;
95
+ }
96
+ });
97
+
98
+ if (view === 'Question preview') {
99
+ after(() => {
100
+ chartsBarPage.steps.clickOnSaveQuestionButton();
101
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
102
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
103
+ });
104
+ };
105
+
106
+ it('When the user selects \'Grading\' view without attempting the question, the correct answer should be displayed in the correct answer section graph and your answer is incorrect status message should be displayed', () => {
107
+ if (view === 'Grading view') {
108
+ studentViewPage.steps.submitResponse();
109
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
110
+ studentViewPage.steps.clickOnGoToGradingViewButton();
111
+ gradingViewPage.steps.verifyGradingViewScore(0, 20);
112
+ } else {
113
+ chartsBarPage.steps.switchToGradingView();
114
+ chartsBarPage.steps.verifyPreviewScore(0, 20);
115
+ }
116
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(0, 'correct');
117
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconNotExistsInPreviewTab(1);
118
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(2, 'incorrect');
119
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(3, 'incorrect');
120
+ chartsBarPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
121
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 0, barValue: 3, range: 10 });
122
+ chartsBarPage.steps.verifyLockedBarInCorrectAnswerSection({ barIndex: 1, barValue: 2, range: 10 });
123
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 2, barValue: 6, range: 10 });
124
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 3, barValue: 5, range: 10 });
125
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 4, barValue: 0, range: 10 });
126
+ });
127
+
128
+ //Fully incorrect case
129
+ it('When the user incorrectly sets a bar which was correct by default, then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed, incorrect icons should be displayed on the incorrectly attempted bars and correct answer section should be displayed with the correct answers', () => {
130
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 0, value: 5, range: 10 });
131
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 4, value: 2, range: 10 });
132
+ if (view === 'Grading view') {
133
+ studentViewPage.steps.submitResponse();
134
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
135
+ studentViewPage.steps.clickOnGoToGradingViewButton();
136
+ gradingViewPage.steps.verifyGradingViewScore(0, 20);
137
+ } else {
138
+ chartsBarPage.steps.verifyPreviewScore(0, 20);
139
+ chartsBarPage.steps.switchToGradingView();
140
+ }
141
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(0, 'incorrect');
142
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconNotExistsInPreviewTab(1);
143
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(2, 'incorrect');
144
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(3, 'incorrect');
145
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(4, 'incorrect');
146
+ chartsBarPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
147
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 0, barValue: 3, range: 10 });
148
+ chartsBarPage.steps.verifyLockedBarInCorrectAnswerSection({ barIndex: 1, barValue: 2, range: 10 });
149
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 2, barValue: 6, range: 10 });
150
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 3, barValue: 5, range: 10 });
151
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 4, barValue: 0, range: 10 });
152
+ });
153
+
154
+ //Partially correct cases
155
+ it('When the user incorrectly sets a bar which was set to 0 and correct by default, then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed, incorrect icons should be displayed on the incorrectly attempted bars and correct answer section should be displayed with the correct answers', () => {
156
+ if (view === 'Grading view') {
157
+ studentViewPage.steps.clearResponses();
158
+ }
159
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 4, value: 5, range: 10 });
160
+ if (view === 'Grading view') {
161
+ studentViewPage.steps.submitResponse();
162
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
163
+ studentViewPage.steps.clickOnGoToGradingViewButton();
164
+ gradingViewPage.steps.verifyGradingViewScore(0, 20);
165
+ } else {
166
+ chartsBarPage.steps.verifyPreviewScore(0, 20);
167
+ chartsBarPage.steps.switchToGradingView();
168
+ }
169
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(0, 'correct');
170
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconNotExistsInPreviewTab(1);
171
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(2, 'incorrect');
172
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(3, 'incorrect');
173
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(4, 'incorrect');
174
+ chartsBarPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
175
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 0, barValue: 3, range: 10 });
176
+ chartsBarPage.steps.verifyLockedBarInCorrectAnswerSection({ barIndex: 1, barValue: 2, range: 10 });
177
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 2, barValue: 6, range: 10 });
178
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 3, barValue: 5, range: 10 });
179
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 4, barValue: 0, range: 10 });
180
+ });
181
+
182
+ it('When the user attempts the question partially correct by incorrectly setting a bar which was incorrect by default, then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed, correct icons should be displayed on the correctly attempted bars, incorrect icons should be displayed on the incorrectly attempted bars and correct answer section should be displayed with the correct answers', () => {
183
+ if (view === 'Grading view') {
184
+ studentViewPage.steps.clearResponses();
185
+ }
186
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 3, value: 2, range: 10 });
187
+ if (view === 'Grading view') {
188
+ studentViewPage.steps.submitResponse();
189
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
190
+ studentViewPage.steps.clickOnGoToGradingViewButton();
191
+ gradingViewPage.steps.verifyGradingViewScore(0, 20);
192
+ } else {
193
+ chartsBarPage.steps.verifyPreviewScore(0, 20);
194
+ chartsBarPage.steps.switchToGradingView();
195
+ }
196
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(0, 'correct');
197
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconNotExistsInPreviewTab(1);
198
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(2, 'incorrect');
199
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(3, 'incorrect');
200
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(4, 'correct');
201
+ chartsBarPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
202
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 0, barValue: 3, range: 10 });
203
+ chartsBarPage.steps.verifyLockedBarInCorrectAnswerSection({ barIndex: 1, barValue: 2, range: 10 });
204
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 2, barValue: 6, range: 10 });
205
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 3, barValue: 5, range: 10 });
206
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 4, barValue: 0, range: 10 });
207
+ });
208
+
209
+ it('When the user attempts the question partially correct by incorrectly setting a bar to zero which was incorrect by default, then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed, correct icons should be displayed on the correctly attempted bars, incorrect icons should be displayed on the incorrectly attempted bars and correct answer section should be displayed with the correct answers', () => {
210
+ if (view === 'Grading view') {
211
+ studentViewPage.steps.clearResponses();
212
+ }
213
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 3, value: 0, range: 10 });
214
+ if (view === 'Grading view') {
215
+ studentViewPage.steps.submitResponse();
216
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
217
+ studentViewPage.steps.clickOnGoToGradingViewButton();
218
+ gradingViewPage.steps.verifyGradingViewScore(0, 20);
219
+ } else {
220
+ chartsBarPage.steps.verifyPreviewScore(0, 20);
221
+ chartsBarPage.steps.switchToGradingView();
222
+ }
223
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(0, 'correct');
224
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconNotExistsInPreviewTab(1);
225
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(2, 'incorrect');
226
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(3, 'incorrect');
227
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(4, 'correct');
228
+ chartsBarPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
229
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 0, barValue: 3, range: 10 });
230
+ chartsBarPage.steps.verifyLockedBarInCorrectAnswerSection({ barIndex: 1, barValue: 2, range: 10 });
231
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 2, barValue: 6, range: 10 });
232
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 3, barValue: 5, range: 10 });
233
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 4, barValue: 0, range: 10 });
234
+ });
235
+
236
+ it('When the user attempts the question partially correct by incorrectly setting a bar which was set to zero by default, then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed, correct icons should be displayed on the correctly attempted bars, incorrect icons should be displayed on the incorrectly attempted bars and correct answer section should be displayed with the correct answers', () => {
237
+ if (view === 'Grading view') {
238
+ studentViewPage.steps.clearResponses();
239
+ }
240
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 2, value: 9, range: 10 });
241
+ if (view === 'Grading view') {
242
+ studentViewPage.steps.submitResponse();
243
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
244
+ studentViewPage.steps.clickOnGoToGradingViewButton();
245
+ gradingViewPage.steps.verifyGradingViewScore(0, 20);
246
+ } else {
247
+ chartsBarPage.steps.verifyPreviewScore(0, 20);
248
+ chartsBarPage.steps.switchToGradingView();
249
+ }
250
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(0, 'correct');
251
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconNotExistsInPreviewTab(1);
252
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(2, 'incorrect');
253
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(3, 'incorrect');
254
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(4, 'correct');
255
+ chartsBarPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
256
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 0, barValue: 3, range: 10 });
257
+ chartsBarPage.steps.verifyLockedBarInCorrectAnswerSection({ barIndex: 1, barValue: 2, range: 10 });
258
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 2, barValue: 6, range: 10 });
259
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 3, barValue: 5, range: 10 });
260
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 4, barValue: 0, range: 10 });
261
+ });
262
+
263
+ it('When the user attempts the question partially correct by setting all bars correctly except 1 then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed, correct icons should be displayed on the correctly attempted bars and incorrect icons should be displayed on the incorrectly attempted bars and correct answer section should be displayed with the correct answers', () => {
264
+ if (view === 'Grading view') {
265
+ studentViewPage.steps.clearResponses();
266
+ }
267
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 3, value: 5, range: 10 });
268
+ if (view === 'Grading view') {
269
+ studentViewPage.steps.submitResponse();
270
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
271
+ studentViewPage.steps.clickOnGoToGradingViewButton();
272
+ gradingViewPage.steps.verifyGradingViewScore(0, 20);
273
+ } else {
274
+ chartsBarPage.steps.verifyPreviewScore(0, 20);
275
+ chartsBarPage.steps.switchToGradingView();
276
+ }
277
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(0, 'correct');
278
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconNotExistsInPreviewTab(1);
279
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(2, 'incorrect');
280
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(3, 'correct');
281
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(4, 'correct');
282
+ chartsBarPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
283
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 0, barValue: 3, range: 10 });
284
+ chartsBarPage.steps.verifyLockedBarInCorrectAnswerSection({ barIndex: 1, barValue: 2, range: 10 });
285
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 2, barValue: 6, range: 10 });
286
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 3, barValue: 5, range: 10 });
287
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 4, barValue: 0, range: 10 });
288
+ });
289
+
290
+ //Fully correct
291
+ it('When the user attempts the question correctly then the user should be awarded with full points and on switching to grading view \'Your answer is correct\' should be displayed, correct icons should be displayed on the correctly attempted bars and the correct answer section graph should not be displayed', () => {
292
+ if (view === 'Grading view') {
293
+ studentViewPage.steps.clearResponses();
294
+ }
295
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 2, value: 6, range: 10 });
296
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 3, value: 5, range: 10 });
297
+ if (view === 'Grading view') {
298
+ studentViewPage.steps.submitResponse();
299
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
300
+ studentViewPage.steps.clickOnGoToGradingViewButton();
301
+ gradingViewPage.steps.verifyGradingViewScore(20, 20);
302
+ } else {
303
+ chartsBarPage.steps.verifyPreviewScore(20, 20);
304
+ chartsBarPage.steps.switchToGradingView();
305
+ }
306
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(0, 'correct');
307
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconNotExistsInPreviewTab(1);
308
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(2, 'correct');
309
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(3, 'correct');
310
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(4, 'correct');
311
+ chartsBarPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
312
+ chartsBarPage.steps.verifyCorrectAnswerSectionNotExist();
313
+ });
314
+ });
315
+ });
316
+
317
+ if (!grepTags || !grepTags.includes('smoke')) {
318
+ describe('Question preview: Auto scored - All or nothing: Minimum scoring', () => {
319
+ abortEarlySetup();
320
+ before(() => {
321
+ chartsBarPage.steps.navigateToCreateQuestion('charts');
322
+ cy.barsPreLoaderWait();
323
+ chartsBarPage.steps.setBarValueInSelectChartTypeSection({ barIndex: 0, value: 1, range: 10 });
324
+ chartsBarPage.steps.setBarValueInSelectChartTypeSection({ barIndex: 1, value: 2, range: 10 });
325
+ chartsBarPage.steps.setBarValueInSelectChartTypeSection({ barIndex: 2, value: 3, range: 10 });
326
+ chartsBarPage.steps.allotPoints(20);
327
+ chartsBarPage.steps.setBarValueInSpecifyCorrectAnswerSection({ barIndex: 0, value: 4, range: 10 });
328
+ chartsBarPage.steps.setBarValueInSpecifyCorrectAnswerSection({ barIndex: 1, value: 5, range: 10 });
329
+ chartsBarPage.steps.setBarValueInSpecifyCorrectAnswerSection({ barIndex: 2, value: 6, range: 10 });
330
+ });
331
+
332
+ it('When the user selects \'Award minimum score\' from the minimum scoring dropdown, does not attempt the question and switches to grading view, then the user should be awarded with minimum points', () => {
333
+ chartsBarPage.steps.expandMinimumScoringDropdown();
334
+ chartsBarPage.steps.selectOptionFromMinimumScoringDropdown('Award minimum score');
335
+ chartsBarPage.steps.allotMinimumPoints(2);
336
+ chartsBarPage.steps.switchToPreviewTab();
337
+ chartsBarPage.steps.switchToGradingView();
338
+ chartsBarPage.steps.verifyPreviewScore(2, 20);
339
+ chartsBarPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
340
+ });
341
+
342
+ it('When the user has selected \'Award minimum score\' from the minimum scoring dropdown, attempts the question incorrectly and switches to grading view, the user should be awarded with minimum points', () => {
343
+ chartsBarPage.steps.resetQuestionPreview();
344
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 0, value: 2, range: 10 });
345
+ chartsBarPage.steps.verifyPreviewScore(2, 20);
346
+ chartsBarPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
347
+ });
348
+
349
+ it('When the user selects \'Award minimum score only if attempted\' from the minimum scoring dropdown, does not attempt the question and switches to grading view, then the user should be awarded with 0 points', () => {
350
+ chartsBarPage.steps.switchToEditTab();
351
+ chartsBarPage.steps.expandMinimumScoringDropdown();
352
+ chartsBarPage.steps.selectOptionFromMinimumScoringDropdown('Award minimum score only if attempted');
353
+ chartsBarPage.steps.allotMinimumPoints(2);
354
+ chartsBarPage.steps.switchToPreviewTab();
355
+ chartsBarPage.steps.switchToGradingView();
356
+ chartsBarPage.steps.verifyPreviewScore(0, 20);
357
+ chartsBarPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
358
+ });
359
+
360
+ it('When the user has selected \'Award minimum score\' from the minimum scoring dropdown, attempts the question incorrectly and switches to grading view, the user should be awarded with minimum points', () => {
361
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 0, value: 2, range: 10 });
362
+ chartsBarPage.steps.verifyPreviewScore(2, 20);
363
+ });
364
+ });
365
+ };
366
+ });
@@ -81,7 +81,7 @@ describe('Create item page - Chart - Bar:Check answer functionality', () => {
81
81
  });
82
82
  };
83
83
 
84
- it('When the user selects check answer without attempting the question, \'Your answer is incorrect\' status message should be displayed, incorrect icons should be displayed on the unattempted bars, correct icons should be displayed on the bar which is correct by default and there should not be any changes on the displayed bar graph', () => {
84
+ it('When the user selects check answer without attempting the question, correct/incorrect status message should not be displayed, incorrect icons should be displayed on the unattempted bars, correct icons should be displayed on the bar which is correct by default and there should not be any changes on the displayed bar graph', () => {
85
85
  checkAnswer(view);
86
86
  chartsBarPage.steps.verifyBarHeightInPreviewTab({ barIndex: 0, barValue: 3, range: 10 });
87
87
  chartsBarPage.steps.verifyBarHeightInPreviewTab({ barIndex: 1, barValue: 2, range: 10 });
@@ -93,7 +93,7 @@ describe('Create item page - Chart - Bar:Check answer functionality', () => {
93
93
  chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(2, 'incorrect');
94
94
  chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(3, 'incorrect');
95
95
  chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(4, 'correct');
96
- chartsBarPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
96
+ chartsBarPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
97
97
  });
98
98
 
99
99
  //Fully incorrect case