itemengine-cypress-automation 1.0.253-TEMSmokeTestUpdates-82559a5.0 → 1.0.254-UpdatedRepo4thNov-c5b0050.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddFeatureRadioButton.js +231 -0
  2. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddTranscriptRadioButton .js +213 -0
  3. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAudioPlayerStyle.js +148 -0
  4. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabStudentViewSettings.js +249 -0
  5. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerHeaderSectionAndButtons.js +164 -0
  6. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTab.js +444 -0
  7. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabSupportedFileTypes.js +102 -0
  8. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabTranscript.js +134 -0
  9. package/cypress/e2e/ILC/CkEditorEquationEditor/equationEditorBasicFile.js +46 -0
  10. package/cypress/e2e/ILC/CkEditorInsertTable/insertTableEditorBasicFile.js +98 -0
  11. package/cypress/e2e/ILC/CkEditorInsertTable/tableDimension&FooterProperties.js +147 -0
  12. package/cypress/e2e/ILC/CkEditorInsertTable/tableHeaders.js +127 -0
  13. package/cypress/e2e/ILC/CkEditorInsertTable/tableRowAndColumn.js +71 -0
  14. package/cypress/e2e/ILC/CkEditorInsertTable/tableStyle.js +154 -0
  15. package/cypress/e2e/ILC/Compass/compassPreviewContent.smoke.js +1 -0
  16. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +41 -17
  17. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/allOrNothingBasicForGroupedOptionsLayout.js +24 -12
  18. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +47 -20
  19. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +43 -16
  20. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/manuallyAndNonScoredScoring.js +5 -5
  21. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perCorrectOptionAlternativePointsGreaterThanCorrectPoints.js +52 -21
  22. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perCorrectOptionBasic.js +23 -11
  23. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perCorrectOptionCorrectPointsEqualToAlternativePoints.js +55 -21
  24. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perCorrectOptionCorrectPointsGreaterThanAlternativePoints.js +53 -21
  25. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneAlternativePointsGreaterThanCorrectPoints.js +48 -19
  26. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneBasic.js +23 -11
  27. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneCorrectPointsEqualToAlternativePoints.js +47 -17
  28. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneCorrectPointsGreaterThanAlternativePoints.js +50 -19
  29. package/cypress/e2e/ILC/DrawingResponse/drawingResponseCustomizeAdditionalOptions.js +0 -2
  30. package/cypress/e2e/ILC/DrawingResponse/drawingResponseGradingViewAndCorrectAnswerViewContents.smoke.js +3 -0
  31. package/cypress/e2e/ILC/DrawingResponse/drawingResponsePreviewTabContents.smoke.js +0 -3
  32. package/cypress/e2e/ILC/EssayResponse/createCustomCategory.smoke.js +2 -1
  33. package/cypress/e2e/ILC/EssayResponse/equationEditor.smoke.js +4 -4
  34. package/cypress/e2e/ILC/EssayResponse/essayResponseCustomizeFormattingOptions4.js +261 -0
  35. package/cypress/e2e/ILC/EssayResponse/gradingViewAndCorrectAnswerViewContents.smoke.js +4 -2
  36. package/cypress/e2e/ILC/EssayResponseBasic/gradingViewAndCorrectAnswerViewContents.smoke.js +4 -2
  37. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/responseLevelAlternateAnswerBasicScoring.js +1 -1
  38. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/dropzoneAlternateAnswerPopup.js +2 -2
  39. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +5 -3
  40. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +3 -2
  41. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/Scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +3 -2
  42. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/dropdownAlternateAnswerPopup.js +1 -0
  43. package/cypress/e2e/ILC/GridFill/customizeLayoutFillColor.js +3 -0
  44. package/cypress/e2e/ILC/GridFill/customizeLayoutFillImageBackgroundImage.js +15 -0
  45. package/cypress/e2e/ILC/GridFill/customizeLayoutSectionShadeCellsGridBorders.js +10 -0
  46. package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +2 -1
  47. package/cypress/e2e/ILC/GridFill/specifyCorrectAnswerSection.js +3 -2
  48. package/cypress/e2e/ILC/NumberLine/toolsAndControls.js +56 -8
  49. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +1 -1
  50. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +1 -1
  51. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +1 -1
  52. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsScoringBasic.js +4 -4
  53. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +1 -1
  54. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +1 -1
  55. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +3 -3
  56. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasic.js +2 -2
  57. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViews.smoke.js +16 -16
  58. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +4 -5
  59. package/cypress/e2e/ILC/TextEntryMath/customSettings.js +8 -22
  60. package/cypress/e2e/ILC/TextEntryMathWithImage/allOrNothingScoringForAllViews.smoke.js +19 -19
  61. package/cypress/e2e/ILC/TextEntryMathWithImage/backgroundImageAndCanvasProperties.js +2 -2
  62. package/cypress/e2e/ILC/TextEntryMathWithImage/previewTabContentsForAllViews.smoke.js +5 -5
  63. package/cypress/e2e/ILC/TextSelection/previewContentsForAllViews.smoke.js +1 -4
  64. package/cypress/e2e/ILC/ToolAudioPlayerNew/studentViewSettings.js +8 -2
  65. package/cypress/fixtures/theme/ilc.json +9 -5
  66. package/cypress/pages/components/ckEditorAudioPlayerComponent.js +615 -0
  67. package/cypress/pages/components/ckEditorEquationEditorComponent.js +41 -0
  68. package/cypress/pages/components/ckEditorInsertTableComponent.js +741 -0
  69. package/cypress/pages/components/essayResponseCommonComponents.js +145 -7
  70. package/cypress/pages/components/imageCanvasComponent.js +2 -2
  71. package/cypress/pages/components/index.js +2 -1
  72. package/cypress/pages/components/layoutSectionComponent.js +25 -4
  73. package/cypress/pages/components/numberLineCommonComponent.js +39 -0
  74. package/cypress/pages/components/optionsWrapperComponent.js +1 -1
  75. package/cypress/pages/components/scoringSectionBaseEditTab.js +1 -0
  76. package/cypress/pages/dragAndDropIntoCategoriesPage.js +28 -0
  77. package/cypress/pages/fillInTheGapsDragAndDropPage.js +1 -1
  78. package/cypress/pages/graphingPage.js +8 -8
  79. package/cypress/pages/gridFillPage.js +11 -11
  80. package/cypress/pages/multipleSelectionPage.js +12 -0
  81. package/cypress/pages/singleSelectionPage.js +1 -1
  82. package/cypress/pages/textEntryMathPage.js +18 -0
  83. package/cypress/pages/textEntryMathWithImagePage.js +15 -2
  84. package/cypress/pages/textSelectionPage.js +7 -1
  85. package/package.json +1 -1
@@ -0,0 +1,154 @@
1
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
2
+ import { multipleSelectionPage } from "../../../pages";
3
+ import utilities from "../../../support/helpers/utilities";
4
+ const css = Cypress.env('css');
5
+ const border = ['All borders', 'Inner borders', 'Outer and horizontal borders', 'Horizontal borders', 'Outer and vertical borders', 'Vertical borders', 'Outer borders', 'Clear borders'];
6
+ const strip = ['Clear', 'Horizontal', 'Vertical'];
7
+ const hover = ['Row', 'Cell'];
8
+
9
+ describe('Insert Table: Edit tab', () => {
10
+ before(() => {
11
+ cy.loginAs('admin');
12
+ });
13
+
14
+ describe('Table Style section: Types of border', () => {
15
+ abortEarlySetup();
16
+ before(() => {
17
+ multipleSelectionPage.steps.navigateToCreateQuestion('multiple selection');
18
+ cy.barsPreLoaderWait();
19
+ multipleSelectionPage.steps.focusInQuestionInstructionsInputField();
20
+ multipleSelectionPage.steps.selectTableButtonOptionFromCKEditorToolbar();
21
+ });
22
+
23
+ it('\'Table style\' label, \'Border\' label and \'Clear all\' button should be displayed.', () => {
24
+ utilities.verifyInnerText(multipleSelectionPage.tableStyleLabel(), 'Table style');
25
+ utilities.verifyElementVisibilityState(multipleSelectionPage.tableStyleLabel(), 'visible');
26
+ utilities.verifyInnerText(multipleSelectionPage.borderLabel(), 'Border');
27
+ utilities.verifyElementVisibilityState(multipleSelectionPage.borderLabel(), 'visible');
28
+ utilities.verifyInnerText(multipleSelectionPage.clearAllTableStyle(), 'Clear all');
29
+ utilities.verifyElementVisibilityState(multipleSelectionPage.clearAllTableStyle(), 'visible');
30
+ });
31
+
32
+ it('CSS of \'Table style\' label, \'Border\' label and \'Clear all\' button', { tags: 'css' }, () => {
33
+ utilities.verifyCSS(multipleSelectionPage.tableStyleLabel(), {
34
+ 'color': 'rgb(0, 0, 0)',
35
+ 'font-size': '12px',
36
+ 'font-weight': '700'
37
+ });
38
+ utilities.verifyCSS(multipleSelectionPage.borderLabel(), {
39
+ 'color': 'rgb(0, 0, 0)',
40
+ 'font-size': '12px',
41
+ 'font-weight': '400'
42
+ });
43
+ utilities.verifyCSS(multipleSelectionPage.clearAllTableStyle(), {
44
+ 'color': 'rgb(72, 72, 72)',
45
+ 'font-size': '12px',
46
+ 'font-weight': '400'
47
+ });
48
+ });
49
+
50
+ it('Their should be 8 border style available including none. By default \'All borders\' should be in selected state and by default \'All borders\' should be in selected state', () => {
51
+ for (let type = 0; type < 8; type++){
52
+ multipleSelectionPage.steps.checkBorderButtonVisible(border[type]);
53
+ }
54
+ });
55
+
56
+ it('By default \'All borders\' should be in selected state and when clicked on okay the table should reflect the property selected', () => {
57
+ utilities.verifyElementNotDisabled(multipleSelectionPage.allBorders());
58
+ multipleSelectionPage.steps.selectOkButtonFromCKEditorToolbar();
59
+ multipleSelectionPage.steps.checkBorderVisibleInQuestionInstruction(border[0]);
60
+ });
61
+
62
+ it('Checking for all Border Style', () => {
63
+ for (let type = 1; type < 8; type++ ) {
64
+ multipleSelectionPage.steps.clearInPromptInputField();
65
+ multipleSelectionPage.steps.selectTableButtonOptionFromCKEditorToolbar();
66
+ multipleSelectionPage.steps.selectTableBorderStyle(border[type]);
67
+ multipleSelectionPage.steps.selectOkButtonFromCKEditorToolbar();
68
+ multipleSelectionPage.steps.checkBorderVisibleInQuestionInstruction(border[type]);
69
+ }
70
+ });
71
+ });
72
+
73
+ describe('Table Style section: Border Settings', () => {
74
+ abortEarlySetup();
75
+ before(() => {
76
+ multipleSelectionPage.steps.navigateToCreateQuestion('multiple selection');
77
+ cy.barsPreLoaderWait();
78
+ multipleSelectionPage.steps.focusInQuestionInstructionsInputField();
79
+ multipleSelectionPage.steps.selectTableButtonOptionFromCKEditorToolbar();
80
+ });
81
+
82
+ it('\'Border size\' label and input field with default value 1, \'Striped\' label and 3 strip options with default value none and \'Add hover state\' label and dropdown with default value none should be displayed.', () => {
83
+ multipleSelectionPage.steps.scrollingDownInInsertTablePopUp();
84
+ utilities.verifyInnerText(multipleSelectionPage.borderSizeLabel(), 'Border size');
85
+ utilities.verifyElementVisibilityState(multipleSelectionPage.borderSizeLabel(), 'visible');
86
+ utilities.verifyElementVisibilityState(multipleSelectionPage.borderSizeInputField(), 'visible');
87
+ utilities.verifyInnerText(multipleSelectionPage.stripedLabel(), 'Striped');
88
+ utilities.verifyElementVisibilityState(multipleSelectionPage.stripedLabel(), 'visible');
89
+ utilities.verifyElementVisibilityState(multipleSelectionPage.clearStripes(), 'visible');
90
+ utilities.verifyElementVisibilityState(multipleSelectionPage.horizontalStripes(), 'visible');
91
+ utilities.verifyElementVisibilityState(multipleSelectionPage.verticalStripes(), 'visible');
92
+ utilities.verifyInnerText(multipleSelectionPage.addHoverStateLabel(), 'Add hover state');
93
+ utilities.verifyElementVisibilityState(multipleSelectionPage.addHoverStateLabel(), 'visible');
94
+ utilities.verifyElementVisibilityState(multipleSelectionPage.addHoverStateDropDown(), 'visible');
95
+ });
96
+
97
+ it('CSS of \'Border size\' label and input field, \'Striped\' label and strip options and \'Add hover state\' label and dropdown', { tags: 'css' }, () => {
98
+ utilities.verifyCSS(multipleSelectionPage.borderSizeLabel(), {
99
+ 'color': 'rgb(0, 0, 0)',
100
+ 'font-size': '12px',
101
+ 'font-weight': '400'
102
+ });
103
+ utilities.verifyCSS(multipleSelectionPage.borderSizeInputField(), {
104
+ 'color': 'rgb(0, 0, 0)',
105
+ 'font-size': '12px',
106
+ 'font-weight': '400'
107
+ });
108
+ utilities.verifyCSS(multipleSelectionPage.stripedLabel(), {
109
+ 'color': 'rgb(0, 0, 0)',
110
+ 'font-size': '12px',
111
+ 'font-weight': '400'
112
+ });
113
+ utilities.verifyCSS(multipleSelectionPage.clearStripes(), {
114
+ 'color': 'rgb(72, 72, 72)',
115
+ });
116
+ utilities.verifyCSS(multipleSelectionPage.addHoverStateLabel(), {
117
+ 'color': 'rgb(0, 0, 0)',
118
+ 'font-size': '12px',
119
+ 'font-weight': '400'
120
+ });
121
+ utilities.verifyCSS(multipleSelectionPage.addHoverStateDropDown(), {
122
+ 'color': 'rgb(0, 0, 0)',
123
+ 'font-size': '12px',
124
+ 'font-weight': '400'
125
+ });
126
+ });
127
+
128
+ it('By default border size is 1px. User should be able to change the border size and it should reflect according to the change ', () => {
129
+ multipleSelectionPage.steps.selectOkButtonFromCKEditorToolbar();
130
+ multipleSelectionPage.steps.checkBorderSizeOfTable('1');
131
+ multipleSelectionPage.steps.clearInPromptInputField();
132
+ multipleSelectionPage.steps.selectTableButtonOptionFromCKEditorToolbar();
133
+ multipleSelectionPage.steps.scrollingDownInInsertTablePopUp();
134
+ multipleSelectionPage.steps.inputBorderSizeForTable('2');
135
+ multipleSelectionPage.steps.selectOkButtonFromCKEditorToolbar();
136
+ multipleSelectionPage.steps.checkBorderSizeOfTable('2');
137
+ })
138
+
139
+ it('User should be able to change the strip style and it should reflect according to the change ', () => {
140
+ for (let stripStyle = 0; stripStyle < 3; stripStyle++){
141
+ multipleSelectionPage.steps.clearInPromptInputField();
142
+ multipleSelectionPage.steps.selectTableButtonOptionFromCKEditorToolbar();
143
+ multipleSelectionPage.steps.scrollingDownInInsertTablePopUp();
144
+ multipleSelectionPage.steps.selectTableStripStyle(strip[stripStyle]);
145
+ multipleSelectionPage.steps.selectOkButtonFromCKEditorToolbar();
146
+ multipleSelectionPage.steps.checkBorderStripOfTable(strip[stripStyle]);
147
+ }
148
+ })
149
+
150
+ //Unable to click on dropdown using click/realclick need to test manually
151
+ it('User should be able to change the hover effect and it should reflect on the table according to the change ', () => {
152
+ })
153
+ });
154
+ });
@@ -65,6 +65,7 @@ describe('Preview tab contents for all views', () => {
65
65
  compassPage.steps.clickOnCompassToolVisibilityButton();
66
66
  compassPage.steps.verifyCompassToolIsVisible();
67
67
  compassPage.steps.verifyPreviewTabCompassVisibilityButtonLabel('Hide');
68
+ compassPage.steps.clickOnCompassToolVisibilityButton();
68
69
  });
69
70
 
70
71
  it('CSS of preview tab basic section', { tags: 'css' }, () => {
@@ -29,10 +29,10 @@ describe('Create item page - Drag and drop into categories: All or nothing with
29
29
  dragAndDropIntoCategoriesPage.steps.switchToGradingView();
30
30
  dragAndDropIntoCategoriesPage.steps.verifyDropzoneCellNumeration(['1', '2', '3', '4', '5', '6']);
31
31
  dragAndDropIntoCategoriesPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
32
- dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Flying squirrel'], ['Eagle', 'Peacock'], ['Ostrich'], ['Platypus']], ['1', '2', '4', '5']);
32
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Flying squirrel'], ['Eagle', 'Peacock'], ['Ostrich'], ['Platypus'], [], []], ['1', '2', '4', '5', '3', '6']);
33
33
  });
34
34
 
35
- it('When the user attempts the question with responses from the correct accordion, then the user should be awarded with points specified for correct accordion (less than full points) and on switching to \'Grading\' view, correct icons should be displayed beside all the correct responses, 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', () => {
35
+ it('When the user attempts the question with responses from the correct accordion, then the user should be awarded with points specified for correct accordion (less than full points) and on switching to \'Grading\' view, correct icons should be displayed beside all the correct responses, correct icon should be displayed besides the correct answer responses and and proper icon should display beside empty container, a status message with text \'Your answer is correct\' and correct answer section should not be displayed', () => {
36
36
  dragAndDropIntoCategoriesPage.steps.resetQuestionPreview();
37
37
  dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Bat': 0, 'Eagle': 1, 'Parrot': 1, 'Platypus': 2, 'Ostrich': 3, 'Whale': 4 });
38
38
  dragAndDropIntoCategoriesPage.steps.verifyPreviewScore(10, 20);
@@ -43,6 +43,7 @@ describe('Create item page - Drag and drop into categories: All or nothing with
43
43
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(3);
44
44
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(4);
45
45
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(5);
46
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectIconForEmptyContainer(5);
46
47
  dragAndDropIntoCategoriesPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
47
48
  dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerSectionNotExists();
48
49
  dragAndDropIntoCategoriesPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
@@ -58,7 +59,7 @@ describe('Create item page - Drag and drop into categories: All or nothing with
58
59
  dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerSectionNotExists();*/
59
60
  });
60
61
 
61
- 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, 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', () => {
62
+ 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 and proper icon should display beside empty container, 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', () => {
62
63
  dragAndDropIntoCategoriesPage.steps.resetQuestionPreview();
63
64
  dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Flying squirrel': 0, 'Eagle': 1, 'Peacock': 1, 'Ostrich': 3, 'Platypus': 4 });
64
65
  dragAndDropIntoCategoriesPage.steps.verifyPreviewScore(20, 20);
@@ -68,6 +69,7 @@ describe('Create item page - Drag and drop into categories: All or nothing with
68
69
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(2);
69
70
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(3);
70
71
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(4);
72
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectIconForEmptyContainer(5);
71
73
  dragAndDropIntoCategoriesPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
72
74
  dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerSectionNotExists();
73
75
  dragAndDropIntoCategoriesPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
@@ -82,15 +84,19 @@ describe('Create item page - Drag and drop into categories: All or nothing with
82
84
  dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerSectionNotExists();*/
83
85
  });
84
86
 
85
- 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, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers from the alternative accordion along with dropzone cell numeration should be displayed', () => {
87
+ 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 and proper icon should display beside empty container, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers from the alternative accordion along with dropzone cell numeration should be displayed', () => {
86
88
  dragAndDropIntoCategoriesPage.steps.resetQuestionPreview();
87
89
  dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Bat': 0, 'Parrot': 1 });
88
90
  dragAndDropIntoCategoriesPage.steps.verifyPreviewScore(0, 20);
89
91
  dragAndDropIntoCategoriesPage.steps.switchToGradingView();
90
92
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(0);
91
93
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(1);
94
+ dragAndDropIntoCategoriesPage.steps.verifyIncorrectIconForEmptyContainer(2);
95
+ dragAndDropIntoCategoriesPage.steps.verifyIncorrectIconForEmptyContainer(3);
96
+ dragAndDropIntoCategoriesPage.steps.verifyIncorrectIconForEmptyContainer(4);
97
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectIconForEmptyContainer(5);
92
98
  dragAndDropIntoCategoriesPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
93
- dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Flying squirrel'], ['Eagle', 'Peacock'], ['Ostrich'], ['Platypus']], ['1', '2', '4', '5']);
99
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Flying squirrel'], ['Eagle', 'Peacock'], ['Ostrich'], ['Platypus'], [], []], ['1', '2', '4', '5', '3', '6']);
94
100
  dragAndDropIntoCategoriesPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
95
101
  /*cy.log('When the user has attempted the question with partially correct options exclusively from the correct accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed')
96
102
  dragAndDropIntoCategoriesPage.steps.checkAnswer();
@@ -100,15 +106,19 @@ describe('Create item page - Drag and drop into categories: All or nothing with
100
106
  dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerSectionNotExists();*/
101
107
  });
102
108
 
103
- 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, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers from the alternative accordion along with dropzone cell numeration should be displayed', () => {
109
+ 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 and proper icon should display beside empty container, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers from the alternative accordion along with dropzone cell numeration should be displayed', () => {
104
110
  dragAndDropIntoCategoriesPage.steps.resetQuestionPreview();
105
111
  dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Flying squirrel': 0, 'Peacock': 1 });
106
112
  dragAndDropIntoCategoriesPage.steps.verifyPreviewScore(0, 20);
107
113
  dragAndDropIntoCategoriesPage.steps.switchToGradingView();
108
114
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(0);
109
115
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(1);
116
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectIconForEmptyContainer(2);
117
+ dragAndDropIntoCategoriesPage.steps.verifyIncorrectIconForEmptyContainer(3);
118
+ dragAndDropIntoCategoriesPage.steps.verifyIncorrectIconForEmptyContainer(4);
119
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectIconForEmptyContainer(5);
110
120
  dragAndDropIntoCategoriesPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
111
- dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Flying squirrel'], ['Eagle', 'Peacock'], ['Ostrich'], ['Platypus']], ['1', '2', '4', '5']);
121
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Flying squirrel'], ['Eagle', 'Peacock'], ['Ostrich'], ['Platypus'], [], []], ['1', '2', '4', '5', '3', '6']);
112
122
  dragAndDropIntoCategoriesPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
113
123
  /*cy.log('When the user has attempted the question with partially correct options exclusively from the alternative accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed')
114
124
  dragAndDropIntoCategoriesPage.steps.checkAnswer();
@@ -118,7 +128,7 @@ describe('Create item page - Drag and drop into categories: All or nothing with
118
128
  dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerSectionNotExists();*/
119
129
  });
120
130
 
121
- it('When the user attempts the question partially correct with all the cells correct as per the correct accordion but one cell incomplete, then the user should be awarded 0 points and on switching to \'Grading\' view, correct icon should be displayed besides the responses common across both accordions, incorrect icons should be displayed besides correct accordion responses, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers from the alternative accordion along with dropzone cell numeration should be displayed', () => {
131
+ it('When the user attempts the question partially correct with all the cells correct as per the correct accordion but one cell incomplete, then the user should be awarded 0 points and on switching to \'Grading\' view, correct icon should be displayed besides the responses common across both accordions and proper icon should display beside empty container, incorrect icons should be displayed besides correct accordion responses, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers from the alternative accordion along with dropzone cell numeration should be displayed', () => {
122
132
  dragAndDropIntoCategoriesPage.steps.resetQuestionPreview();
123
133
  dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Bat': 0, 'Eagle': 1, 'Parrot': 1, 'Platypus': 2, 'Ostrich': 3 });
124
134
  dragAndDropIntoCategoriesPage.steps.verifyPreviewScore(0, 20);
@@ -127,8 +137,11 @@ describe('Create item page - Drag and drop into categories: All or nothing with
127
137
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(1);
128
138
  dragAndDropIntoCategoriesPage.steps.verifyIncorrectOptionIcon(2);
129
139
  dragAndDropIntoCategoriesPage.steps.verifyIncorrectOptionIcon(3);
140
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(4);
141
+ dragAndDropIntoCategoriesPage.steps.verifyIncorrectIconForEmptyContainer(4);
142
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectIconForEmptyContainer(5);
130
143
  dragAndDropIntoCategoriesPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
131
- dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Flying squirrel'], ['Eagle', 'Peacock'], ['Ostrich'], ['Platypus']], ['1', '2', '4', '5']);
144
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Flying squirrel'], ['Eagle', 'Peacock'], ['Ostrich'], ['Platypus'], [], []], ['1', '2', '4', '5', '3', '6']);
132
145
  dragAndDropIntoCategoriesPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
133
146
  /*cy.log('When the user has attempted the question partially correct with all the cells correct as per the correct accordion but one cell incomplete and clicks on \'Check answer\' button, then correct icon should be displayed besides the responses common across both accordions, incorrect icons should be displayed besides correct accordion responses, a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed')
134
147
  dragAndDropIntoCategoriesPage.steps.checkAnswer();
@@ -140,16 +153,19 @@ describe('Create item page - Drag and drop into categories: All or nothing with
140
153
  dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerSectionNotExists();*/
141
154
  });
142
155
 
143
- it('When the user attempts the question partially correct with more number of options exclusively from the correct accordion but with one option common across both accordion, then the user should be awarded 0 points and on switching to \'Grading\' view, correct icon should be displayed besides the response common across both accordions, incorrect icon should be displayed besides the responses from the correct accordion, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers from the alternative accordion along with dropzone cell numeration should be displayed', () => {
156
+ it('When the user attempts the question partially correct with more number of options exclusively from the correct accordion but with one option common across both accordion, then the user should be awarded 0 points and on switching to \'Grading\' view, correct icon should be displayed besides the response common across both accordions, incorrect icon should be displayed besides the responses from the correct accordion and proper icon should display beside empty container, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers from the alternative accordion along with dropzone cell numeration should be displayed', () => {
144
157
  dragAndDropIntoCategoriesPage.steps.resetQuestionPreview();
145
158
  dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Bat': 0, 'Ostrich': 3, 'Platypus': 2 });
146
159
  dragAndDropIntoCategoriesPage.steps.verifyPreviewScore(0, 20);
147
160
  dragAndDropIntoCategoriesPage.steps.switchToGradingView();
148
161
  dragAndDropIntoCategoriesPage.steps.verifyIncorrectOptionIcon(0);
162
+ dragAndDropIntoCategoriesPage.steps.verifyIncorrectIconForEmptyContainer(1);
149
163
  dragAndDropIntoCategoriesPage.steps.verifyIncorrectOptionIcon(1);
150
164
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(2);
165
+ dragAndDropIntoCategoriesPage.steps.verifyIncorrectIconForEmptyContainer(4);
166
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectIconForEmptyContainer(5);
151
167
  dragAndDropIntoCategoriesPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
152
- dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Flying squirrel'], ['Eagle', 'Peacock'], ['Ostrich'], ['Platypus']], ['1', '2', '4', '5']);
168
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Flying squirrel'], ['Eagle', 'Peacock'], ['Ostrich'], ['Platypus'], [], []], ['1', '2', '4', '5', '3', '6']);
153
169
  dragAndDropIntoCategoriesPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
154
170
  /*cy.log('When the user has attempted the question partially correct with more number of options exclusively from the correct accordion but with one option common across both accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the responses common across both accordions, incorrect icons should be displayed besides correct accordion responses, a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed')
155
171
  dragAndDropIntoCategoriesPage.steps.checkAnswer();
@@ -160,7 +176,7 @@ describe('Create item page - Drag and drop into categories: All or nothing with
160
176
  dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerSectionNotExists();*/
161
177
  });
162
178
 
163
- it('When the user attempts the question partially correct with all the cells correctly attempted as per the correct accordion but with an extra incorrect option, then the user should be awarded 0 points and on switching to \'Grading\' view, correct icon should be displayed besides the response common across both accordions, incorrect icon should be displayed besides the responses from the correct accordion, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers from the alternative accordion along with dropzone cell numeration should be displayed', () => {
179
+ it('When the user attempts the question partially correct with all the cells correctly attempted as per the correct accordion but with an extra incorrect option, then the user should be awarded 0 points and on switching to \'Grading\' view, correct icon should be displayed besides the response common across both accordions, incorrect icon should be displayed besides the responses from the correct accordion and proper icon should display beside empty container, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers from the alternative accordion along with dropzone cell numeration should be displayed', () => {
164
180
  dragAndDropIntoCategoriesPage.steps.resetQuestionPreview();
165
181
  dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Bat': 0, 'Eagle': 1, 'Parrot': 1, 'Platypus': 2, 'Ostrich': 3, 'Whale': 4, 'Flying squirrel': 5 });
166
182
  dragAndDropIntoCategoriesPage.steps.verifyPreviewScore(0, 20);
@@ -173,7 +189,7 @@ describe('Create item page - Drag and drop into categories: All or nothing with
173
189
  dragAndDropIntoCategoriesPage.steps.verifyIncorrectOptionIcon(5);
174
190
  dragAndDropIntoCategoriesPage.steps.verifyIncorrectOptionIcon(6);
175
191
  dragAndDropIntoCategoriesPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
176
- dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Flying squirrel'], ['Eagle', 'Peacock'], ['Ostrich'], ['Platypus']], ['1', '2', '4', '5']);
192
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Flying squirrel'], ['Eagle', 'Peacock'], ['Ostrich'], ['Platypus'], [], []], ['1', '2', '4', '5', '3', '6']);
177
193
  dragAndDropIntoCategoriesPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
178
194
  /*cy.log('When the user has attempted the question partially correct with all the cells correctly attempted as per the correct accordion but with an extra incorrect option and clicks on \'Check answer\' button, then correct icon should be displayed besides the responses common across both accordions, incorrect icons should be displayed besides correct accordion responses, a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed')
179
195
  dragAndDropIntoCategoriesPage.steps.checkAnswer();
@@ -188,7 +204,7 @@ describe('Create item page - Drag and drop into categories: All or nothing with
188
204
  dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerSectionNotExists();*/
189
205
  });
190
206
 
191
- it('When the user attempts the question partially correct such that more number of correct options are exclusively from the correct accordion but with one option exclusively from the alternative accordion in the same cell, then the user should be awarded 0 points and on switching to \'Grading\' view, correct icon should be displayed besides the response common across both accordions, incorrect icon should be displayed besides the responses from the correct accordion, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers from the alternative accordion along with dropzone cell numeration should be displayed', () => {
207
+ it('When the user attempts the question partially correct such that more number of correct options are exclusively from the correct accordion but with one option exclusively from the alternative accordion in the same cell, then the user should be awarded 0 points and on switching to \'Grading\' view, correct icon should be displayed besides the response common across both accordions, incorrect icon should be displayed besides the responses from the correct accordion and proper icon should display beside empty container, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers from the alternative accordion along with dropzone cell numeration should be displayed', () => {
192
208
  dragAndDropIntoCategoriesPage.steps.resetQuestionPreview();
193
209
  dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Bat': 0, 'Flying squirrel': 0, 'Parrot': 1, 'Platypus': 2 });
194
210
  dragAndDropIntoCategoriesPage.steps.verifyPreviewScore(0, 20);
@@ -197,8 +213,11 @@ describe('Create item page - Drag and drop into categories: All or nothing with
197
213
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(1);
198
214
  dragAndDropIntoCategoriesPage.steps.verifyIncorrectOptionIcon(2);
199
215
  dragAndDropIntoCategoriesPage.steps.verifyIncorrectOptionIcon(3);
216
+ dragAndDropIntoCategoriesPage.steps.verifyIncorrectIconForEmptyContainer(3);
217
+ dragAndDropIntoCategoriesPage.steps.verifyIncorrectIconForEmptyContainer(4);
218
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectIconForEmptyContainer(5);
200
219
  dragAndDropIntoCategoriesPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
201
- dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Flying squirrel'], ['Eagle', 'Peacock'], ['Ostrich'], ['Platypus']], ['1', '2', '4', '5']);
220
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Flying squirrel'], ['Eagle', 'Peacock'], ['Ostrich'], ['Platypus'], [], []], ['1', '2', '4', '5', '3', '6']);
202
221
  dragAndDropIntoCategoriesPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
203
222
  /*cy.log('When the user has attempted the question partially correct such that more number of correct options are exclusively from the correct accordion but with one option exclusively from the alternative accordion in the same cell and clicks on \'Check answer\' button, then correct icon should be displayed besides the responses common across both accordions, incorrect icons should be displayed besides correct accordion responses, a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed')
204
223
  dragAndDropIntoCategoriesPage.steps.checkAnswer();
@@ -210,14 +229,19 @@ describe('Create item page - Drag and drop into categories: All or nothing with
210
229
  dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerSectionNotExists();*/
211
230
  });
212
231
 
213
- 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 from alternative accordion along with dropzone cell numeration should be displayed', () => {
232
+ 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 and proper icon should display beside empty container, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers from alternative accordion along with dropzone cell numeration should be displayed', () => {
214
233
  dragAndDropIntoCategoriesPage.steps.resetQuestionPreview();
215
234
  dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Platypus': 0 });
216
235
  dragAndDropIntoCategoriesPage.steps.verifyPreviewScore(0, 20);
217
236
  dragAndDropIntoCategoriesPage.steps.switchToGradingView();
218
237
  dragAndDropIntoCategoriesPage.steps.verifyIncorrectOptionIcon(0);
238
+ dragAndDropIntoCategoriesPage.steps.verifyIncorrectIconForEmptyContainer(1);
239
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectIconForEmptyContainer(2);
240
+ dragAndDropIntoCategoriesPage.steps.verifyIncorrectIconForEmptyContainer(3);
241
+ dragAndDropIntoCategoriesPage.steps.verifyIncorrectIconForEmptyContainer(4);
242
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectIconForEmptyContainer(5);
219
243
  dragAndDropIntoCategoriesPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
220
- dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Flying squirrel'], ['Eagle', 'Peacock'], ['Ostrich'], ['Platypus']], ['1', '2', '4', '5']);
244
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Flying squirrel'], ['Eagle', 'Peacock'], ['Ostrich'], ['Platypus'], [], []], ['1', '2', '4', '5', '3', '6']);
221
245
  dragAndDropIntoCategoriesPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
222
246
  /*cy.log('When the user has attempted the question incorrectly and clicks on \'Check answer\' button, then incorrect icons should be displayed besides all incorrect responses, a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed')
223
247
  dragAndDropIntoCategoriesPage.steps.checkAnswer();
@@ -24,17 +24,22 @@ describe('Create Item page - drag and drop into categories: All or nothing scori
24
24
  dragAndDropIntoCategoriesPage.steps.verifyPreviewTabPointsBackgroundForIncorrectOrPartiallyCorrectAnswer();
25
25
  dragAndDropIntoCategoriesPage.steps.verifyDropzoneCellNumeration(['1', '2', '3', '4', '5', '6']);
26
26
  utilities.verifyInnerText(dragAndDropIntoCategoriesPage.correctAnswersLabel(), 'Correct answers');
27
- dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bat'], ['Eagle', 'Parrot'], ['Platypus'], ['Tiger'], ['Whale']], ['1', '2', '3', '4', '5']);
27
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bat'], ['Eagle', 'Parrot'], ['Platypus'], ['Tiger'], ['Whale'], []], ['1', '2', '3', '4', '5', '6']);
28
28
  });
29
29
 
30
- 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 dropzone cell numeration should be displayed', () => {
30
+ 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 and proper icon should display beside empty container, 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', () => {
31
31
  dragAndDropIntoCategoriesPage.steps.resetQuestionPreview();
32
32
  dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Platypus': 0 });
33
33
  dragAndDropIntoCategoriesPage.steps.verifyPreviewScore(0, 20);
34
34
  dragAndDropIntoCategoriesPage.steps.switchToGradingView();
35
35
  dragAndDropIntoCategoriesPage.steps.verifyIncorrectOptionIcon(0);
36
+ dragAndDropIntoCategoriesPage.steps.verifyIncorrectIconForEmptyContainer(1);
37
+ dragAndDropIntoCategoriesPage.steps.verifyIncorrectIconForEmptyContainer(2);
38
+ dragAndDropIntoCategoriesPage.steps.verifyIncorrectIconForEmptyContainer(3);
39
+ dragAndDropIntoCategoriesPage.steps.verifyIncorrectIconForEmptyContainer(4);
40
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectIconForEmptyContainer(5);
36
41
  dragAndDropIntoCategoriesPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
37
- dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bat'], ['Eagle', 'Parrot'], ['Platypus'], ['Tiger'], ['Whale']], ['1', '2', '3', '4', '5']);
42
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bat'], ['Eagle', 'Parrot'], ['Platypus'], ['Tiger'], ['Whale'], []], ['1', '2', '3', '4', '5', '6']);
38
43
  dragAndDropIntoCategoriesPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
39
44
  /*cy.log('When the user has attempted the question incorrectly and clicks on \'Check answer\' button, then incorrect icons should be displayed besides all incorrect responses, a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed')
40
45
  dragAndDropIntoCategoriesPage.steps.checkAnswer();
@@ -43,17 +48,20 @@ describe('Create Item page - drag and drop into categories: All or nothing scori
43
48
  dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerSectionNotExists();*/
44
49
  });
45
50
 
46
- it('When the user attempts the question partially correct with some cells correct, some cells partially correct but incomplete, some cells partially correct with 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 dropzone cell numeration should be displayed', () => {
51
+ it('When the user attempts the question partially correct with some cells correct, some cells partially correct but incomplete, some cells partially correct with 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 and proper icon should display beside empty container, 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', () => {
47
52
  dragAndDropIntoCategoriesPage.steps.resetQuestionPreview();
48
53
  dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Bat': 0, 'Eagle': 1, 'Parrot': 4, 'Whale': 4 });
49
54
  dragAndDropIntoCategoriesPage.steps.verifyPreviewScore(0, 20);
50
55
  dragAndDropIntoCategoriesPage.steps.switchToGradingView();
51
56
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(0);
52
57
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(1);
58
+ dragAndDropIntoCategoriesPage.steps.verifyIncorrectIconForEmptyContainer(2);
59
+ dragAndDropIntoCategoriesPage.steps.verifyIncorrectIconForEmptyContainer(3);
53
60
  dragAndDropIntoCategoriesPage.steps.verifyIncorrectOptionIcon(2);
54
61
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(3);
62
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectIconForEmptyContainer(5);
55
63
  dragAndDropIntoCategoriesPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
56
- dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bat'], ['Eagle', 'Parrot'], ['Platypus'], ['Tiger'], ['Whale']], ['1', '2', '3', '4', '5']);
64
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bat'], ['Eagle', 'Parrot'], ['Platypus'], ['Tiger'], ['Whale'], []], ['1', '2', '3', '4', '5', '6']);
57
65
  dragAndDropIntoCategoriesPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
58
66
  /*cy.log('When the user has attempted the question partially correct with some cells correct, some cells partially correct but incomplete, some cells partially correct with incorrect options and clicks on \'Check answer\' button, then 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 should not be displayed')
59
67
  dragAndDropIntoCategoriesPage.steps.checkAnswer();
@@ -65,7 +73,7 @@ describe('Create Item page - drag and drop into categories: All or nothing scori
65
73
  dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerSectionNotExists();*/
66
74
  });
67
75
 
68
- it('When the user attempts the question partially correct with all the cells correctly attempted but one cell 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 dropzone cell numeration should be displayed', () => {
76
+ it('When the user attempts the question partially correct with all the cells correctly attempted but one cell 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 and proper icon should display beside empty container, 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', () => {
69
77
  dragAndDropIntoCategoriesPage.steps.resetQuestionPreview();
70
78
  dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Bat': 0, 'Eagle': 1, 'Platypus': 2, 'Tiger': 3, 'Whale': 4 })
71
79
  dragAndDropIntoCategoriesPage.steps.verifyPreviewScore(0, 20);
@@ -75,8 +83,9 @@ describe('Create Item page - drag and drop into categories: All or nothing scori
75
83
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(2);
76
84
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(3);
77
85
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(4);
86
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectIconForEmptyContainer(5);
78
87
  dragAndDropIntoCategoriesPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
79
- dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bat'], ['Eagle', 'Parrot'], ['Platypus'], ['Tiger'], ['Whale']], ['1', '2', '3', '4', '5']);
88
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bat'], ['Eagle', 'Parrot'], ['Platypus'], ['Tiger'], ['Whale'], []], ['1', '2', '3', '4', '5', '6']);
80
89
  dragAndDropIntoCategoriesPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
81
90
  /*cy.log('When the user has attempted the question partially correct with all the cells correctly attempted but one cell incomplete and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed')
82
91
  dragAndDropIntoCategoriesPage.steps.checkAnswer();
@@ -89,7 +98,7 @@ describe('Create Item page - drag and drop into categories: All or nothing scori
89
98
  dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerSectionNotExists();*/
90
99
  });
91
100
 
92
- it('When the user attempts the question partially correct with all the cells correctly attempted but with an extra option which is not set as correct answer, 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 should not be displayed', () => {
101
+ it('When the user attempts the question partially correct with all the cells correctly attempted but with an extra option which is not set as correct answer, 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 and proper icon should display beside empty container, a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed', () => {
93
102
  dragAndDropIntoCategoriesPage.steps.resetQuestionPreview();
94
103
  dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Bat': 0, 'Eagle': 1, 'Parrot': 1, 'Platypus': 2, 'Tiger': 3, 'Whale': 4, 'Flying squirrel': 4 });
95
104
  dragAndDropIntoCategoriesPage.steps.verifyPreviewScore(0, 20);
@@ -101,8 +110,9 @@ describe('Create Item page - drag and drop into categories: All or nothing scori
101
110
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(4);
102
111
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(5);
103
112
  dragAndDropIntoCategoriesPage.steps.verifyIncorrectOptionIcon(6);
113
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectIconForEmptyContainer(5);
104
114
  dragAndDropIntoCategoriesPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
105
- dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bat'], ['Eagle', 'Parrot'], ['Platypus'], ['Tiger'], ['Whale']], ['1', '2', '3', '4', '5']);
115
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bat'], ['Eagle', 'Parrot'], ['Platypus'], ['Tiger'], ['Whale'], []], ['1', '2', '3', '4', '5', '6']);
106
116
  dragAndDropIntoCategoriesPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
107
117
  /*cy.log('When the user has attempted the question partially correct with all the cells correctly attempted but with an extra option which is not set as correct answer and clicks on \'Check answer\' button, then 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 should not be displayed')
108
118
  dragAndDropIntoCategoriesPage.steps.checkAnswer();
@@ -117,7 +127,7 @@ describe('Create Item page - drag and drop into categories: All or nothing scori
117
127
  dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerSectionNotExists();*/
118
128
  });
119
129
 
120
- 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', () => {
130
+ 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 and proper icon should display beside empty container, a status message with text \'Your answer is correct\' and correct answer section should not be displayed', () => {
121
131
  dragAndDropIntoCategoriesPage.steps.resetQuestionPreview();
122
132
  dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Bat': 0, 'Eagle': 1, 'Parrot': 1, 'Platypus': 2, 'Tiger': 3, 'Whale': 4 });
123
133
  dragAndDropIntoCategoriesPage.steps.verifyPreviewScore(20, 20);
@@ -129,6 +139,7 @@ describe('Create Item page - drag and drop into categories: All or nothing scori
129
139
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(3);
130
140
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(4);
131
141
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(5);
142
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectIconForEmptyContainer(5);
132
143
  dragAndDropIntoCategoriesPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
133
144
  dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerSectionNotExists();
134
145
  dragAndDropIntoCategoriesPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
@@ -144,7 +155,7 @@ describe('Create Item page - drag and drop into categories: All or nothing scori
144
155
  dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerSectionNotExists();*/
145
156
  });
146
157
 
147
- it('When the user attempts question with the common option from another group and all other correct options then the user should be awarded 0 points and on switching to \'Grading\' view, incorrect icon should be displayed besides incorrect answer response, a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed', () => {
158
+ it('When the user attempts question with the common option from another group and all other correct options then the user should be awarded 0 points and on switching to \'Grading\' view, incorrect icon should be displayed besides incorrect answer response and proper icon should display beside empty container, a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed', () => {
148
159
  dragAndDropIntoCategoriesPage.steps.resetQuestionPreview();
149
160
  dragAndDropIntoCategoriesPage.steps.clickAndDropOptionFromNthGroupInDropzonePreviewTab(3, { optionText: 'Bat', dropzoneIndex: 0 })
150
161
  dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Eagle': 1, 'Parrot': 1, 'Platypus': 2, 'Tiger': 3, 'Whale': 4 });
@@ -156,7 +167,8 @@ describe('Create Item page - drag and drop into categories: All or nothing scori
156
167
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(3);
157
168
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(4);
158
169
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(5);
159
- dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bat'], ['Eagle', 'Parrot'], ['Platypus'], ['Tiger'], ['Whale']], ['1', '2', '3', '4', '5']);
170
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectIconForEmptyContainer(5);
171
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bat'], ['Eagle', 'Parrot'], ['Platypus'], ['Tiger'], ['Whale'], []], ['1', '2', '3', '4', '5', '6']);
160
172
  dragAndDropIntoCategoriesPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
161
173
  dragAndDropIntoCategoriesPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
162
174
  /*cy.log('When the user attempts the question with the common option from another group then the user should be awarded and clicks on \'Check answer\' button, incorrect icon should be displayed besides incorrect answer response, a status message with text \'Your answer is incorrect\' should be displayed and correct answer section should not be displayed')