itemengine-cypress-automation 1.0.238-deletedCypressRepeat-09cad14.0 → 1.0.238

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. package/cypress/e2e/ILC/AudioResponseNew/studentViewSettings.js +3 -3
  2. package/cypress/e2e/ILC/ChartsBar/labelOptionsSection.js +2 -2
  3. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneAlternativePointsGreaterThanCorrectPoints.js +2 -2
  4. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabBasicSection.js +14 -13
  5. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/additionalSettingsBasic.js +1 -1
  6. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editTabBasicSection.js +5 -3
  7. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/backgroundImageAndCanvasProperties.js +4 -2
  8. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/styleAndLayoutCustomization.js +1 -1
  9. package/cypress/e2e/ILC/GridFill/allOrNothingBasicForAllViews.smoke.js +2 -2
  10. package/cypress/e2e/ILC/ImageHighlight/additionalSettingsBasic.js +2 -1
  11. package/cypress/e2e/ILC/ImageHighlight/customiseHighlightStyle.js +6 -3
  12. package/cypress/e2e/ILC/ImageHighlight/imageHighlightStyle.js +2 -1
  13. package/cypress/e2e/ILC/Matching/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +1 -1
  14. package/cypress/e2e/ILC/Matching/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +1 -1
  15. package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsScoringBasic.js +6 -6
  16. package/cypress/e2e/ILC/Matching/minimumScoringPenaltyPointsAndRoundingDropdown.js +8 -4
  17. package/cypress/e2e/ILC/MatchingDropdown/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +144 -0
  18. package/cypress/e2e/ILC/MatchingDropdown/Scoring/allOrNothingWithCorrectPointsEqualToAlternativePoints.js +144 -0
  19. package/cypress/e2e/ILC/MatchingDropdown/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +214 -0
  20. package/cypress/e2e/ILC/MatchingDropdown/Scoring/manuallyAndNonScored.js +112 -0
  21. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsScoringBasic.js +397 -0
  22. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +179 -0
  23. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternatePoints.js +158 -0
  24. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternatePoints.js +179 -0
  25. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsBasic.js +143 -0
  26. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +167 -0
  27. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +145 -0
  28. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +166 -0
  29. package/cypress/e2e/ILC/NumberLine/additionalSettings.js +12 -10
  30. package/cypress/e2e/ILC/NumberLine/lineSettingsSection.js +3 -5
  31. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/numberLineSection.js +3 -3
  32. package/cypress/e2e/ILC/NumberLineLabel/editTabBasicSection.js +2 -2
  33. package/cypress/e2e/ILC/NumberLineLabel/editTabScoring.js +2 -0
  34. package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +1 -1
  35. package/cypress/e2e/ILC/SingleSelectionGridNew/editTabBasicSection.js +2 -1
  36. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViews.smoke.js +6 -0
  37. package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +10 -2
  38. package/cypress/e2e/ILC/TextEntryMath/editTabScoringSection.js +13 -1
  39. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodEquivalentStructures.js +10 -0
  40. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchExact.js +2 -0
  41. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchValue.js +2 -0
  42. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodSymbolsAreEquivalent.js +4 -2
  43. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodValueIsEquivalent.js +2 -0
  44. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodsWithoutSetResponse.js +37 -5
  45. package/cypress/e2e/ILC/TextEntryMath/minimumScoringPenaltyPointsAndRoundingDropdown.js +6 -0
  46. package/cypress/e2e/ILC/TextEntryMath/previewContentsForAllViews.smoke.js +2 -0
  47. package/cypress/e2e/ILC/TextEntryMath/responseEvaluationMethodsAndCustomSettings.js +1 -0
  48. package/cypress/e2e/ILC/TextEntryMath/specifyCorrectAnswerSection.js +4 -5
  49. package/cypress/e2e/ILC/TextEntryMathWithImage/allOrNothingScoringForAllViews.smoke.js +6 -0
  50. package/cypress/e2e/ILC/TextEntryMathWithImage/backgroundImageAndCanvasProperties.js +4 -1
  51. package/cypress/e2e/ILC/TextEntryMathWithImage/previewTabContentsForAllViews.smoke.js +2 -0
  52. package/cypress/e2e/ILC/UploadResponse/uploadedFileProperties.js +1 -1
  53. package/cypress/pages/audioResponsePage.js +1 -0
  54. package/cypress/pages/components/createQuestionBasePage.js +49 -4
  55. package/cypress/pages/components/draggableOptionsStyleAndLayoutComponent.js +1 -1
  56. package/cypress/pages/components/figCommonStyleAndLayoutComponent.js +1 -1
  57. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +22 -0
  58. package/cypress/pages/components/gridQuestionCommonComponent.js +5 -2
  59. package/cypress/pages/components/imageCanvasComponent.js +6 -9
  60. package/cypress/pages/components/numberLineCommonComponent.js +6 -6
  61. package/cypress/pages/components/questionInstructionsComponent.js +3 -2
  62. package/cypress/pages/dragAndDropIntoCategoriesPage.js +2 -2
  63. package/cypress/pages/feedbackScalePage.js +1 -1
  64. package/cypress/pages/fillInTheGapsOverImageDragAndDropPage.js +0 -1
  65. package/cypress/pages/fillInTheGapsOverImageDropdownPage.js +2 -0
  66. package/cypress/pages/geoGebraActivityPage.js +13 -1
  67. package/cypress/pages/imageHighlightPage.js +1 -0
  68. package/cypress/pages/listOrderingPage.js +1 -1
  69. package/cypress/pages/matchingPage.js +21 -0
  70. package/cypress/pages/multipleSelectionGridPage.js +16 -0
  71. package/cypress/pages/numberLineLabelPage.js +16 -3
  72. package/cypress/pages/shortTextResponsePage.js +1 -0
  73. package/package.json +1 -1
  74. /package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/{checkAnswerFunctionalityForAllViews.js → checkAnswerFunctionalityForAllViews.smoke.js} +0 -0
@@ -516,16 +516,16 @@ describe('Create item page - Audio response: Student view settings', () => {
516
516
  audioResponsePage.steps.retakeRecordingCompactPreview();
517
517
  audioResponsePage.steps.confirmRetake();
518
518
  utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'notExist');
519
- utilities.verifyInnerText(audioResponsePage.recordingStatusText(), 'Recording...');
519
+ utilities.verifyInnerText(audioResponsePage.recordingText(), 'Recording...');
520
520
  audioResponsePage.steps.waitForRecordingToStartCompactPreview();
521
521
  audioResponsePage.steps.stopRecordingCompactPreview();
522
522
  audioResponsePage.steps.verifyResponseIsRecordedHelpText();
523
- utilities.verifyElementNotDisabled(audioResponsePage.barPreviewRetakeButton());
523
+ utilities.verifyElementNotDisabled(audioResponsePage.compactPreviewRetakeButton());
524
524
  });
525
525
 
526
526
  //Remove skip once https://redmine.zeuslearning.com/issues/566924 is resolved
527
527
  it.skip('For "Compact" mode, When there is no retake limit set, then on hovering over the retake recording button, then retake limits should not be displayed on retake recording button tooltip', () => {
528
- audioResponsePage.barPreviewRetakeButton()
528
+ audioResponsePage.compactPreviewRetakeButton()
529
529
  .verifyTooltip('Retake recording');
530
530
  });
531
531
  });
@@ -196,8 +196,8 @@ describe('Create item: Charts- Bar : Select chart type', () => {
196
196
  utilities.triggerMouseover(utilities.getNthElement(chartsBarPage.specifyCorrectAnswerBar(), 0));
197
197
  utilities.verifyElementVisibilityState(chartsBarPage.barAndPointTooltipLabelButton(), 'notExist');
198
198
  });
199
-
200
- it('When New bar label input field has \'Bar\' by default then \'Bar #\' labels in select chart type and specify correct answer section', () => {
199
+ // Remove the skip after https://redmine.zeuslearning.com/issues/574944 has been resolved
200
+ it.skip('When New bar label input field has \'Bar\' by default then \'Bar #\' labels in select chart type and specify correct answer section', () => {
201
201
  chartsBarPage.steps.selectControlOptionSpecifyCorrectAnswer('Reset');
202
202
  chartsBarPage.steps.confirmReset();
203
203
  chartsBarPage.steps.verifyBarLabelSpecifyCorrectAnswer(0, 'Bar 1');
@@ -242,9 +242,9 @@ describe('Create item page - Drag and drop into categories: Per dropzone with al
242
242
  it('When the user attempts the question partially correct such that more number of dropzones are correct according to the correct accordion mapping and points achieved from the correct accordion mapping is equal to the points achieved from alternative accordion mapping, then the points awarded should be according to the alternative accordion mapping, correct icon should be displayed besides correct accordion responses, incorrect icon should be displayed besides alternative accordion responses and on switching to \'Grading\' view,, correct icon should be displayed for correct dropzone, incorrect icon should be displayed for incorrect dropzone. correct/incorrect answer status message should not be displayed and correct answer section with all correct answers from the alternative accordion along with dropzone numeration should be displayed', () => {
243
243
  cy.log('Pre-step: Switching to edit tab and allotting points to correct and alternative accordion such that on attempting the question partially correct, points achieved from the alternative accordion mapping is equal to the correct accordion mapping')
244
244
  dragAndDropIntoCategoriesPage.steps.switchToEditTab();
245
- dragAndDropIntoCategoriesPage.steps.allotPoints(4);
246
- dragAndDropIntoCategoriesPage.steps.expandCorrectAnswerAccordion();
247
245
  dragAndDropIntoCategoriesPage.steps.allotPoints(12);
246
+ dragAndDropIntoCategoriesPage.steps.expandCorrectAnswerAccordion();
247
+ dragAndDropIntoCategoriesPage.steps.allotPoints(4);
248
248
  dragAndDropIntoCategoriesPage.steps.switchToPreviewTab();
249
249
  dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Bat': 0, 'Eagle': 1, 'Parrot': 1, 'Ostrich': 3, 'Whale': 4 });
250
250
  dragAndDropIntoCategoriesPage.steps.verifyPreviewScore(24, 72);
@@ -178,14 +178,14 @@ describe('Create item page - Drag and drop into categories: Question instruction
178
178
  });
179
179
 
180
180
  it('When user has navigated towards the left using the left arrow navigation button, then the right arrow navigation button should be enabled again', () => {
181
- for (let index = 10; index < 16; index++) {
181
+ for (let index = 8; index < 16; index++) {
182
182
  dragAndDropIntoCategoriesPage.steps.clickOnLeftArrowNavigationButton();
183
183
  }
184
184
  utilities.verifyElementDisabled(dragAndDropIntoCategoriesPage.leftArrowNavigationButton());
185
185
  });
186
186
 
187
187
  it('When the number of columns is reduced to less than 8, then the then the left and right arrow navigation button should not be displayed in the \'Specify columns and rows\' table', () => {
188
- dragAndDropIntoCategoriesPage.steps.addInputToColumnInputStepper(8);
188
+ dragAndDropIntoCategoriesPage.steps.addInputToColumnInputStepper(7);
189
189
  utilities.verifyElementVisibilityState(dragAndDropIntoCategoriesPage.leftArrowNavigationButton(), 'notExist');
190
190
  utilities.verifyElementVisibilityState(dragAndDropIntoCategoriesPage.rightArrowNavigationButton(), 'notExist');
191
191
  });
@@ -410,12 +410,12 @@ describe('Create item page - Drag and drop into categories: Question instruction
410
410
  dragAndDropIntoCategoriesPage.steps.verifySpecifyColumnsAndRowsSectionCellProperty(9, 'Heading');
411
411
  });
412
412
 
413
- it('When first column cells are set as heading and user unchecks the \'Set first column cells as heading\' checkbox, then all the cells of first column should remain as \'Heading\'', () => {
413
+ it('When first column cells are set as heading and user unchecks the \'Set first column cells as heading\' checkbox, then all the cells of first column should change to \'None\'', () => {
414
414
  dragAndDropIntoCategoriesPage.steps.uncheckSetFirstColumnCellsAsHeadingCheckbox();
415
415
  dragAndDropIntoCategoriesPage.steps.verifySpecifyColumnsAndRowsSectionCellProperty(0, 'Heading');
416
- dragAndDropIntoCategoriesPage.steps.verifySpecifyColumnsAndRowsSectionCellProperty(3, 'Heading');
417
- dragAndDropIntoCategoriesPage.steps.verifySpecifyColumnsAndRowsSectionCellProperty(6, 'Heading');
418
- dragAndDropIntoCategoriesPage.steps.verifySpecifyColumnsAndRowsSectionCellProperty(9, 'Heading');
416
+ dragAndDropIntoCategoriesPage.steps.verifySpecifyColumnsAndRowsSectionCellProperty(3, 'Dropzone');
417
+ dragAndDropIntoCategoriesPage.steps.verifySpecifyColumnsAndRowsSectionCellProperty(6, 'Dropzone');
418
+ dragAndDropIntoCategoriesPage.steps.verifySpecifyColumnsAndRowsSectionCellProperty(9, 'Dropzone');
419
419
  });
420
420
 
421
421
  //TODO - Modify when https://redmine.zeuslearning.com/issues/556747 is resolved
@@ -443,10 +443,11 @@ describe('Create item page - Drag and drop into categories: Question instruction
443
443
  });
444
444
 
445
445
  it(`For ${cellPropertyMenuOptions[1]} cell type, the table cell input field should be prefilled with a text \'Subheading\'`, () => {
446
- dragAndDropIntoCategoriesPage.steps.verifySubheadingCellTypeInputFieldText(1, 'Subheading');
446
+ dragAndDropIntoCategoriesPage.steps.verifySubheadingCellTypeInputFieldText(1, 'subheading');
447
447
  });
448
448
 
449
- it(`For ${cellPropertyMenuOptions[2]} cell type, the table cell input field should have a placeholder text \'Enter text here...\'`, () => {
449
+ //Need to remove skip once ⁠https://weldnorthed.atlassian.net/browse/IEI-4069 is resolved
450
+ it.skip(`For ${cellPropertyMenuOptions[2]} cell type, the table cell input field should have a placeholder text \'Enter text here...\'`, () => {
450
451
  dragAndDropIntoCategoriesPage.steps.verifyTextCellTypeInputFieldPlaceholderText(2, 'Enter text here...');
451
452
  });
452
453
 
@@ -462,7 +463,7 @@ describe('Create item page - Drag and drop into categories: Question instruction
462
463
  it('In additional settings the number of \'ARIA label for dropzone\' input fields should be the same as the number of dropzone in the \'Specify columns and rows\' section table', () => {
463
464
  cy.log('Pre-step: Expanding additional settings');
464
465
  dragAndDropIntoCategoriesPage.steps.expandAdditionalSettings();
465
- utilities.verifyElementCount(dragAndDropIntoCategoriesPage.dropzoneAriaLabelInputField(), 8);
466
+ utilities.verifyElementCount(dragAndDropIntoCategoriesPage.dropzoneAriaLabelInputField(), 9);
466
467
  });
467
468
 
468
469
  it('CSS of \'Set first row cells as heading\', \'Set first column cells as heading\' and table in \'Specify columns and rows\' section', { tags: 'css' }, () => {
@@ -703,9 +704,9 @@ describe('Create item page - Drag and drop into categories: Question instruction
703
704
  dragAndDropIntoCategoriesPage.steps.uncheckSetFirstColumnCellsAsHeadingCheckbox();
704
705
  dragAndDropIntoCategoriesPage.steps.switchToPreviewTab();
705
706
  dragAndDropIntoCategoriesPage.steps.verifyTableCellPropertyPreviewTab(0, 'Heading');
706
- dragAndDropIntoCategoriesPage.steps.verifyTableCellPropertyPreviewTab(3, 'Heading');
707
- dragAndDropIntoCategoriesPage.steps.verifyTableCellPropertyPreviewTab(6, 'Heading');
708
- dragAndDropIntoCategoriesPage.steps.verifyTableCellPropertyPreviewTab(9, 'Heading');
707
+ dragAndDropIntoCategoriesPage.steps.verifyTableCellPropertyPreviewTab(3, 'Dropzone');
708
+ dragAndDropIntoCategoriesPage.steps.verifyTableCellPropertyPreviewTab(6, 'Dropzone');
709
+ dragAndDropIntoCategoriesPage.steps.verifyTableCellPropertyPreviewTab(9, 'Dropzone');
709
710
  });
710
711
 
711
712
  //TODO - Modify when https://redmine.zeuslearning.com/issues/556747 is resolved
@@ -731,7 +732,7 @@ describe('Create item page - Drag and drop into categories: Question instruction
731
732
  });
732
733
 
733
734
  it(`For ${cellPropertyMenuOptions[1]} cell type, in preview tab the table cell label should be \'Subheading\'`, () => {
734
- dragAndDropIntoCategoriesPage.steps.verifyCellLabelInPreviewTabTable(1, 'Subheading');
735
+ dragAndDropIntoCategoriesPage.steps.verifyCellLabelInPreviewTabTable(1, 'subheading');
735
736
  });
736
737
 
737
738
  it(`For ${cellPropertyMenuOptions[2]} cell type, in preview tab the table cell should not have any label`, () => {
@@ -97,7 +97,7 @@ describe('fill in the gaps over image - dropdown - Additional settings', () => {
97
97
  'font-size': fontSizes[option]
98
98
  });
99
99
  fillInTheGapsOverImageDropdownPage.steps.selectOptionFromDropdownList(correctAnswerArray[0]);
100
- utilities.verifyCSS(fillInTheGapsOverImageDropdownPage.dropdownTextLabel(), {
100
+ utilities.verifyCSS(fillInTheGapsOverImageDropdownPage.dropdownTextLabelCollapsed(), {
101
101
  'font-size': fontSizes[option]
102
102
  });
103
103
  fillInTheGapsOverImageDropdownPage.steps.switchToGradingView();
@@ -265,6 +265,7 @@ describe('Create item page - Fill in the gaps: Question instructions, Options se
265
265
 
266
266
  it('When user selects a dropdown and changes dropdown pointer style in edit tab, then changes in dropdown pointer should be reflected in preview tab', () => {
267
267
  fillInTheGapsOverImageDropdownPage.steps.switchToEditTab();
268
+ fillInTheGapsOverImageDropdownPage.steps.selectCanvasMenuButton('Select dropdown')
268
269
  fillInTheGapsOverImageDropdownPage.steps.selectResponseArea(0);
269
270
  fillInTheGapsOverImageDropdownPage.steps.selectResponseAreaPointerStyle(dropdownPointerStyles[2]);
270
271
  fillInTheGapsOverImageDropdownPage.steps.switchToPreviewTab();
@@ -281,21 +282,22 @@ describe('Create item page - Fill in the gaps: Question instructions, Options se
281
282
  fillInTheGapsOverImageDropdownPage.steps.verifyTextOfTextBoxInPreviewTab('Inserted text');
282
283
  });
283
284
 
284
- it('When the user clicks on the undo button in edit tab, then previous action should be reversed and same should reflect in preview tab', () => {
285
+ //remove the following skips when https://redmine.zeuslearning.com/issues/574944 is resolved.
286
+ it.skip('When the user clicks on the undo button in edit tab, then previous action should be reversed and same should reflect in preview tab', () => {
285
287
  fillInTheGapsOverImageDropdownPage.steps.switchToEditTab();
286
288
  fillInTheGapsOverImageDropdownPage.steps.undoAction();
287
289
  fillInTheGapsOverImageDropdownPage.steps.switchToPreviewTab();
288
290
  fillInTheGapsOverImageDropdownPage.steps.verifyTextOfTextBoxInPreviewTab('');
289
291
  });
290
292
 
291
- it('When the user clicks on the redo button in edit tab, then previous action should be reinstated and same should reflect in preview tab', () => {
293
+ it.skip('When the user clicks on the redo button in edit tab, then previous action should be reinstated and same should reflect in preview tab', () => {
292
294
  fillInTheGapsOverImageDropdownPage.steps.switchToEditTab();
293
295
  fillInTheGapsOverImageDropdownPage.steps.redoAction();
294
296
  fillInTheGapsOverImageDropdownPage.steps.switchToPreviewTab();
295
297
  fillInTheGapsOverImageDropdownPage.steps.verifyTextBoxExistInPreviewTab();
296
298
  });
297
299
 
298
- it('When user clicks on \'Clear all\' button, then all dropdowns should be deleted in preview tab', () => {
300
+ it.skip('When user clicks on \'Clear all\' button, then all dropdowns should be deleted in preview tab', () => {
299
301
  fillInTheGapsOverImageDropdownPage.steps.switchToEditTab();
300
302
  fillInTheGapsOverImageDropdownPage.steps.clearAllCanvas();
301
303
  fillInTheGapsOverImageDropdownPage.steps.switchToPreviewTab();
@@ -165,14 +165,16 @@ describe('Create item page - Fill in the gaps: Question instructions, Options se
165
165
  fillInTheGapsOverImageTextPage.steps.verifyTextOfTextBoxInPreviewTab('Inserted text');
166
166
  });
167
167
 
168
- it('When the user clicks on the undo button in edit tab, then previous action should be reversed and same should reflect in preview tab', () => {
168
+ //Uncommented code once https://redmine.zeuslearning.com/issues/577355 is resolved
169
+ it.skip('When the user clicks on the undo button in edit tab, then previous action should be reversed and same should reflect in preview tab', () => {
169
170
  fillInTheGapsOverImageTextPage.steps.switchToEditTab();
170
171
  fillInTheGapsOverImageTextPage.steps.undoAction();
171
172
  fillInTheGapsOverImageTextPage.steps.switchToPreviewTab();
172
173
  fillInTheGapsOverImageTextPage.steps.verifyTextOfTextBoxInPreviewTab('');
173
174
  });
174
175
 
175
- it('When the user clicks on the redo button in edit tab, then previous action should be reinstated and same should reflect in preview tab', () => {
176
+ //Uncommented code once https://redmine.zeuslearning.com/issues/577355 is resolved
177
+ it.skip('When the user clicks on the redo button in edit tab, then previous action should be reinstated and same should reflect in preview tab', () => {
176
178
  fillInTheGapsOverImageTextPage.steps.switchToEditTab();
177
179
  fillInTheGapsOverImageTextPage.steps.redoAction();
178
180
  fillInTheGapsOverImageTextPage.steps.switchToPreviewTab();
@@ -38,7 +38,7 @@ describe('Create Item page - Fill in the gaps over image with text: Style and la
38
38
 
39
39
  fillInTheGapsOverImageTextPage.tests.verifyFillColorSectionContents();
40
40
 
41
- fillInTheGapsOverImageTextPage.tests.verifyBorderColorSectiaonContents();
41
+ fillInTheGapsOverImageTextPage.tests.verifyBorderColorSectionContents();
42
42
 
43
43
  fillInTheGapsOverImageTextPage.tests.verifyBorderStyleSectionContents('Dashed');
44
44
 
@@ -259,8 +259,8 @@ describe('Create item page - Grid fill: All or nothing', () => {
259
259
  gridFillPage.steps.verifyPreviewScore(0, 20);
260
260
  gridFillPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
261
261
  });
262
-
263
- it('When the user has selected \'Award minimum score\' from the minimum scoring dropdown, attempts the question incorrectly and switches to grading view, the user should be awarded with minimum points', () => {
262
+ //Remove skip once https://redmine.zeuslearning.com/issues/579597 is resolved
263
+ it.skip('When the user has selected \'Award minimum score\' from the minimum scoring dropdown, attempts the question incorrectly and switches to grading view, the user should be awarded with minimum points', () => {
264
264
  gridFillPage.steps.resetQuestionPreview();
265
265
  gridFillPage.steps.selectCellPreviewTab(0, 4);
266
266
  gridFillPage.steps.switchToGradingView();
@@ -90,11 +90,12 @@ describe('Create Item page - Image highlight : Additional settings', () => {
90
90
  utilities.verifyCSS(imageHighlightPage.highlightPreviewTab(), {
91
91
  'font-size': fontSizes[option]
92
92
  });
93
+ imageHighlightPage.steps.highlightARegionInPreviewTab(1);
93
94
  imageHighlightPage.steps.switchToGradingView();
94
95
  utilities.verifyCSS(imageHighlightPage.correctAnswersLabel(), {
95
96
  'font-size': fontSizes[option]
96
97
  });
97
- utilities.verifyCSS(imageHighlightPage.correctIncorrectAnswerTextWrapper(), {
98
+ utilities.verifyCSS(imageHighlightPage.correctIncorrectStatusMessageText(), {
98
99
  'font-size': fontSizes[option]
99
100
  });
100
101
  utilities.verifyCSS(imageHighlightPage.correctAnswerContainerAnswerWrapper(), {
@@ -453,7 +453,8 @@ describe('Create Item page - Image highlight: Customize image highlight style',
453
453
  });
454
454
  });
455
455
 
456
- describe('Fill color image highlight style : Preview tab and functionality', () => {
456
+ //Remove skip once ⁠https://redmine.zeuslearning.com/issues/579605 is resolved
457
+ describe.skip('Fill color image highlight style : Preview tab and functionality', () => {
457
458
  abortEarlySetup();
458
459
  before(() => {
459
460
  imageHighlightPage.steps.navigateToCreateQuestion('image highlight');
@@ -530,7 +531,8 @@ describe('Create Item page - Image highlight: Customize image highlight style',
530
531
  });
531
532
  });
532
533
 
533
- describe('Border color image highlight style : Preview tab functionality', () => {
534
+ //Remove skip once ⁠https://redmine.zeuslearning.com/issues/579605 is resolved
535
+ describe.skip('Border color image highlight style : Preview tab functionality', () => {
534
536
  abortEarlySetup();
535
537
  before(() => {
536
538
  imageHighlightPage.steps.navigateToCreateQuestion('image highlight');
@@ -607,7 +609,8 @@ describe('Create Item page - Image highlight: Customize image highlight style',
607
609
  });
608
610
  });
609
611
 
610
- describe('Border style image highlight style : Preview tab functionality', () => {
612
+ //Remove skip once ⁠https://redmine.zeuslearning.com/issues/579605 is resolved
613
+ describe.skip('Border style image highlight style : Preview tab functionality', () => {
611
614
  abortEarlySetup();
612
615
  before(() => {
613
616
  imageHighlightPage.steps.navigateToCreateQuestion('image highlight');
@@ -102,7 +102,8 @@ describe('Create Item page - Image Highlight : Image selection style', () => {
102
102
 
103
103
  });
104
104
 
105
- describe('Image selection style: Preview tab functionality', () => {
105
+ //Need to remove skip once https://redmine.zeuslearning.com/issues/579605
106
+ describe.skip('Image selection style: Preview tab functionality', () => {
106
107
  abortEarlySetup();
107
108
  before(() => {
108
109
  imageHighlightPage.steps.navigateToCreateQuestion('image highlight');
@@ -122,7 +122,7 @@ describe('Create item page - Matching: All or nothing with alternative answers',
122
122
  matchingPage.steps.verifyPreviewScore(0, 20);
123
123
  matchingPage.steps.switchToGradingView();
124
124
  matchingPage.steps.verifyCorrectIncorrectIconNotExist(0);
125
- matchingPage.steps.verifyIncorrectOptionIcon(1);
125
+ matchingPage.steps.verifyCorrectOptionIcon(1);
126
126
  matchingPage.steps.verifyCorrectOptionIcon(2);
127
127
  matchingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
128
128
  matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bear'], ['Penguin'], ['Cat']]);
@@ -173,7 +173,7 @@ describe('Create item page - Matching: All or nothing with alternative answers',
173
173
  matchingPage.steps.clickAndDropOptionInDropzonePreviewTab([{ optionText: 'Bear', dropzoneIndex: 0 }, { optionText: 'Cat', dropzoneIndex: 2 }]);
174
174
  matchingPage.steps.verifyPreviewScore(0, 20);
175
175
  matchingPage.steps.switchToGradingView();
176
- matchingPage.steps.verifyIncorrectOptionIcon(0);
176
+ matchingPage.steps.verifyCorrectOptionIcon(0);
177
177
  matchingPage.steps.verifyCorrectIncorrectIconNotExist(1);
178
178
  matchingPage.steps.verifyCorrectOptionIcon(2);
179
179
  matchingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
@@ -324,19 +324,19 @@ describe('Create item page - Matching: Partial different weights', () => {
324
324
  matchingPage.steps.allotTotalPenaltyPoints(4);
325
325
  matchingPage.steps.switchToPreviewTab();
326
326
  matchingPage.steps.clickAndDropOptionInDropzonePreviewTab([{ optionText: 'Eagle', dropzoneIndex: 0 }]);
327
- matchingPage.steps.verifyPreviewScore(-2, 20);
327
+ matchingPage.steps.verifyPreviewScore(-4, 20);
328
328
  });
329
329
 
330
330
  it('When the user attempts the question correctly along with an incorrect option, then penalty points should get deducted from the awarded points', () => {
331
331
  matchingPage.steps.resetQuestionPreview();
332
332
  matchingPage.steps.clickAndDropOptionInDropzonePreviewTab([{ optionText: 'Elephant', dropzoneIndex: 0 }, { optionText: 'Fish', dropzoneIndex: 1 }, { optionText: 'Eagle', dropzoneIndex: 2 }, { optionText: 'Cat', dropzoneIndex: 2 }]);
333
- matchingPage.steps.verifyPreviewScore(14.3333, 20);
333
+ matchingPage.steps.verifyPreviewScore(13.6667, 20);
334
334
  });
335
335
 
336
336
  it('When the user attempts the question correctly along with multiple incorrect options, then penalty points for each incorrect dropzone should get deducted from the awarded points', () => {
337
337
  matchingPage.steps.resetQuestionPreview();
338
338
  matchingPage.steps.clickAndDropOptionInDropzonePreviewTab([{ optionText: 'Elephant', dropzoneIndex: 0 }, { optionText: 'Bear', dropzoneIndex: 1 }, { optionText: 'Eagle', dropzoneIndex: 2 }]);
339
- matchingPage.steps.verifyPreviewScore(7.6667, 20);
339
+ matchingPage.steps.verifyPreviewScore(6.3333, 20);
340
340
  });
341
341
 
342
342
  it('When the user has defined penalty points and also sets minimum scoring to \'Award minimum score only if attempted\' and allots minimum points, then on attempting the question incorrectly, minimum points should be awarded', () => {
@@ -393,19 +393,19 @@ describe('Create item page - Matching: Partial different weights', () => {
393
393
  matchingPage.steps.checkAutomaticallySetPenaltyPointsCheckbox();
394
394
  matchingPage.steps.switchToPreviewTab();
395
395
  matchingPage.steps.clickAndDropOptionInDropzonePreviewTab([{ optionText: 'Eagle', dropzoneIndex: 0 }]);
396
- matchingPage.steps.verifyPreviewScore(-10, 20);
396
+ matchingPage.steps.verifyPreviewScore(-20, 20);
397
397
  });
398
398
 
399
399
  it('When the user attempts the question correctly along with an incorrect option, then penalty points should get deducted from the awarded points', () => {
400
400
  matchingPage.steps.resetQuestionPreview();
401
401
  matchingPage.steps.clickAndDropOptionInDropzonePreviewTab([{ optionText: 'Elephant', dropzoneIndex: 0 }, { optionText: 'Eagle', dropzoneIndex: 0 }, { optionText: 'Fish', dropzoneIndex: 1 }, { optionText: 'Cat', dropzoneIndex: 2 }]);
402
- matchingPage.steps.verifyPreviewScore(7.6667, 20);
402
+ matchingPage.steps.verifyPreviewScore(4.3333, 20);
403
403
  });
404
404
 
405
405
  it('When the user attempts the question correctly along with multiple incorrect options, then penalty points for each incorrect option should get deducted from the awarded points', () => {
406
406
  matchingPage.steps.resetQuestionPreview();
407
407
  matchingPage.steps.clickAndDropOptionInDropzonePreviewTab([{ optionText: 'Bear', dropzoneIndex: 0 }, { optionText: 'Fish', dropzoneIndex: 1 }, { optionText: 'Eagle', dropzoneIndex: 2 }]);
408
- matchingPage.steps.verifyPreviewScore(-0.6667, 20);
408
+ matchingPage.steps.verifyPreviewScore(-7.3333, 20);
409
409
  });
410
410
 
411
411
  it('When the user has defined penalty points and also sets minimum scoring to \'Award minimum score only if attempted\' and allots minimum points, then on attempting the question incorrectly, minimum points should be awarded', () => {
@@ -61,12 +61,14 @@ describe('Create item page - Matching: Minimum scoring, Penalty scoring, Roundin
61
61
  matchingPage.steps.verifyPenaltyPointsForEachIncorrectDropzone(1.6667);
62
62
  });
63
63
 
64
- it('When the user deletes an option, then \'points for each incorrect option\' should get updated accordingly', () => {
64
+ //Remove the skip once https://redmine.zeuslearning.com/issues/579264 is resolved
65
+ it.skip('When the user deletes an option, then \'points for each incorrect option\' should get updated accordingly', () => {
65
66
  matchingPage.steps.deleteOption(0);
66
67
  matchingPage.steps.verifyPenaltyPointsForEachIncorrectDropzone(2.5);
67
68
  });
68
69
 
69
- it('When the user adds a new option, then \'points for each incorrect option\' should get updated accordingly', () => {
70
+ //Remove the skip once https://redmine.zeuslearning.com/issues/579264 is resolved
71
+ it.skip('When the user adds a new option, then \'points for each incorrect option\' should get updated accordingly', () => {
70
72
  matchingPage.steps.addOption();
71
73
  matchingPage.steps.verifyPenaltyPointsForEachIncorrectDropzone(1.6667);
72
74
  });
@@ -131,12 +133,14 @@ describe('Create item page - Matching: Minimum scoring, Penalty scoring, Roundin
131
133
  matchingPage.steps.verifyTotalPenaltyPoints(3);
132
134
  });
133
135
 
134
- it('When the user adds a new option, then \'Total penalty points\' should get updated accordingly', () => {
136
+ //Remove the skip once https://redmine.zeuslearning.com/issues/579282 is resolved
137
+ it.skip('When the user adds a new option, then \'Total penalty points\' should get updated accordingly', () => {
135
138
  matchingPage.steps.addOption();
136
139
  matchingPage.steps.verifyTotalPenaltyPoints(4);
137
140
  });
138
141
 
139
- it('When the user deletes an option, then \'points for each incorrect option\' should get updated accordingly', () => {
142
+ //Remove the skip once https://redmine.zeuslearning.com/issues/579282 is resolved
143
+ it.skip('When the user deletes an option, then \'points for each incorrect option\' should get updated accordingly', () => {
140
144
  matchingPage.steps.deleteOption(0);
141
145
  matchingPage.steps.verifyTotalPenaltyPoints(3);
142
146
  });
@@ -0,0 +1,144 @@
1
+ import { matchingPage } from "../../../../pages";
2
+ import abortEarlySetup from "../../../../support/helpers/abortEarly";
3
+ import utilities from "../../../../support/helpers/utilities";
4
+ const css = Cypress.env('css');
5
+ const promptTextArray = ['Wild', 'Aquatic', 'Pet'];
6
+ const optionsArray = ['Cat', 'Elephant', 'Fish', 'Bear', 'Eagle', 'Penguin'];
7
+
8
+ describe('Create item page - Matching: All or nothing with alternative answers', () => {
9
+ before(() => {
10
+ cy.loginAs('admin');
11
+ });
12
+
13
+ describe('Question preview: Auto scored - All or nothing with alternative answer - When \'Alternative answer\' points are more than \'Correct answer\' points', () => {
14
+ abortEarlySetup();
15
+ before(() => {
16
+ matchingPage.steps.navigateToCreateQuestion('matching');
17
+ cy.barsPreLoaderWait();
18
+ matchingPage.steps.selectOptionLayoutToggleButton('Options layout Dropdown menu');
19
+ matchingPage.steps.addTextInQuestionInstructionsInputField('Fill the categories with the right answer.');
20
+ matchingPage.steps.allotPoints(10);
21
+ matchingPage.steps.addMultipleOptionFields(3);
22
+ matchingPage.steps.enterTextInPromptInputField(promptTextArray);
23
+ matchingPage.steps.enterTextInOptionInputFieldDropdown(optionsArray);
24
+ matchingPage.steps.selectResponseFromDropdownInSpecifyCorrectAnswerSection([{ dropdownIndex: 0, dropdownOption: optionsArray[1] }, { dropdownIndex: 1, dropdownOption: optionsArray[2] }, { dropdownIndex: 2, dropdownOption: optionsArray[0] }]);
25
+ matchingPage.steps.addAlternativeAnswerAccordion(1);
26
+ matchingPage.steps.allotPoints(20);
27
+ matchingPage.steps.selectResponseFromDropdownInSpecifyCorrectAnswerSection([{ dropdownIndex: 0, dropdownOption: optionsArray[3] }, { dropdownIndex: 1, dropdownOption: optionsArray[5] }, { dropdownIndex: 2, dropdownOption: optionsArray[0] }]);
28
+ matchingPage.steps.switchToPreviewTab();
29
+ });
30
+
31
+ it('When the user selects \'Grading\' view without attempting the question, cell numeration should be displayed, correct answers section with a label \'Correct answers\' should be displayed with correct answers from the correct accordion and respective dropzone numeration', () => {
32
+ matchingPage.steps.switchToGradingView();
33
+ matchingPage.steps.verifyDropdownNumeration(0);
34
+ matchingPage.steps.verifyDropdownNumeration(1);
35
+ matchingPage.steps.verifyDropdownNumeration(2);
36
+ utilities.verifyInnerText(matchingPage.correctAnswersLabel(), 'Correct answers');
37
+ matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bear'], ['Penguin'], ['Cat']]);
38
+ });
39
+
40
+ it('When the user attempts the question with responses from the correct accordion, then the user should be awarded points of the correct tab 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', () => {
41
+ matchingPage.steps.resetQuestionPreview();
42
+ matchingPage.steps.selectResponseFromDropdownInPreviewTab([{ dropdownIndex: 0, dropdownOption: optionsArray[1] }, { dropdownIndex: 1, dropdownOption: optionsArray[2] }, { dropdownIndex: 2, dropdownOption: optionsArray[0] }]);
43
+ matchingPage.steps.verifyPreviewScore(10, 20);
44
+ matchingPage.steps.switchToGradingView();
45
+ matchingPage.steps.verifyCorrectOptionIconDropdown(0);
46
+ matchingPage.steps.verifyCorrectOptionIconDropdown(1);
47
+ matchingPage.steps.verifyCorrectOptionIconDropdown(2);
48
+ matchingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
49
+ matchingPage.steps.verifyCorrectAnswerSectionNotExists();
50
+ matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
51
+ });
52
+
53
+ it('When the user attempts the question with responses from the alternative accordion, then the user should be awarded with 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', () => {
54
+ matchingPage.steps.resetQuestionPreview();
55
+ matchingPage.steps.selectResponseFromDropdownInPreviewTab([{ dropdownIndex: 0, dropdownOption: optionsArray[3] }, { dropdownIndex: 1, dropdownOption: optionsArray[5] }, { dropdownIndex: 2, dropdownOption: optionsArray[0] }]);
56
+ matchingPage.steps.verifyPreviewScore(20, 20);
57
+ matchingPage.steps.switchToGradingView();
58
+ matchingPage.steps.verifyCorrectOptionIconDropdown(0);
59
+ matchingPage.steps.verifyCorrectOptionIconDropdown(1);
60
+ matchingPage.steps.verifyCorrectOptionIconDropdown(2);
61
+ matchingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
62
+ matchingPage.steps.verifyCorrectAnswerSectionNotExists();
63
+ matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
64
+ });
65
+
66
+ it('When the user attempts the question with partially correct options exclusively from the correct accordion, then the user should be awarded 0 points and on switching to \'Grading\' view, correct icon should be displayed besides the correct answer responses, no icon should be displayed beside unattempted response a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers from the correct accordion along with dropzone numeration should be displayed', () => {
67
+ matchingPage.steps.resetQuestionPreview();
68
+ matchingPage.steps.selectResponseFromDropdownInPreviewTab([{ dropdownIndex: 0, dropdownOption: optionsArray[1] }, { dropdownIndex: 1, dropdownOption: optionsArray[2] }]);
69
+ matchingPage.steps.verifyPreviewScore(0, 20);
70
+ matchingPage.steps.switchToGradingView();
71
+ matchingPage.steps.verifyCorrectOptionIconDropdown(0);
72
+ matchingPage.steps.verifyCorrectOptionIconDropdown(1);
73
+ matchingPage.steps.verifyCorrectIncorrectIconNotExistDropdown(2);
74
+ matchingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
75
+ matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bear'], ['Penguin'], ['Cat']]);
76
+ matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
77
+ });
78
+
79
+ it('When the user attempts the question with partially correct options exclusively from the alternative accordion, then the user should be awarded 0 points and on switching to \'Grading\' view, correct icon should be displayed besides the correct answer responses, no icon should be displayed for unattempted response a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers from the correct accordion along with dropzone cell numeration should be displayed', () => {
80
+ matchingPage.steps.resetQuestionPreview();
81
+ matchingPage.steps.selectResponseFromDropdownInPreviewTab([{ dropdownIndex: 0, dropdownOption: optionsArray[3] }, { dropdownIndex: 1, dropdownOption: optionsArray[5] }]);
82
+ matchingPage.steps.verifyPreviewScore(0, 20);
83
+ matchingPage.steps.switchToGradingView();
84
+ matchingPage.steps.verifyCorrectOptionIconDropdown(0);
85
+ matchingPage.steps.verifyCorrectOptionIconDropdown(1);
86
+ matchingPage.steps.verifyCorrectIncorrectIconNotExistDropdown(2);
87
+ matchingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
88
+ matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bear'], ['Penguin'], ['Cat']]);
89
+ matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
90
+ });
91
+
92
+ it('When the user attempts the question partially correct with all the responses correct as per the correct accordion but one response incomplete, then the user should be awarded 0 points and on switching to \'Grading\' view, correct icon should be displayed besides the response from the correct accordion, incorrect icon should be displayed besides the responses from the alternative accordion and no icon should be displayed for unattempted response, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers from the correct accordion along with dropzone cell numeration should be displayed', () => {
93
+ matchingPage.steps.resetQuestionPreview();
94
+ matchingPage.steps.selectResponseFromDropdownInPreviewTab([{ dropdownIndex: 1, dropdownOption: optionsArray[2] }, { dropdownIndex: 2, dropdownOption: optionsArray[0] }]);
95
+ matchingPage.steps.verifyPreviewScore(0, 20);
96
+ matchingPage.steps.switchToGradingView();
97
+ matchingPage.steps.verifyCorrectIncorrectIconNotExistDropdown(0);
98
+ matchingPage.steps.verifyIncorrectOptionIconDropdown(1);
99
+ matchingPage.steps.verifyCorrectOptionIconDropdown(2);
100
+ matchingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
101
+ matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bear'], ['Penguin'], ['Cat']]);
102
+ matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
103
+ });
104
+
105
+ it('When the user has attempted the question with equal number of correct responses from correct and alternative accordion, then the user should be awarded with 0 points and on switching to \'Grading\' view, green check-mark icon should be displayed besides response field with alternative answer responses, red cross-mark icon should be displayed beside responses from the correct accordion, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers from the correct accordion along with dropzone cell numeration should be displayed', () => {
106
+ matchingPage.steps.resetQuestionPreview();
107
+ matchingPage.steps.selectResponseFromDropdownInPreviewTab([{ dropdownIndex: 0, dropdownOption: optionsArray[3] }, { dropdownIndex: 1, dropdownOption: optionsArray[2] }, { dropdownIndex: 2, dropdownOption: optionsArray[0] }]);
108
+ matchingPage.steps.verifyPreviewScore(0, 20);
109
+ matchingPage.steps.switchToGradingView();
110
+ matchingPage.steps.verifyCorrectOptionIconDropdown(0);
111
+ matchingPage.steps.verifyIncorrectOptionIconDropdown(1);
112
+ matchingPage.steps.verifyCorrectOptionIconDropdown(2);
113
+ matchingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
114
+ matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bear'], ['Penguin'], ['Cat']]);
115
+ matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
116
+ });
117
+
118
+ it('Race condition : When the user attempts the question with the common response between correct and alternative accordion, then the user should be awarded with 0 points and on switching to \'Grading\' view, green check-mark icon should be besides the common response, no icon should be displayed for unattempted response, \'Your answer is incorrect\' and correct answer section with all correct answers from the correct accordion along with dropzone cell numeration should be displayed', () => {
119
+ matchingPage.steps.resetQuestionPreview();
120
+ matchingPage.steps.selectResponseFromDropdownInPreviewTab([{ dropdownIndex: 2, dropdownOption: optionsArray[0] }]);
121
+ matchingPage.steps.verifyPreviewScore(0, 20);
122
+ matchingPage.steps.switchToGradingView();
123
+ matchingPage.steps.verifyCorrectIncorrectIconNotExistDropdown(0);
124
+ matchingPage.steps.verifyCorrectIncorrectIconNotExistDropdown(1);
125
+ matchingPage.steps.verifyCorrectOptionIconDropdown(2);
126
+ matchingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
127
+ matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bear'], ['Penguin'], ['Cat']]);
128
+ matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
129
+ });
130
+
131
+ 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, no icon should be displayed for unattempted response a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers along with dropzone cell numeration should be displayed', () => {
132
+ matchingPage.steps.resetQuestionPreview();
133
+ matchingPage.steps.selectResponseFromDropdownInPreviewTab([{ dropdownIndex: 2, dropdownOption: optionsArray[4] }]);
134
+ matchingPage.steps.verifyPreviewScore(0, 20);
135
+ matchingPage.steps.switchToGradingView();
136
+ matchingPage.steps.verifyCorrectIncorrectIconNotExistDropdown(0);
137
+ matchingPage.steps.verifyCorrectIncorrectIconNotExistDropdown(1);
138
+ matchingPage.steps.verifyIncorrectOptionIconDropdown(2);
139
+ matchingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
140
+ matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bear'], ['Penguin'], ['Cat']]);
141
+ matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
142
+ });
143
+ });
144
+ });