itemengine-cypress-automation 1.0.582-IEI-7178-6c816dc.0 → 1.0.583-IEI-7048-71a8251.0

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 (74) hide show
  1. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +77 -0
  2. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +78 -1
  3. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +78 -1
  4. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +104 -9
  5. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsBasic.js +4 -0
  6. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +95 -0
  7. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +95 -0
  8. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +84 -0
  9. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +4 -0
  10. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +73 -0
  11. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +84 -0
  12. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +187 -2
  13. package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +79 -1
  14. package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +79 -0
  15. package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +79 -0
  16. package/cypress/e2e/ILC/ListOrderingNew/Scoring/manuallyAndNonScored.js +4 -0
  17. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +103 -0
  18. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsBasic.js +4 -0
  19. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +103 -0
  20. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +103 -0
  21. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +91 -0
  22. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsBasic.js +4 -0
  23. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +79 -0
  24. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +91 -0
  25. package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +209 -5
  26. package/cypress/e2e/ILC/ListOrderingNew/horizontalOrientationAllOrNothingForAllViews.smoke.js +195 -1
  27. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/HorizontalOrientation/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +103 -0
  28. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +85 -0
  29. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +82 -0
  30. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +85 -0
  31. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +109 -6
  32. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialDifferentWeightsBasic.js +4 -0
  33. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +103 -0
  34. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +103 -0
  35. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +91 -0
  36. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialEqualWeightsBasic.js +4 -0
  37. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +79 -0
  38. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +91 -0
  39. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/allOrNothingForAllViews.smoke.js +203 -3
  40. package/cypress/e2e/ILC/Matching/Scoring/allOrNothingGroupedScoring.js +9 -1
  41. package/cypress/e2e/ILC/Matching/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +102 -2
  42. package/cypress/e2e/ILC/Matching/Scoring/allOrNothingWithCorrectPointsEqualToAlternativePoints.js +102 -2
  43. package/cypress/e2e/ILC/Matching/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +107 -2
  44. package/cypress/e2e/ILC/Matching/Scoring/blankResponseScoring.js +36 -2
  45. package/cypress/e2e/ILC/Matching/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +5 -0
  46. package/cypress/e2e/ILC/Matching/Scoring/manuallyAndNonScored.js +1 -0
  47. package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsScoringBasic.js +10 -1
  48. package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +128 -2
  49. package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +115 -2
  50. package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +128 -2
  51. package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsBasic.js +9 -1
  52. package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +115 -2
  53. package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +102 -2
  54. package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +115 -2
  55. package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +226 -2
  56. package/cypress/e2e/ILC/Matching/maximumCapacityPerDropzoneSection.js +9 -1
  57. package/cypress/e2e/ILC/MatchingDropdown/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +102 -2
  58. package/cypress/e2e/ILC/MatchingDropdown/Scoring/allOrNothingWithCorrectPointsEqualToAlternativePoints.js +102 -2
  59. package/cypress/e2e/ILC/MatchingDropdown/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +102 -2
  60. package/cypress/e2e/ILC/MatchingDropdown/Scoring/blankResponseScoring.js +32 -5
  61. package/cypress/e2e/ILC/MatchingDropdown/Scoring/manuallyAndNonScored.js +3 -0
  62. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsScoringBasic.js +10 -1
  63. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +128 -2
  64. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternatePoints.js +115 -2
  65. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternatePoints.js +128 -2
  66. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsBasic.js +9 -1
  67. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +115 -2
  68. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +102 -2
  69. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +115 -2
  70. package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +216 -2
  71. package/cypress/pages/components/correctIncorrectAnswerLabelComponent.js +18 -1
  72. package/cypress/pages/listOrderingPage.js +60 -1
  73. package/cypress/pages/matchingPage.js +23 -1
  74. package/package.json +1 -1
@@ -8,6 +8,8 @@ const views = utilities.getViews(correctAnswerViews);
8
8
  var itemReferenceID = "";
9
9
  const options = ['sprout', 'plant', 'flower', 'seed'];
10
10
  const correctAnswerArray = ['seed', 'sprout', 'plant', 'flower'];
11
+ const alternateCorrectAnswerArray = ['seed', 'flower', 'sprout', 'plant'];
12
+ const alternativeAnswerCheck = Cypress.env('ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT');
11
13
 
12
14
  describe('Create item page - List ordering: All or nothing for "Horizontal" option orientation', () => {
13
15
  before(() => {
@@ -80,7 +82,11 @@ describe('Create item page - List ordering: All or nothing for "Horizontal" opti
80
82
  listOrderingPage.steps.verifyPreviewTabPointsBackgroundForIncorrectOrPartiallyCorrectAnswer();
81
83
  };
82
84
  listOrderingPage.steps.verifyCorrectIncorrectAnswerLabelNotExist();
83
- utilities.verifyInnerText(listOrderingPage.correctAnswersLabel(), 'Correct answers');
85
+ if (alternativeAnswerCheck === 'true') {
86
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(20 points)', 0);
87
+ } else {
88
+ utilities.verifyInnerText(listOrderingPage.correctAnswersLabel(), 'Correct answers');
89
+ }
84
90
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
85
91
  listOrderingPage.steps.verifyCorrectOptionIconsCorrectAnswerSection();
86
92
  });
@@ -156,11 +162,199 @@ describe('Create item page - List ordering: All or nothing for "Horizontal" opti
156
162
  listOrderingPage.steps.verifyCorrectOptionIconHorizontalOrientation('plant');
157
163
  listOrderingPage.steps.verifyCorrectOptionIconHorizontalOrientation('flower');
158
164
  listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
165
+ if (alternativeAnswerCheck === 'true') {
166
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
167
+ }
159
168
  listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
160
169
  });
161
170
  });
162
171
  });
163
172
 
173
+ if (alternativeAnswerCheck === 'true') {
174
+ views.forEach((view) => {
175
+ describe(`${view}: Auto scored - All or nothing scoring with alternative answer`, { tags: 'smoke' }, () => {
176
+ abortEarlySetup();
177
+ before(() => {
178
+ switch (view) {
179
+ case 'Question preview':
180
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
181
+ cy.barsPreLoaderWait();
182
+ listOrderingPage.steps.addInputToOptionsInputField(options);
183
+ listOrderingPage.steps.selectOptionOrientation('Horizontal');
184
+ listOrderingPage.steps.addTextInQuestionInstructionsInputField('Arrange options in correct order.');
185
+ listOrderingPage.steps.allotPoints(20);
186
+ listOrderingPage.steps.clickAndReorderHorizontalOptionInSpecifyCorrectAnswerSection('seed', 0);
187
+ listOrderingPage.steps.clickAndReorderHorizontalOptionInSpecifyCorrectAnswerSection('sprout', 1);
188
+ listOrderingPage.steps.verifyHorizontalOptionsOrderInSpecifyCorrectAnswerSection(correctAnswerArray);
189
+ listOrderingPage.steps.addAlternativeAnswerAccordion(1);
190
+ listOrderingPage.steps.allotPoints(15);
191
+ listOrderingPage.steps.clickAndReorderHorizontalOptionInSpecifyCorrectAnswerSection('seed', 0);
192
+ listOrderingPage.steps.clickAndReorderHorizontalOptionInSpecifyCorrectAnswerSection('plant', 3);
193
+ listOrderingPage.steps.clickAndReorderHorizontalOptionInSpecifyCorrectAnswerSection('flower', 1);
194
+ listOrderingPage.steps.verifyHorizontalOptionsOrderInSpecifyCorrectAnswerSection(alternateCorrectAnswerArray);
195
+ listOrderingPage.steps.switchToPreviewTab();
196
+ break;
197
+ case 'Item preview':
198
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
199
+ itemPreviewPage.steps.switchToPreviewTab();
200
+ break;
201
+ case 'Grading view':
202
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
203
+ break;
204
+ };
205
+ });
206
+
207
+ beforeEach(() => {
208
+ switch (view) {
209
+ case 'Question preview':
210
+ listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
211
+ listOrderingPage.steps.resetQuestionPreview();
212
+ break;
213
+ case 'Item preview':
214
+ listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
215
+ itemPreviewPage.steps.resetQuestionPreview();
216
+ break;
217
+ case 'Grading view':
218
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
219
+ cy.wait(3000);
220
+ break;
221
+ }
222
+ });
223
+
224
+ if (view === 'Question preview') {
225
+ after(() => {
226
+ listOrderingPage.steps.clickOnSaveQuestionButton();
227
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
228
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
229
+ });
230
+ };
231
+
232
+ it('When the user selects \'Grading\' view without attempting the question, then correct/incorrect icons and correct incorrect status message should not be displayed and correct answer section with all correct answers should be displayed', () => {
233
+ if (view === 'Grading view') {
234
+ utilities.verifyElementVisibilityState(studentViewPage.submitButton(), 'visible');
235
+ studentViewPage.steps.submitResponse();
236
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
237
+ studentViewPage.steps.clickOnGoToGradingViewButton();
238
+ gradingViewPage.steps.verifyGradingViewScore(0, 20);
239
+ };
240
+ if (view === 'Question preview' || view === 'Item preview') {
241
+ listOrderingPage.steps.verifyPreviewScore(0, 20);
242
+ listOrderingPage.steps.switchToGradingView();
243
+ listOrderingPage.steps.verifyPreviewTabPointsBackgroundForIncorrectOrPartiallyCorrectAnswer();
244
+ };
245
+ listOrderingPage.steps.verifyCorrectIncorrectAnswerLabelNotExist();
246
+ listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
247
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(20 points)', 0);
248
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'sprout', 'plant', 'flower']);
249
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
250
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
251
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
252
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
253
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
254
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
255
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(15 points)', 1);
256
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'flower', 'sprout', 'plant' ]);
257
+ listOrderingPage.steps.verifyCorrectOptionIconsCorrectAnswerSection();
258
+ });
259
+
260
+ it('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', () => {
261
+ listOrderingPage.steps.clickAndReorderHorizontalOptionInPreviewTab('sprout', 3);
262
+ listOrderingPage.steps.clickAndReorderHorizontalOptionInPreviewTab('flower', 0);
263
+ if (view === 'Grading view') {
264
+ studentViewPage.steps.submitResponse();
265
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
266
+ studentViewPage.steps.clickOnGoToGradingViewButton();
267
+ gradingViewPage.steps.verifyGradingViewScore(0, 20);
268
+ };
269
+ if (view === 'Question preview' || view === 'Item preview') {
270
+ listOrderingPage.steps.verifyPreviewScore(0, 20);
271
+ listOrderingPage.steps.switchToGradingView();
272
+ };
273
+ listOrderingPage.steps.verifyIncorrectOptionIconHorizontalOrientation('sprout');
274
+ listOrderingPage.steps.verifyIncorrectOptionIconHorizontalOrientation('plant');
275
+ listOrderingPage.steps.verifyIncorrectOptionIconHorizontalOrientation('flower');
276
+ listOrderingPage.steps.verifyIncorrectOptionIconHorizontalOrientation('seed');
277
+ listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
278
+ listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
279
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(20 points)', 0);
280
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'sprout', 'plant', 'flower']);
281
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
282
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
283
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
284
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
285
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
286
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
287
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(15 points)', 1);
288
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'flower', 'sprout', 'plant' ]);
289
+ });
290
+
291
+ it('When the user attempts the question partially correct, then the user should be awarded 0 points and on switching to \'Grading\' view, correct icon should be displayed besides the correct answer responses, incorrect icon should be displayed besides incorrect answer response, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers should be displayed', () => {
292
+ if (view === 'Grading view') {
293
+ studentViewPage.steps.clearResponses();
294
+ };
295
+ listOrderingPage.steps.clickAndReorderHorizontalOptionInPreviewTab('plant', 0);
296
+ listOrderingPage.steps.clickAndReorderHorizontalOptionInPreviewTab('sprout', 1);
297
+ listOrderingPage.steps.clickAndReorderHorizontalOptionInPreviewTab('seed', 2);
298
+ listOrderingPage.steps.clickAndReorderHorizontalOptionInPreviewTab('flower', 3);
299
+ if (view === 'Grading view') {
300
+ studentViewPage.steps.submitResponse();
301
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
302
+ studentViewPage.steps.clickOnGoToGradingViewButton();
303
+ gradingViewPage.steps.verifyGradingViewScore(0, 20);
304
+ };
305
+ if (view === 'Question preview' || view === 'Item preview') {
306
+ listOrderingPage.steps.verifyPreviewScore(0, 20);
307
+ listOrderingPage.steps.switchToGradingView();
308
+ };
309
+ listOrderingPage.steps.verifyIncorrectOptionIconHorizontalOrientation('plant');
310
+ listOrderingPage.steps.verifyCorrectOptionIconHorizontalOrientation('sprout');
311
+ listOrderingPage.steps.verifyIncorrectOptionIconHorizontalOrientation('seed');
312
+ listOrderingPage.steps.verifyCorrectOptionIconHorizontalOrientation('flower');
313
+ listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
314
+ listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
315
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(20 points)', 0);
316
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'sprout', 'plant', 'flower']);
317
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
318
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
319
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
320
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
321
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
322
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
323
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(15 points)', 1);
324
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'flower', 'sprout', 'plant' ]);
325
+ });
326
+
327
+ it('When user attempts the question correctly, the user should be awarded full points and on switching to \'Grading\' view, then correct icons should be displayed beside all the correct responses, correct icon should be displayed besides the correct answer responses, a status message with text \'Your answer is correct\' and correct answer section should not be displayed', () => {
328
+ if (view === 'Grading view') {
329
+ studentViewPage.steps.clearResponses();
330
+ };
331
+ listOrderingPage.steps.clickAndReorderHorizontalOptionInPreviewTab('seed', 0);
332
+ listOrderingPage.steps.clickAndReorderHorizontalOptionInPreviewTab('sprout', 1);
333
+ listOrderingPage.steps.clickAndReorderHorizontalOptionInPreviewTab('plant', 2);
334
+ listOrderingPage.steps.clickAndReorderHorizontalOptionInPreviewTab('flower', 3);
335
+ if (view === 'Grading view') {
336
+ studentViewPage.steps.submitResponse();
337
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
338
+ studentViewPage.steps.clickOnGoToGradingViewButton();
339
+ gradingViewPage.steps.verifyGradingViewScore(20, 20);
340
+ };
341
+ if (view === 'Question preview' || view === 'Item preview') {
342
+ listOrderingPage.steps.verifyPreviewScore(20, 20);
343
+ listOrderingPage.steps.switchToGradingView();
344
+ listOrderingPage.steps.verifyPreviewTabPointsBackgroundForCorrectAnswer();
345
+ };
346
+ listOrderingPage.steps.verifyCorrectOptionIconHorizontalOrientation('seed');
347
+ listOrderingPage.steps.verifyCorrectOptionIconHorizontalOrientation('sprout');
348
+ listOrderingPage.steps.verifyCorrectOptionIconHorizontalOrientation('plant');
349
+ listOrderingPage.steps.verifyCorrectOptionIconHorizontalOrientation('flower');
350
+ listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
351
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
352
+ listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
353
+ });
354
+ });
355
+ });
356
+ }
357
+
164
358
  if (!grepTags || !grepTags.includes('smoke')) {
165
359
  describe('Question preview: Auto scored - All or nothing: Minimum scoring', () => {
166
360
  abortEarlySetup();
@@ -5,6 +5,7 @@ import abortEarlySetup from "../../../../support/helpers/abortEarly";
5
5
  const options = ['sprout', 'plant', 'flower', 'seed'];
6
6
  const correctAnswerArray = ['seed', 'sprout', 'plant', 'flower'];
7
7
  const alternateCorrectAnswerArray = ['seed', 'flower', 'sprout', 'plant'];
8
+ const alternativeAnswerCheck = Cypress.env('ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT');
8
9
 
9
10
  describe('Create Item page - List ordering: Partial different weights scoring with alternative answer for "Horizontal orientation" - When correct answer points are more than alternative answer points', () => {
10
11
  before(() => {
@@ -47,6 +48,18 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
47
48
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
48
49
  listOrderingPage.steps.verifyCorrectIncorrectIconsNotExistListOrderingReorderAsSeparate();
49
50
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
51
+ if (alternativeAnswerCheck === 'true') {
52
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 7 pts, 5 pts, 4 pts, 8 pts)', 0);
53
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'sprout', 'plant', 'flower']);
54
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
55
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
56
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
57
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
58
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
59
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
60
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 6 pts, 3 pts, 2 pts, 9 pts)', 1);
61
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'flower', 'sprout', 'plant']);
62
+ }
50
63
  });
51
64
 
52
65
  it('When the user attempts the question with responses from the correct accordion, then the user should be awarded full points and on switching to \'Grading\' view, correct icons should be displayed beside all the correct responses, correct/incorrect status message and correct answer section should not be displayed', () => {
@@ -63,6 +76,9 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
63
76
  listOrderingPage.steps.verifyCorrectOptionIconSeperateList('plant');
64
77
  listOrderingPage.steps.verifyCorrectOptionIconSeperateList('flower');
65
78
  listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
79
+ if (alternativeAnswerCheck === 'true') {
80
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
81
+ }
66
82
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
67
83
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
68
84
  });
@@ -81,6 +97,9 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
81
97
  listOrderingPage.steps.verifyCorrectOptionIconSeperateList('plant');
82
98
  listOrderingPage.steps.verifyCorrectOptionIconSeperateList('flower');
83
99
  listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
100
+ if (alternativeAnswerCheck === 'true') {
101
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
102
+ }
84
103
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
85
104
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
86
105
  });
@@ -100,6 +119,18 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
100
119
  listOrderingPage.steps.verifyIncorrectOptionIconSeperateList('seed');
101
120
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
102
121
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
122
+ if (alternativeAnswerCheck === 'true') {
123
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 7 pts, 5 pts, 4 pts, 8 pts)', 0);
124
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'sprout', 'plant', 'flower']);
125
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
126
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
127
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
128
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
129
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
130
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
131
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 6 pts, 3 pts, 2 pts, 9 pts)', 1);
132
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'flower', 'sprout', 'plant']);
133
+ }
103
134
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
104
135
  });
105
136
 
@@ -118,6 +149,18 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
118
149
  listOrderingPage.steps.verifyIncorrectOptionIconSeperateList('seed');
119
150
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
120
151
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
152
+ if (alternativeAnswerCheck === 'true') {
153
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 7 pts, 5 pts, 4 pts, 8 pts)', 0);
154
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'sprout', 'plant', 'flower']);
155
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
156
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
157
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
158
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
159
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
160
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
161
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 6 pts, 3 pts, 2 pts, 9 pts)', 1);
162
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'flower', 'sprout', 'plant']);
163
+ }
121
164
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
122
165
  });
123
166
 
@@ -136,6 +179,18 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
136
179
  listOrderingPage.steps.verifyIncorrectOptionIconSeperateList('sprout');
137
180
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
138
181
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
182
+ if (alternativeAnswerCheck === 'true') {
183
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 7 pts, 5 pts, 4 pts, 8 pts)', 0);
184
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'sprout', 'plant', 'flower']);
185
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
186
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
187
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
188
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
189
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
190
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
191
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 6 pts, 3 pts, 2 pts, 9 pts)', 1);
192
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'flower', 'sprout', 'plant']);
193
+ }
139
194
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
140
195
  });
141
196
 
@@ -154,6 +209,18 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
154
209
  listOrderingPage.steps.verifyCorrectOptionIconSeperateList('plant');
155
210
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
156
211
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
212
+ if (alternativeAnswerCheck === 'true') {
213
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 7 pts, 5 pts, 4 pts, 8 pts)', 0);
214
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'sprout', 'plant', 'flower']);
215
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
216
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
217
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
218
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
219
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
220
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
221
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 6 pts, 3 pts, 2 pts, 9 pts)', 1);
222
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'flower', 'sprout', 'plant']);
223
+ }
157
224
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
158
225
  });
159
226
 
@@ -172,6 +239,18 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
172
239
  listOrderingPage.steps.verifyIncorrectOptionIconSeperateList('sprout');
173
240
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
174
241
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
242
+ if (alternativeAnswerCheck === 'true') {
243
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 7 pts, 5 pts, 4 pts, 8 pts)', 0);
244
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'sprout', 'plant', 'flower']);
245
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
246
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
247
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
248
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
249
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
250
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
251
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 6 pts, 3 pts, 2 pts, 9 pts)', 1);
252
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'flower', 'sprout', 'plant']);
253
+ }
175
254
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
176
255
  });
177
256
 
@@ -190,6 +269,18 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
190
269
  listOrderingPage.steps.verifyIncorrectOptionIconSeperateList('sprout');
191
270
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
192
271
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
272
+ if (alternativeAnswerCheck === 'true') {
273
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 7 pts, 5 pts, 4 pts, 8 pts)', 0);
274
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'sprout', 'plant', 'flower']);
275
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
276
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
277
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
278
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
279
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
280
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
281
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 6 pts, 3 pts, 2 pts, 9 pts)', 1);
282
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'flower', 'sprout', 'plant']);
283
+ }
193
284
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
194
285
  });
195
286
 
@@ -230,6 +321,18 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
230
321
  listOrderingPage.steps.verifyIncorrectOptionIconSeperateList('fruit');
231
322
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(['seed', 'sprout', 'plant', 'flower', 'fruit']);
232
323
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
324
+ if (alternativeAnswerCheck === 'true') {
325
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 24 pts, 1 pt, 4 pts, 1 pt, 3 pts)', 0);
326
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'sprout', 'plant', 'flower', 'fruit']);
327
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
328
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
329
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
330
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
331
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
332
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
333
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 14 pts, 2 pts, 1 pt, 2 pts, 3 pts)', 1);
334
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['sprout', 'plant', 'flower', 'fruit', 'seed']);
335
+ }
233
336
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
234
337
  });
235
338
  });
@@ -4,6 +4,7 @@ import abortEarlySetup from "../../../../support/helpers/abortEarly";
4
4
  let options = ['sprout', 'plant', 'flower', 'seed'];
5
5
  let correctAnswerArray = ['seed', 'sprout', 'plant', 'flower'];
6
6
  let alternateCorrectAnswerArray = ['seed', 'flower', 'sprout', 'plant'];
7
+ const alternativeAnswerCheck = Cypress.env('ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT');
7
8
 
8
9
  describe('Create item page - List ordering: All or nothing scoring with alternative answer - When alternative answer points are more than correct answer points', () => {
9
10
  before(() => {
@@ -39,6 +40,18 @@ describe('Create item page - List ordering: All or nothing scoring with alternat
39
40
  listOrderingPage.steps.switchToGradingView();
40
41
  listOrderingPage.steps.verifyCorrectIncorrectAnswerLabelNotExist();
41
42
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(alternateCorrectAnswerArray);
43
+ if (alternativeAnswerCheck === 'true') {
44
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(25 points)', 0);
45
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'flower', 'sprout', 'plant' ]);
46
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
47
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
48
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
49
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
50
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
51
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
52
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(20 points)', 1);
53
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'sprout', 'plant', 'flower', ]);
54
+ }
42
55
  });
43
56
 
44
57
  it('When the user attempts the question with responses from the correct accordion, then the user should be awarded with points specified for correct accordion (less than full points) and on switching to \'Grading\' view, correct icons should be displayed beside all the correct responses, a status message with text \'Your answer is correct\' and correct answer section should not be displayed', () => {
@@ -56,6 +69,9 @@ describe('Create item page - List ordering: All or nothing scoring with alternat
56
69
  listOrderingPage.steps.verifyCorrectOptionIconSeperateList('flower');
57
70
  listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
58
71
  listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
72
+ if (alternativeAnswerCheck === 'true') {
73
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
74
+ }
59
75
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
60
76
  });
61
77
 
@@ -74,6 +90,9 @@ describe('Create item page - List ordering: All or nothing scoring with alternat
74
90
  listOrderingPage.steps.verifyCorrectOptionIconSeperateList('flower');
75
91
  listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
76
92
  listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
93
+ if (alternativeAnswerCheck === 'true') {
94
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
95
+ }
77
96
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
78
97
  });
79
98
 
@@ -92,6 +111,18 @@ describe('Create item page - List ordering: All or nothing scoring with alternat
92
111
  listOrderingPage.steps.verifyIncorrectOptionIconSeperateList('seed');
93
112
  listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
94
113
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(alternateCorrectAnswerArray);
114
+ if (alternativeAnswerCheck === 'true') {
115
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(25 points)', 0);
116
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'flower', 'sprout', 'plant' ]);
117
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
118
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
119
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
120
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
121
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
122
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
123
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(20 points)', 1);
124
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'sprout', 'plant', 'flower', ]);
125
+ }
95
126
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
96
127
  });
97
128
 
@@ -110,6 +141,18 @@ describe('Create item page - List ordering: All or nothing scoring with alternat
110
141
  listOrderingPage.steps.verifyIncorrectOptionIconSeperateList('seed');
111
142
  listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
112
143
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(alternateCorrectAnswerArray);
144
+ if (alternativeAnswerCheck === 'true') {
145
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(25 points)', 0);
146
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'flower', 'sprout', 'plant' ]);
147
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
148
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
149
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
150
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
151
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
152
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
153
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(20 points)', 1);
154
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'sprout', 'plant', 'flower', ]);
155
+ }
113
156
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
114
157
  });
115
158
 
@@ -128,6 +171,18 @@ describe('Create item page - List ordering: All or nothing scoring with alternat
128
171
  listOrderingPage.steps.verifyCorrectOptionIconSeperateList('plant');
129
172
  listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
130
173
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(alternateCorrectAnswerArray);
174
+ if (alternativeAnswerCheck === 'true') {
175
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(25 points)', 0);
176
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'flower', 'sprout', 'plant' ]);
177
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
178
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
179
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
180
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
181
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
182
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
183
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(20 points)', 1);
184
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'sprout', 'plant', 'flower', ]);
185
+ }
131
186
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
132
187
  });
133
188
 
@@ -146,6 +201,18 @@ describe('Create item page - List ordering: All or nothing scoring with alternat
146
201
  listOrderingPage.steps.verifyIncorrectOptionIconSeperateList('sprout');
147
202
  listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
148
203
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(alternateCorrectAnswerArray);
204
+ if (alternativeAnswerCheck === 'true') {
205
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(25 points)', 0);
206
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'flower', 'sprout', 'plant' ]);
207
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
208
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
209
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
210
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
211
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
212
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
213
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(20 points)', 1);
214
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'sprout', 'plant', 'flower', ]);
215
+ }
149
216
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
150
217
  });
151
218
 
@@ -164,6 +231,18 @@ describe('Create item page - List ordering: All or nothing scoring with alternat
164
231
  listOrderingPage.steps.verifyIncorrectOptionIconSeperateList('sprout');
165
232
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(alternateCorrectAnswerArray);
166
233
  listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
234
+ if (alternativeAnswerCheck === 'true') {
235
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(25 points)', 0);
236
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'flower', 'sprout', 'plant' ]);
237
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
238
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
239
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
240
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
241
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
242
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
243
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(20 points)', 1);
244
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'sprout', 'plant', 'flower', ]);
245
+ }
167
246
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
168
247
  });
169
248
  });
@@ -194,6 +273,9 @@ describe('Create item page - List ordering: All or nothing scoring with alternat
194
273
  listOrderingPage.steps.switchToGradingView();
195
274
  listOrderingPage.steps.verifyCorrectAnswerSectionNotExist();
196
275
  listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
276
+ if (alternativeAnswerCheck === 'true') {
277
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
278
+ }
197
279
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
198
280
  });
199
281
 
@@ -205,6 +287,9 @@ describe('Create item page - List ordering: All or nothing scoring with alternat
205
287
  listOrderingPage.steps.switchToGradingView();
206
288
  listOrderingPage.steps.verifyCorrectAnswerSectionNotExist();
207
289
  listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
290
+ if (alternativeAnswerCheck === 'true') {
291
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
292
+ }
208
293
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
209
294
  });
210
295
  });