itemengine-cypress-automation 1.0.581-IEI-7046-ec54625.0 → 1.0.581

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (18) hide show
  1. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +8 -123
  2. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +8 -123
  3. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +14 -131
  4. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perCorrectOptionAlternativePointsGreaterThanCorrectPoints.js +9 -138
  5. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perCorrectOptionCorrectPointsEqualToAlternativePoints.js +9 -138
  6. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perCorrectOptionCorrectPointsGreaterThanAlternativePoints.js +10 -153
  7. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneAlternativePointsGreaterThanCorrectPoints.js +9 -138
  8. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneCorrectPointsEqualToAlternativePoints.js +7 -108
  9. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneCorrectPointsGreaterThanAlternativePoints.js +9 -138
  10. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +1 -272
  11. package/cypress/e2e/ILC/ShortTextResponseNew/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +30 -2
  12. package/cypress/e2e/ILC/ShortTextResponseNew/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +30 -2
  13. package/cypress/e2e/ILC/ShortTextResponseNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +30 -2
  14. package/cypress/e2e/ILC/ShortTextResponseNew/Scoring/allOrNothingWeightsBasic.js +7 -7
  15. package/cypress/e2e/ILC/ShortTextResponseNew/allOrNothingBasicForAllViews.smoke.js +130 -3
  16. package/cypress/pages/dragAndDropIntoCategoriesPage.js +0 -38
  17. package/cypress/pages/shortTextResponsePage.js +20 -6
  18. package/package.json +1 -1
@@ -1,6 +1,8 @@
1
1
  import { shortTextResponsePage } from "../../../../pages/shortTextResponsePage";
2
2
  import abortEarlySetup from "../../../../support/helpers/abortEarly";
3
+ import utilities from "../../../../support/helpers/utilities";
3
4
  const css = Cypress.env('css');
5
+ const alternativeAnswerCheck = Cypress.env('ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT') === 'true';
4
6
 
5
7
  describe('Create item page - Short text response: All or nothing with alternative answer', () => {
6
8
  before(() => {
@@ -24,7 +26,20 @@ describe('Create item page - Short text response: All or nothing with alternativ
24
26
  it('When the user switches to \'Grading\' view without attempting the question, then incorrect border and correct answer section should be displayed', () => {
25
27
  shortTextResponsePage.steps.switchToGradingView();
26
28
  shortTextResponsePage.steps.verifyCorrectIncorrectBorderNotExist();
27
- shortTextResponsePage.steps.verifyCorrectAnswerResponseInCorrectAnswerWrapper('Buildings');
29
+ if (alternativeAnswerCheck) {
30
+ utilities.verifyElementVisibilityState(shortTextResponsePage.previewTabCorrectAnswerWrapper(), 'visible');
31
+ utilities.verifyInnerText(shortTextResponsePage.previewTabCorrectAnswerResponse().eq(0), 'Buildings');
32
+ shortTextResponsePage.steps.verifyCorrectAnswersLabelAndPointVisible('(20 points)');
33
+ shortTextResponsePage.steps.verifyShowAlternativeAnswersToggleExists();
34
+ shortTextResponsePage.steps.disableShowAlternativeAnswersToggle();
35
+ shortTextResponsePage.steps.verifyShowAlternativeAnswersToggleUnchecked();
36
+ shortTextResponsePage.steps.verifyAlternativeAnswersSectionNotExist();
37
+ shortTextResponsePage.steps.clickShowAlternativeAnswersToggle();
38
+ utilities.verifyInnerText(shortTextResponsePage.previewTabCorrectAnswerResponse().eq(1), 'Fossil fuel combustion');
39
+ shortTextResponsePage.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(20 points)');
40
+ } else {
41
+ shortTextResponsePage.steps.verifyCorrectAnswerResponseInCorrectAnswerWrapper('Buildings');
42
+ }
28
43
  shortTextResponsePage.steps.switchToStudentView();
29
44
  });
30
45
 
@@ -56,7 +71,20 @@ describe('Create item page - Short text response: All or nothing with alternativ
56
71
  shortTextResponsePage.steps.switchToGradingView();
57
72
  shortTextResponsePage.steps.verifyIncorrectIcon();
58
73
  shortTextResponsePage.steps.verifyIncorrectAttemptBorder();
59
- shortTextResponsePage.steps.verifyCorrectAnswerResponseInCorrectAnswerWrapper('Buildings');
74
+ if (alternativeAnswerCheck) {
75
+ utilities.verifyElementVisibilityState(shortTextResponsePage.previewTabCorrectAnswerWrapper(), 'visible');
76
+ utilities.verifyInnerText(shortTextResponsePage.previewTabCorrectAnswerResponse().eq(0), 'Buildings');
77
+ shortTextResponsePage.steps.verifyCorrectAnswersLabelAndPointVisible('(20 points)');
78
+ shortTextResponsePage.steps.verifyShowAlternativeAnswersToggleExists();
79
+ shortTextResponsePage.steps.disableShowAlternativeAnswersToggle();
80
+ shortTextResponsePage.steps.verifyShowAlternativeAnswersToggleUnchecked();
81
+ shortTextResponsePage.steps.verifyAlternativeAnswersSectionNotExist();
82
+ shortTextResponsePage.steps.clickShowAlternativeAnswersToggle();
83
+ utilities.verifyInnerText(shortTextResponsePage.previewTabCorrectAnswerResponse().eq(1), 'Fossil fuel combustion');
84
+ shortTextResponsePage.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(20 points)');
85
+ } else {
86
+ shortTextResponsePage.steps.verifyCorrectAnswerResponseInCorrectAnswerWrapper('Buildings');
87
+ }
60
88
  shortTextResponsePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
61
89
  });
62
90
  });
@@ -1,6 +1,8 @@
1
1
  import { shortTextResponsePage } from "../../../../pages/shortTextResponsePage";
2
2
  import abortEarlySetup from "../../../../support/helpers/abortEarly";
3
+ import utilities from "../../../../support/helpers/utilities";
3
4
  const css = Cypress.env('css');
5
+ const alternativeAnswerCheck = Cypress.env('ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT') === 'true';
4
6
 
5
7
  describe('Create item page - Short text response: All or nothing with alternative answer', () => {
6
8
  before(() => {
@@ -25,7 +27,20 @@ describe('Create item page - Short text response: All or nothing with alternativ
25
27
  shortTextResponsePage.steps.switchToGradingView();
26
28
  shortTextResponsePage.steps.verifyCorrectIncorrectIconNotVisibleGradingView();
27
29
  shortTextResponsePage.steps.verifyCorrectIncorrectBorderNotExist();
28
- shortTextResponsePage.steps.verifyCorrectAnswerResponseInCorrectAnswerWrapper('Buildings');
30
+ if (alternativeAnswerCheck) {
31
+ utilities.verifyElementVisibilityState(shortTextResponsePage.previewTabCorrectAnswerWrapper(), 'visible');
32
+ utilities.verifyInnerText(shortTextResponsePage.previewTabCorrectAnswerResponse().eq(0), 'Buildings');
33
+ shortTextResponsePage.steps.verifyCorrectAnswersLabelAndPointVisible('(20 points)');
34
+ shortTextResponsePage.steps.verifyShowAlternativeAnswersToggleExists();
35
+ shortTextResponsePage.steps.disableShowAlternativeAnswersToggle();
36
+ shortTextResponsePage.steps.verifyShowAlternativeAnswersToggleUnchecked();
37
+ shortTextResponsePage.steps.verifyAlternativeAnswersSectionNotExist();
38
+ shortTextResponsePage.steps.clickShowAlternativeAnswersToggle();
39
+ utilities.verifyInnerText(shortTextResponsePage.previewTabCorrectAnswerResponse().eq(1), 'Fossil fuel combustion');
40
+ shortTextResponsePage.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(10 points)');
41
+ } else {
42
+ shortTextResponsePage.steps.verifyCorrectAnswerResponseInCorrectAnswerWrapper('Buildings');
43
+ }
29
44
  shortTextResponsePage.steps.switchToStudentView();
30
45
  });
31
46
 
@@ -61,7 +76,20 @@ describe('Create item page - Short text response: All or nothing with alternativ
61
76
  shortTextResponsePage.steps.switchToGradingView();
62
77
  shortTextResponsePage.steps.verifyIncorrectIcon();
63
78
  shortTextResponsePage.steps.verifyIncorrectAttemptBorder();
64
- shortTextResponsePage.steps.verifyCorrectAnswerResponseInCorrectAnswerWrapper('Buildings');
79
+ if (alternativeAnswerCheck) {
80
+ utilities.verifyElementVisibilityState(shortTextResponsePage.previewTabCorrectAnswerWrapper(), 'visible');
81
+ utilities.verifyInnerText(shortTextResponsePage.previewTabCorrectAnswerResponse().eq(0), 'Buildings');
82
+ shortTextResponsePage.steps.verifyCorrectAnswersLabelAndPointVisible('(20 points)');
83
+ shortTextResponsePage.steps.verifyShowAlternativeAnswersToggleExists();
84
+ shortTextResponsePage.steps.disableShowAlternativeAnswersToggle();
85
+ shortTextResponsePage.steps.verifyShowAlternativeAnswersToggleUnchecked();
86
+ shortTextResponsePage.steps.verifyAlternativeAnswersSectionNotExist();
87
+ shortTextResponsePage.steps.clickShowAlternativeAnswersToggle();
88
+ utilities.verifyInnerText(shortTextResponsePage.previewTabCorrectAnswerResponse().eq(1), 'Fossil fuel combustion');
89
+ shortTextResponsePage.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(10 points)');
90
+ } else {
91
+ shortTextResponsePage.steps.verifyCorrectAnswerResponseInCorrectAnswerWrapper('Buildings');
92
+ }
65
93
  });
66
94
 
67
95
  shortTextResponsePage.tests.verifyIncorrectAnswerLabelAndBorderCSSAndA11y('short text response');
@@ -21,7 +21,7 @@ describe('Create item page - Short text response: All or nothing with alternativ
21
21
  it('When the user switches to \'Grading\' view without attempting the question, then incorrect border and correct answer section should not be displayed', () => {
22
22
  shortTextResponsePage.steps.switchToGradingView();
23
23
  shortTextResponsePage.steps.verifyCorrectIncorrectBorderNotExist();
24
- shortTextResponsePage.steps.verifyCorrectAnswerResponseInCorrectAnswerWrapper('Buildings');
24
+ shortTextResponsePage.steps.verifyCorrectAnswerResponseInCorrectAnswerWrapper('Buildings', 20);
25
25
  shortTextResponsePage.steps.switchToStudentView();
26
26
  });
27
27
 
@@ -42,7 +42,7 @@ describe('Create item page - Short text response: All or nothing with alternativ
42
42
  shortTextResponsePage.steps.switchToGradingView();
43
43
  shortTextResponsePage.steps.verifyIncorrectIcon();
44
44
  shortTextResponsePage.steps.verifyIncorrectAttemptBorder();
45
- shortTextResponsePage.steps.verifyCorrectAnswerResponseInCorrectAnswerWrapper('Buildings');
45
+ shortTextResponsePage.steps.verifyCorrectAnswerResponseInCorrectAnswerWrapper('Buildings', 20);
46
46
  shortTextResponsePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
47
47
  });
48
48
  });
@@ -67,7 +67,7 @@ describe('Create item page - Short text response: All or nothing with alternativ
67
67
  shortTextResponsePage.steps.switchToGradingView();
68
68
  shortTextResponsePage.steps.verifyIncorrectIcon();
69
69
  shortTextResponsePage.steps.verifyIncorrectAttemptBorder();
70
- shortTextResponsePage.steps.verifyCorrectAnswerResponseInCorrectAnswerWrapper('Buildings');
70
+ shortTextResponsePage.steps.verifyCorrectAnswerResponseInCorrectAnswerWrapper('Buildings', 20);
71
71
 
72
72
  });
73
73
 
@@ -80,7 +80,7 @@ describe('Create item page - Short text response: All or nothing with alternativ
80
80
  shortTextResponsePage.steps.switchToGradingView();
81
81
  shortTextResponsePage.steps.verifyIncorrectIcon();
82
82
  shortTextResponsePage.steps.verifyIncorrectAttemptBorder();
83
- shortTextResponsePage.steps.verifyCorrectAnswerResponseInCorrectAnswerWrapper('Buildings');
83
+ shortTextResponsePage.steps.verifyCorrectAnswerResponseInCorrectAnswerWrapper('Buildings', 20);
84
84
  });
85
85
 
86
86
  it('When the user attempts the question correctly, then the user should be awarded 20 points and on switching to \'Grading\' view, correct icon should be displayed beside response input field, correct answer border should be displayed in question preview', () => {
@@ -112,7 +112,7 @@ describe('Create item page - Short text response: All or nothing with alternativ
112
112
  shortTextResponsePage.steps.verifyPreviewScore(5, 20);
113
113
  shortTextResponsePage.steps.switchToGradingView();
114
114
  shortTextResponsePage.steps.verifyCorrectIncorrectBorderNotExist();
115
- shortTextResponsePage.steps.verifyCorrectAnswerResponseInCorrectAnswerWrapper('Buildings');
115
+ shortTextResponsePage.steps.verifyCorrectAnswerResponseInCorrectAnswerWrapper('Buildings', 20);
116
116
  });
117
117
 
118
118
  it('When the user sets minimum scoring to \'Award minimum score\', allots minimum points and attempts the question incorrectly, then the user should be awarded with minimum points', () => {
@@ -121,7 +121,7 @@ describe('Create item page - Short text response: All or nothing with alternativ
121
121
  shortTextResponsePage.steps.switchToGradingView();
122
122
  shortTextResponsePage.steps.verifyIncorrectIcon();
123
123
  shortTextResponsePage.steps.verifyIncorrectAttemptBorder();
124
- shortTextResponsePage.steps.verifyCorrectAnswerResponseInCorrectAnswerWrapper('Buildings');
124
+ shortTextResponsePage.steps.verifyCorrectAnswerResponseInCorrectAnswerWrapper('Buildings', 20);
125
125
  });
126
126
 
127
127
  it('When the user sets minimum scoring to \'Award minimum score\', allots minimum points and attempts the question correctly, then the user should be awarded with 20 points', () => {
@@ -149,7 +149,7 @@ describe('Create item page - Short text response: All or nothing with alternativ
149
149
  shortTextResponsePage.steps.switchToGradingView();
150
150
  shortTextResponsePage.steps.verifyIncorrectIcon();
151
151
  shortTextResponsePage.steps.verifyIncorrectAttemptBorder();
152
- shortTextResponsePage.steps.verifyCorrectAnswerResponseInCorrectAnswerWrapper('Buildings');
152
+ shortTextResponsePage.steps.verifyCorrectAnswerResponseInCorrectAnswerWrapper('Buildings', 20);
153
153
  });
154
154
 
155
155
  it('When the user sets minimum scoring to \'Award minimum score only if attempted\', allots minimum points and attempts the question correctly, then the user should be awarded with 20 points', () => {
@@ -7,6 +7,7 @@ let correctAnswerViews = ['Question preview', 'Item preview', 'Grading view'];
7
7
  const views = utilities.getViews(correctAnswerViews);
8
8
  const css = Cypress.env('css');
9
9
  var itemReferenceID = "";
10
+ const alternativeAnswerCheck = Cypress.env('ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT') === 'true';
10
11
 
11
12
  describe('Create item page - Short text response: All or nothing', () => {
12
13
  before(() => {
@@ -110,7 +111,7 @@ describe('Create item page - Short text response: All or nothing', () => {
110
111
  }
111
112
  //Need to remove comment once https://redmine.zeuslearning.com/issues/576511 is resolved
112
113
  // shortTextResponsePage.steps.verifyCorrectIncorrectBorderNotExist();
113
- shortTextResponsePage.steps.verifyCorrectAnswerResponseInCorrectAnswerWrapper('Buildings');
114
+ shortTextResponsePage.steps.verifyCorrectAnswerResponseInCorrectAnswerWrapper('Buildings', 20);
114
115
  });
115
116
 
116
117
  it('When the user attempts the question incorrectly, then the user should be awarded 0 points and on switching to \'Grading\' view, incorrect icon should be displayed besides incorrect response, incorrect answer border around response field and correct answer should be displayed in the question preview', () => {
@@ -120,7 +121,7 @@ describe('Create item page - Short text response: All or nothing', () => {
120
121
  utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
121
122
  studentViewPage.steps.clickOnGoToGradingViewButton()
122
123
  gradingViewPage.steps.verifyGradingViewScore(0, 20);
123
- shortTextResponsePage.steps.verifyCorrectAnswerResponseInCorrectAnswerWrapper('Buildings');
124
+ shortTextResponsePage.steps.verifyCorrectAnswerResponseInCorrectAnswerWrapper('Buildings', 20);
124
125
  }
125
126
  if (view === 'Question preview' || view === 'Item preview') {
126
127
  shortTextResponsePage.steps.switchToGradingView();
@@ -152,6 +153,133 @@ describe('Create item page - Short text response: All or nothing', () => {
152
153
  });
153
154
  });
154
155
 
156
+ if (alternativeAnswerCheck) {
157
+ views.forEach((view) => {
158
+ describe(`Short text response: all or nothing scoring with alternate answers - ${view}`, { tags: 'smoke' }, () => {
159
+ abortEarlySetup();
160
+ before(() => {
161
+ switch (view) {
162
+ case 'Question preview':
163
+ shortTextResponsePage.steps.navigateToCreateQuestion('short text response');
164
+ cy.barsPreLoaderWait();
165
+ shortTextResponsePage.steps.allotPoints(20);
166
+ shortTextResponsePage.steps.addTextInQuestionInstructionsInputField('Which of the following is the major contributor to increased carbon dioxide levels because of urbanization? Select your answer from the options below.')
167
+ shortTextResponsePage.steps.enterTextInAnswerInputFieldSpecifyCorrectAnswerSection('Buildings');
168
+ shortTextResponsePage.steps.clickOnAddAlternativeAnswerButton();
169
+ shortTextResponsePage.steps.allotPoints(10);
170
+ shortTextResponsePage.steps.enterTextInAnswerInputFieldSpecifyCorrectAnswerSection('Fossil fuel combustion');
171
+ shortTextResponsePage.steps.switchToPreviewTab();
172
+ break;
173
+ case 'Item preview':
174
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
175
+ itemPreviewPage.steps.switchToPreviewTab();
176
+ break;
177
+ case 'Grading view':
178
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
179
+ break;
180
+ }
181
+ });
182
+
183
+ beforeEach(() => {
184
+ switch (view) {
185
+ case 'Question preview':
186
+ shortTextResponsePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
187
+ shortTextResponsePage.steps.verifyCorrectIncorrectBorderNotExists();
188
+ shortTextResponsePage.steps.resetQuestionPreview();
189
+ break;
190
+ case 'Item preview':
191
+ itemPreviewPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
192
+ shortTextResponsePage.steps.verifyCorrectIncorrectBorderNotExists();
193
+ itemPreviewPage.steps.resetQuestionPreview();
194
+ break;
195
+ case 'Grading view':
196
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
197
+ break;
198
+ }
199
+ });
200
+
201
+ if (view === 'Question preview') {
202
+ after(() => {
203
+ shortTextResponsePage.steps.clickOnSaveQuestionButton();
204
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
205
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
206
+ });
207
+ };
208
+
209
+ it('When the user selects \'Grading\' view without attempting the question, correct/incorret border should not be displayed and correct answer should be displayed below response field', () => {
210
+ if (view === 'Grading view') {
211
+ studentViewPage.steps.submitResponse();
212
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
213
+ studentViewPage.steps.clickOnGoToGradingViewButton();
214
+ gradingViewPage.steps.verifyGradingViewScore(0, 20);
215
+ }
216
+ if (view === 'Question preview' || view === 'Item preview') {
217
+ shortTextResponsePage.steps.switchToGradingView();
218
+ shortTextResponsePage.steps.verifyPreviewScore(0, 20);
219
+ }
220
+ //Need to remove comment once https://redmine.zeuslearning.com/issues/576511 is resolved
221
+ // shortTextResponsePage.steps.verifyCorrectIncorrectBorderNotExist();
222
+ utilities.verifyElementVisibilityState(shortTextResponsePage.previewTabCorrectAnswerWrapper(), 'visible');
223
+ utilities.verifyInnerText(shortTextResponsePage.previewTabCorrectAnswerResponse().eq(0), 'Buildings');
224
+ shortTextResponsePage.steps.verifyCorrectAnswersLabelAndPointVisible('(20 points)');
225
+ shortTextResponsePage.steps.verifyShowAlternativeAnswersToggleExists();
226
+ shortTextResponsePage.steps.disableShowAlternativeAnswersToggle();
227
+ shortTextResponsePage.steps.verifyShowAlternativeAnswersToggleUnchecked();
228
+ shortTextResponsePage.steps.verifyAlternativeAnswersSectionNotExist();
229
+ shortTextResponsePage.steps.clickShowAlternativeAnswersToggle();
230
+ utilities.verifyInnerText(shortTextResponsePage.previewTabCorrectAnswerResponse().eq(1), 'Fossil fuel combustion');
231
+ shortTextResponsePage.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(10 points)');
232
+ });
233
+
234
+ it('When the user attempts the question incorrectly, then the user should be awarded 0 points and on switching to \'Grading\' view, incorrect icon should be displayed besides incorrect response, incorrect answer border around response field and correct answer should be displayed in the question preview', () => {
235
+ shortTextResponsePage.steps.enterTextInAnswerInputFieldPreviewTab('Text');
236
+ if (view === 'Grading view') {
237
+ studentViewPage.steps.submitResponse();
238
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
239
+ studentViewPage.steps.clickOnGoToGradingViewButton()
240
+ gradingViewPage.steps.verifyGradingViewScore(0, 20);
241
+ utilities.verifyElementVisibilityState(shortTextResponsePage.previewTabCorrectAnswerWrapper(), 'visible');
242
+ utilities.verifyInnerText(shortTextResponsePage.previewTabCorrectAnswerResponse().eq(0), 'Buildings');
243
+ shortTextResponsePage.steps.verifyCorrectAnswersLabelAndPointVisible('(20 points)');
244
+ shortTextResponsePage.steps.verifyShowAlternativeAnswersToggleExists();
245
+ shortTextResponsePage.steps.disableShowAlternativeAnswersToggle();
246
+ shortTextResponsePage.steps.verifyShowAlternativeAnswersToggleUnchecked();
247
+ shortTextResponsePage.steps.verifyAlternativeAnswersSectionNotExist();
248
+ shortTextResponsePage.steps.clickShowAlternativeAnswersToggle();
249
+ utilities.verifyInnerText(shortTextResponsePage.previewTabCorrectAnswerResponse().eq(1), 'Fossil fuel combustion');
250
+ shortTextResponsePage.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(10 points)');
251
+ }
252
+ if (view === 'Question preview' || view === 'Item preview') {
253
+ shortTextResponsePage.steps.switchToGradingView();
254
+ shortTextResponsePage.steps.verifyPreviewScore(0, 20);
255
+ }
256
+ shortTextResponsePage.steps.verifyIncorrectAttemptBorder();
257
+ shortTextResponsePage.steps.verifyIncorrectIcon();
258
+ });
259
+
260
+ it(`Short text response - ${view} - When user attempts the question correctly, the user should be awarded full points and on switching to 'Grading' view, then correct icon should be displayed beside the correct response, correct answer border around response field should be displayed the question preview`, () => {
261
+ if (view === 'Grading view') {
262
+ studentViewPage.steps.clearResponses();
263
+ };
264
+ shortTextResponsePage.steps.enterTextInAnswerInputFieldPreviewTab('Buildings');
265
+ if (view === 'Grading view') {
266
+ studentViewPage.steps.submitResponse();
267
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
268
+ studentViewPage.steps.clickOnGoToGradingViewButton();
269
+ gradingViewPage.steps.verifyGradingViewScore(20, 20);
270
+ }
271
+ if (view === 'Question preview' || view === 'Item preview') {
272
+ shortTextResponsePage.steps.verifyPreviewScore(20, 20);
273
+ shortTextResponsePage.steps.switchToGradingView();
274
+ }
275
+ shortTextResponsePage.steps.verifyCorrectAttemptBorder();
276
+ shortTextResponsePage.steps.verifyCorrectIcon();
277
+ cy.eyesCheckWindow(`Short text response - ${view} - Correct attempt`);
278
+ });
279
+ });
280
+ });
281
+ }
282
+
155
283
  views.forEach((view) => {
156
284
  describe(`${view}: Short text response - Manually scored`, { tags: 'smoke' }, () => {
157
285
  abortEarlySetup();
@@ -281,7 +409,6 @@ describe('Create item page - Short text response: All or nothing', () => {
281
409
  shortTextResponsePage.steps.checkNonScoredScoringLabel();
282
410
  shortTextResponsePage.steps.switchToGradingView();
283
411
  };
284
- utilities.verifyInnerText(shortTextResponsePage.previewTabCorrectAnswerLabel(), 'Correct answer:');
285
412
  shortTextResponsePage.steps.verifyCorrectAnswerResponseInCorrectAnswerWrapper('Urbanization');
286
413
  });
287
414
 
@@ -39,7 +39,6 @@ const selectors = {
39
39
  dropzoneCellPreviewTab: () => cy.get('[class*="question-preview-wrapper"] [class*="CellDropZonestyles__CellContainer"][class*="dropzone-cell"],[class*="question-preview-wrapper"] [class*="DropzoneCellstyles__StyledCell"]'),
40
40
  dropzoneCellNumeration: () => cy.get('.answer-numeration-number-box'),
41
41
  correctAnswerDropzoneCell: () => cy.get('[class*="Matrixstyles__AnswerCell"]'),
42
- correctAnswerPointsLabel: () => cy.get('[class*="CorrectAnswerSectionstyle__CorrectAnswerLabelWrapper"] p'),
43
42
  correctAnswerDropzoneCellTickIcon: () => cy.get('[class*="Matrixstyles__GreenBlock"]'),
44
43
  correctAnswersLabel: () => cy.get('.correct-answers-label'),
45
44
  correctAnswerOption: () => cy.get('[class*="Matrixstyles__AnswerWrapper"]'),
@@ -515,43 +514,6 @@ const steps = {
515
514
  });
516
515
  },
517
516
 
518
- /**
519
- * Verifies the content of each correct-answer dropzone in the Alternate Answer section.
520
- *
521
- * For every entry in `correctAnswersArray`, this function:
522
- * - Iterates through each set of correct answers assigned to a dropzone.
523
- * - Confirms that the dropzone displays the expected cell numeration.
524
- * - Verifies each answer option inside the dropzone.
525
- * - Validates that the points label for the group matches the expected value.
526
- *
527
- * @param {Object[]} correctAnswersArray - An array where each object represents
528
- * a group of correct answers and its metadata.
529
- * @param {string[][]} correctAnswersArray[].correctAnswers - A list of answer-option groups for each dropzone.
530
- * @param {number[]} correctAnswersArray[].cellIndexArray - Expected numeration values for corresponding dropzones.
531
- * @param {string} correctAnswersArray[].pointsText - Expected points label for this group of dropzones.
532
- */
533
- verifyCorrectAnswerResponsesInAlternateAnswerSection: (correctAnswersArray) => {
534
- let dropzoneCellIndex = 0;
535
- correctAnswersArray.forEach(({
536
- correctAnswers,
537
- pointsText,
538
- }, index) => {
539
- correctAnswers.forEach((correctAnswer) => {
540
- dragAndDropIntoCategoriesPage.correctAnswerDropzoneCell()
541
- .eq(dropzoneCellIndex)
542
- .within(() => {
543
- correctAnswer.forEach((answerOption, optionIndex) => {
544
- utilities.verifyTextContent(utilities.getNthElement(dragAndDropIntoCategoriesPage.correctAnswerOption(), optionIndex), answerOption);
545
- });
546
- });
547
- dropzoneCellIndex += 1;
548
- });
549
- dragAndDropIntoCategoriesPage.correctAnswerPointsLabel()
550
- .eq(index)
551
- .should('have.text', pointsText);
552
- });
553
- },
554
-
555
517
  /**
556
518
  * Verifies the presence of an incorrect option icon for a specified option in the Preview Tab.
557
519
  * @param {number} optionIndex - The index of the option to verify.
@@ -1,8 +1,9 @@
1
- import { createQuestionBasePage, autoScoredStudentViewSettings, autoScoredScoringPreviewTab, scoringSectionBaseEditTab, questionInstructionsComponent, autoScoredScoringSectionMultiResponseType, autoScoredSpecifyCorrectAnswerSection, commonComponents, additionalSettingsPanel, acceptedStudentInputComponent, studentViewSettingsLabelComponent, customizeSpecialCharacterComponent, studentResponseAndLayoutComponent, printPreviewComponent } from "./components/";
1
+ import { createQuestionBasePage, autoScoredStudentViewSettings, autoScoredScoringPreviewTab, scoringSectionBaseEditTab, questionInstructionsComponent, autoScoredScoringSectionMultiResponseType, autoScoredSpecifyCorrectAnswerSection, commonComponents, additionalSettingsPanel, acceptedStudentInputComponent, studentViewSettingsLabelComponent, customizeSpecialCharacterComponent, studentResponseAndLayoutComponent, printPreviewComponent, showAlternativeAnswersComponent } from "./components/";
2
2
  import { dialogBoxBase } from "./dialogBoxBase";
3
3
  import utilities from "../support/helpers/utilities";
4
4
  import { createItemPage } from "./createItemPage";
5
5
  const css = Cypress.env('css');
6
+ const alternativeAnswerCheck = Cypress.env('ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT') === 'true';
6
7
 
7
8
  const selectors = {
8
9
  ...questionInstructionsComponent,
@@ -18,6 +19,7 @@ const selectors = {
18
19
  ...createQuestionBasePage,
19
20
  ...printPreviewComponent,
20
21
  ...autoScoredScoringSectionMultiResponseType,
22
+ ...showAlternativeAnswersComponent,
21
23
 
22
24
  answerLabelSpecifyCorrectAnswerSection: () => cy.get('.answer-label'),
23
25
  displayCharacterCountLabel: () => cy.get('[data-ngie-testid="display-character-count-checkbox"] .MuiFormControlLabel-label'),
@@ -65,7 +67,13 @@ const selectors = {
65
67
  //Preview tab
66
68
  previewTabResponseField: () => cy.get('.input-field input:visible'),
67
69
  previewTabResponseFieldWrapper: () => cy.get('.input-wrapper:visible'),
68
- previewTabCorrectAnswerWrapper: () => cy.get('[class*="ShortTextResponsestyles__CorrectAnswerWrapper"]'),
70
+ previewTabCorrectAnswerWrapper: () => {
71
+ if (alternativeAnswerCheck) {
72
+ return cy.get('[class*="CorrectAnswerSectionstyle__CorrectAnswerLabelWrapper"]');
73
+ } else {
74
+ return cy.get('[class*="ShortTextResponsestyles__CorrectAnswerWrapper"]');
75
+ }
76
+ },
69
77
  previewTabCorrectAnswerLabel: () => cy.get('[class*="ShortTextResponsestyles__CorrectAnswerLabel"]'),
70
78
  previewTabCorrectAnswerResponse: () => cy.get('[class*="ShortTextResponsestyles__CorrectAnswerValueWrapper"]'),
71
79
  responseFieldCountPreviewTab: () => cy.get('[class*="InputLimitLabelWrapper"]'),
@@ -127,6 +135,7 @@ const steps = {
127
135
  ...createItemPage.steps,
128
136
  ...printPreviewComponent.steps,
129
137
  ...autoScoredScoringSectionMultiResponseType.steps,
138
+ ...showAlternativeAnswersComponent.steps,
130
139
 
131
140
  verifyCorrectIcon: () => {
132
141
  utilities.verifyElementVisibilityState(autoScoredScoringPreviewTab.correctIcon(), 'visible');
@@ -165,10 +174,15 @@ const steps = {
165
174
  * @param {String} correctAnswer correct answer in correct answer wrapper present in grading view
166
175
  * @description function verifies correct answer wrapper in grading view
167
176
  */
168
- verifyCorrectAnswerResponseInCorrectAnswerWrapper: (correctAnswer) => {
169
- utilities.verifyElementVisibilityState(shortTextResponsePage.previewTabCorrectAnswerWrapper(), 'visible');
170
- utilities.verifyInnerText(shortTextResponsePage.previewTabCorrectAnswerLabel(), 'Correct answer:');
171
- utilities.verifyElementVisibilityState(shortTextResponsePage.previewTabCorrectAnswerLabel(), 'visible');
177
+ verifyCorrectAnswerResponseInCorrectAnswerWrapper: (correctAnswer, correctAnswerPoints = '') => {
178
+ if (alternativeAnswerCheck) {
179
+ utilities.verifyElementVisibilityState(shortTextResponsePage.previewTabCorrectAnswerWrapper(), 'visible');
180
+ (correctAnswerPoints !== '') && shortTextResponsePage.steps.verifyCorrectAnswersLabelAndPointVisible(`(${correctAnswerPoints} points)`);
181
+ } else {
182
+ utilities.verifyElementVisibilityState(shortTextResponsePage.previewTabCorrectAnswerWrapper(), 'visible');
183
+ utilities.verifyInnerText(shortTextResponsePage.previewTabCorrectAnswerLabel(), 'Correct answer:');
184
+ utilities.verifyElementVisibilityState(shortTextResponsePage.previewTabCorrectAnswerLabel(), 'visible');
185
+ }
172
186
  utilities.verifyInnerText(shortTextResponsePage.previewTabCorrectAnswerResponse(), correctAnswer);
173
187
  utilities.verifyElementVisibilityState(shortTextResponsePage.previewTabCorrectAnswerResponse(), 'visible');
174
188
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "itemengine-cypress-automation",
3
- "version": "1.0.581-IEI-7046-ec54625.0",
3
+ "version": "1.0.581",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {