itemengine-cypress-automation 1.0.202 → 1.0.203

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. package/cypress/config-files/ilqa.json +1 -1
  2. package/cypress/e2e/ILC/ChartsBar/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +2 -2
  3. package/cypress/e2e/ILC/ChartsBar/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +3 -3
  4. package/cypress/e2e/ILC/ChartsBar/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +14 -2
  5. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightBasic.js +1 -1
  6. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightBasic.js +1 -1
  7. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +356 -0
  8. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +320 -0
  9. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +355 -0
  10. package/cypress/e2e/ILC/ChartsBar/Scoring/toleranceThresholdScoring.js +141 -0
  11. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/pagination.js +170 -0
  12. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/additionalSettingsForDropzones.js +170 -0
  13. package/cypress/e2e/ILC/ImageHighlight/Scoring/singleSelectionPreviewScoring.js +250 -0
  14. package/cypress/e2e/ILC/ImageHighlight/singleMultipleSelection.js +99 -0
  15. package/cypress/e2e/ILC/MultipleSelectionGridNew/additionalSettings.js +89 -0
  16. package/cypress/e2e/ILC/MultipleSelectionGridNew/styleAndLayoutCustomizationBorderProperties.js +53 -0
  17. package/cypress/e2e/ILC/MultipleSelectionGridNew/styleAndLayoutCustomizationGridProperties.js +98 -0
  18. package/cypress/e2e/ILC/MultipleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +89 -0
  19. package/cypress/e2e/ILC/SingleSelectionGridNew/styleAndLayoutCustomizationBorderProperties.js +54 -0
  20. package/cypress/e2e/ILC/SingleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +90 -0
  21. package/cypress/e2e/ILC/SingleSelectionGridNew/styleAndLayoutCutomizationGridProperties.js +99 -0
  22. package/cypress/e2e/ILC/chartsDotsPlot/scoring/allOrNothingPenaltyScoring.js +61 -0
  23. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsBasic.js +227 -0
  24. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +380 -0
  25. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +294 -0
  26. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +383 -0
  27. package/cypress/fixtures/equationEditorCategoriesAndSymbols .js +7 -7
  28. package/cypress/pages/chartsBarPage.js +1 -4
  29. package/cypress/pages/chartsDotPlotPage.js +0 -13
  30. package/cypress/pages/components/additionalSettingsPanel.js +1 -0
  31. package/cypress/pages/components/ariaLabelSectionComponent.js +1 -1
  32. package/cypress/pages/components/chartsCommonComponent.js +19 -0
  33. package/cypress/pages/components/fillInTheGapsDragAndDropCommonComponents.js +1 -0
  34. package/cypress/pages/components/gridQuestionCommonComponent.js +1836 -134
  35. package/cypress/pages/components/singleMultipleSelectionModeComponent.js +74 -1
  36. package/cypress/pages/dragAndDropIntoCategoriesPage.js +25 -2
  37. package/cypress/pages/essayResponsePage.js +9 -1
  38. package/cypress/pages/feedbackScalePage.js +1 -1
  39. package/cypress/pages/fillInTheGapsDragAndDropPage.js +111 -30
  40. package/cypress/pages/matchingPage.js +2 -1
  41. package/cypress/pages/multipleSelectionGridPage.js +4 -2
  42. package/cypress/pages/shortTextResponsePage.js +2 -2
  43. package/cypress/pages/singleSelectionGridPage.js +4 -2
  44. package/cypress/pages/textEntryMathPage.js +1 -0
  45. package/cypress/pages/textEntryMathWithImagePage.js +1 -1
  46. package/cypress/pages/uploadResponsePage.js +1 -3
  47. package/package.json +1 -1
@@ -0,0 +1,383 @@
1
+ import { chartsDotPlotPage } from "../../../../pages";
2
+ import abortEarlySetup from "../../../../support/helpers/abortEarly";
3
+ const css = Cypress.env('css');
4
+
5
+ describe('Create item page - Charts - Dot plot: Partial different with alternative answers', () => {
6
+ before(() => {
7
+ cy.loginAs('admin');
8
+ });
9
+
10
+ describe('Question preview: Auto scored - Partial different weights with alternative answer - When \'Correct answer\' points are more than \'Alternative answer\' points', () => {
11
+ abortEarlySetup();
12
+ before(() => {
13
+ chartsDotPlotPage.steps.navigateToCreateQuestion('charts');
14
+ cy.barsPreLoaderWait();
15
+ chartsDotPlotPage.steps.selectDotPlot();
16
+ chartsDotPlotPage.steps.addTextInQuestionInstructionsInputField('Dot plot');
17
+ chartsDotPlotPage.steps.enterTextInMinInputField(1);
18
+ chartsDotPlotPage.steps.enterTextInMaxInputField(6);
19
+ chartsDotPlotPage.steps.setGraphTitle('Five-day observation');
20
+ chartsDotPlotPage.steps.setXAxisLabel('Days');
21
+ chartsDotPlotPage.steps.enterTextInIntervalInputField(1);
22
+ chartsDotPlotPage.steps.enterTextInAnnotateEveryInputField(1);
23
+ //locked column
24
+ chartsDotPlotPage.steps.plotDotsInDotColumnSelectChartTypeSection(1, { point: 1, min: 1, interval: 1, defaultDots: 0 });
25
+ chartsDotPlotPage.steps.lockDotColumn({ point: 1, min: 1, interval: 1 });
26
+ chartsDotPlotPage.steps.plotDotsInDotColumnSelectChartTypeSection(2, { point: 2, min: 1, interval: 1, defaultDots: 0 });;
27
+ chartsDotPlotPage.steps.selectAutoScoredScoringSubtype('Partial different weights');
28
+ chartsDotPlotPage.steps.allotPartialDifferentWeightsPoints({ 0: 3, 1: 4, 2: 5, 3: 2, 4: 3, 5: 3 });
29
+ chartsDotPlotPage.steps.plotDotsInDotColumnSpecifyCorrectAnswer(2, { point: 2, min: 1, interval: 1, defaultDots: 0 });
30
+ chartsDotPlotPage.steps.plotDotsInDotColumnSpecifyCorrectAnswer(3, { point: 3, min: 1, interval: 1, defaultDots: 0 });
31
+ chartsDotPlotPage.steps.plotDotsInDotColumnSpecifyCorrectAnswer(4, { point: 4, min: 1, interval: 1, defaultDots: 0 });
32
+ chartsDotPlotPage.steps.clickOnAddAlternativeAnswerButton(1);
33
+ chartsDotPlotPage.steps.allotPartialDifferentWeightsPoints({ 0: 2, 1: 3, 2: 3, 3: 1, 4: 2, 5: 2 });
34
+ chartsDotPlotPage.steps.plotDotsInDotColumnSpecifyCorrectAnswer(3, { point: 2, min: 1, interval: 1, defaultDots: 0 });
35
+ chartsDotPlotPage.steps.plotDotsInDotColumnSpecifyCorrectAnswer(3, { point: 3, min: 1, interval: 1, defaultDots: 0 });
36
+ chartsDotPlotPage.steps.plotDotsInDotColumnSpecifyCorrectAnswer(5, { point: 5, min: 1, interval: 1, defaultDots: 0 });
37
+ chartsDotPlotPage.steps.checkAllowStudentToCheckAnswerCheckbox();
38
+ chartsDotPlotPage.steps.switchToPreviewTab();
39
+ });
40
+
41
+ it('When the user selects \'Grading\' view without attempting the question, locked bar should not have icon, correct icon should be displayed in dot column set correctly by default, incorrect icon should be displayed in dot column set to incorrectly by default and label \'Correct answers\' should be displayed with correct answers from the correct accordion and correct/incorrect status message should not be displayed', () => {
42
+ chartsDotPlotPage.steps.switchToGradingView();
43
+ //preview chart
44
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
45
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1 });
46
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1, defaultDots: 0 });
47
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1, defaultDots: 0 });
48
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1, defaultDots: 0 });
49
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 6, min: 1, interval: 1, defaultDots: 0 });
50
+ //correct answer section chart
51
+ chartsDotPlotPage.steps.verifyLockedDotColumnCorrectAnswerSection({ point: 1, min: 1, interval: 1 });
52
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 2, min: 1, interval: 1 });
53
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 3, min: 1, interval: 1 });
54
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 4, min: 1, interval: 1 });
55
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 5, min: 1, interval: 1, defaultDots: 0 });
56
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 6, min: 1, interval: 1, defaultDots: 0 });
57
+ chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
58
+ chartsDotPlotPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
59
+ cy.log('When the user clicks on \'Check answer\' button without attempting the question, locked bar should not have icon, correct icon should be displayed in dot column set correctly by default, incorrect icon should be displayed in dot column set to incorrectly by default and correct/incorrect status message and correct answer section should not be displayed')
60
+ chartsDotPlotPage.steps.checkAnswer();
61
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
62
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1 });
63
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1, defaultDots: 0 });
64
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1, defaultDots: 0 });
65
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1, defaultDots: 0 });
66
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 6, min: 1, interval: 1, defaultDots: 0 });
67
+ chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
68
+ chartsDotPlotPage.steps.verifyCorrectAnswerSectionNotExist();
69
+ });
70
+
71
+ it('When the user attempts the question with responses from the correct accordion, then the user should be awarded full points and on switching to \'Grading\' view, correct icon should be displayed in dot column attempted correctly, a status message and correct answer section should not be displayed', () => {
72
+ chartsDotPlotPage.steps.resetQuestionPreview();
73
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(3, { point: 3, min: 1, interval: 1, defaultDots: 0 });
74
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(4, { point: 4, min: 1, interval: 1, defaultDots: 0 });
75
+ chartsDotPlotPage.steps.verifyPreviewScore(20, 20);
76
+ chartsDotPlotPage.steps.switchToGradingView();
77
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
78
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1 });
79
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1 });
80
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1 });
81
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1, defaultDots: 0 });
82
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 6, min: 1, interval: 1, defaultDots: 0 });
83
+ chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
84
+ chartsDotPlotPage.steps.verifyCorrectAnswerSectionNotExists();
85
+ chartsDotPlotPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
86
+ cy.log('When the user has attempted the question with responses from the correct accordion and clicks on \'Check answer\' button, then correct icon should be displayed in dot column attempted correctly, a status message and correct answer section should not be displayed')
87
+ chartsDotPlotPage.steps.checkAnswer();
88
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
89
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1 });
90
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1 });
91
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1 });
92
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1, defaultDots: 0 });
93
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 6, min: 1, interval: 1, defaultDots: 0 });
94
+ chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
95
+ chartsDotPlotPage.steps.verifyCorrectAnswerSectionNotExists();
96
+ });
97
+
98
+ it('When the user attempts the question with responses from the alternative accordion, then the user should be awarded with points specified for alternative accordion (less than full points) and on switching to \'Grading\' view, correct icon should be displayed in dot column attempted correctly, a status message and correct answer section should not be displayed', () => {
99
+ chartsDotPlotPage.steps.resetQuestionPreview();
100
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(3, { point: 2, min: 1, interval: 1 });
101
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(3, { point: 3, min: 1, interval: 1, defaultDots: 0 });
102
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(5, { point: 5, min: 1, interval: 1, defaultDots: 0 });
103
+ chartsDotPlotPage.steps.verifyPreviewScore(13, 20);
104
+ chartsDotPlotPage.steps.switchToGradingView();
105
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
106
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1 });
107
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1 });
108
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1, defaultDots: 0 });
109
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1 });
110
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 6, min: 1, interval: 1, defaultDots: 0 });
111
+ chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
112
+ chartsDotPlotPage.steps.verifyCorrectAnswerSectionNotExists();
113
+ chartsDotPlotPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
114
+ cy.log('When the user has attempted the question with responses from the alternative accordion and clicks on \'Check answer\' button, then correct icon should be displayed in dot column attempted correctly, a status message and correct answer section should not be displayed')
115
+ chartsDotPlotPage.steps.checkAnswer();
116
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
117
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1 });
118
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1 });
119
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1, defaultDots: 0 });
120
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1 });
121
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 6, min: 1, interval: 1, defaultDots: 0 });
122
+ chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
123
+ chartsDotPlotPage.steps.verifyCorrectAnswerSectionNotExists();
124
+ });
125
+
126
+ it('When the user attempts the question with partially correct options exclusively from the correct accordion, then the user should be awarded points of the correctly attempted response and on switching to \'Grading\' view, correct icon should be displayed in dot column responses from correct accordion and incorrect icon should be displayed in dot column set incorrectly, a status message should not be displayed and correct answer section with all correct answers from the correct accordion should be displayed', () => {
127
+ chartsDotPlotPage.steps.resetQuestionPreview();
128
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(2, { point: 2, min: 1, interval: 1 });
129
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(4, { point: 4, min: 1, interval: 1, defaultDots: 0 });
130
+ chartsDotPlotPage.steps.verifyPreviewScore(15, 20);
131
+ chartsDotPlotPage.steps.switchToGradingView();
132
+ //preview charts
133
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
134
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1 });
135
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1, defaultDots: 0 });
136
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1 });
137
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1, defaultDots: 0 });
138
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 6, min: 1, interval: 1, defaultDots: 0 });
139
+ //correct answer charts
140
+ chartsDotPlotPage.steps.verifyLockedDotColumnCorrectAnswerSection({ point: 1, min: 1, interval: 1 });
141
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 2, min: 1, interval: 1 });
142
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 3, min: 1, interval: 1 });
143
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 4, min: 1, interval: 1 });
144
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 5, min: 1, interval: 1, defaultDots: 0 });
145
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 6, min: 1, interval: 1, defaultDots: 0 });
146
+ chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
147
+ chartsDotPlotPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
148
+ 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 in dot column responses from correct accordion and incorrect icon should be displayed in dot column set incorrectly, a status message should not be displayed and correct answer section should not be displayed')
149
+ chartsDotPlotPage.steps.checkAnswer();
150
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
151
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1 });
152
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1, defaultDots: 0 });
153
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1 });
154
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1, defaultDots: 0 });
155
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 6, min: 1, interval: 1, defaultDots: 0 });
156
+ chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
157
+ chartsDotPlotPage.steps.verifyCorrectAnswerSectionNotExists();
158
+ });
159
+
160
+ it('When the user attempts the question with partially correct options exclusively from the alternative accordion, then the user should be awarded points of the correctly attempted response and on switching to \'Grading\' view, correct icon should be displayed in dot column attempted correctly from alternate accordion, incorrect icon should be displayed in dot column set incorrectly, a status message should not be displayed and correct answer section with all correct answers from the correct accordion should be displayed', () => {
161
+ chartsDotPlotPage.steps.resetQuestionPreview();
162
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(3, { point: 2, min: 1, interval: 1 });
163
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(5, { point: 5, min: 1, interval: 1, defaultDots: 0 });
164
+ chartsDotPlotPage.steps.verifyPreviewScore(10, 20);
165
+ chartsDotPlotPage.steps.switchToGradingView();
166
+ //preview charts
167
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
168
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1 });
169
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1, defaultDots: 0 });
170
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1, defaultDots: 0 });
171
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1 });
172
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 6, min: 1, interval: 1, defaultDots: 0 });
173
+ //correct answer charts
174
+ chartsDotPlotPage.steps.verifyLockedDotColumnCorrectAnswerSection({ point: 1, min: 1, interval: 1 });
175
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 2, min: 1, interval: 1 });
176
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 3, min: 1, interval: 1 });
177
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 4, min: 1, interval: 1 });
178
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 5, min: 1, interval: 1, defaultDots: 0 });
179
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 6, min: 1, interval: 1, defaultDots: 0 });
180
+ chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
181
+ chartsDotPlotPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
182
+ 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 in dot column attempted correctly from alternate accordion, incorrect icon should be displayed in dot column set incorrectly, a status message should not be displayed and correct answer section should not be displayed')
183
+ chartsDotPlotPage.steps.checkAnswer();
184
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
185
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1 });
186
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1, defaultDots: 0 });
187
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1, defaultDots: 0 });
188
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1 });
189
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 6, min: 1, interval: 1, defaultDots: 0 });
190
+ chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
191
+ chartsDotPlotPage.steps.verifyCorrectAnswerSectionNotExists();
192
+ });
193
+
194
+ it('When the user attempts the question partially correct with all the responses correct as per the alternate accordion but one response incomplete, then the user should be awarded points of the correctly attempted response and on switching to \'Grading\' view, correct icon should be displayed in dot column attempted correctly from correct accordion, incorrect icon should be displayed in dot column attempted from alternate accordion and a status message should not be displayed and correct answer section with all correct answers from the correct accordion should be displayed', () => {
195
+ chartsDotPlotPage.steps.resetQuestionPreview();
196
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(3, { point: 2, min: 1, interval: 1 });
197
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(3, { point: 3, min: 1, interval: 1, defaultDots: 0 });
198
+ chartsDotPlotPage.steps.verifyPreviewScore(14, 20);
199
+ chartsDotPlotPage.steps.switchToGradingView();
200
+ //preview charts
201
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
202
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1 });
203
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1 });
204
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1, defaultDots: 0 });
205
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1, defaultDots: 0 });
206
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 6, min: 1, interval: 1, defaultDots: 0 });
207
+ //correct answer charts
208
+ chartsDotPlotPage.steps.verifyLockedDotColumnCorrectAnswerSection({ point: 1, min: 1, interval: 1 });
209
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 2, min: 1, interval: 1 });
210
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 3, min: 1, interval: 1 });
211
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 4, min: 1, interval: 1 });
212
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 5, min: 1, interval: 1, defaultDots: 0 });
213
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 6, min: 1, interval: 1, defaultDots: 0 });
214
+ chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
215
+ chartsDotPlotPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
216
+ cy.log('When the user has attempted the question with partially correct with all the response correct as per the alternative accordion but one response incomplete and clicks on \'Check answer\' button, then correct icon should be displayed in the dot column from the correct accordion, incorrect icon should be displayed in the dot column from the alternative accordion and, a status message should not be displayed and correct answer section should not be displayed')
217
+ chartsDotPlotPage.steps.checkAnswer();
218
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
219
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1 });
220
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1 });
221
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1, defaultDots: 0 });
222
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1, defaultDots: 0 });
223
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 6, min: 1, interval: 1, defaultDots: 0 });
224
+ chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
225
+ chartsDotPlotPage.steps.verifyCorrectAnswerSectionNotExists();
226
+ });
227
+
228
+ 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 points of the correctly attempted response and on switching to \'Grading\' view, correct icon should be displayed in dot column attempted correctly from correct accordion, incorrect icon should be displayed in dot column attempted from the alternative accordion as score achieved from the correct responses is more than alternate responses, a status message should not be displayed and correct answer section with all correct answers from the correct accordion should be displayed', () => {
229
+ chartsDotPlotPage.steps.resetQuestionPreview();
230
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(2, { point: 2, min: 1, interval: 1 });
231
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(5, { point: 5, min: 1, interval: 1, defaultDots: 0 });
232
+ chartsDotPlotPage.steps.verifyPreviewScore(10, 20);
233
+ chartsDotPlotPage.steps.switchToGradingView();
234
+ //preview charts
235
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
236
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1 });
237
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1, defaultDots: 0 });
238
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1, defaultDots: 0 });
239
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1 });
240
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 6, min: 1, interval: 1, defaultDots: 0 });
241
+ //correct answer charts
242
+ chartsDotPlotPage.steps.verifyLockedDotColumnCorrectAnswerSection({ point: 1, min: 1, interval: 1 });
243
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 2, min: 1, interval: 1 });
244
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 3, min: 1, interval: 1 });
245
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 4, min: 1, interval: 1 });
246
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 5, min: 1, interval: 1, defaultDots: 0 });
247
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 6, min: 1, interval: 1, defaultDots: 0 });
248
+ chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
249
+ chartsDotPlotPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
250
+ cy.log('When the user has attempted the question with equal number of correct responses from correct and alternative accordion and clicks on \'Check answer\' button, then correct icon should be displayed in dot column attempted correctly from correct accordion, incorrect icon should be displayed in dot column set incorrectly from the alternative accordion, a status message should not be displayed and correct answer section should not be displayed')
251
+ chartsDotPlotPage.steps.checkAnswer();
252
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
253
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1 });
254
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1, defaultDots: 0 });
255
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1, defaultDots: 0 });
256
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1 });
257
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 6, min: 1, interval: 1, defaultDots: 0 });
258
+ chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
259
+ chartsDotPlotPage.steps.verifyCorrectAnswerSectionNotExists();
260
+ });
261
+
262
+ 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 points of the correctly attempted response and on switching to \'Grading\' view, correct icon should be displayed in common dot column attempted correctly, incorrect icon should be displayed in dot column set incorrectly, correct/incorrect status message should be displayed and correct answer section with all correct answers from the correct accordion should be displayed', () => {
263
+ chartsDotPlotPage.steps.resetQuestionPreview();
264
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(3, { point: 3, min: 1, interval: 1, defaultDots: 0 });
265
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(0, { point: 2, min: 1, interval: 1 });
266
+ chartsDotPlotPage.steps.verifyPreviewScore(14, 20);
267
+ chartsDotPlotPage.steps.switchToGradingView();
268
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
269
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1, defaultDots: 0 });
270
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1 });
271
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1, defaultDots: 0 });
272
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1, defaultDots: 0 })
273
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 6, min: 1, interval: 1, defaultDots: 0 });
274
+ chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
275
+ //correct answer charts
276
+ chartsDotPlotPage.steps.verifyLockedDotColumnCorrectAnswerSection({ point: 1, min: 1, interval: 1 });
277
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 2, min: 1, interval: 1 });
278
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 3, min: 1, interval: 1 });
279
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 4, min: 1, interval: 1 });
280
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 5, min: 1, interval: 1, defaultDots: 0 });
281
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 6, min: 1, interval: 1, defaultDots: 0 });
282
+ chartsDotPlotPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
283
+ cy.log('When the user has attempted the question with common response of correct responses from correct and alternative accordion and clicks on \'Check answer\' button, then correct icon should be displayed in common dot column attempted correctly, incorrect icon should be displayed in dot column set incorrectly, a status message should not be displayed and correct answer section should not be displayed')
284
+ chartsDotPlotPage.steps.checkAnswer();
285
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
286
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1, defaultDots: 0 });
287
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1 });
288
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1, defaultDots: 0 });
289
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1, defaultDots: 0 })
290
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 6, min: 1, interval: 1, defaultDots: 0 });
291
+ chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
292
+ chartsDotPlotPage.steps.verifyCorrectAnswerSectionNotExists();
293
+ });
294
+
295
+ it('When the user attempts the question incorrectly, then the user should be awarded points for locked dot column and on switching to \'Grading\' view, incorrect icon should be displayed in dot column attempted incorrectly, a status message should not be displayed and correct answer section with all correct answers should be displayed', () => {
296
+ chartsDotPlotPage.steps.resetQuestionPreview();
297
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(0, { point: 2, min: 1, interval: 1 });
298
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(2, { point: 6, min: 1, interval: 1, defaultDots: 0 });
299
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(2, { point: 5, min: 1, interval: 1, defaultDots: 0 });
300
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(2, { point: 4, min: 1, interval: 1, defaultDots: 0 });
301
+ chartsDotPlotPage.steps.verifyPreviewScore(3, 20);
302
+ chartsDotPlotPage.steps.switchToGradingView();
303
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
304
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1, defaultDots: 0 });
305
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1, defaultDots: 0 });
306
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1 });
307
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1 })
308
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 6, min: 1, interval: 1 });
309
+ //correct answer charts
310
+ chartsDotPlotPage.steps.verifyLockedDotColumnCorrectAnswerSection({ point: 1, min: 1, interval: 1 });
311
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 2, min: 1, interval: 1 });
312
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 3, min: 1, interval: 1 });
313
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 4, min: 1, interval: 1 });
314
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 5, min: 1, interval: 1, defaultDots: 0 });
315
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 6, min: 1, interval: 1, defaultDots: 0 });
316
+ chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
317
+ chartsDotPlotPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
318
+ cy.log('When the user has attempted the question incorrectly and clicks on \'Check answer\' button, then incorrect icon should be displayed in dot column attempted incorrectly, a status message should not be displayed and correct answer section should not be displayed')
319
+ chartsDotPlotPage.steps.checkAnswer();
320
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
321
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1, defaultDots: 0 });
322
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1, defaultDots: 0 });
323
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1 });
324
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1 })
325
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 6, min: 1, interval: 1 });
326
+ chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
327
+ chartsDotPlotPage.steps.verifyCorrectAnswerSectionNotExists();
328
+ });
329
+
330
+ it('Overachiever case: When the user attempts the question with more number of correct responses from the alternate accordion than the correct accordion but the score of the individual response selected from the correct accordion overpowers the combined score of the alternate accordion answers then on switching to the \'Grading view\', then points awarded should be of the correct accordion, correct icons should be displayed for the correct accordion response, incorrect icons should be displayed for the alternate accordion responses, correct/incorrect answer label should not be displayed and correct answer section should be displayed with correct accordion ', () => {
331
+ cy.log('Pre-step: Switching to Edit tab and allotting points to alternative accordion such that the difference between the points is substantial and the points per response are in decimal')
332
+ chartsDotPlotPage.steps.switchToEditTab();
333
+ chartsDotPlotPage.steps.deleteAlternativeAnswerAccordion(0);
334
+ chartsDotPlotPage.steps.addAlternativeAnswerAccordion(1);
335
+ chartsDotPlotPage.steps.allotPartialDifferentWeightsPoints({ 0: 1.5, 1: 2, 2: 3, 3: 3, 4: 3.5, 5: 18 });
336
+ chartsDotPlotPage.steps.plotDotsInDotColumnSpecifyCorrectAnswer(1, { point: 2, min: 1, interval: 1, defaultDots: 0 });
337
+ chartsDotPlotPage.steps.plotDotsInDotColumnSpecifyCorrectAnswer(1, { point: 3, min: 1, interval: 1, defaultDots: 0 });
338
+ chartsDotPlotPage.steps.plotDotsInDotColumnSpecifyCorrectAnswer(1, { point: 4, min: 1, interval: 1, defaultDots: 0 });
339
+ chartsDotPlotPage.steps.plotDotsInDotColumnSpecifyCorrectAnswer(1, { point: 5, min: 1, interval: 1, defaultDots: 0 });
340
+ chartsDotPlotPage.steps.plotDotsInDotColumnSpecifyCorrectAnswer(1, { point: 6, min: 1, interval: 1, defaultDots: 0 });
341
+ chartsDotPlotPage.steps.expandCorrectAnswerAccordion();
342
+ chartsDotPlotPage.steps.plotDotsInDotColumnSpecifyCorrectAnswer(2, { point: 2, min: 1, interval: 1 });
343
+ chartsDotPlotPage.steps.plotDotsInDotColumnSpecifyCorrectAnswer(2, { point: 3, min: 1, interval: 1 });
344
+ chartsDotPlotPage.steps.plotDotsInDotColumnSpecifyCorrectAnswer(2, { point: 4, min: 1, interval: 1 });
345
+ chartsDotPlotPage.steps.plotDotsInDotColumnSpecifyCorrectAnswer(2, { point: 5, min: 1, interval: 1, defaultDots: 0 });
346
+ chartsDotPlotPage.steps.plotDotsInDotColumnSpecifyCorrectAnswer(2, { point: 6, min: 1, interval: 1, defaultDots: 0 });
347
+ chartsDotPlotPage.steps.allotPartialDifferentWeightsPoints({ 0: 0.5, 1: 1, 2: 3, 3: 2, 4: 2.5, 5: 16 });
348
+ chartsDotPlotPage.steps.switchToPreviewTab();
349
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(1, { point: 2, min: 1, interval: 1 });
350
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(1, { point: 3, min: 1, interval: 1, defaultDots: 0 });
351
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(1, { point: 4, min: 1, interval: 1, defaultDots: 0 });
352
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(1, { point: 5, min: 1, interval: 1, defaultDots: 0 });
353
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(2, { point: 6, min: 1, interval: 1, defaultDots: 0 });
354
+ chartsDotPlotPage.steps.verifyPreviewScore(16.5, 31);
355
+ chartsDotPlotPage.steps.switchToGradingView();
356
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
357
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1 });
358
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1 });
359
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1 });
360
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1 })
361
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 6, min: 1, interval: 1 });
362
+ chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
363
+ //correct answer charts
364
+ chartsDotPlotPage.steps.verifyLockedDotColumnCorrectAnswerSection({ point: 1, min: 1, interval: 1 });
365
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 2, min: 1, interval: 1 });
366
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 3, min: 1, interval: 1 });
367
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 4, min: 1, interval: 1 });
368
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 5, min: 1, interval: 1 });
369
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 6, min: 1, interval: 1 });
370
+ chartsDotPlotPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
371
+ cy.log('When user attempts the question correctly and clicks on the \'Check answer\' button, correct icons icons should be displayed beside the correct responses from the correct accordion, incorrect icons icons should be displayed beside the incorrectly answered responses, correct/incorrect answer label should not be displayed, correct answer section should not be displayed')
372
+ chartsDotPlotPage.steps.checkAnswer();
373
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
374
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1 });
375
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1 });
376
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1 });
377
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1 })
378
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 6, min: 1, interval: 1 });
379
+ chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
380
+ chartsDotPlotPage.steps.verifyCorrectAnswerSectionNotExists();
381
+ });
382
+ });
383
+ });
@@ -68,12 +68,6 @@ export const equationEditorCategoriesAndSymbols = {
68
68
  ariaLabel: 'Percentage',
69
69
  displayText: '%'
70
70
  },
71
- dotMultiplier: {
72
- title: 'Dot Multiplier',
73
- textElement: null,
74
- ariaLabel: 'DotMultiplier',
75
- displayText: '·'
76
- },
77
71
  comma: {
78
72
  title: 'Comma',
79
73
  textElement: null,
@@ -259,7 +253,13 @@ export const equationEditorCategoriesAndSymbols = {
259
253
  textElement: null,
260
254
  ariaLabel: 'Y',
261
255
  displayText: 'y'
262
- }
256
+ },
257
+ dotMultiplier: {
258
+ title: 'Dot Multiplier',
259
+ textElement: null,
260
+ ariaLabel: 'DotMultiplier',
261
+ displayText: '·'
262
+ },
263
263
  }
264
264
  },
265
265
 
@@ -39,12 +39,12 @@ const steps = {
39
39
  ...scoringSectionBaseEditTab.steps,
40
40
  ...barAndLineChartComponent.steps,
41
41
  ...autoScoredScoringPreviewTab.steps,
42
- ...chartsCommonComponent.steps,
43
42
  ...resetPopupComponent.steps,
44
43
  ...autoScoredStudentViewSettings.steps,
45
44
  ...autoScoredScoringSectionMultiResponseType.steps,
46
45
  ...autoScoredSpecifyCorrectAnswerSection.steps,
47
46
  ...correctIncorrectAnswerLabelComponent.steps,
47
+ ...chartsCommonComponent.steps,
48
48
  /**
49
49
  * @description set the bar height/value in the select chart type section chart
50
50
  * @param {Object} barProperties - The properties and changes to be done on the bar
@@ -59,9 +59,6 @@ const steps = {
59
59
  let updatedBarValue = value / range
60
60
  let originalBarValue = parseFloat(barValue)
61
61
  let unitChange = 1 / range
62
- console.log(updatedBarValue)
63
- console.log(originalBarValue)
64
- console.log(unitChange)
65
62
  if (originalBarValue < updatedBarValue) {
66
63
  for (let i = originalBarValue; i < updatedBarValue; i = parseFloat((i + unitChange).toFixed(2))) {
67
64
  utilities.getNthElement(chartsBarPage.selectChartTypeBarDragHandle(), barIndex)
@@ -1125,19 +1125,6 @@ const steps = {
1125
1125
  .should('have.value', points)
1126
1126
  },
1127
1127
 
1128
- /**
1129
- * Sets the tolerance threshold value for the charts dot plot.
1130
- * @param {number} value - The value for the tolerance threshold.
1131
- */
1132
- setToleranceThresholdValue: (value) => {
1133
- chartsDotPlotPage.toleranceThresholdInputField()
1134
- .clear()
1135
- .type(value)
1136
- .blur();
1137
- chartsDotPlotPage.toleranceThresholdInputField()
1138
- .should('have.value', value)
1139
- },
1140
-
1141
1128
  /**
1142
1129
  * verify the displayed penalty points for each incorrect dot plot
1143
1130
  * @param {number} penaltyPoints displayed penalty points
@@ -169,6 +169,7 @@ const tests = {
169
169
 
170
170
  it(`Clicking on \'Font size\' dropdown should open a list of ${Object.keys(fontSizes).length} options - ${Object.keys(fontSizes).join(',')}`, () => {
171
171
  additionalSettingsPanel.steps.expandFontSizeDropdown();
172
+ cy.wait(200)
172
173
  utilities.verifyElementVisibilityState(commonComponents.dropdownList(), 'visible');
173
174
  Object.keys(fontSizes).forEach((size, index) => {
174
175
  utilities.verifyInnerText(utilities.getNthElement(additionalSettingsPanel.fontSizeListOptionLabels(), index), size);
@@ -4,7 +4,7 @@ const css = Cypress.env('css');
4
4
  const selectors = {
5
5
  ariaLabelInputField: () => cy.get('input[aria-label*="Enter ARIA label"]'),
6
6
  inputFieldNumeration: () => cy.get('.MuiInputAdornment-root'),
7
- ariaLabelSectionLabel: () => cy.get('[class*="AriaLabelTextFieldsstyles__LabelWrapper"]'),
7
+ ariaLabelSectionLabel: () => cy.get('[class*="AriaLabel"][class*="__LabelWrapper"]'),
8
8
  }
9
9
 
10
10
  const steps = {
@@ -186,6 +186,25 @@ const steps = {
186
186
  utilities.verifyElementVisibilityState(chartsCommonComponent.xAxisLabelSpecifyCorrectAnswer(), 'visible');
187
187
  utilities.verifyInnerText(chartsCommonComponent.xAxisLabelSpecifyCorrectAnswer(), label);
188
188
  },
189
+
190
+ focusInOutOfToleranceThresholdInputField: () => {
191
+ chartsCommonComponent.toleranceThresholdInputField()
192
+ .focus()
193
+ .blur();
194
+ },
195
+
196
+ /**
197
+ * Sets the tolerance threshold value for the charts dot plot.
198
+ * @param {number} value - The value for the tolerance threshold.
199
+ */
200
+ setToleranceThresholdValue: (value) => {
201
+ chartsCommonComponent.toleranceThresholdInputField()
202
+ .clear()
203
+ .type(value)
204
+ .blur();
205
+ chartsCommonComponent.toleranceThresholdInputField()
206
+ .should('have.value', value)
207
+ }
189
208
  }
190
209
 
191
210
  const tests = {
@@ -16,6 +16,7 @@ const selectors = {
16
16
  tickIconWrapper: () => cy.get('.tick-icon-wrapper'),
17
17
  correctAnswerContainer: () => cy.get('.dnd-correct-answer-wrapper'),
18
18
  correctIncorrectAnswerLabel: () => cy.get('[class*="CorrectIncorrectLabel"]'),
19
+ correctAnswerResponseWrapperWithoutEnumeration: () => cy.get('[class*="CorrectAnswers"] [class*="AnswerStatusIconAndResponseWrapper"]'),
19
20
 
20
21
  //additional settings
21
22
  enterAriaLabelInputField: () => cy.get('input[aria-label*="Enter ARIA label"]')