itemengine-cypress-automation 1.0.583-IEI-7048-71a8251.0 → 1.0.584-IEI-7041-1da58ac.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 (100) hide show
  1. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +123 -8
  2. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +123 -8
  3. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +131 -14
  4. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perCorrectOptionAlternativePointsGreaterThanCorrectPoints.js +138 -9
  5. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perCorrectOptionCorrectPointsEqualToAlternativePoints.js +138 -9
  6. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perCorrectOptionCorrectPointsGreaterThanAlternativePoints.js +153 -10
  7. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneAlternativePointsGreaterThanCorrectPoints.js +138 -9
  8. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneCorrectPointsEqualToAlternativePoints.js +108 -7
  9. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneCorrectPointsGreaterThanAlternativePoints.js +138 -9
  10. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +272 -1
  11. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/allOrNothingGroupedScoring.js +4 -1
  12. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +109 -8
  13. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/allOrNothingWithCorrectPointsEqualToAlternativePoints.js +109 -8
  14. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +109 -8
  15. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/blankResponseScoring.js +7 -2
  16. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +139 -10
  17. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialDifferentWeightsBasic.js +4 -1
  18. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +124 -9
  19. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +139 -10
  20. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialEqualWeightsBasic.js +4 -1
  21. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +124 -9
  22. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +109 -8
  23. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +124 -9
  24. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +243 -2
  25. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +0 -77
  26. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +1 -78
  27. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +1 -78
  28. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +9 -104
  29. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsBasic.js +0 -4
  30. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +0 -95
  31. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +0 -95
  32. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +0 -84
  33. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +0 -4
  34. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +0 -73
  35. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +0 -84
  36. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +2 -187
  37. package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +1 -79
  38. package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +0 -79
  39. package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +0 -79
  40. package/cypress/e2e/ILC/ListOrderingNew/Scoring/manuallyAndNonScored.js +0 -4
  41. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +0 -103
  42. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsBasic.js +0 -4
  43. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +0 -103
  44. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +0 -103
  45. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +0 -91
  46. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsBasic.js +0 -4
  47. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +0 -79
  48. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +0 -91
  49. package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +5 -209
  50. package/cypress/e2e/ILC/ListOrderingNew/horizontalOrientationAllOrNothingForAllViews.smoke.js +1 -195
  51. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/HorizontalOrientation/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +0 -103
  52. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +0 -85
  53. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +0 -82
  54. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +0 -85
  55. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +6 -109
  56. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialDifferentWeightsBasic.js +0 -4
  57. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +0 -103
  58. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +0 -103
  59. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +0 -91
  60. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialEqualWeightsBasic.js +0 -4
  61. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +0 -79
  62. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +0 -91
  63. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/allOrNothingForAllViews.smoke.js +3 -203
  64. package/cypress/e2e/ILC/Matching/Scoring/allOrNothingGroupedScoring.js +1 -9
  65. package/cypress/e2e/ILC/Matching/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +2 -102
  66. package/cypress/e2e/ILC/Matching/Scoring/allOrNothingWithCorrectPointsEqualToAlternativePoints.js +2 -102
  67. package/cypress/e2e/ILC/Matching/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +2 -107
  68. package/cypress/e2e/ILC/Matching/Scoring/blankResponseScoring.js +2 -36
  69. package/cypress/e2e/ILC/Matching/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +0 -5
  70. package/cypress/e2e/ILC/Matching/Scoring/manuallyAndNonScored.js +0 -1
  71. package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsScoringBasic.js +1 -10
  72. package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +2 -128
  73. package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +2 -115
  74. package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +2 -128
  75. package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsBasic.js +1 -9
  76. package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +2 -115
  77. package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +2 -102
  78. package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +2 -115
  79. package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +2 -226
  80. package/cypress/e2e/ILC/Matching/maximumCapacityPerDropzoneSection.js +1 -9
  81. package/cypress/e2e/ILC/MatchingDropdown/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +2 -102
  82. package/cypress/e2e/ILC/MatchingDropdown/Scoring/allOrNothingWithCorrectPointsEqualToAlternativePoints.js +2 -102
  83. package/cypress/e2e/ILC/MatchingDropdown/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +2 -102
  84. package/cypress/e2e/ILC/MatchingDropdown/Scoring/blankResponseScoring.js +5 -32
  85. package/cypress/e2e/ILC/MatchingDropdown/Scoring/manuallyAndNonScored.js +0 -3
  86. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsScoringBasic.js +1 -10
  87. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +2 -128
  88. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternatePoints.js +2 -115
  89. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternatePoints.js +2 -128
  90. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsBasic.js +1 -9
  91. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +2 -115
  92. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +2 -102
  93. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +2 -115
  94. package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +2 -216
  95. package/cypress/pages/components/correctIncorrectAnswerLabelComponent.js +1 -18
  96. package/cypress/pages/components/fillInTheGapsDragAndDropCommonComponents.js +25 -1
  97. package/cypress/pages/dragAndDropIntoCategoriesPage.js +38 -0
  98. package/cypress/pages/listOrderingPage.js +1 -60
  99. package/cypress/pages/matchingPage.js +1 -23
  100. package/package.json +1 -1
@@ -3,7 +3,6 @@ import abortEarlySetup from "../../../support/helpers/abortEarly";
3
3
  import utilities from "../../../support/helpers/utilities";
4
4
  const css = Cypress.env('css');
5
5
  const grepTags = Cypress.env('grepTags');
6
- const alternativeAnswerCheck = Cypress.env('ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT');
7
6
  let correctAnswerViews = ['Question preview', 'Item preview', 'Grading view'];
8
7
  const views = utilities.getViews(correctAnswerViews);
9
8
  var itemReferenceID = "";
@@ -116,11 +115,7 @@ describe('Create item page - Matching: All or nothing ', () => {
116
115
  matchingPage.steps.verifyDropdownNumeration(2);
117
116
  matchingPage.steps.verifyCorrectIncorrectIconsNotExist();
118
117
  matchingPage.steps.verifyCorrectIncorrectAnswerLabelNotExist();
119
- if(alternativeAnswerCheck === 'true') {
120
- matchingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(20 points)', 0);
121
- } else {
122
- utilities.verifyInnerText(matchingPage.correctAnswersLabel(), 'Correct answers');
123
- }
118
+ utilities.verifyInnerText(matchingPage.correctAnswersLabel(), 'Correct answers');
124
119
  matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
125
120
  });
126
121
 
@@ -207,213 +202,11 @@ describe('Create item page - Matching: All or nothing ', () => {
207
202
  matchingPage.steps.verifyCorrectOptionIconDropdown(1);
208
203
  matchingPage.steps.verifyCorrectOptionIconDropdown(2);
209
204
  matchingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
210
- if (alternativeAnswerCheck === 'true') {
211
- matchingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
212
- }
213
205
  matchingPage.steps.verifyCorrectAnswerSectionNotExists();
214
206
  });
215
207
  });
216
208
  });
217
209
 
218
- if (alternativeAnswerCheck === 'true') {
219
- views.forEach((view) => {
220
- describe(`${view}: Auto scored - All or nothing scoring with alternate answers`, { tags: 'smoke' }, () => {
221
- abortEarlySetup();
222
- before(() => {
223
- switch (view) {
224
- case 'Question preview':
225
- matchingPage.steps.navigateToCreateQuestion('matching');
226
- cy.barsPreLoaderWait();
227
- matchingPage.steps.selectOptionLayoutToggleButton('Dropdown menu');
228
- matchingPage.steps.addTextInQuestionInstructionsInputField('Fill the categories with the right answer.');
229
- matchingPage.steps.allotPoints(20);
230
- matchingPage.steps.addMultipleOptionFields(2);
231
- matchingPage.steps.enterTextInPromptInputField(promptTextArray);
232
- matchingPage.steps.enterTextInOptionInputFieldDropdown(optionsArray);
233
- matchingPage.steps.selectResponseFromDropdownInSpecifyCorrectAnswerSection([{ dropdownIndex: 0, dropdownOption: optionsArray[1] }, { dropdownIndex: 1, dropdownOption: optionsArray[2] }, { dropdownIndex: 2, dropdownOption: optionsArray[0] }]);
234
- matchingPage.steps.addAlternativeAnswerAccordion(1);
235
- matchingPage.steps.allotPoints(10);
236
- matchingPage.steps.selectResponseFromDropdownInSpecifyCorrectAnswerSection([{ dropdownIndex: 0, dropdownOption: optionsArray[3] }, { dropdownIndex: 1, dropdownOption: optionsArray[4] }, { dropdownIndex: 2, dropdownOption: optionsArray[0] }]);
237
- matchingPage.steps.switchToPreviewTab();
238
- break;
239
- case 'Item preview':
240
- cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
241
- itemPreviewPage.steps.switchToPreviewTab();
242
- break;
243
- case 'Grading view':
244
- cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
245
- break;
246
- };
247
- });
248
-
249
- beforeEach(() => {
250
- switch (view) {
251
- case 'Question preview':
252
- matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
253
- matchingPage.steps.resetQuestionPreview();
254
- break;
255
- case 'Item preview':
256
- matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
257
- itemPreviewPage.steps.resetQuestionPreview();
258
- break;
259
- case 'Grading view':
260
- cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
261
- break;
262
- }
263
- });
264
-
265
- if (view === 'Question preview') {
266
- after(() => {
267
- matchingPage.steps.clickOnSaveQuestionButton();
268
- utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
269
- itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
270
- });
271
- };
272
-
273
- it('When the user selects \'Grading\' view without attempting the question, dropdown numeration should be displayed, correct/incorrect status message should not be displayed, correct answers section with a label \'Correct answers\' should be displayed with correct answers and respective option numeration', () => {
274
- if (view === 'Grading view') {
275
- studentViewPage.steps.submitResponse();
276
- utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
277
- studentViewPage.steps.clickOnGoToGradingViewButton();
278
- gradingViewPage.steps.verifyGradingViewScore(0, 20);
279
- };
280
- if (view === 'Question preview' || view === 'Item preview') {
281
- matchingPage.steps.verifyPreviewScore(0, 20);
282
- matchingPage.steps.switchToGradingView();
283
- matchingPage.steps.verifyPreviewTabPointsBackgroundForIncorrectOrPartiallyCorrectAnswer();
284
- };
285
- matchingPage.steps.verifyDropdownNumeration(0);
286
- matchingPage.steps.verifyDropdownNumeration(1);
287
- matchingPage.steps.verifyDropdownNumeration(2);
288
- matchingPage.steps.verifyCorrectIncorrectIconsNotExist();
289
- matchingPage.steps.verifyCorrectIncorrectAnswerLabelNotExist();
290
- matchingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(20 points)', 0);
291
- matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
292
- });
293
-
294
- 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 along with numeration should be displayed', () => {
295
- matchingPage.steps.selectResponseFromDropdownInPreviewTab([{ dropdownIndex: 0, dropdownOption: optionsArray[4] }, { dropdownIndex: 1, dropdownOption: optionsArray[0] }, { dropdownIndex: 2, dropdownOption: optionsArray[2] }]);
296
- if (view === 'Grading view') {
297
- studentViewPage.steps.submitResponse();
298
- utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
299
- studentViewPage.steps.clickOnGoToGradingViewButton();
300
- gradingViewPage.steps.verifyGradingViewScore(0, 20);
301
- };
302
- if (view === 'Question preview' || view === 'Item preview') {
303
- matchingPage.steps.verifyPreviewScore(0, 20);
304
- matchingPage.steps.switchToGradingView();
305
- };
306
- matchingPage.steps.verifyIncorrectOptionIconDropdown(0);
307
- matchingPage.steps.verifyIncorrectOptionIconDropdown(1);
308
- matchingPage.steps.verifyIncorrectOptionIconDropdown(2);
309
- matchingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
310
- matchingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(20 points)', 0);
311
- matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
312
- matchingPage.steps.verifyShowAlternativeAnswersToggleExists();
313
- matchingPage.steps.disableShowAlternativeAnswersToggle();
314
- matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
315
- matchingPage.steps.verifyAlternativeAnswersSectionNotExist();
316
- matchingPage.steps.clickShowAlternativeAnswersToggle();
317
- matchingPage.steps.verifyShowAlternativeAnswersToggleChecked();
318
- matchingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(10 points)', 1);
319
- matchingPage.steps.verifyAlternativeAnswerResponsesInCorrectAnswerSectionAndCount([['Bear'], ['Eagle'], ['Cat']], 1);
320
- matchingPage.steps.clickShowAlternativeAnswersToggle();
321
- matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
322
- });
323
-
324
- it('When the user attempts the question partially correct with some correct, some incomplete and some incorrect options, 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 along with numeration should be displayed', () => {
325
- if (view === 'Grading view') {
326
- studentViewPage.steps.clearResponses();
327
- };
328
- matchingPage.steps.selectResponseFromDropdownInPreviewTab([{ dropdownIndex: 0, dropdownOption: optionsArray[1] }, { dropdownIndex: 2, dropdownOption: optionsArray[3] }]);
329
- if (view === 'Grading view') {
330
- studentViewPage.steps.submitResponse();
331
- utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
332
- studentViewPage.steps.clickOnGoToGradingViewButton();
333
- gradingViewPage.steps.verifyGradingViewScore(0, 20);
334
- };
335
- if (view === 'Question preview' || view === 'Item preview') {
336
- matchingPage.steps.verifyPreviewScore(0, 20);
337
- matchingPage.steps.switchToGradingView();
338
- };
339
- matchingPage.steps.verifyCorrectOptionIconDropdown(0);
340
- matchingPage.steps.verifyIncorrectOptionIconDropdown(1);
341
- matchingPage.steps.verifyIncorrectOptionIconDropdown(2);
342
- matchingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
343
- matchingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(20 points)', 0);
344
- matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
345
- matchingPage.steps.verifyShowAlternativeAnswersToggleExists();
346
- matchingPage.steps.disableShowAlternativeAnswersToggle();
347
- matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
348
- matchingPage.steps.verifyAlternativeAnswersSectionNotExist();
349
- matchingPage.steps.clickShowAlternativeAnswersToggle();
350
- matchingPage.steps.verifyShowAlternativeAnswersToggleChecked();
351
- matchingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(10 points)', 1);
352
- matchingPage.steps.verifyAlternativeAnswerResponsesInCorrectAnswerSectionAndCount([['Bear'], ['Eagle'], ['Cat']], 1);
353
- matchingPage.steps.clickShowAlternativeAnswersToggle();
354
- matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
355
- });
356
-
357
- it('When the user attempts the question partially correct with all the dropdowns correctly attempted but one dropdown incomplete, 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 along with numeration should be displayed', () => {
358
- if (view === 'Grading view') {
359
- studentViewPage.steps.clearResponses();
360
- };
361
- matchingPage.steps.selectResponseFromDropdownInPreviewTab([{ dropdownIndex: 1, dropdownOption: optionsArray[2] }, { dropdownIndex: 2, dropdownOption: optionsArray[0] }]);
362
- if (view === 'Grading view') {
363
- studentViewPage.steps.submitResponse();
364
- utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
365
- studentViewPage.steps.clickOnGoToGradingViewButton();
366
- gradingViewPage.steps.verifyGradingViewScore(0, 20);
367
- };
368
- if (view === 'Question preview' || view === 'Item preview') {
369
- matchingPage.steps.verifyPreviewScore(0, 20);
370
- matchingPage.steps.switchToGradingView();
371
- };
372
- matchingPage.steps.verifyIncorrectOptionIconDropdown(0);
373
- matchingPage.steps.verifyCorrectOptionIconDropdown(1);
374
- matchingPage.steps.verifyCorrectOptionIconDropdown(2);
375
- matchingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
376
- matchingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(20 points)', 0);
377
- matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
378
- matchingPage.steps.verifyShowAlternativeAnswersToggleExists();
379
- matchingPage.steps.disableShowAlternativeAnswersToggle();
380
- matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
381
- matchingPage.steps.verifyAlternativeAnswersSectionNotExist();
382
- matchingPage.steps.clickShowAlternativeAnswersToggle();
383
- matchingPage.steps.verifyShowAlternativeAnswersToggleChecked();
384
- matchingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(10 points)', 1);
385
- matchingPage.steps.verifyAlternativeAnswerResponsesInCorrectAnswerSectionAndCount([['Bear'], ['Eagle'], ['Cat']], 1);
386
- matchingPage.steps.clickShowAlternativeAnswersToggle();
387
- matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
388
- });
389
-
390
- 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', () => {
391
- if (view === 'Grading view') {
392
- studentViewPage.steps.clearResponses();
393
- };
394
- matchingPage.steps.selectResponseFromDropdownInPreviewTab([{ dropdownIndex: 0, dropdownOption: optionsArray[1] }, { dropdownIndex: 1, dropdownOption: optionsArray[2] }, { dropdownIndex: 2, dropdownOption: optionsArray[0] }]);
395
- if (view === 'Grading view') {
396
- studentViewPage.steps.submitResponse();
397
- utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
398
- studentViewPage.steps.clickOnGoToGradingViewButton();
399
- gradingViewPage.steps.verifyGradingViewScore(20, 20);
400
- };
401
- if (view === 'Question preview' || view === 'Item preview') {
402
- matchingPage.steps.verifyPreviewScore(20, 20);
403
- matchingPage.steps.switchToGradingView();
404
- matchingPage.steps.verifyPreviewTabPointsBackgroundForCorrectAnswer();
405
- };
406
- matchingPage.steps.verifyCorrectOptionIconDropdown(0);
407
- matchingPage.steps.verifyCorrectOptionIconDropdown(1);
408
- matchingPage.steps.verifyCorrectOptionIconDropdown(2);
409
- matchingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
410
- matchingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
411
- matchingPage.steps.verifyCorrectAnswerSectionNotExists();
412
- });
413
- });
414
- });
415
- };
416
-
417
210
  views.forEach((view) => {
418
211
  describe(`${view}: Matching dropdown - Manually scored`, { tags: 'smoke' }, () => {
419
212
  abortEarlySetup();
@@ -559,11 +352,7 @@ describe('Create item page - Matching: All or nothing ', () => {
559
352
  matchingPage.steps.verifyDropdownNumeration(2);
560
353
  matchingPage.steps.verifyCorrectIncorrectIconsNotExist();
561
354
  matchingPage.steps.verifyCorrectIncorrectAnswerLabelNotExist();
562
- if (alternativeAnswerCheck === 'true') {
563
- matchingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '', 0);
564
- } else {
565
- utilities.verifyInnerText(matchingPage.correctAnswersLabel(), 'Correct answers');
566
- }
355
+ utilities.verifyInnerText(matchingPage.correctAnswersLabel(), 'Correct answers');
567
356
  matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
568
357
  });
569
358
 
@@ -621,9 +410,6 @@ describe('Create item page - Matching: All or nothing ', () => {
621
410
  matchingPage.steps.verifyCorrectOptionIconDropdown(1);
622
411
  matchingPage.steps.verifyCorrectOptionIconDropdown(2);
623
412
  matchingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
624
- if (alternativeAnswerCheck === 'true') {
625
- matchingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
626
- }
627
413
  matchingPage.steps.verifyCorrectAnswerSectionNotExists();
628
414
  });
629
415
  });
@@ -6,8 +6,7 @@ const selectors = {
6
6
  correctAnswerContainer: () => cy.get('[class*="correct-answer-wrapper"]'),
7
7
  correctIncorrectAnswerBlock: () => cy.get('[class*="-answer-block"]'),
8
8
  correctIncorrectStatusMessageText: () => cy.get('[class*="AnswerStatusText"]'),
9
- correctIncorrectAnswerLabel: () => cy.get('[class*="CorrectIncorrectLabel"]'),
10
- correctAnswerLabelWrapper: () => cy.get('[class*="CorrectAnswerLabelWrapper"]')
9
+ correctIncorrectAnswerLabel: () => cy.get('[class*="CorrectIncorrectLabel"]')
11
10
  }
12
11
 
13
12
  const steps = {
@@ -35,22 +34,6 @@ const steps = {
35
34
  verifyCorrectIncorrectStatusMessageExists: () => {
36
35
  utilities.verifyElementVisibilityState(correctIncorrectAnswerLabelComponent.correctIncorrectAnswerBlock(), 'exist');
37
36
  },
38
-
39
- /**
40
- * @param {string} expectedLabel - The expected label text (e.g., "Correct answer", "Alternative answer 1", "Alternative answer 2").
41
- * @param {string} expectedPoints - The expected points text (e.g., "(20 points)", "(10 points)").
42
- * @param {number} [sectionIndex=0] - The index of the answer section (0 for first section, 1 for second section, etc.).
43
- * @description Verifies the answer label and its associated point value in a specific section.
44
- * This can be used for correct answer or alternative answer sections.
45
- */
46
- verifyAnswerLabelAndPoints: (expectedLabel, expectedPoints, sectionIndex = 0) => {
47
- correctIncorrectAnswerLabelComponent.correctAnswerLabelWrapper()
48
- .eq(sectionIndex)
49
- .within(() => {
50
- cy.contains(expectedLabel).should('be.visible');
51
- cy.get('p').should('contain.text', expectedPoints);
52
- });
53
- },
54
37
  }
55
38
 
56
39
  export const correctIncorrectAnswerLabelComponent = {
@@ -11,13 +11,14 @@ const selectors = {
11
11
  specifyPointsForEachIncorrectDropzoneRadioButton: () => cy.get('input[aria-label*="Specify points for each incorrect"]'),
12
12
 
13
13
  correctAnswersNumeration: () => cy.get('[class*="__AnswerCell"] .answer-numeration-number-box'),
14
- correctAnswersOptions: () => cy.get('[class*="__AnswerWrapper"]'),
14
+ correctAnswersOptions: () => cy.get('[class*="ClozeWithDragAndDropstyles__AnswerWrapper"]'),
15
15
  correctAnswersLabel: () => cy.get('.correct-answers-label'),
16
16
  tickIconWrapper: () => cy.get('.tick-icon-wrapper'),
17
17
  correctAnswerContainer: () => cy.get('.dnd-correct-answer-wrapper'),
18
18
  correctIncorrectAnswerLabel: () => cy.get('[class*="CorrectIncorrectLabel"]'),
19
19
  correctAnswerResponseWrapperWithoutEnumeration: () => cy.get('[class*="CorrectAnswers"] [class*="AnswerStatusIconAndResponseWrapper"]'),
20
20
  answerStatusBanner: () => cy.get('[class*="AnswerStatusWrapper"]'),
21
+ correctAnswerPointsLabel: () => cy.get('[class*="CorrectAnswerSectionstyle__CorrectAnswerLabelWrapper"] p'),
21
22
 
22
23
  //additional settings
23
24
  enterAriaLabelInputField: () => cy.get('input[aria-label*="Enter ARIA label"]'),
@@ -39,6 +40,29 @@ const steps = {
39
40
  });
40
41
  },
41
42
 
43
+ verifyCorrectAnswerSectionWithAlternateAnswers: (correctAnswersArray) => {
44
+ let answerIndex = 0;
45
+ let pointsLabelIndex = 0;
46
+ correctAnswersArray.forEach(({
47
+ correctAnswers, points
48
+ }) => {
49
+ correctAnswers.forEach((correctAnswer, index) => {
50
+ utilities.verifyTextContent(utilities.getNthElement(fillInTheGapsDragAndDropCommonComponents.correctAnswersNumeration(), answerIndex), index + 1);
51
+ correctAnswer.forEach((answerOption) => {
52
+ utilities.verifyTextContent(utilities.getNthElement(fillInTheGapsDragAndDropCommonComponents.correctAnswersOptions(), answerIndex), answerOption);
53
+ });
54
+ answerIndex += 1;
55
+ });
56
+ points.forEach((pointsText) => {
57
+ fillInTheGapsDragAndDropCommonComponents.correctAnswerPointsLabel()
58
+ .eq(pointsLabelIndex)
59
+ .should('have.text', pointsText);
60
+ pointsLabelIndex += 1;
61
+ })
62
+ });
63
+ },
64
+
65
+
42
66
  verifyCorrectAnswerSectionNotExists: () => {
43
67
  utilities.verifyElementVisibilityState(fillInTheGapsDragAndDropCommonComponents.correctAnswerContainer(), 'notExist');
44
68
  },
@@ -39,6 +39,7 @@ 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'),
42
43
  correctAnswerDropzoneCellTickIcon: () => cy.get('[class*="Matrixstyles__GreenBlock"]'),
43
44
  correctAnswersLabel: () => cy.get('.correct-answers-label'),
44
45
  correctAnswerOption: () => cy.get('[class*="Matrixstyles__AnswerWrapper"]'),
@@ -514,6 +515,43 @@ const steps = {
514
515
  });
515
516
  },
516
517
 
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
+
517
555
  /**
518
556
  * Verifies the presence of an incorrect option icon for a specified option in the Preview Tab.
519
557
  * @param {number} optionIndex - The index of the option to verify.
@@ -1,6 +1,6 @@
1
1
  import constants from "../fixtures/constants";
2
2
  import utilities from "../support/helpers/utilities";
3
- import { autoScoredScoringPreviewTab, autoScoredScoringSectionMultiResponseType, autoScoredSpecifyCorrectAnswerSection, autoScoredStudentViewSettings, commonComponents, correctIncorrectAnswerLabelComponent, createQuestionBasePage, optionsWrapperComponent, questionInstructionsComponent, randomizeOptionsComponent, scoringSectionBaseEditTab, studentViewSettingsLabelComponent, additionalSettingsPanel, additionalSettingsAccessibilitySectionComponent, enableOuterBorderComponent, styleAndLayoutCustomizationAccordionComponent, showAlternativeAnswersComponent } from "./components"
3
+ import { autoScoredScoringPreviewTab, autoScoredScoringSectionMultiResponseType, autoScoredSpecifyCorrectAnswerSection, autoScoredStudentViewSettings, commonComponents, correctIncorrectAnswerLabelComponent, createQuestionBasePage, optionsWrapperComponent, questionInstructionsComponent, randomizeOptionsComponent, scoringSectionBaseEditTab, studentViewSettingsLabelComponent, additionalSettingsPanel, additionalSettingsAccessibilitySectionComponent, enableOuterBorderComponent, styleAndLayoutCustomizationAccordionComponent } from "./components"
4
4
  import { listOrderingCommonStyleAndLayoutComponent } from "./components/listOrderingCommonStyleAndLayoutComponent";
5
5
  import { createItemPage } from "./createItemPage";
6
6
  import { dialogBoxBase } from "./dialogBoxBase";
@@ -20,7 +20,6 @@ const selectors = {
20
20
  ...enableOuterBorderComponent,
21
21
  ...styleAndLayoutCustomizationAccordionComponent,
22
22
  ...listOrderingCommonStyleAndLayoutComponent,
23
- ...showAlternativeAnswersComponent,
24
23
  //Specify correct answer section
25
24
  optionSpecifyCorrectAnswerSection: () => cy.get('.list-ordering-set-correct-answer [class*="AnswerWrapper"][role="button"]'),
26
25
  optionTextSpecifyCorrectAnswerSection: () => cy.get('.draggable-item-wrapper[overflow] .question-text-wrapper'),
@@ -35,9 +34,7 @@ const selectors = {
35
34
  optionWrapperPreviewTab: () => cy.get('[class*="question-preview-wrapper"] .orderlist-option-wrapper, .vertical-list-order .reorder-as-same-list-items [class*="DraggableItemstyles__DraggableItemContainer"]'),
36
35
  correctAnswersLabel: () => cy.get('[class*="question-preview-wrapper"] [class*="__CorrectAnswerLabel"]'),
37
36
  correctAnswerSectionAnswerWrapper: () => cy.get('[class*="CorrectAnswers"] [class*="__OptionsWrapper"]'),
38
- correctAnswersSectionWrapper: () => cy.get('[class*="ListOrderingResponsestyles__CorrectAnswers"]'),
39
37
  correctAnswerSectionWrapper: () => cy.get('[class*="ListOrderingResponsestyles__CorrectAnswers"]'),
40
- dropdownMenuWrapper: () => cy.get('.dropdown-menu-wrapper'),
41
38
  correctAnswerSectionAnswerText: () => cy.get('.question-text-wrapper'),
42
39
  correctAnswerSectionIconWrapper: () => cy.get('[class*="CorrectAnswerstyles__IconWrapper"], .correct-answer-wrapper [class*="DraggableItemstyles__DraggableItemContainer"]'),
43
40
  questionBorderPreviewTab: () => cy.get('[class*="ListOrderingResponsestyles__ResponseContainer"]'),
@@ -158,7 +155,6 @@ const steps = {
158
155
  ...listOrderingCommonStyleAndLayoutComponent.steps,
159
156
  ...createItemPage.steps,
160
157
  ...dialogBoxBase.steps,
161
- ...showAlternativeAnswersComponent.steps,
162
158
 
163
159
  /**
164
160
  * Verifies the border value of specify correct answer section options
@@ -963,61 +959,6 @@ const steps = {
963
959
  });
964
960
  },
965
961
 
966
- /**
967
- * @param {string[]} optionsTextArray array of options in the alternative answer section
968
- * @param {string[]} positionArray array of positions for the alternative answer section
969
- * @param {number} sectionIndex index of the alternative answer section (1 for first alternative, 2 for second, etc.)
970
- * @description this function verifies the correct order of options and their positions in alternative answer section
971
- */
972
- verifyOptionsPositionInAlternativeAnswerSection: (sectionIndex, optionsTextArray, positionArray) => {
973
- listOrderingPage.correctAnswersSectionWrapper()
974
- .eq(sectionIndex)
975
- .within(() => {
976
- // Verify option text content
977
- optionsTextArray.forEach((optionsText, index) => {
978
- utilities.getNthElement(listOrderingPage.dropdownMenuWrapper(), index)
979
- .within(() => {
980
- utilities.verifyTextContent(cy.get('[data-testid="question-instruction-element"]'), optionsText);
981
- });
982
- });
983
-
984
- // Verify dropdown position values
985
- positionArray.forEach((position, dropdownIndex) => {
986
- utilities.getNthElement(listOrderingPage.dropdownMenuWrapper(), dropdownIndex)
987
- .within(() => {
988
- utilities.verifyInnerText(listOrderingPage.dropdownSelectedOptionLabel(), position);
989
- });
990
- });
991
- });
992
- },
993
-
994
- /**
995
- * @param {number} sectionIndex index of the answer section (0 for correct answer, 1 for first alternative, etc.)
996
- * @param {string[]} optionsTextArray array of options text in the answer section
997
- * @description this function verifies the correct order of options in correct answer or alternative answer section for "Reorder as separate list" layout
998
- */
999
- verifyOptionsInCorrectAndAlternativeAnswerSection: (sectionIndex, optionsTextArray) => {
1000
- listOrderingPage.correctAnswersWrapper()
1001
- .eq(sectionIndex)
1002
- .within(() => {
1003
- // Verify each option has correct icon and text content
1004
- optionsTextArray.forEach((optionsText, index) => {
1005
- // Verify correct icon exists
1006
- utilities.getNthElement(listOrderingPage.correctAnswerSectionIconWrapper(), index)
1007
- .within(() => {
1008
- utilities.verifyElementVisibilityState(autoScoredScoringPreviewTab.correctIcon(), 'visible');
1009
- });
1010
-
1011
- // Verify option text content
1012
- utilities.getNthElement(listOrderingPage.correctAnswerSectionAnswerWrapper(), index)
1013
- .within(() => {
1014
- utilities.verifyTextContent(listOrderingPage.correctAnswerSectionAnswerText(), optionsText);
1015
- });
1016
- });
1017
- });
1018
- },
1019
-
1020
-
1021
962
  /**
1022
963
  * Verifies the selected option position in the dropdown for the specified dropdown index.
1023
964
  * @param {number} dropdownIndex - The index of the dropdown to verify.
@@ -1,6 +1,6 @@
1
1
  import constants from "../fixtures/constants";
2
2
  import utilities from "../support/helpers/utilities";
3
- import { createQuestionBasePage, questionInstructionsComponent, autoScoredScoringPreviewTab, scoringSectionBaseEditTab, draggableOptionContainer, draggableOptionsSectionComponent, correctIncorrectAnswerLabelComponent, maximumCapacityPerDropzoneComponent, optionsWrapperComponent, ckEditorToolbar, equationEditorFlyout, autoScoredStudentViewSettings, autoScoredSpecifyCorrectAnswerSection, commonComponents, randomizeOptionsComponent, autoScoredScoringSectionMultiResponseType, allowMultipleInstancesOfSameDraggableOptionComponent, studentViewSettingsLabelComponent, ariaLabelSectionComponent, additionalSettingsAccessibilitySectionComponent, gradingViewEnumerationComponent, additionalSettingsPanel, toolSettingsComponent, styleAndLayoutCustomizationAccordionComponent, connectorStyleStyleAndLayoutCustomizationComponent, showAlternativeAnswersComponent } from "./components";
3
+ import { createQuestionBasePage, questionInstructionsComponent, autoScoredScoringPreviewTab, scoringSectionBaseEditTab, draggableOptionContainer, draggableOptionsSectionComponent, correctIncorrectAnswerLabelComponent, maximumCapacityPerDropzoneComponent, optionsWrapperComponent, ckEditorToolbar, equationEditorFlyout, autoScoredStudentViewSettings, autoScoredSpecifyCorrectAnswerSection, commonComponents, randomizeOptionsComponent, autoScoredScoringSectionMultiResponseType, allowMultipleInstancesOfSameDraggableOptionComponent, studentViewSettingsLabelComponent, ariaLabelSectionComponent, additionalSettingsAccessibilitySectionComponent, gradingViewEnumerationComponent, additionalSettingsPanel, toolSettingsComponent, styleAndLayoutCustomizationAccordionComponent, connectorStyleStyleAndLayoutCustomizationComponent } from "./components";
4
4
  import { createItemPage } from "./createItemPage";
5
5
  const css = Cypress.env('css');
6
6
  const options = ['option 1', 'option 2', 'option 3'];
@@ -26,7 +26,6 @@ const selectors = {
26
26
  ...additionalSettingsPanel,
27
27
  ...connectorStyleStyleAndLayoutCustomizationComponent,
28
28
  ...ckEditorToolbar,
29
- ...showAlternativeAnswersComponent,
30
29
  //Edit tab
31
30
  promptInputField: () => cy.get('.edit-mcq-stems-wrapper [role="textbox"]'),
32
31
  promptInputFieldWrapper: () => cy.get('.edit-mcq-stems-wrapper .edit-mcq-option-wrapper'),
@@ -109,7 +108,6 @@ const selectors = {
109
108
  correctAnswersNumeration: () => cy.get('.answer-numeration-number-box'),
110
109
  correctAnswerResponseWrapper: () => cy.get('[class*="ClozeWithDragAndDropstyles__AnswerCell"]'),
111
110
  correctAnswersOptions: () => cy.get('.match-list-drag-and-drop'),
112
- correctAnswersWrapper: () => cy.get('[class*="ClozeWithDragAndDropstyles__CorrectAnswers"]'),
113
111
  correctAnswersOptionContainer: () => cy.get('.draggable-selected-option, .draggable-item'),
114
112
  gradingViewOption: () => cy.get('.item-content-wrapper'),
115
113
  questionBorderPreviewTab: () => cy.get('[class*="ClozeWithDragAndDropstyles__WrapperDiv"]'),
@@ -230,7 +228,6 @@ const steps = {
230
228
  ...styleAndLayoutCustomizationAccordionComponent.steps,
231
229
  ...connectorStyleStyleAndLayoutCustomizationComponent.steps,
232
230
  ...createItemPage.steps,
233
- ...showAlternativeAnswersComponent.steps,
234
231
  //Edit tab
235
232
  addPrompt: () => {
236
233
  matchingPage.addPromptButton()
@@ -961,25 +958,6 @@ const steps = {
961
958
  });
962
959
  },
963
960
 
964
- /**
965
- * @param {Array<{label: string, points: string, answers: string[][]}>} alternativeAnswers - Array of alternative answer objects.
966
- * @description Verifies alternative answer sections with labels, points, enumeration, and answers.
967
- * Example: verifyAlternativeAnswerSections([{label: 'Alternative answer 1', points: '(10 points)', answers: [['Elephant'], ['Fish'], ['Cat']]}])
968
- */
969
- verifyAlternativeAnswerResponsesInCorrectAnswerSectionAndCount: (alternativeAnswers = []) => {
970
- matchingPage.correctAnswersWrapper()
971
- .eq(1)
972
- .within(() => {
973
- utilities.verifyElementCount(matchingPage.correctAnswersOptions(), alternativeAnswers.length);
974
- alternativeAnswers.forEach((correctAnswer, index) => {
975
- utilities.verifyTextContent(utilities.getNthElement(matchingPage.correctAnswersNumeration(), index), index + 1);
976
- correctAnswer.forEach((answerOption) => {
977
- utilities.verifyTextContent(utilities.getNthElement(matchingPage.correctAnswersOptions(), index), answerOption);
978
- });
979
- });
980
- });
981
- },
982
-
983
961
  /**
984
962
  * Verifies correct answer responses in the correct answer section and counts the number of correct answer groups.
985
963
  * @param {string[][]} correctAnswerArray - An array of arrays containing correct answer responses for each group.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "itemengine-cypress-automation",
3
- "version": "1.0.583-IEI-7048-71a8251.0",
3
+ "version": "1.0.584-IEI-7041-1da58ac.0",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {