itemengine-cypress-automation 1.0.167-repoUpdate10April-1465c8c.0 → 1.0.169-uploadResponseMigration-83ab996.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (113) hide show
  1. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +2 -2
  2. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/clickAndDrop.js +11 -22
  3. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/clickAndDrop.js +7 -18
  4. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/clickAndDrop.js +6 -11
  5. package/cypress/e2e/ILC/Graphing/previewContentsForAllViews.smoke.js +1 -0
  6. package/cypress/e2e/ILC/Graphing/toolsControlsAndBackgroundSection.js +36 -2
  7. package/cypress/e2e/ILC/GridFill/allOrNothingBasicForAllViews.smoke.js +34 -22
  8. package/cypress/e2e/ILC/GridFill/checkAnswerFunctionalityForAllViews.smoke.js +24 -8
  9. package/cypress/e2e/ILC/GridFill/previewContentsForAllViews.smoke.js +25 -5
  10. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +114 -68
  11. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +111 -67
  12. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +123 -71
  13. package/cypress/e2e/ILC/GridFill/scoring/allOrNothingScoringCellShadeCount.js +63 -41
  14. package/cypress/e2e/ILC/GridFill/scoring/manuallyAndNonScored.js +25 -21
  15. package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsBasic.js +85 -50
  16. package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +115 -68
  17. package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +98 -54
  18. package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +120 -72
  19. package/cypress/e2e/ILC/GridFill/studentViewSettingsSection.js +3 -3
  20. package/cypress/e2e/ILC/Matching/specifyCorrectAnswerSection.js +1 -1
  21. package/cypress/e2e/ILC/ToolSettings/toolSettingsContent.js +4 -4
  22. package/cypress/fixtures/theme/ilc.json +26 -14
  23. package/cypress/pages/components/autoScoredScoringSectionMultiResponseType.js +1 -1
  24. package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +0 -3
  25. package/cypress/pages/components/autoScoredStudentViewSettings.js +1 -1
  26. package/cypress/pages/components/colorPopupComponent.js +2 -2
  27. package/cypress/pages/components/gridQuestionCommonComponent.js +2 -629
  28. package/cypress/pages/components/index.js +0 -3
  29. package/cypress/pages/components/maximumCapacityPerDropzoneComponent.js +1 -1
  30. package/cypress/pages/components/measuringToolComponent.js +2 -2
  31. package/cypress/pages/components/scoringSectionBaseEditTab.js +1 -1
  32. package/cypress/pages/components/setPointsPopupBase.js +4 -6
  33. package/cypress/pages/components/specifyRowsAndColumnsComponent.js +3 -60
  34. package/cypress/pages/components/toolSettingsComponent.js +12 -80
  35. package/cypress/pages/dragAndDropIntoCategoriesPage.js +8 -0
  36. package/cypress/pages/feedbackScalePage.js +449 -591
  37. package/cypress/pages/fillInTheGapsOverImageDragAndDropPage.js +1 -3
  38. package/cypress/pages/graphingPage.js +145 -9
  39. package/cypress/pages/gridFillPage.js +120 -135
  40. package/cypress/pages/highlightPage.js +394 -0
  41. package/cypress/pages/index.js +2 -5
  42. package/cypress/pages/matchingPage.js +20 -78
  43. package/cypress/pages/multipleSelectionGridPage.js +1 -88
  44. package/cypress/pages/singleSelectionGridPage.js +0 -86
  45. package/cypress/support/migrationHelpers/extractLrnQuestionData.js +38 -1
  46. package/cypress/support/migrationHelpers/lrnQestionTypesENUM.js +1 -0
  47. package/cypress/support/migrationHelpers/migrationScript.js +4 -0
  48. package/cypress/support/migrationHelpers/verifyIeQuestionData.js +34 -2
  49. package/package.json +1 -1
  50. package/cypress/e2e/ILC/BrainingCampManipulative/additionalSettings.js +0 -83
  51. package/cypress/e2e/ILC/BrainingCampManipulative/editTabBasicSection.js +0 -200
  52. package/cypress/e2e/ILC/BrainingCampManipulative/editTabScoringSection.js +0 -56
  53. package/cypress/e2e/ILC/BrainingCampManipulative/gradingViewAndCorrectAnswerViewContents.smoke.js +0 -95
  54. package/cypress/e2e/ILC/BrainingCampManipulative/headerSection.js +0 -71
  55. package/cypress/e2e/ILC/BrainingCampManipulative/previewTabContent.smoke.js +0 -72
  56. package/cypress/e2e/ILC/BrainingCampManipulative/toolSettings.js +0 -71
  57. package/cypress/e2e/ILC/EssayResponse/essayResponseAdditionalSettings.js +0 -432
  58. package/cypress/e2e/ILC/EssayResponse/essayResponseAdditionalSettingsBasic.js +0 -134
  59. package/cypress/e2e/ILC/FeedbackScaleNew/feedbackScaleStylePreviewTab.js +0 -161
  60. package/cypress/e2e/ILC/FeedbackScaleNew/numbersFeedbackScaleStyle.js +0 -308
  61. package/cypress/e2e/ILC/FeedbackScaleNew/previewContentsForAllViews.smoke.js +0 -216
  62. package/cypress/e2e/ILC/FeedbackScaleNew/starsHeartsFeedbackScaleStyle.js +0 -336
  63. package/cypress/e2e/ILC/FeedbackScaleNew/textFeedbackScaleStyle.js +0 -570
  64. package/cypress/e2e/ILC/FeedbackScaleNew/thumbsFeedbackScaleStyle.js +0 -214
  65. package/cypress/e2e/ILC/FillInTheGapsDragAndDrop/fillInTheGapsDragAndDropAdditionalSettings.js +0 -356
  66. package/cypress/e2e/ILC/FillInTheGapsDragAndDrop/fillInTheGapsDragAndDropAdditionalSettingsResponseAccordion.js +0 -299
  67. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +0 -355
  68. package/cypress/e2e/ILC/Matching/maximumCapacityPerDropzoneSection.js +0 -309
  69. package/cypress/e2e/ILC/Matching/toolSettings.js +0 -72
  70. package/cypress/e2e/ILC/MultipleSelectionGridNew/editTabBasicSection.js +0 -1033
  71. package/cypress/e2e/ILC/MultipleSelectionGridNew/test.js +0 -28
  72. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +0 -236
  73. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +0 -239
  74. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +0 -278
  75. package/cypress/e2e/ILC/NumberLine/Scoring/manualAndNonScoredScoring.js +0 -178
  76. package/cypress/e2e/ILC/NumberLine/Scoring/partialEqualWeightsBasic.js +0 -407
  77. package/cypress/e2e/ILC/NumberLine/Scoring/partialEqualWeightsWithAlternatePointsGreaterThanCorrectPoints.js +0 -273
  78. package/cypress/e2e/ILC/NumberLine/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternatePoints.js +0 -278
  79. package/cypress/e2e/ILC/NumberLine/Scoring/partialEqualWeigtsWithCorrectPointsEqualToAlternatePoints.js +0 -228
  80. package/cypress/e2e/ILC/NumberLine/additionalSettings.js +0 -120
  81. package/cypress/e2e/ILC/NumberLine/allOrNothingScoringForAllViews.smoke.js +0 -659
  82. package/cypress/e2e/ILC/NumberLine/checkAnswerFunctionalityForAllViews.smoke.js +0 -149
  83. package/cypress/e2e/ILC/NumberLine/editTabScoringSection.js +0 -151
  84. package/cypress/e2e/ILC/NumberLine/gradingViewAndCorrectAnswerView.smoke.js +0 -171
  85. package/cypress/e2e/ILC/NumberLine/headerSection.js +0 -76
  86. package/cypress/e2e/ILC/NumberLine/minimumScoringPenaltyPointsAndRoundingDropdown.js +0 -54
  87. package/cypress/e2e/ILC/NumberLine/previewTabContentsForAllViews.smoke.js +0 -200
  88. package/cypress/e2e/ILC/NumberLine/specifyCorrectAnswerSection.js +0 -67
  89. package/cypress/e2e/ILC/NumberLine/studentViewSettings.js +0 -135
  90. package/cypress/e2e/ILC/NumberLine/toolSettings.js +0 -73
  91. package/cypress/e2e/ILC/NumberLine/toolsAndControls.js +0 -372
  92. package/cypress/e2e/ILC/SingleSelectionGridNew/editTabBasicSection.js +0 -1014
  93. package/cypress/e2e/ILC/TextSelection/Scoring/allOrNothingAlternatePointsMoreThanCorrectPoints.js +0 -235
  94. package/cypress/e2e/ILC/TextSelection/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +0 -235
  95. package/cypress/e2e/ILC/TextSelection/Scoring/allOrNothingCorrectPointsMoreThanAlternatePoints.js +0 -235
  96. package/cypress/e2e/ILC/TextSelection/Scoring/partialDifferentWeightsBasic.js +0 -457
  97. package/cypress/e2e/ILC/TextSelection/Scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +0 -342
  98. package/cypress/e2e/ILC/TextSelection/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +0 -342
  99. package/cypress/e2e/ILC/TextSelection/Scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +0 -342
  100. package/cypress/e2e/ILC/TextSelection/Scoring/partialEqualWeightsBasic.js +0 -155
  101. package/cypress/e2e/ILC/TextSelection/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +0 -314
  102. package/cypress/e2e/ILC/TextSelection/Scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +0 -275
  103. package/cypress/e2e/ILC/TextSelection/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +0 -314
  104. package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +0 -290
  105. package/cypress/e2e/ILC/TextSelection/checkAnswerFunctionalityForAllViews.smoke.js +0 -142
  106. package/cypress/e2e/ILC/TextSelection/previewContentsForAllViews.js +0 -137
  107. package/cypress/pages/brainingCampManipulativePage.js +0 -122
  108. package/cypress/pages/components/defaultToolDropdown.js +0 -77
  109. package/cypress/pages/components/resetPopupComponent.js +0 -74
  110. package/cypress/pages/components/toolsAndControlsComponent.js +0 -69
  111. package/cypress/pages/feedbackScalePage copy.js +0 -716
  112. package/cypress/pages/numberLinePage.js +0 -723
  113. package/cypress/pages/textSelectionPage.js +0 -582
@@ -1,372 +0,0 @@
1
- import { dialogBoxBase, numberLinePage } from "../../../pages";
2
- import abortEarlySetup from "../../../support/helpers/abortEarly";
3
- import utilities from "../../../support/helpers/utilities";
4
- const unselectedToolOption = ['Left/down ray', 'Right/up ray', 'Left/down ray w/ hollow pt', 'Right/up ray w/ hollow pt'];
5
- const selectedToolOption = ['Point', 'Segment', 'Segment left/down hollow pt', 'Segment right/up hollow pt', 'Segment both hollow pts'];
6
- const controlOptions = ['Undo', 'Redo', 'Reset'];
7
- const toolOptions = [...selectedToolOption, ...unselectedToolOption];
8
- const range = 20;
9
- const css = Cypress.env('css');
10
-
11
- describe('Number line: Tools and controls - Edit tab and preview tab tool options', () => {
12
- before(() => {
13
- cy.loginAs('admin');
14
- });
15
-
16
- describe('Tools and controls - Edit tab content and functionality', () => {
17
- const unselectedToolOption = ['Left/down ray', 'Right/up ray', 'Left/down ray w/hollow pt', 'Right/up ray w/hollow pt'];
18
- const selectedToolOption = ['Point', 'Segment', 'Segment left/down hollow pt', 'Segment right/up hollow pt', 'Segment both hollow pts'];
19
- const toolOptions = [...selectedToolOption, ...unselectedToolOption];
20
- abortEarlySetup();
21
- before(() => {
22
- numberLinePage.steps.navigateToCreateQuestion('Number line');
23
- cy.barsPreLoaderWait();
24
- });
25
-
26
- it('\'Tools\' label should be displayed with 9 tools', () => {
27
- utilities.verifyInnerText(numberLinePage.toolsLabel(), 'Tools');
28
- utilities.verifyElementVisibilityState(numberLinePage.toolsLabel(), 'visible');
29
- utilities.verifyElementCount(numberLinePage.toolOptions(), 9);
30
- });
31
-
32
- it(`The ${selectedToolOption} should be in selected state with tick icons and all the options should be in unselected state`, () => {
33
- selectedToolOption.forEach((toolOption, index) => {
34
- utilities.verifyElementVisibilityState(numberLinePage.toolOptions(`${toolOption} selected`), 'visible');
35
- utilities.verifyInnerText(utilities.getNthElement(numberLinePage.toolOptionsLabel(), index), toolOption);
36
- utilities.verifyElementVisibilityState(utilities.getNthElement(numberLinePage.toolOptionsTickIcon(), index), 'visible');
37
- });
38
- unselectedToolOption.forEach((toolOption, index) => {
39
- utilities.verifyElementVisibilityState(numberLinePage.toolOptions(`${toolOption} not-selected`), 'visible');
40
- utilities.verifyInnerText(utilities.getNthElement(numberLinePage.toolOptionsLabel(), index + 5), toolOption);
41
- utilities.verifyElementVisibilityState(utilities.getNthElement(numberLinePage.toolOptionsTickIcon(), index + 5), 'hidden');
42
- });
43
- });
44
-
45
- it('\'Controls\' label should be displayed with 2 control options', () => {
46
- utilities.verifyInnerText(numberLinePage.controlsLabel(), 'Controls');
47
- utilities.verifyElementVisibilityState(numberLinePage.controlsLabel(), 'visible');
48
- });
49
-
50
- it('All the control options should be displayed in selected state', () => {
51
- let controlOptions = ['Undo/Redo', 'Reset'];
52
- controlOptions.forEach((controlOption, index) => {
53
- utilities.verifyElementVisibilityState(numberLinePage.controlOptions(`${controlOption} selected`), 'visible');
54
- utilities.verifyInnerText(utilities.getNthElement(numberLinePage.controlsOptionsLabel(), index), controlOption);
55
- utilities.verifyElementVisibilityState(utilities.getNthElement(numberLinePage.controlsTickIcon(), index), 'visible');
56
- });
57
- });
58
-
59
- numberLinePage.tests.verifyDefaultToolDropdown(toolOptions);
60
-
61
- it(`The ${selectedToolOption} options should be displayed in the \'Specify correct answer\' section`, () => {
62
- selectedToolOption.forEach((toolOption) => {
63
- utilities.verifyElementVisibilityState(numberLinePage.numberLineToolOptionSpecifyCorrectAnswer(`${toolOption}`), 'visible');
64
- });
65
- utilities.verifyElementCount(numberLinePage.numberLineToolOptionSpecifyCorrectAnswer(), 5);
66
- });
67
-
68
- it('By default, the \'Point\' option should be in selected state in the \'Specify correct answer\' section', () => {
69
- numberLinePage.steps.verifyToolOptionSelectedSpecifyCorrectAnswerSection(toolOptions[0]);
70
- numberLinePage.steps.verifyToolOptionNotSelectedSpecifyCorrectAnswerSection(toolOptions.slice(1, 5));
71
- });
72
-
73
- it('When the user de-selects an selected option it should be removed from the \'Specify correct answer\' section', () => {
74
- numberLinePage.steps.deselectToolOptions(['Point']);
75
- selectedToolOption.slice(1, selectedToolOption.length).forEach((toolOption) => {
76
- utilities.verifyElementVisibilityState(numberLinePage.numberLineToolOptionSpecifyCorrectAnswer(`${toolOption}`), 'visible');
77
- });
78
- });
79
-
80
- it('When user selects any of the default unselected options it should be added to the \'Specify correct answer\' section', () => {
81
- numberLinePage.steps.selectToolOptions(['Left/down ray']);
82
- toolOptions.slice(1, 6).forEach((toolOption) => {
83
- utilities.verifyElementVisibilityState(numberLinePage.numberLineToolOptionSpecifyCorrectAnswer(`${toolOption}`), 'visible');
84
- });
85
- numberLinePage.steps.selectToolOptions(['Point']);
86
- });
87
-
88
- //Controls
89
- it('All the controls should be displayed in the \'Specify correct answer\' section', () => {
90
- controlOptions.forEach((controlOption) => {
91
- utilities.verifyElementVisibilityState(numberLinePage.numberLineControlOptionSpecifyCorrectAnswer(controlOption), 'visible');
92
- });
93
- });
94
-
95
- it('When the user de-selects any control it should be removed from the \'Specify correct answer\' section ', () => {
96
- numberLinePage.steps.deselectControl('Undo/Redo');
97
- controlOptions.slice(0, 1).forEach((controlOption) => {
98
- utilities.verifyElementVisibilityState(numberLinePage.numberLineControlOptionSpecifyCorrectAnswer(controlOption), 'notExist');
99
- });
100
- utilities.verifyElementVisibilityState(numberLinePage.numberLineControlOptionSpecifyCorrectAnswer(controlOptions[2]), 'visible');
101
- });
102
-
103
- it('When the user selects a un-selected option it should be displayed again in the \'Specify correct answer\' section', () => {
104
- numberLinePage.steps.selectControl('Undo/Redo');
105
- controlOptions.forEach((controlOption) => {
106
- utilities.verifyElementVisibilityState(numberLinePage.numberLineControlOptionSpecifyCorrectAnswer(controlOption), 'visible');
107
- });
108
- });
109
-
110
- //Default tool
111
- it('When the user selects another tool as the default tool it should be displayed as selected and the \'Point\' tool should be displayed unselected in the \'Specify correct answer\' section', () => {
112
- numberLinePage.steps.expandDefaultToolDropdown();
113
- numberLinePage.steps.selectOptionFromDefaultToolDropdown('Segment');
114
- numberLinePage.steps.verifyToolOptionSelectedSpecifyCorrectAnswerSection('Segment');
115
- numberLinePage.steps.verifyToolOptionNotSelectedSpecifyCorrectAnswerSection(['Point']);
116
- });
117
-
118
- it('CSS of tools and controls', { tags: 'css' }, () => {
119
- utilities.verifyCSS(numberLinePage.toolOptions('Right/up ray').find('svg circle'), {
120
- 'fill': css.color.secondaryBtn
121
- });
122
- utilities.verifyCSS(numberLinePage.toolOptions('Right/up ray'), {
123
- 'background-color': css.color.secondaryBtnBg
124
- });
125
- utilities.verifyCSS(numberLinePage.toolOptions('Segment').find('svg path'), {
126
- 'fill': css.color.primaryBtn
127
- });
128
- utilities.verifyCSS(numberLinePage.toolOptions('Segment'), {
129
- 'background-color': css.color.activeButtons
130
- });
131
- utilities.verifyCSS(numberLinePage.toolOptionsTickIcon().eq(1).find('[data-name="Icon feather-check"]'), {
132
- 'color': css.color.activeButtons,
133
- 'fill': css.color.activeButtons
134
- });
135
- });
136
-
137
- it('Accessibility of tools and controls', { tags: 'a11y' }, () => {
138
- cy.checkAccessibility(numberLinePage.toolOptions().parents('[class*="CustomizedOptionWrapper"]'));
139
- });
140
- });
141
-
142
- describe('Tools and controls - Preview tab functionality', () => {
143
- abortEarlySetup();
144
- before(() => {
145
- numberLinePage.steps.navigateToCreateQuestion('Number line');
146
- cy.barsPreLoaderWait();
147
- });
148
-
149
- it(`The ${selectedToolOption} options should be displayed in the preview tab`, () => {
150
- numberLinePage.steps.switchToPreviewTab();
151
- selectedToolOption.forEach((toolOption) => {
152
- utilities.verifyElementVisibilityState(numberLinePage.numberLineToolOptionPreviewTab(`${toolOption}`), 'visible');
153
- });
154
- utilities.verifyElementCount(numberLinePage.numberLineToolOptionPreviewTab(), 5);
155
- });
156
-
157
- it('By default, the \'Point\' option should be in selected state in the preview tab tool options', () => {
158
- numberLinePage.steps.verifyToolOptionSelectedPreviewTab(selectedToolOption[0]);
159
- numberLinePage.steps.verifyToolOptionNotSelectedPreviewTab(selectedToolOption.slice(1, selectedToolOption.length));
160
- utilities.verifyElementCount(numberLinePage.numberLineToolOptionPreviewTab(), 5)
161
- });
162
-
163
- it('When the user de-selects an selected option it should be removed from the preview tab tool options', () => {
164
- numberLinePage.steps.switchToEditTab();
165
- numberLinePage.steps.deselectToolOptions(['Point']);
166
- numberLinePage.steps.switchToPreviewTab();
167
- selectedToolOption.slice(1, selectedToolOption.length).forEach((toolOption) => {
168
- utilities.verifyElementVisibilityState(numberLinePage.numberLineToolOptionPreviewTab(`${toolOption}`), 'visible');
169
- });
170
- });
171
-
172
- it('When user selects any of the default unselected options it should be added to the preview tab tool options', () => {
173
- numberLinePage.steps.switchToEditTab();
174
- numberLinePage.steps.selectToolOptions(['Left/down ray']);
175
- numberLinePage.steps.switchToPreviewTab();
176
- toolOptions.slice(1, 5).forEach((toolOption) => {
177
- utilities.verifyElementVisibilityState(numberLinePage.numberLineToolOptionPreviewTab(`${toolOption}`), 'visible');
178
- });
179
- });
180
-
181
- //Controls
182
- it('All the controls should be displayed in the preview tab tool options', () => {
183
- controlOptions.forEach((controlOption) => {
184
- utilities.verifyElementVisibilityState(numberLinePage.numberLineControlOptionPreviewTab(controlOption), 'visible');
185
- });
186
- });
187
-
188
- it('When the user de-selects any control it should be removed from the preview tab tool options', () => {
189
- numberLinePage.steps.switchToEditTab();
190
- numberLinePage.steps.deselectControl('Undo/Redo');
191
- numberLinePage.steps.switchToPreviewTab();
192
- controlOptions.slice(0, 1).forEach((controlOption) => {
193
- utilities.verifyElementVisibilityState(numberLinePage.numberLineControlOptionPreviewTab(controlOption), 'notExist');
194
- });
195
- utilities.verifyElementVisibilityState(numberLinePage.numberLineControlOptionPreviewTab(controlOptions[2]), 'visible');
196
- });
197
-
198
- it('When the user selects a un-selected option it should be displayed again in the preview tab tool options', () => {
199
- numberLinePage.steps.switchToEditTab();
200
- numberLinePage.steps.selectControl('Undo/Redo');
201
- numberLinePage.steps.switchToPreviewTab();
202
- controlOptions.forEach((controlOption) => {
203
- utilities.verifyElementVisibilityState(numberLinePage.numberLineControlOptionPreviewTab(controlOption), 'visible');
204
- });
205
- });
206
-
207
- //Default tool
208
- it('When the user selects another tool as the default tool it should be displayed as selected and the \'Point\' tool should be displayed unselected in the preview tab tool options', () => {
209
- numberLinePage.steps.switchToEditTab();
210
- numberLinePage.steps.selectToolOptions(['Point']);
211
- numberLinePage.steps.expandDefaultToolDropdown();
212
- numberLinePage.steps.selectOptionFromDefaultToolDropdown('Left/down ray');
213
- numberLinePage.steps.switchToPreviewTab();
214
- numberLinePage.steps.verifyToolOptionSelectedPreviewTab('Left/down ray');
215
- numberLinePage.steps.verifyToolOptionNotSelectedPreviewTab(['Point']);
216
- });
217
- });
218
-
219
- describe('Undo/Redo and Reset functionality specify correct answer section', () => {
220
- abortEarlySetup();
221
- before(() => {
222
- numberLinePage.steps.navigateToCreateQuestion('Number line');
223
- cy.barsPreLoaderWait();
224
- });
225
-
226
- it('By default, the \'Undo\', \'Redo\' and \'Reset\' buttons should be displayed in disabled state', () => {
227
- utilities.verifyElementDisabled(numberLinePage.numberLineControlOptionSpecifyCorrectAnswer('Undo'));
228
- utilities.verifyElementDisabled(numberLinePage.numberLineControlOptionSpecifyCorrectAnswer('Redo'));
229
- utilities.verifyElementDisabled(numberLinePage.numberLineControlOptionSpecifyCorrectAnswer('Reset'));
230
- });
231
-
232
- it('When the user plots points on the number line then the \'Undo\' and \'Reset\' buttons should be displayed in enabled state whereas, \'Redo\' button should be displayed in disabled state', () => {
233
- numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer([{ x: 2, xRange: range }, { x: 3, xRange: range }]);
234
- numberLinePage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer([{ x: 2, xRange: range }, { x: 3, xRange: range }]);
235
- utilities.verifyElementNotDisabled(numberLinePage.numberLineControlOptionSpecifyCorrectAnswer('Undo'));
236
- utilities.verifyElementNotDisabled(numberLinePage.numberLineControlOptionSpecifyCorrectAnswer('Reset'));
237
- utilities.verifyElementDisabled(numberLinePage.numberLineControlOptionSpecifyCorrectAnswer('Redo'));
238
- });
239
-
240
- it('When the user selects \'Undo\' button then the latest action should be reversed and the \'Redo\' button should become enabled', () => {
241
- numberLinePage.steps.selectNumberLineControlOptionSpecifyCorrectAnswerSection('Undo');
242
- numberLinePage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer([{ x: 2, xRange: range }]);
243
- numberLinePage.steps.verifyPointsPlottedOnNumberLineNotExistSpecifyCorrectAnswer([{ x: 3, xRange: range }]);
244
- utilities.verifyElementNotDisabled(numberLinePage.numberLineControlOptionSpecifyCorrectAnswer('Undo'));
245
- utilities.verifyElementNotDisabled(numberLinePage.numberLineControlOptionSpecifyCorrectAnswer('Redo'));
246
- });
247
-
248
- it('When the user clicks on the \'Redo\' button the latest action should be reinstated and the the \'Redo\' button should be disabled again', () => {
249
- numberLinePage.steps.selectNumberLineControlOptionSpecifyCorrectAnswerSection('Redo');
250
- numberLinePage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer([{ x: 2, xRange: range }, { x: 3, xRange: range }]);
251
- utilities.verifyElementNotDisabled(numberLinePage.numberLineControlOptionSpecifyCorrectAnswer('Undo'));
252
- utilities.verifyElementDisabled(numberLinePage.numberLineControlOptionSpecifyCorrectAnswer('Redo'));
253
- });
254
-
255
- it('When the user reaches the initial state by performing \'Undo\' actions then the \'Redo\' button should be in enabled state and \'Undo\' button should be in disabled state', () => {
256
- numberLinePage.steps.selectNumberLineControlOptionSpecifyCorrectAnswerSection('Undo');
257
- numberLinePage.steps.selectNumberLineControlOptionSpecifyCorrectAnswerSection('Undo');
258
- numberLinePage.steps.verifyPointsPlottedOnNumberLineNotExistSpecifyCorrectAnswer([{ x: 2, xRange: range }, { x: 3, xRange: range }]);
259
- utilities.verifyElementDisabled(numberLinePage.numberLineControlOptionSpecifyCorrectAnswer('Undo'));
260
- utilities.verifyElementNotDisabled(numberLinePage.numberLineControlOptionSpecifyCorrectAnswer('Redo'));
261
- });
262
-
263
- it('When the user reaches the latest state by performing \'Redo\' actions then the \'Undo\' button should be in enabled state and \'Redo\' button should be in disabled state', () => {
264
- numberLinePage.steps.selectNumberLineControlOptionSpecifyCorrectAnswerSection('Redo');
265
- numberLinePage.steps.selectNumberLineControlOptionSpecifyCorrectAnswerSection('Redo');
266
- numberLinePage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer([{ x: 2, xRange: range }, { x: 3, xRange: range }]);
267
- utilities.verifyElementNotDisabled(numberLinePage.numberLineControlOptionSpecifyCorrectAnswer('Undo'));
268
- utilities.verifyElementDisabled(numberLinePage.numberLineControlOptionSpecifyCorrectAnswer('Redo'));
269
- });
270
-
271
- it('User should be able to select \'Reset\' control', () => {
272
- numberLinePage.steps.selectNumberLineControlOptionSpecifyCorrectAnswerSection('Reset');
273
- });
274
-
275
- numberLinePage.tests.verifyResetPopupContentWithCSSAndA11y();
276
-
277
- it('When the user clicks on the \'Cancel\' button then the plotted number line should not be \'Reset\'', () => {
278
- numberLinePage.steps.cancelReset();
279
- numberLinePage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer([{ x: 2, xRange: range }, { x: 3, xRange: range }]);
280
- });
281
-
282
- it('When the user clicks on \'Confirm \'Reset\'\' then the plotted number line should be \'Reset\'', () => {
283
- numberLinePage.steps.selectNumberLineControlOptionSpecifyCorrectAnswerSection('Reset');
284
- numberLinePage.steps.confirmReset();
285
- numberLinePage.steps.verifyPointsPlottedOnNumberLineNotExistSpecifyCorrectAnswer([{ x: 2, xRange: range }, { x: 3, xRange: range }]);
286
- });
287
-
288
- it('When the user \'Reset\'s the number line then the \'Undo\', \'Redo\' and \'Reset\' buttons should be in disabled state', () => {
289
- utilities.verifyElementDisabled(numberLinePage.numberLineControlOptionSpecifyCorrectAnswer('Undo'));
290
- utilities.verifyElementDisabled(numberLinePage.numberLineControlOptionSpecifyCorrectAnswer('Redo'));
291
- utilities.verifyElementDisabled(numberLinePage.numberLineControlOptionSpecifyCorrectAnswer('Reset'));
292
- });
293
- });
294
-
295
- describe('Undo/Redo and Reset functionality preview tab', () => {
296
- abortEarlySetup();
297
- before(() => {
298
- numberLinePage.steps.navigateToCreateQuestion('Number line');
299
- cy.barsPreLoaderWait();
300
- numberLinePage.steps.switchToPreviewTab();
301
- });
302
-
303
- it('By default, the \'Undo\', \'Redo\' and \'Reset\' buttons should be displayed in disabled state', () => {
304
- utilities.verifyElementDisabled(numberLinePage.numberLineControlOptionPreviewTab('Undo'));
305
- utilities.verifyElementDisabled(numberLinePage.numberLineControlOptionPreviewTab('Redo'));
306
- utilities.verifyElementDisabled(numberLinePage.numberLineControlOptionPreviewTab('Reset'));
307
- });
308
-
309
- it('When the user plots points on the number line then the \'Undo\' button should be displayed in enabled state whereas, \'Redo\' and \'Reset\' buttons should be displayed in disabled state', () => {
310
- numberLinePage.steps.plotPointOnNumberLinePreviewTab([{ x: 1, xRange: range }, { x: 2, xRange: range }]);
311
- numberLinePage.steps.verifyPointsPlottedOnNumberLinePreviewTab([{ x: 1, xRange: range }, { x: 2, xRange: range }]);
312
- utilities.verifyElementNotDisabled(numberLinePage.numberLineControlOptionPreviewTab('Undo'));
313
- utilities.verifyElementDisabled(numberLinePage.numberLineControlOptionPreviewTab('Redo'));
314
- utilities.verifyElementNotDisabled(numberLinePage.numberLineControlOptionPreviewTab('Reset'));
315
- });
316
-
317
- it('When the user selects \'Undo\' button then the latest action should be reversed and the \'Redo\' button should become enabled', () => {
318
- numberLinePage.steps.selectNumberLineControlOptionPreviewTab('Undo');
319
- numberLinePage.steps.verifyPointsPlottedOnNumberLinePreviewTab([{ x: 1, xRange: range }]);
320
- numberLinePage.steps.verifyPointsNotExistOnNumberLinePreviewTab([{ x: 2, xRange: range }]);
321
- utilities.verifyElementNotDisabled(numberLinePage.numberLineControlOptionPreviewTab('Undo'));
322
- utilities.verifyElementNotDisabled(numberLinePage.numberLineControlOptionPreviewTab('Redo'));
323
- });
324
-
325
- it('When the user clicks on the \'Redo\' button the latest action should be reinstated and the the \'Redo\' button should be disabled again', () => {
326
- numberLinePage.steps.selectNumberLineControlOptionPreviewTab('Redo');
327
- numberLinePage.steps.verifyPointsPlottedOnNumberLinePreviewTab([{ x: 1, xRange: range }, { x: 2, xRange: range }]);
328
- utilities.verifyElementNotDisabled(numberLinePage.numberLineControlOptionPreviewTab('Undo'));
329
- utilities.verifyElementDisabled(numberLinePage.numberLineControlOptionPreviewTab('Redo'));
330
- });
331
-
332
- it('When the user reaches the initial state by performing \'Undo\' actions then the \'Redo\' button should be in enabled state and \'Undo\' button should be in disabled state', () => {
333
- numberLinePage.steps.selectNumberLineControlOptionPreviewTab('Undo');
334
- numberLinePage.steps.selectNumberLineControlOptionPreviewTab('Undo');
335
- numberLinePage.steps.verifyPointsNotExistOnNumberLinePreviewTab([{ x: 1, xRange: range }, { x: 2, xRange: range }]);
336
- utilities.verifyElementDisabled(numberLinePage.numberLineControlOptionPreviewTab('Undo'));
337
- utilities.verifyElementNotDisabled(numberLinePage.numberLineControlOptionPreviewTab('Redo'));
338
- });
339
-
340
- it('When the user reaches the latest state by performing \'Redo\' actions then the \'Undo\' button should be in enabled state and \'Redo\' button should be in disabled state', () => {
341
- numberLinePage.steps.selectNumberLineControlOptionPreviewTab('Redo');
342
- numberLinePage.steps.selectNumberLineControlOptionPreviewTab('Redo');
343
- numberLinePage.steps.verifyPointsPlottedOnNumberLinePreviewTab([{ x: 1, xRange: range }, { x: 2, xRange: range }]);
344
- utilities.verifyElementNotDisabled(numberLinePage.numberLineControlOptionPreviewTab('Undo'));
345
- utilities.verifyElementDisabled(numberLinePage.numberLineControlOptionPreviewTab('Redo'));
346
- });
347
-
348
- it('User should be able to select \'Reset\' control', () => {
349
- numberLinePage.steps.selectNumberLineControlOptionPreviewTab('Reset');
350
- });
351
-
352
- numberLinePage.tests.verifyResetPopupContentWithCSSAndA11y();
353
-
354
- it('When the user clicks on the \'Cancel\' button then the plotted points on number line should not \'Reset\' and the dialog box should not be displayed', () => {
355
- numberLinePage.steps.cancelReset();
356
- numberLinePage.steps.verifyPointsPlottedOnNumberLinePreviewTab([{ x: 1, xRange: range }, { x: 2, xRange: range }]);
357
- utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'notExist');
358
- });
359
-
360
- it('When the user clicks on \'Confirm reset\'\' then the plotted number line should be \'Reset\'', () => {
361
- numberLinePage.steps.selectNumberLineControlOptionPreviewTab('Reset');
362
- numberLinePage.steps.confirmReset();
363
- numberLinePage.steps.verifyPointsNotExistOnNumberLinePreviewTab([{ x: 1, xRange: range }, { x: 2, xRange: range }]);
364
- utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'notExist');
365
- });
366
-
367
- it('When the user \'Reset\'s the number line then the \'Undo\' and \'Redo\' buttons should be in disabled state', () => {
368
- utilities.verifyElementDisabled(numberLinePage.numberLineControlOptionPreviewTab('Undo'));
369
- utilities.verifyElementDisabled(numberLinePage.numberLineControlOptionPreviewTab('Redo'));
370
- });
371
- });
372
- });