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,200 +0,0 @@
1
- import { itemPreviewPage, numberLinePage } from "../../../pages";
2
- import abortEarlySetup from "../../../support/helpers/abortEarly";
3
- import utilities from "../../../support/helpers/utilities";
4
- const selectedToolOption = ['Point', 'Segment', 'Segment left/down hollow pt', 'Segment right/up hollow pt', 'Segment both hollow pts'];
5
- const unselectedToolOption = ['Left/down ray', 'Right/up ray', 'Left/down ray w/ hollow pt', 'Right/up ray w/ hollow pt'];
6
- const controlOptions = ['Undo', 'Redo', 'Reset'];
7
- const toolOptions = [...selectedToolOption, ...unselectedToolOption];
8
- const previewContentViews = ['Question preview', 'Item view', 'Item preview', 'Student view'];
9
- const views = utilities.getViews(previewContentViews);
10
- const css = Cypress.env('css');
11
- var itemReferenceID = "";
12
- const range = 20;
13
-
14
- describe('Create item page: Number line - Preview contents in all views', () => {
15
- before(() => {
16
- cy.loginAs('admin');
17
- });
18
-
19
- views.forEach((view) => {
20
- describe(`Preview tab contents - ${view}`, { tags: 'smoke' }, () => {
21
- abortEarlySetup();
22
- before(() => {
23
- switch (view) {
24
- case 'Question preview':
25
- numberLinePage.steps.navigateToCreateQuestion('Number line');
26
- cy.barsPreLoaderWait();
27
- numberLinePage.steps.addTextInQuestionInstructionsInputField('Plot points on the number line');
28
- numberLinePage.steps.allotPoints(10);
29
- numberLinePage.steps.selectToolOptions(unselectedToolOption);
30
- numberLinePage.steps.selectNumberLineToolOptionSpecifyCorrectAnswer('Point');
31
- numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer([{ x: 2, xRange: range }]);
32
- numberLinePage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer([{ x: 2, xRange: range }]);
33
- numberLinePage.steps.selectNumberLineToolOptionSpecifyCorrectAnswer('Left/down ray');
34
- numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer([{ x: -7, xRange: range }]);
35
- numberLinePage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer([{ x: -7, xRange: range }]);
36
- numberLinePage.steps.verifyLineSegmentOnNumberLineSpecifyCorrectAnswer([{ x1: -7, x1Range: range, x2: -8.68, x2Range: range }]);
37
- numberLinePage.steps.selectNumberLineToolOptionSpecifyCorrectAnswer('Segment right/up hollow pt');
38
- numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer([{ x: -4, xRange: range }]);
39
- numberLinePage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer([{ x: -4, xRange: range }, { x: -5, xRange: range }]);
40
- numberLinePage.steps.verifyLineSegmentOnNumberLineSpecifyCorrectAnswer([{ x1: -5, x1Range: range, x2: -4, x2Range: range }]);
41
- numberLinePage.steps.switchToPreviewTab();
42
- break;
43
- case 'Item view':
44
- cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
45
- break;
46
- case 'Item preview':
47
- cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
48
- numberLinePage.steps.switchToPreviewTab();
49
- break;
50
- case 'Student view':
51
- cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
52
- break;
53
- default:
54
- throw new Error('Invalid view');
55
- }
56
- });
57
-
58
- after(() => {
59
- if (view === 'Question preview') {
60
- numberLinePage.steps.clickOnSaveQuestionButton();
61
- utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
62
- itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
63
- }
64
- });
65
-
66
- it('Question instructions should be visible', () => {
67
- utilities.verifyInnerText(numberLinePage.questionInstructionsText(), 'Plot points on the number line');
68
- utilities.verifyElementVisibilityState(numberLinePage.questionInstructionsText(), 'visible');
69
- });
70
-
71
- it('The toolbar options should be displayed in the preview tab and when the user hovers over the tool options then tooltips should be displayed', () => {
72
- toolOptions.forEach((toolOption) => {
73
- utilities.verifyElementVisibilityState(numberLinePage.numberLineToolOptionPreviewTab(toolOption), 'exist');
74
- numberLinePage.numberLineToolOptionPreviewTab(toolOption)
75
- .verifyTooltip(toolOption);
76
- });
77
- });
78
-
79
- it('By default, the point option should be in selected state and all other options should be unselected', () => {
80
- numberLinePage.steps.verifyToolOptionSelectedPreviewTab('Point');
81
- numberLinePage.steps.verifyToolOptionNotSelectedPreviewTab(toolOptions.splice(1, toolOptions.length));
82
- });
83
-
84
- it('By default, all controls should be in disabled state', () => {
85
- controlOptions.forEach((controlOption) => {
86
- utilities.verifyElementDisabled(numberLinePage.numberLineControlOptionPreviewTab(controlOption));
87
- });
88
- });
89
-
90
- it('User should be able to plot point using the \'Point\' tool options', () => {
91
- numberLinePage.steps.plotPointOnNumberLinePreviewTab([{ x: 9, xRange: range }]);
92
- numberLinePage.steps.verifyPointsPlottedOnNumberLinePreviewTab([{ x: 9, xRange: range }]);
93
- });
94
-
95
- it('User should be able to draw a segment using the \'Segment\' tool option', () => {
96
- numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Segment');
97
- numberLinePage.steps.plotPointOnNumberLinePreviewTab([{ x: 8, xRange: range }]);
98
- numberLinePage.steps.verifyPointsPlottedOnNumberLinePreviewTab([{ x: 8, xRange: range }, { x: 7, xRange: range }]);
99
- numberLinePage.steps.verifyLineSegmentOnNumberLinePreviewTab([{ x1: 8, x1Range: range, x2: 7, x2Range: range }]);
100
- });
101
-
102
- it('User should be able to draw a segment using the \'Segment left/down hollow pt\' tool option', () => {
103
- numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Segment left/down hollow pt');
104
- numberLinePage.steps.plotPointOnNumberLinePreviewTab([{ x: 6, xRange: range }]);
105
- numberLinePage.steps.verifyPointsPlottedOnNumberLinePreviewTab([{ x: 6, xRange: range }, { x: 5, xRange: range }]);
106
- numberLinePage.steps.verifyLineSegmentOnNumberLinePreviewTab([{ x1: 5, x1Range: range, x2: 6, x2Range: range }]);
107
- });
108
-
109
- it('User should be able to draw a segment using the \'Segment right/up hollow pt\' tool option', () => {
110
- numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Segment right/up hollow pt');
111
- numberLinePage.steps.plotPointOnNumberLinePreviewTab([{ x: 4, xRange: range }]);
112
- numberLinePage.steps.verifyPointsPlottedOnNumberLinePreviewTab([{ x: 4, xRange: range }, { x: 3, xRange: range }]);
113
- numberLinePage.steps.verifyLineSegmentOnNumberLinePreviewTab([{ x1: 3, x1Range: range, x2: 4, x2Range: range }]);
114
- });
115
-
116
- it('User should be able to draw a segment using the \'Segment both hollow pts\' tool option', () => {
117
- numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Segment both hollow pts');
118
- numberLinePage.steps.plotPointOnNumberLinePreviewTab([{ x: 2, xRange: range }]);
119
- numberLinePage.steps.verifyPointsPlottedOnNumberLinePreviewTab([{ x: 2, xRange: range }, { x: 1, xRange: range }]);
120
- numberLinePage.steps.verifyLineSegmentOnNumberLinePreviewTab([{ x1: 1, x1Range: range, x2: 2, x2Range: range }]);
121
- });
122
-
123
- it('User should be able to draw a ray using the \'Left/down ray\' tool option', () => {
124
- numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Left/down ray');
125
- numberLinePage.steps.plotPointOnNumberLinePreviewTab([{ x: -8, xRange: range }]);
126
- numberLinePage.steps.verifyPointsPlottedOnNumberLinePreviewTab([{ x: -8, xRange: range }]);
127
- numberLinePage.steps.verifyLineSegmentOnNumberLinePreviewTab([{ x1: -8, x1Range: range, x2: -8.68, x2Range: range }]);
128
- });
129
-
130
- it('User should be able to draw a ray using the \'Right/up ray\' tool option', () => {
131
- numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Right/up ray');
132
- numberLinePage.steps.plotPointOnNumberLinePreviewTab([{ x: 0, xRange: range }]);
133
- numberLinePage.steps.verifyPointsPlottedOnNumberLinePreviewTab([{ x: 0, xRange: range }]);
134
- numberLinePage.steps.verifyLineSegmentOnNumberLinePreviewTab([{ x1: 0, x1Range: range, x2: 8.69, x2Range: range }]);
135
- });
136
-
137
- it('User should be able to draw a ray using the \'Left/down ray w/ hollow pt\' tool option', () => {
138
- numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Left/down ray w/ hollow pt');
139
- numberLinePage.steps.plotPointOnNumberLinePreviewTab([{ x: -6, xRange: range }]);
140
- numberLinePage.steps.verifyPointsPlottedOnNumberLinePreviewTab([{ x: -6, xRange: range }]);
141
- numberLinePage.steps.verifyLineSegmentOnNumberLinePreviewTab([{ x1: -6, x1Range: range, x2: -8.68, x2Range: range }]);
142
- });
143
-
144
- it('User should be able to draw a ray wave using the \'Right/up ray w/ hollow pt\' tool option', () => {
145
- numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Right/up ray w/ hollow pt');
146
- numberLinePage.steps.plotPointOnNumberLinePreviewTab([{ x: -3, xRange: range }]);
147
- numberLinePage.steps.verifyPointsPlottedOnNumberLinePreviewTab([{ x: -3, xRange: range }]);
148
- numberLinePage.steps.verifyLineSegmentOnNumberLinePreviewTab([{ x1: -3, x1Range: range, x2: 8.69, x2Range: range }]);
149
- });
150
-
151
- it('When the user clicks on the \'Undo\' control option then the latest action should be reversed', () => {
152
- numberLinePage.steps.selectNumberLineControlOptionPreviewTab('Undo');
153
- numberLinePage.steps.verifyLineSegmentOnNumberLineNotExistPreviewTab([{ x: -3, xRange: range }, { x: 8.69, xRange: range }]);
154
- });
155
-
156
- it('By default, the control options should be in displayed and when the user hovers over the tool options then tooltips should be displayed', () => {
157
- controlOptions.forEach((controlOption) => {
158
- utilities.verifyElementVisibilityState(numberLinePage.numberLineControlOptionPreviewTab(controlOption), 'exist');
159
- numberLinePage.numberLineControlOptionPreviewTab(controlOption)
160
- .verifyTooltip(controlOption);
161
- });
162
- });
163
-
164
- it('CSS of preview content', { tags: 'css' }, () => {
165
- utilities.verifyCSS(numberLinePage.numberLineToolOptionPreviewTab('Right/up ray w/ hollow pt'), {
166
- 'background-color': css.color.secondaryBtn,
167
- 'color': css.color.secondaryBtnBg,
168
- });
169
- utilities.verifyCSS(numberLinePage.numberLineToolOptionPreviewTab('Point').find('g circle'), {
170
- 'color': css.color.UnselectedToggleButton,
171
- 'fill': css.color.activeButtons
172
- });
173
- utilities.verifyCSS(numberLinePage.numberLineControlOptionPreviewTab('Undo').find('svg'), {
174
- 'fill': css.color.activeButtons
175
- });
176
- utilities.verifyCSS(numberLinePage.numberLinePointPreviewTab(), {
177
- 'fill': css.color.activeButtons
178
- });
179
- });
180
-
181
- it('Accessibility of preview content', { tags: 'a11y' }, () => {
182
- cy.checkAccessibility(numberLinePage.numberLinePreviewTab().parents('[class*="question-preview-wrapper"]'));
183
- });
184
-
185
- it('When the user clicks on the \'Redo\' control option then the latest action should be displayed again and the button should be disabled again', () => {
186
- numberLinePage.steps.selectNumberLineControlOptionPreviewTab('Redo');
187
- numberLinePage.steps.verifyLineSegmentOnNumberLinePreviewTab([{ x1: -3, x1Range: range, x2: 8.69, x2Range: range }]);
188
- });
189
-
190
- it('When the user clicks on the \'Reset\' control option then all the actions on the preview tab should be reset', () => {
191
- numberLinePage.steps.selectNumberLineControlOptionPreviewTab('Reset');
192
- numberLinePage.steps.confirmReset();
193
- utilities.verifyElementVisibilityState(numberLinePage.numberLinePointPreviewTab(), 'notExist');
194
- utilities.verifyElementDisabled(numberLinePage.numberLineControlOptionPreviewTab('Undo'));
195
- utilities.verifyElementDisabled(numberLinePage.numberLineControlOptionPreviewTab('Redo'));
196
- utilities.verifyElementDisabled(numberLinePage.numberLineControlOptionPreviewTab('Reset'));
197
- });
198
- });
199
- });
200
- });
@@ -1,67 +0,0 @@
1
- import { numberLinePage } from "../../../pages";
2
- import abortEarlySetup from "../../../support/helpers/abortEarly";
3
-
4
- describe('Create Item page - Number line: Specify correct answer, Alternative correct answer', () => {
5
- before(() => {
6
- cy.loginAs('admin');
7
- });
8
-
9
- describe('Specify correct answer section - \'Correct\' accordion', () => {
10
- abortEarlySetup();
11
- before(() => {
12
- numberLinePage.steps.navigateToCreateQuestion('Number line');
13
- numberLinePage.steps.addTextInQuestionInstructionsInputField('Number line');
14
- cy.barsPreLoaderWait();
15
- });
16
-
17
- numberLinePage.tests.verifyAutoScoredSpecifyCorrectAnswerHeaderSectionContents('number line');
18
-
19
- numberLinePage.tests.verifySpecifyCorrectAnswerAccordionContentsAndFunctionality('Correct');
20
- });
21
-
22
- describe('Specify correct answer section - \'Alternative\' accordion', () => {
23
- abortEarlySetup();
24
- before(() => {
25
- numberLinePage.steps.navigateToCreateQuestion('Number line');
26
- cy.barsPreLoaderWait();
27
- });
28
-
29
- numberLinePage.tests.verifyAutoScoredAddAlternativeAnswerButtonAndValidation();
30
-
31
- it('When user has added points and plots points on number line in the \'Correct\' accordion, then the user should be able to add alternative answer for the question using \'Add alternative answer\' button', () => {
32
- numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer([{ x: 0, xRange: 20 }, { x: 1, xRange: 20 }]);
33
- numberLinePage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer([{ x: 0, xRange: 20 }, { x: 1, xRange: 20 }]);
34
- numberLinePage.steps.allotPoints(10);
35
- numberLinePage.steps.addAlternativeAnswerAccordion(1);
36
- });
37
-
38
- it('When user has added an alternative answer accordion, then the newly added alternative answer accordion should be in expanded state and the correct answer accordion should be in collapsed state', () => {
39
- numberLinePage.steps.verifyCorrectAnswerAccordionIsCollapsed();
40
- numberLinePage.steps.verifyAlternateAnswerAccordionIsExpanded(0);
41
- });
42
-
43
- numberLinePage.tests.verifySpecifyCorrectAnswerAccordionContentsAndFunctionality('Alternative');
44
-
45
- it('User should be able to add another alternative answer for the question using \'Add alternative answer\' button and the label for this new accordion should be \'Alternative 2\'', () => {
46
- numberLinePage.steps.addAlternativeAnswerAccordion(1);
47
- });
48
-
49
- numberLinePage.tests.verifyWarningPopupAndAccordionNavigationWhenNoPointsAddedInAlternativeAccordion();
50
-
51
- it('User should be able to remove alternative correct answer by clicking on the \'Delete\' icon button alongside alternative answer accordion and the label of the alternative answer accordions should get updated accordingly', () => {
52
- cy.log('Set correct answer and points in alternative 2 accordion, then switch to alternative 1 accordion and click delete icon button');
53
- numberLinePage.steps.selectNumberLineToolOptionSpecifyCorrectAnswer('Segment');
54
- numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer([{ x: 2, xRange: 20 }, { x: 1, xRange: 20}]);
55
- numberLinePage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer([{ x: 2, xRange: 20 }, { x: 1, xRange: 20}]);
56
- numberLinePage.steps.allotPoints(5);
57
- numberLinePage.steps.deleteAlternativeAnswerAccordion(0);
58
- numberLinePage.steps.verifyAlternativeAnswerAccordionNotExists(1);
59
- numberLinePage.steps.verifyAlternativeAnswerAccordionLabel(0);
60
- });
61
-
62
- it('When correct answers and points are set in alternative answer and user clicks on correct answer accordion, then correct answer accordion should be expanded and the alternative answer accordion should be collapsed', () => {
63
- numberLinePage.steps.expandCorrectAnswerAccordion();
64
- numberLinePage.steps.verifyAlternateAnswerAccordionIsCollapsed(0);
65
- });
66
- });
67
- });
@@ -1,135 +0,0 @@
1
- import { numberLinePage } from "../../../pages";
2
- import abortEarlySetup from "../../../support/helpers/abortEarly";
3
- import utilities from "../../../support/helpers/utilities";
4
- const css = Cypress.env('css');
5
-
6
- describe('Create Item page - Number line : Student view settings', () => {
7
- before(() => {
8
- cy.loginAs('admin');
9
- });
10
-
11
- describe('Student view settings : Edit tab contents', () => {
12
- abortEarlySetup();
13
- before(() => {
14
- cy.log('Navigating to Number line question type');
15
- numberLinePage.steps.navigateToCreateQuestion('Number line');
16
- cy.barsPreLoaderWait();
17
- });
18
-
19
- numberLinePage.tests.verifyStudentViewSettingsLabelAndCSS();
20
-
21
- it('When \'Plot number line\' is selected then \'Randomize labels\' label and checkbox should not be displayed', () => {
22
- utilities.verifyElementVisibilityState(numberLinePage.randomizeOptionsLabel(), 'notExist');
23
- utilities.verifyElementVisibilityState(numberLinePage.randomizeOptionsCheckbox(), 'notExist');
24
- });
25
-
26
- it('\'Allow students to check answer\' label and checkbox should be displayed and it should be unchecked by default', () => {
27
- utilities.verifyInnerText(numberLinePage.allowStudentToCheckAnswerLabel(), 'Allow students to check answer');
28
- numberLinePage.steps.verifyAllowStudentsToCheckAnswerCheckboxUnchecked();
29
- });
30
-
31
- it('When the user checks the \'Allow students to check answer\' checkbox, then \'Maximum check answer attempts\' dropdown should be displayed', () => {
32
- numberLinePage.steps.checkAllowStudentsToCheckAnswerCheckbox();
33
- utilities.verifyElementVisibilityState(numberLinePage.maximumCheckAnswerAttemptsDropdown(), 'visible');
34
- });
35
-
36
- numberLinePage.tests.verifyMaxCheckAnswerAttemptsDropdown();
37
-
38
- numberLinePage.tests.verifyAllowStudentsToCheckAnswerContentsCSSAndA11y();
39
-
40
- it('CSS of student view settings section', { tags: 'css' }, () => {
41
- utilities.verifyCSS(numberLinePage.allowStudentToCheckAnswerLabel(), {
42
- 'color': css.color.labelText,
43
- 'font-size': css.fontSize.normal,
44
- 'font-weight': css.fontWeight.regular
45
- });
46
- utilities.verifyCSS(numberLinePage.allowStudentToCheckAnswerCheckbox().parent().find('.checkbox-icon-border-rect'), {
47
- 'fill': css.color.activeButtons
48
- });
49
- });
50
-
51
- it('Accessibility of student view settings section', { tags: 'a11y' }, () => {
52
- cy.checkAccessibility(numberLinePage.allowStudentToCheckAnswerLabel().parents('.student-view-settings-container'));
53
- });
54
- });
55
-
56
- describe('Allow students to check answer: Preview tab', () => {
57
- abortEarlySetup();
58
- before(() => {
59
- numberLinePage.steps.navigateToCreateQuestion('Number line');
60
- cy.barsPreLoaderWait();
61
- numberLinePage.steps.allotPoints(10);
62
- numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer([{ x: 1, xRange: 20 }]);
63
- });
64
-
65
- it('When the user has specified correct answer and points then on checking the \'Allow students to check answer\' checkbox the Check answer button should be displayed in the preview tab', () => {
66
- numberLinePage.steps.checkAllowStudentToCheckAnswerCheckbox();
67
- numberLinePage.steps.switchToPreviewTab();
68
- utilities.verifyInnerText(numberLinePage.checkAnswerButton(), 'Check answer');
69
- });
70
-
71
- it('When the user plots point on number line and checks the answer then correct icon should be displayed beside the plotted point and the check answer button should be in enabled state', () => {
72
- numberLinePage.steps.switchToPreviewTab();
73
- numberLinePage.steps.plotPointOnNumberLinePreviewTab([{ x: 1, xRange: 20 }]);
74
- numberLinePage.steps.verifyPointsPlottedOnNumberLinePreviewTab([{ x: 1, xRange: 20 }]);
75
- numberLinePage.steps.checkAnswer();
76
- numberLinePage.steps.verifyCorrectPointsOnNumberLinePreviewTab([{ x: 1, xRange: 20 }]);
77
- numberLinePage.steps.verifyCheckAnswerButtonEnabled();
78
- });
79
-
80
- it('When the user selects an option from the Maximum check answer attempts dropdown then the user should be able to check answer only those many times in the preview tab', () => {
81
- numberLinePage.steps.switchToEditTab();
82
- numberLinePage.steps.expandMaxCheckAnswerAttemptsDropdown();
83
- numberLinePage.steps.selectMaxCheckAnswerAttemptsDropdownListOption('1');
84
- numberLinePage.steps.switchToPreviewTab();
85
- numberLinePage.steps.plotPointOnNumberLinePreviewTab([{ x: 1, xRange: 20 }]);
86
- numberLinePage.steps.verifyPointsPlottedOnNumberLinePreviewTab([{ x: 1, xRange: 20 }]);
87
- numberLinePage.steps.checkAnswer();
88
- numberLinePage.steps.verifyCheckAnswerButtonDisabled();
89
- });
90
-
91
- it('When the user reaches maximum check answer attempts, then the \'Check Answer\' button should become disabled', () => {
92
- utilities.verifyElementDisabled(numberLinePage.checkAnswerButton());
93
- });
94
-
95
- it('CSS of disabled \'Check Answer\' button', { tags: 'css' }, () => {
96
- utilities.verifyCSS(numberLinePage.checkAnswerButton(), {
97
- 'color': css.color.primaryBtnDisabled,
98
- 'font-size': css.fontSize.default,
99
- 'font-weight': css.fontWeight.semibold
100
- });
101
- });
102
-
103
- it('Accessibility of disabled Check Answer button', { tags: 'a11y' }, () => {
104
- cy.checkAccessibility(numberLinePage.checkAnswerButton().parents('.check-answer-and-status-wrapper'));
105
- });
106
-
107
- it('When the user updates the value of \'Maximum check answer attempts\' dropdown, it should get reflected on the Preview tab', () => {
108
- numberLinePage.steps.switchToEditTab();
109
- numberLinePage.steps.expandMaxCheckAnswerAttemptsDropdown();
110
- numberLinePage.steps.selectMaxCheckAnswerAttemptsDropdownListOption('3');
111
- numberLinePage.steps.switchToPreviewTab();
112
- numberLinePage.steps.verifyCheckAnswerButtonEnabled();
113
- numberLinePage.steps.plotPointOnNumberLinePreviewTab([{ x: 1, xRange: 20 }]);
114
- numberLinePage.steps.verifyPointsPlottedOnNumberLinePreviewTab([{ x: 1, xRange: 20 }]);
115
- numberLinePage.steps.checkAnswer();
116
- numberLinePage.steps.verifyCheckAnswerButtonEnabled();
117
- });
118
-
119
- it('When the user selects \'No limit\' option from the dropdown then user should be able to check answer multiple times', () => {
120
- numberLinePage.steps.switchToEditTab();
121
- numberLinePage.steps.expandMaxCheckAnswerAttemptsDropdown();
122
- numberLinePage.steps.selectMaxCheckAnswerAttemptsDropdownListOption('no limit');
123
- numberLinePage.steps.switchToPreviewTab();
124
- numberLinePage.steps.verifyCheckAnswerButtonEnabled();
125
- numberLinePage.steps.plotPointOnNumberLinePreviewTab([{ x: 1, xRange: 20 }]);
126
- numberLinePage.steps.verifyPointsPlottedOnNumberLinePreviewTab([{ x: 1, xRange: 20 }]);
127
- numberLinePage.steps.checkAnswer();
128
- numberLinePage.steps.verifyCheckAnswerButtonEnabled();
129
- numberLinePage.steps.plotPointOnNumberLinePreviewTab([{ x: 3, xRange: 20 }]);
130
- numberLinePage.steps.verifyPointsPlottedOnNumberLinePreviewTab([{ x: 3, xRange: 20 }]);
131
- numberLinePage.steps.checkAnswer();
132
- numberLinePage.steps.verifyCheckAnswerButtonEnabled();
133
- });
134
- });
135
- });
@@ -1,73 +0,0 @@
1
- import { toolSettingsComponent } from "../../../pages/components";
2
- import abortEarlySetup from "../../../support/helpers/abortEarly";
3
- import utilities from "../../../support/helpers/utilities";
4
- import { dialogBoxBase, numberLinePage, rulerPage } from "../../../pages";
5
-
6
- const css = Cypress.env('css');
7
-
8
- describe('Create Item page: Tool settings', () => {
9
- before(() => {
10
- cy.loginAs('admin');
11
- });
12
-
13
- describe('Tool settings: Contents', () => {
14
- abortEarlySetup();
15
- before(() => {
16
- numberLinePage.steps.navigateToCreateQuestion('Number line');
17
- });
18
-
19
- numberLinePage.tests.verifyToolSettingsContent();
20
- });
21
-
22
- describe('Tool settings: Edit tool settings', () => {
23
- abortEarlySetup();
24
- before(() => {
25
- numberLinePage.steps.navigateToCreateQuestion('Number line');
26
- toolSettingsComponent.steps.expandToolSettingsAccordion();
27
- });
28
-
29
- it('When user clicks on edit icon for ruler tool, then popup for ruler tool settings should be displayed', () => {
30
- toolSettingsComponent.steps.clickOnToolEditIcon(0);
31
- utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
32
- });
33
-
34
- it('When user modifies the settings for the ruler tool and clicks the \'Ok\' button, then ruler tool should enter selected state.', () => {
35
- rulerPage.steps.expandUnitOfMeasurementDropdown();
36
- rulerPage.steps.selectOptionFromUnitOfMeasurementDropdown('Inch');
37
- rulerPage.steps.selectOptionFromLengthOfRulerOptions('12 in');
38
- rulerPage.steps.selectColorBlock(1);
39
- rulerPage.steps.expandRotationDropdown();
40
- rulerPage.steps.selectOptionFromRotationDropdown('Allow rotation and display angle');
41
- rulerPage.steps.enterInputToOpacityInputField(60);
42
- rulerPage.steps.checkAddShowHideButtonCheckbox();
43
- dialogBoxBase.steps.clickOnAcceptButtonInDialogBox();
44
- utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'notExist');
45
- toolSettingsComponent.steps.verifyToolSelectedState(0);
46
- });
47
-
48
- it('When user has made changes for ruler tool in edit tab then changes should be reflected in the ruler tool in the preview tab', () => {
49
- cy.log('Switching to Preview Tab');
50
- rulerPage.steps.switchToPreviewTab();
51
- rulerPage.steps.verifyPreviewTabRulerVisibilityButtonLabel('Show');
52
- rulerPage.steps.clickOnRulerVisibilityButton();
53
- utilities.verifyElementVisibilityState(rulerPage.rulerPreviewTab(), 'visible');
54
- rulerPage.steps.verifyLengthOfRulerInPreview('12in');
55
- rulerPage.steps.verifyColorOfRulerInPreview(1);
56
- rulerPage.steps.verifyRulerOpacityInPreview('0.6');
57
- rulerPage.steps.verifyRotationButtonWithDegreeVisible();
58
- });
59
-
60
- it('CSS of the \'Hide ruler\' button', { tags: 'css' }, () => {
61
- utilities.verifyCSS(rulerPage.rulerVisibilityButtonPreviewTab(), {
62
- 'border': `1px solid ${css.color.activeButtons}`,
63
- 'background-color': css.color.defaultBackground,
64
- 'font-size': css.fontSize.normal,
65
- 'font-weight': css.fontWeight.semibold
66
- });
67
- });
68
-
69
- it('Accessibility of \'Hide ruler\' button', { tags: 'a11y' }, () => {
70
- cy.checkAccessibility(rulerPage.rulerVisibilityButtonPreviewTab().parents('[class*="ItemEnginestyles__MainWrapper"]'));
71
- });
72
- });
73
- });