itemengine-cypress-automation 1.0.203-31stMayFixes-16985aa.0 → 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 +2 -2
@@ -0,0 +1,99 @@
1
+ import { singleSelectionGridPage } from "../../../pages";
2
+ import { colorPopupComponent } from "../../../pages/components";
3
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
4
+ import utilities from "../../../support/helpers/utilities";
5
+
6
+ describe('Multiple selection grid - Additional settings', () => {
7
+ before(() => {
8
+ cy.loginAs('admin');
9
+ });
10
+
11
+ describe('Style and Layout customization accordion: Fill color edit tab contents and functionality', () => {
12
+ abortEarlySetup();
13
+ before(() => {
14
+ singleSelectionGridPage.steps.navigateToCreateQuestion('single selection grid');
15
+ cy.barsPreLoaderWait();
16
+ singleSelectionGridPage.steps.expandStyleAndLayoutCustomizationAccordion();
17
+ });
18
+
19
+ singleSelectionGridPage.tests.verifyFillColorContentsAndFunctionalityEditTab();
20
+ });
21
+
22
+ describe('Style and Layout customization accordion: Fill color preview tab functionality', () => {
23
+ abortEarlySetup();
24
+ before(() => {
25
+ singleSelectionGridPage.steps.navigateToCreateQuestion('single selection grid');
26
+ cy.barsPreLoaderWait();
27
+ singleSelectionGridPage.steps.expandStyleAndLayoutCustomizationAccordion();
28
+ });
29
+
30
+ singleSelectionGridPage.tests.verifyFillColorFunctionalityPreviewTab();
31
+ });
32
+
33
+ describe('Style and Layout customization accordion: Border color edit tab contents and functionality', () => {
34
+ abortEarlySetup();
35
+ before(() => {
36
+ singleSelectionGridPage.steps.navigateToCreateQuestion('single selection grid');
37
+ cy.barsPreLoaderWait();
38
+ singleSelectionGridPage.steps.expandStyleAndLayoutCustomizationAccordion();
39
+ });
40
+
41
+ singleSelectionGridPage.tests.verifyBorderColorContentsAndFunctionalityEditTab();
42
+ });
43
+
44
+ describe('Style and Layout customization accordion: Border color preview tab functionality', () => {
45
+ abortEarlySetup();
46
+ before(() => {
47
+ singleSelectionGridPage.steps.navigateToCreateQuestion('single selection grid');
48
+ cy.barsPreLoaderWait();
49
+ singleSelectionGridPage.steps.expandStyleAndLayoutCustomizationAccordion();
50
+ singleSelectionGridPage.steps.switchToPreviewTab();
51
+ });
52
+
53
+ singleSelectionGridPage.tests.verifyBorderColorFunctionalityPreviewTab();
54
+ });
55
+
56
+ describe('Color popup functionality', () => {
57
+ abortEarlySetup();
58
+ before(() => {
59
+ singleSelectionGridPage.steps.navigateToCreateQuestion('single selection grid');
60
+ cy.barsPreLoaderWait();
61
+ singleSelectionGridPage.steps.expandStyleAndLayoutCustomizationAccordion();
62
+ });
63
+
64
+ it('When the user clicks on the \'Edit color\' present in an \'Fill color\' popup, then a select color popup should be displayed', () => {
65
+ singleSelectionGridPage.steps.editColor(0);
66
+ colorPopupComponent.steps.verifyColorPopupIsDisplayed();
67
+ });
68
+
69
+ colorPopupComponent.tests.verifyColorPopupSelectColorTitle();
70
+
71
+ colorPopupComponent.tests.verifySaturationAndOpacityGradientPalette('rgb(255, 255, 255)');
72
+
73
+ colorPopupComponent.tests.verifyColorHuePaletteAndHexInputField('rgb(255, 0, 0)', '#ffffff');
74
+
75
+ colorPopupComponent.tests.verifyColorPopupFunctionality();
76
+ });
77
+
78
+ describe('Color popup - Updating the selected color', () => {
79
+ abortEarlySetup();
80
+ before(() => {
81
+ singleSelectionGridPage.steps.navigateToCreateQuestion('single selection grid');
82
+ cy.barsPreLoaderWait();
83
+ singleSelectionGridPage.steps.expandStyleAndLayoutCustomizationAccordion();
84
+ });
85
+
86
+ singleSelectionGridPage.tests.verifyColorPopupUpdateColorFunctionality();
87
+ });
88
+
89
+ describe('Color popup - \'Cancel\' and \'Ok\' buttons', () => {
90
+ abortEarlySetup();
91
+ before(() => {
92
+ singleSelectionGridPage.steps.navigateToCreateQuestion('single selection grid');
93
+ cy.barsPreLoaderWait();
94
+ singleSelectionGridPage.steps.expandStyleAndLayoutCustomizationAccordion();
95
+ });
96
+
97
+ singleSelectionGridPage.tests.verifyColorPopupCancelOkButtonFunctionality();
98
+ });
99
+ });
@@ -0,0 +1,61 @@
1
+ import { chartsDotPlotPage } from "../../../../pages";
2
+ import abortEarlySetup from "../../../../support/helpers/abortEarly";
3
+
4
+ describe('Create item page - Charts - Dot plot: All or nothing penalty scoring', () => {
5
+ before(() => {
6
+ cy.loginAs('admin');
7
+ });
8
+
9
+ describe('Question preview: Auto scored - All or nothing: Penalty scoring with \'Round negative score to zero\' unchecked', () => {
10
+ abortEarlySetup();
11
+ before(() => {
12
+ chartsDotPlotPage.steps.navigateToCreateQuestion('charts');
13
+ cy.barsPreLoaderWait();
14
+ chartsDotPlotPage.steps.addTextInQuestionInstructionsInputField('Dot plot');
15
+ chartsDotPlotPage.steps.selectDotPlot();
16
+ chartsDotPlotPage.steps.enterTextInMinInputField(1);
17
+ chartsDotPlotPage.steps.enterTextInMaxInputField(5);
18
+ chartsDotPlotPage.steps.setGraphTitle('Five-day observation');
19
+ chartsDotPlotPage.steps.setXAxisLabel('Days');
20
+ chartsDotPlotPage.steps.enterTextInIntervalInputField(1);
21
+ chartsDotPlotPage.steps.enterTextInAnnotateEveryInputField(1);
22
+ chartsDotPlotPage.steps.plotDotsInDotColumnSelectChartTypeSection(1, { point: 1, min: 1, interval: 1, defaultDots: 0 });
23
+ chartsDotPlotPage.steps.lockDotColumn({ point: 1, min: 1, interval: 1 });
24
+ chartsDotPlotPage.steps.plotDotsInDotColumnSelectChartTypeSection(4, { point: 2, min: 1, interval: 1, defaultDots: 0 });
25
+ chartsDotPlotPage.steps.plotDotsInDotColumnSelectChartTypeSection(3, { point: 3, min: 1, interval: 1, defaultDots: 0 });
26
+ chartsDotPlotPage.steps.allotPoints(20);
27
+ chartsDotPlotPage.steps.plotDotsInDotColumnSpecifyCorrectAnswer(2, { point: 2, min: 1, interval: 1, defaultDots: 0 });
28
+ chartsDotPlotPage.steps.plotDotsInDotColumnSpecifyCorrectAnswer(3, { point: 3, min: 1, interval: 1, defaultDots: 0 });
29
+ chartsDotPlotPage.steps.plotDotsInDotColumnSpecifyCorrectAnswer(4, { point: 4, min: 1, interval: 1, defaultDots: 0 });
30
+ chartsDotPlotPage.steps.checkAllowStudentToCheckAnswerCheckbox();
31
+ });
32
+
33
+ //Penalty points for the entire question
34
+ it('When the user sets penalty scoring to \'Penalty points for the entire question\', allots penalty points and attempts the question incorrectly, then the user should be awarded with negative points', () => {
35
+ chartsDotPlotPage.steps.expandPenaltyScoringDropdown();
36
+ chartsDotPlotPage.steps.selectOptionFromPenaltyScoringDropdown('Penalty points for the entire question');
37
+ chartsDotPlotPage.steps.uncheckRoundNegativeScoresToZeroCheckbox();
38
+ chartsDotPlotPage.steps.allotPenaltyPoints(2);
39
+ chartsDotPlotPage.steps.switchToPreviewTab();
40
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(1, { point: 3, min: 1, interval: 1 });
41
+ chartsDotPlotPage.steps.verifyPreviewScore(-2, 20);
42
+ });
43
+
44
+ it('When the user attempts the question partially correct, then penalty points should get deducted from the awarded points', () => {
45
+ chartsDotPlotPage.steps.resetQuestionPreview();
46
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(2, { point: 2, min: 1, interval: 1 });
47
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(1, { point: 4, min: 1, interval: 1, defaultDots: 0 });
48
+ chartsDotPlotPage.steps.verifyPreviewScore(-2, 20);
49
+ });
50
+
51
+ it('When the user has defined penalty points and also sets minimum scoring to \'Award minimum score only if attempted\' and allots minimum points, then on attempting the question incorrectly, minimum points should be awarded', () => {
52
+ chartsDotPlotPage.steps.switchToEditTab();
53
+ chartsDotPlotPage.steps.expandMinimumScoringDropdown();
54
+ chartsDotPlotPage.steps.selectOptionFromMinimumScoringDropdown('Award minimum score only if attempted');
55
+ chartsDotPlotPage.steps.allotMinimumPoints(3);
56
+ chartsDotPlotPage.steps.switchToPreviewTab();
57
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(1, { point: 4, min: 1, interval: 1, defaultDots: 0 });
58
+ chartsDotPlotPage.steps.verifyPreviewScore(3, 20);
59
+ });
60
+ });
61
+ });
@@ -0,0 +1,227 @@
1
+ import { chartsDotPlotPage } from "../../../../pages";
2
+ import abortEarlySetup from "../../../../support/helpers/abortEarly";
3
+
4
+ describe('Create item page - Charts - Dot plot: Partial equal weights', () => {
5
+ before(() => {
6
+ cy.loginAs('admin');
7
+ });
8
+
9
+ describe(`Charts - Dot plot: Partial equal weights scoring`, () => {
10
+ abortEarlySetup();
11
+ before(() => {
12
+ chartsDotPlotPage.steps.navigateToCreateQuestion('charts');
13
+ cy.barsPreLoaderWait();
14
+ chartsDotPlotPage.steps.addTextInQuestionInstructionsInputField('Dot plot');
15
+ chartsDotPlotPage.steps.selectDotPlot();
16
+ chartsDotPlotPage.steps.enterTextInMinInputField(1);
17
+ chartsDotPlotPage.steps.enterTextInMaxInputField(5);
18
+ chartsDotPlotPage.steps.setGraphTitle('Five-day observation');
19
+ chartsDotPlotPage.steps.setXAxisLabel('Days');
20
+ chartsDotPlotPage.steps.enterTextInIntervalInputField(1);
21
+ chartsDotPlotPage.steps.enterTextInAnnotateEveryInputField(1);
22
+ // locked column
23
+ chartsDotPlotPage.steps.plotDotsInDotColumnSelectChartTypeSection(1, { point: 1, min: 1, interval: 1, defaultDots: 0 });
24
+ chartsDotPlotPage.steps.lockDotColumn({ point: 1, min: 1, interval: 1 });
25
+ chartsDotPlotPage.steps.plotDotsInDotColumnSelectChartTypeSection(4, { point: 2, min: 1, interval: 1, defaultDots: 0 });
26
+ chartsDotPlotPage.steps.plotDotsInDotColumnSelectChartTypeSection(3, { point: 3, min: 1, interval: 1, defaultDots: 0 });
27
+ chartsDotPlotPage.steps.plotDotsInDotColumnSpecifyCorrectAnswer(2, { point: 2, min: 1, interval: 1, defaultDots: 0 });
28
+ chartsDotPlotPage.steps.plotDotsInDotColumnSpecifyCorrectAnswer(3, { point: 3, min: 1, interval: 1, defaultDots: 0 });
29
+ chartsDotPlotPage.steps.plotDotsInDotColumnSpecifyCorrectAnswer(4, { point: 4, min: 1, interval: 1, defaultDots: 0 });
30
+ chartsDotPlotPage.steps.checkAllowStudentToCheckAnswerCheckbox();
31
+ chartsDotPlotPage.steps.selectAutoScoredScoringSubtype('Partial different weights');
32
+ chartsDotPlotPage.steps.allotPartialDifferentWeightsPoints({ 0: 2, 1: 4, 2: 6, 3: 2, 4: 4 });
33
+ chartsDotPlotPage.steps.switchToPreviewTab();
34
+ });
35
+
36
+ it('When the user selects \'Grading\' view without attempting the question, then 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, correct answer should be displayed in the correct answer section and correct/incorrect status message should not be displayed', () => {
37
+ chartsDotPlotPage.steps.verifyPreviewScore(0, 18);
38
+ chartsDotPlotPage.steps.switchToGradingView();
39
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
40
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1 });
41
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1 });
42
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1, defaultDots: 0 });
43
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1, defaultDots: 0 });
44
+ chartsDotPlotPage.steps.verifyLockedDotColumnCorrectAnswerSection({ point: 1, min: 1, interval: 1 });
45
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 2, min: 1, interval: 1 });
46
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 3, min: 1, interval: 1 });
47
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 4, min: 1, interval: 1 });
48
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 5, min: 1, interval: 1, defaultDots: 0 });
49
+ chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
50
+ chartsDotPlotPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
51
+ cy.log('When the user selects \'check answer button\' button without attempting the question, 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, correct/incorrect status message and correct answer section should be not displayed ')
52
+ chartsDotPlotPage.steps.checkAnswer();
53
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
54
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1 });
55
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1 });
56
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1, defaultDots: 0 });
57
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1, defaultDots: 0 });
58
+ chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
59
+ chartsDotPlotPage.steps.verifyCorrectAnswerSectionNotExist();
60
+ });
61
+
62
+ it('When the user attempts the question incorrectly then the user should be awarded points only for locked dot column and on switching to grading view incorrect icon should be displayed in dot column attempted incorrectly and the correct answer should be displayed in the correct answer section chart dot plot and correct/incorrect status message should not be displayed', () => {
63
+ chartsDotPlotPage.steps.resetQuestionPreview();
64
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(1, { point: 3, min: 1, interval: 1 });
65
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(2, { point: 5, min: 1, interval: 1, defaultDots: 0 })
66
+ chartsDotPlotPage.steps.verifyPreviewScore(2, 18);
67
+ chartsDotPlotPage.steps.switchToGradingView();
68
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
69
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1 });
70
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1 });
71
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1, defaultDots: 0 });
72
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1 });
73
+ chartsDotPlotPage.steps.verifyLockedDotColumnCorrectAnswerSection({ point: 1, min: 1, interval: 1 });
74
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 2, min: 1, interval: 1 });
75
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 3, min: 1, interval: 1 });
76
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 4, min: 1, interval: 1 });
77
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 5, min: 1, interval: 1, defaultDots: 0 });
78
+ chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
79
+ chartsDotPlotPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
80
+ cy.log('When the user attempts the question incorrectly then the user should be awarded points only for locked and on selecting check answer button, incorrect icon should be displayed in dot column attempted incorrectly and correct/incorrect status message should not be displayed');
81
+ chartsDotPlotPage.steps.checkAnswer();
82
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
83
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1 });
84
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1 });
85
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1, defaultDots: 0 });
86
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1 });
87
+ chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
88
+ chartsDotPlotPage.steps.verifyCorrectAnswerSectionNotExist();
89
+ });
90
+
91
+ it('When the user attempts the question by setting more dots than required in the dot columns having dots by default, then the user should be awarded points for the correctly set/attempted dot column and on switching to grading view, incorrect icon should be displayed in incorrectly attempted dot column, correct icon should be displayed in correctly attempted dot column and the correct answers should be displayed in the correct answer section dot plot chart and correct/incorrect status message should not be displayed', () => {
92
+ chartsDotPlotPage.steps.resetQuestionPreview();
93
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(5, { point: 2, min: 1, interval: 1 });
94
+ chartsDotPlotPage.steps.verifyPreviewScore(12, 18);
95
+ chartsDotPlotPage.steps.switchToGradingView();
96
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
97
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1 });
98
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1 });
99
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1, defaultDots: 0 });
100
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1, defaultDots: 0 });
101
+ chartsDotPlotPage.steps.verifyLockedDotColumnCorrectAnswerSection({ point: 1, min: 1, interval: 1 });
102
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 2, min: 1, interval: 1 });
103
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 3, min: 1, interval: 1 });
104
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 4, min: 1, interval: 1 });
105
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 5, min: 1, interval: 1, defaultDots: 0 });
106
+ chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
107
+ chartsDotPlotPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
108
+ cy.log('When the user attempts the question by setting more dots than required in the dot columns having dots by default and clicks on check answer button then incorrect icon should be displayed in incorrectly attempted dot column, correct icon should be displayed in correctly attempted dot column and correct/incorrect status message should not be displayed')
109
+ chartsDotPlotPage.steps.checkAnswer();
110
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
111
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1 });
112
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1 });
113
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1, defaultDots: 0 });
114
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1, defaultDots: 0 });
115
+ chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
116
+ chartsDotPlotPage.steps.verifyCorrectAnswerSectionNotExist();
117
+ });
118
+
119
+ it('When the user attempts the question by removing all the dots from the dot column that is not supposed to be empty, then the user should be awarded points for the correctly set/attempted dot column and on switching to grading view, incorrect icon should be displayed in incorrectly attempted dot column, correct icon should be displayed in correctly attempted dot column and the the correct answers should be displayed in the correct answer section dot chart plot and correct/incorrect status message should not be displayed', () => {
120
+ chartsDotPlotPage.steps.resetQuestionPreview();
121
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(0, { point: 2, min: 1, interval: 1 });
122
+ chartsDotPlotPage.steps.verifyPreviewScore(12, 18);
123
+ chartsDotPlotPage.steps.switchToGradingView();
124
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
125
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1, defaultDots: 0 });
126
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1 });
127
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1, defaultDots: 0 });
128
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1, defaultDots: 0 });
129
+ chartsDotPlotPage.steps.verifyLockedDotColumnCorrectAnswerSection({ point: 1, min: 1, interval: 1 });
130
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 2, min: 1, interval: 1 });
131
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 3, min: 1, interval: 1 });
132
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 4, min: 1, interval: 1 });
133
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 5, min: 1, interval: 1, defaultDots: 0 });
134
+ chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
135
+ chartsDotPlotPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
136
+ cy.log('When the user attempts the question by removing all the dots from the dot column that is not supposed to be empty, then the user should be awarded with points of the correct response and clicks on check answer button then incorrect icon should be displayed in incorrectly attempted dot column, correct icon should be displayed in correctly attempted dot column and correct/incorrect status message should not be displayed')
137
+ chartsDotPlotPage.steps.checkAnswer();
138
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
139
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1, defaultDots: 0 });
140
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1 });
141
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1, defaultDots: 0 });
142
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1, defaultDots: 0 });
143
+ chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
144
+ chartsDotPlotPage.steps.verifyCorrectAnswerSectionNotExist();
145
+ });
146
+
147
+ it('When the user attempts the question by setting dots incorrectly in the dot column that is empty and correct by default, then the user should be awarded points for the correctly set/attempted dot column and on switching to grading view, incorrect icon should be displayed in incorrectly attempted dot column, correct icon should be displayed in correctly attempted dot column and the correct answers should be displayed in the correct answer section dot chart plot and correct/incorrect status message should not be displayed', () => {
148
+ chartsDotPlotPage.steps.resetQuestionPreview();
149
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(1, { point: 5, min: 1, interval: 1, defaultDots: 0 });
150
+ chartsDotPlotPage.steps.verifyPreviewScore(8, 18);
151
+ chartsDotPlotPage.steps.switchToGradingView();
152
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
153
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1 });
154
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1 });
155
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1, defaultDots: 0 });
156
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1 });
157
+ chartsDotPlotPage.steps.verifyLockedDotColumnCorrectAnswerSection({ point: 1, min: 1, interval: 1 });
158
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 2, min: 1, interval: 1 });
159
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 3, min: 1, interval: 1 });
160
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 4, min: 1, interval: 1 });
161
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 5, min: 1, interval: 1, defaultDots: 0 });
162
+ chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
163
+ chartsDotPlotPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
164
+ cy.log('When the user attempts the question by adding dots to the dot columns that is supposed to be empty, then the user should be awarded with points of the correctly response and clicks on check answer button then incorrect icon should be displayed in incorrectly attempted dot column, correct icon should be displayed in correctly attempted dot column and correct/incorrect status message should not be displayed');
165
+ chartsDotPlotPage.steps.checkAnswer();
166
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
167
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1 });
168
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1 });
169
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1, defaultDots: 0 });
170
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1 });
171
+ chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
172
+ chartsDotPlotPage.steps.verifyCorrectAnswerSectionNotExist();
173
+ });
174
+
175
+ it('When the user attempts the question by changing number of dots in the dot columns which have the correct number of dots by default and setting correct number of dots in dot column which was empty by default, then the user should be awarded points for the correctly set/attempted dot column and on switching to grading view, incorrect icon should be displayed in incorrectly attempted dot column, correct icon should be displayed in correctly attempted dot column and the the correct answers should be displayed in the correct answer section dot chart plot and correct/incorrect status message should not be displayed', () => {
176
+ chartsDotPlotPage.steps.resetQuestionPreview();
177
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(1, { point: 3, min: 1, interval: 1 });
178
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(4, { point: 4, min: 1, interval: 1, defaultDots: 0 });
179
+ chartsDotPlotPage.steps.verifyPreviewScore(8, 18);
180
+ chartsDotPlotPage.steps.switchToGradingView();
181
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
182
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1 });
183
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1 });
184
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1 });
185
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1, defaultDots: 0 });
186
+ chartsDotPlotPage.steps.verifyLockedDotColumnCorrectAnswerSection({ point: 1, min: 1, interval: 1 });
187
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 2, min: 1, interval: 1 });
188
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 3, min: 1, interval: 1 });
189
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 4, min: 1, interval: 1 });
190
+ chartsDotPlotPage.steps.verifyCorrectDotColumnCorrectAnswerSection({ point: 5, min: 1, interval: 1, defaultDots: 0 });
191
+ chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
192
+ chartsDotPlotPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
193
+ cy.log('When the user attempts the question by changing number of dots in the dot columns which have the correct number of dots by default, and clicks on check answer button then incorrect icon should be displayed in incorrectly attempted dot column, correct icon should be displayed in correctly attempted dot column and correct/incorrect status message should not be displayed');
194
+ chartsDotPlotPage.steps.checkAnswer();
195
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
196
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1 });
197
+ chartsDotPlotPage.steps.verifyIncorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1 });
198
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1 });
199
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1, defaultDots: 0 });
200
+ chartsDotPlotPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
201
+ chartsDotPlotPage.steps.verifyCorrectAnswerSectionNotExist();
202
+ });
203
+
204
+ it('When the user attempts the question correctly then the user should be awarded with full points and on switching to grading view then correct icon should be displayed in correctly attempted dot column and the correct answer section should not be displayed and correct/incorrect status message should not be displayed', () => {
205
+ chartsDotPlotPage.steps.resetQuestionPreview();
206
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(2, { point: 2, min: 1, interval: 1 });
207
+ chartsDotPlotPage.steps.plotDotsInDotColumnPreviewTab(4, { point: 4, min: 1, interval: 1, defaultDots: 0 });
208
+ chartsDotPlotPage.steps.verifyPreviewScore(18, 18);
209
+ chartsDotPlotPage.steps.switchToGradingView();
210
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
211
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1 });
212
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1 });
213
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1 });
214
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1, defaultDots: 0 });
215
+ chartsDotPlotPage.steps.verifyCorrectAnswerSectionNotExist();
216
+ chartsDotPlotPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
217
+ cy.log('When the user attempts the question correctly then the user should be awarded with full points and on selecting check answer button then correct icon should be displayed in correctly attempted dot column and correct/incorrect status message should not be displayed')
218
+ chartsDotPlotPage.steps.checkAnswer();
219
+ chartsDotPlotPage.steps.verifyLockedDotColumnPreviewTab({ point: 1, min: 1, interval: 1 });
220
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 2, min: 1, interval: 1 });
221
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 3, min: 1, interval: 1 });
222
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 4, min: 1, interval: 1 });
223
+ chartsDotPlotPage.steps.verifyCorrectDotColumnPreviewTab({ point: 5, min: 1, interval: 1, defaultDots: 0 });
224
+ chartsDotPlotPage.steps.verifyCorrectAnswerSectionNotExist();
225
+ });
226
+ });
227
+ });