itemengine-cypress-automation 1.0.185-repoUpdate26April-b17eb46.0 → 1.0.185

Sign up to get free protection for your applications and to get access to all the features.
Files changed (146) hide show
  1. package/cypress/e2e/ILC/AudioResponseNew/barRecorderStyle.smoke.js +1 -1
  2. package/cypress/e2e/ILC/AudioResponseNew/compactRecorderStyle.smoke.js +1 -1
  3. package/cypress/e2e/ILC/AudioResponseNew/standardRecorderStyle.smoke.js +1 -1
  4. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/clickAndDrop.js +1 -1
  5. package/cypress/e2e/ILC/DrawingResponse/drawingResponseGradingViewAndCorrectAnswerViewContents.smoke.js +8 -5
  6. package/cypress/e2e/ILC/EditTabSettingPage/itemPreviewSettingsTabFunctionality.js +28 -417
  7. package/cypress/e2e/ILC/EssayResponse/editCategoryFlyout.js +1 -1
  8. package/cypress/e2e/ILC/FeedbackScaleNew/headerSection.js +1 -29
  9. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViews.smoke.js +2 -2
  10. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/studentViewSettings.js +1 -1
  11. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/studentViewSettings.js +1 -1
  12. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/editTabScoring.js +0 -1
  13. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/previewContentsForAllViews.smoke.js +2 -2
  14. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/studentViewSettings.js +1 -1
  15. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/studentViewSettings.js +1 -1
  16. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +4 -4
  17. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +1 -1
  18. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/studentViewSettings.js +1 -1
  19. package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +5 -5
  20. package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +4 -3
  21. package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +1 -1
  22. package/cypress/e2e/ILC/FillInTheGapsTextNew/headerSection.js +0 -1
  23. package/cypress/e2e/ILC/FillInTheGapsTextNew/studentViewSettings.js +1 -1
  24. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +2 -2
  25. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +2 -2
  26. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +2 -2
  27. package/cypress/e2e/ILC/Graphing/addBackgroundShapesSection.js +2 -2
  28. package/cypress/e2e/ILC/Graphing/studentViewSettings.js +1 -1
  29. package/cypress/e2e/ILC/GridFill/checkAnswerFunctionalityForAllViews.smoke.js +2 -2
  30. package/cypress/e2e/ILC/GridFill/gridLayoutContents.js +3 -11
  31. package/cypress/e2e/ILC/GridFill/previewContentsForAllViews.smoke.js +3 -3
  32. package/cypress/e2e/ILC/GridFill/studentViewSettingsSection.js +1 -1
  33. package/cypress/e2e/ILC/Matching/studentViewSettings.js +1 -1
  34. package/cypress/e2e/ILC/MultipleSelection/allOrNothingWithAlternativeAnswer.js +0 -1
  35. package/cypress/e2e/ILC/MultipleSelectionGridNew/studentViewSettings.js +1 -1
  36. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +3 -3
  37. package/cypress/e2e/ILC/NumberLine/allOrNothingScoringForAllViews.smoke.js +1 -57
  38. package/cypress/e2e/ILC/NumberLine/previewTabContentsForAllViews.smoke.js +1 -1
  39. package/cypress/e2e/ILC/NumberLine/studentViewSettings.js +1 -1
  40. package/cypress/e2e/ILC/NumberLine/toolSettings.js +1 -2
  41. package/cypress/e2e/ILC/Protractor/protractorPreviewContents.smoke.js +1 -1
  42. package/cypress/e2e/ILC/ReadingRuler/readingRulerEditTabBasicsSection.js +1 -49
  43. package/cypress/e2e/ILC/ShortTextResponseNew/studentViewSettings.js +1 -1
  44. package/cypress/e2e/ILC/SingleSelectionGridNew/studentViewSettings.js +1 -1
  45. package/cypress/e2e/ILC/TextEntryMath/responseEvaluationMethodsAndCustomSettings.js +2 -2
  46. package/cypress/e2e/ILC/TextSelection/Scoring/allOrNothingAlternatePointsMoreThanCorrectPoints.js +1 -0
  47. package/cypress/e2e/ILC/TextSelection/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +1 -0
  48. package/cypress/e2e/ILC/TextSelection/Scoring/allOrNothingCorrectPointsMoreThanAlternatePoints.js +1 -0
  49. package/cypress/e2e/ILC/TextSelection/Scoring/basicScoringForAllTextSelectionTypes.smoke.js +1 -0
  50. package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +1 -0
  51. package/cypress/e2e/ILC/TextSelection/checkAnswerFunctionalityForAllViews.smoke.js +2 -1
  52. package/cypress/e2e/ILC/TextSelection/editTabScoringSection.js +4 -5
  53. package/cypress/e2e/ILC/TextSelection/previewContentsForAllViews.smoke.js +7 -6
  54. package/cypress/e2e/ILC/ToolSettings/toolSettingsContent.js +5 -5
  55. package/cypress/e2e/ILC/ToolSettings/toolSettingsPreviewContents.smoke.js +3 -3
  56. package/cypress/fixtures/constants.js +1 -1
  57. package/cypress/fixtures/equationEditorCategoriesAndSymbols .js +20 -20
  58. package/cypress/fixtures/theme/ilc.json +18 -20
  59. package/cypress/pages/audioPlayerPage.js +504 -274
  60. package/cypress/pages/brainingCampManipulativePage.js +1 -1
  61. package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +3 -3
  62. package/cypress/pages/components/autoScoredStudentViewSettings.js +5 -5
  63. package/cypress/pages/components/commonComponents.js +0 -1
  64. package/cypress/pages/components/draggableOptionContainer.js +0 -1
  65. package/cypress/pages/components/equationEditorFlyout.js +2 -3
  66. package/cypress/pages/components/essayResponseCommonComponents.js +2 -8
  67. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +0 -1
  68. package/cypress/pages/components/imageCanvasComponent.js +1 -2
  69. package/cypress/pages/components/index.js +0 -3
  70. package/cypress/pages/components/optionsWrapperComponent.js +2 -13
  71. package/cypress/pages/components/playbackControlsBaseComponent.js +13 -20
  72. package/cypress/pages/components/toolSettingsComponent.js +0 -6
  73. package/cypress/pages/contentBlocksPage.js +2 -18
  74. package/cypress/pages/createItemPage.js +8 -75
  75. package/cypress/pages/dialogBoxBase.js +2 -2
  76. package/cypress/pages/drawingResponsePage.js +4 -24
  77. package/cypress/pages/feedbackScalePage.js +0 -3
  78. package/cypress/pages/graphingPage.js +1 -19
  79. package/cypress/pages/gridFillPage.js +8 -25
  80. package/cypress/pages/index.js +1 -2
  81. package/cypress/pages/itemPreviewSettingsPage.js +0 -4
  82. package/cypress/pages/listOrderingPage.js +557 -435
  83. package/cypress/pages/matchingPage.js +1 -1
  84. package/cypress/pages/multipleSelectionPage.js +1 -23
  85. package/cypress/pages/numberLinePage.js +132 -1370
  86. package/cypress/pages/rulerPage.js +2 -6
  87. package/cypress/pages/textSelectionPage.js +23 -461
  88. package/package.json +1 -1
  89. package/cypress/e2e/ILC/AudioPlayerNew/allSupportedFileTypes.js +0 -79
  90. package/cypress/e2e/ILC/AudioPlayerNew/barAudioPlayerStyle.js +0 -345
  91. package/cypress/e2e/ILC/AudioPlayerNew/compactAudioPlayerStyle.js +0 -429
  92. package/cypress/e2e/ILC/AudioPlayerNew/previewContents.smoke.js +0 -162
  93. package/cypress/e2e/ILC/AudioPlayerNew/standardAudioPlayerStyle.js +0 -489
  94. package/cypress/e2e/ILC/AudioPlayerNew/uploadAndAddAudioFile.js +0 -313
  95. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +0 -230
  96. package/cypress/e2e/ILC/ListOrderingDropdown/checkAnswerFunctionalityForAllViews.smoke.js +0 -124
  97. package/cypress/e2e/ILC/ListOrderingDropdown/previewContentsForAllViews.smoke.js +0 -201
  98. package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +0 -216
  99. package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +0 -214
  100. package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +0 -251
  101. package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingPenaltyScoring.js +0 -52
  102. package/cypress/e2e/ILC/ListOrderingNew/Scoring/manuallyAndNonScored.js +0 -128
  103. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +0 -279
  104. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsBasic.js +0 -109
  105. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +0 -278
  106. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +0 -278
  107. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +0 -335
  108. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +0 -250
  109. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsBasic.js +0 -161
  110. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +0 -216
  111. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +0 -252
  112. package/cypress/e2e/ILC/ListOrderingNew/additionalSettings.js +0 -118
  113. package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +0 -243
  114. package/cypress/e2e/ILC/ListOrderingNew/checkAnswerFunctionalityForAllViews.smoke.js +0 -128
  115. package/cypress/e2e/ILC/ListOrderingNew/editTabBasicSection.js +0 -155
  116. package/cypress/e2e/ILC/ListOrderingNew/editTabScoring.js +0 -195
  117. package/cypress/e2e/ILC/ListOrderingNew/headerSection.js +0 -78
  118. package/cypress/e2e/ILC/ListOrderingNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +0 -194
  119. package/cypress/e2e/ILC/ListOrderingNew/previewContentsForAllViews.smoke.js +0 -176
  120. package/cypress/e2e/ILC/ListOrderingNew/specifyCorrectAnswerSection.js +0 -112
  121. package/cypress/e2e/ILC/ListOrderingNew/studentViewSettings.js +0 -244
  122. package/cypress/e2e/ILC/NumberLine/LayoutSection.js +0 -181
  123. package/cypress/e2e/ILC/NumberLine/lineSettingsSection.js +0 -33
  124. package/cypress/e2e/ILC/NumberLine/numberLineSection.js +0 -46
  125. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/allOrNothingScoringForAllViews.smoke.js +0 -696
  126. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/gradingViewAndCorrectAnswerView.smoke.js +0 -173
  127. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/layoutSection.js +0 -183
  128. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/numberLineSection.js +0 -73
  129. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/previewTabContentsForAllViews.smoke.js +0 -204
  130. package/cypress/e2e/ILC/NumberLineLabel/allOrNothingForAllViews.smoke.js +0 -288
  131. package/cypress/e2e/ILC/NumberLineLabel/checkAnswerFunctionalityForAllViews.smoke.js +0 -153
  132. package/cypress/e2e/ILC/NumberLineLabel/gradingViewAndCorrectAnswerView.smoke.js +0 -164
  133. package/cypress/e2e/ILC/NumberLineLabel/previewContentsForAllViews.smoke.js +0 -120
  134. package/cypress/e2e/ILC/TextSelection/additionalSettings.js +0 -125
  135. package/cypress/e2e/ILC/TextSelection/headerSection.js +0 -73
  136. package/cypress/e2e/ILC/TextSelection/questionInstructionsAndQuestion.js +0 -179
  137. package/cypress/e2e/ILC/TextSelection/specifyCorrectAnswerSection.js +0 -89
  138. package/cypress/e2e/ILC/TextSelection/studentViewSettings.js +0 -436
  139. package/cypress/e2e/ILC/TextSelection/styleAndLayoutCustomizationAccordion.js +0 -277
  140. package/cypress/e2e/ILC/TextSelection/textSelectionModesInPreviewTab.js +0 -222
  141. package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyCorrectAnswerSection.js +0 -260
  142. package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyPossibleOptionsSection.js +0 -380
  143. package/cypress/pages/components/layoutSectionComponent.js +0 -1191
  144. package/cypress/pages/components/numberLineCommonComponent.js +0 -36
  145. package/cypress/pages/components/styleAndLayoutCustomizationAccordionComponent.js +0 -46
  146. package/cypress/pages/numberLineLabelPage.js +0 -333
@@ -1,173 +0,0 @@
1
- import { numberLinePage, correctAnswerViewPage, itemPreviewPage, studentViewPage } from "../../../../pages";
2
- import { gradingViewPage } from "../../../../pages";
3
- import abortEarlySetup from "../../../../support/helpers/abortEarly";
4
- import utilities from "../../../../support/helpers/utilities";
5
- let gradingAndCorrectAnsView = ['Grading view', 'Correct answer view']
6
- const selectedToolOption = ['Point', 'Segment', 'Segment left/down hollow pt', 'Segment right/up hollow pt', 'Segment both hollow pts'];
7
- const unselectedToolOption = ['Left/down ray', 'Right/up ray', 'Left/down ray w/ hollow pt', 'Right/up ray w/ hollow pt'];
8
- const controlOptions = ['Undo', 'Redo', 'Reset'];
9
- const toolOptions = [...selectedToolOption, ...unselectedToolOption];
10
- const views = utilities.getViews(gradingAndCorrectAnsView);
11
- var itemReferenceID = "";
12
- const css = Cypress.env('css');
13
- const range = 20.75;
14
-
15
- describe('Create item page - Graphing: Grading view, Correct answer view contents', () => {
16
- before(() => {
17
- cy.loginAs('admin');
18
- });
19
-
20
- if (views.includes('Grading view')) {
21
- describe('Grading view contents', { tags: 'smoke' }, () => {
22
- abortEarlySetup();
23
- before(() => {
24
- numberLinePage.steps.navigateToCreateQuestion('Number line');
25
- cy.barsPreLoaderWait();
26
- numberLinePage.steps.addTextInQuestionInstructionsInputField('Plot points on the number line');
27
- numberLinePage.steps.allotPoints(10);
28
- numberLinePage.steps.selectToolOptions(unselectedToolOption);
29
- numberLinePage.steps.selectOrientationToggleButton('Vertical');
30
- numberLinePage.steps.selectNumberLineToolOptionSpecifyCorrectAnswer('Point');
31
- numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("vertical", range, 2);
32
- numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLineSpecifyCorrectAnswer(range, [2]);
33
- numberLinePage.steps.selectNumberLineToolOptionSpecifyCorrectAnswer('Left/down ray');
34
- numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("vertical", range, -7);
35
- numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLineSpecifyCorrectAnswer(range, [-7]);
36
- numberLinePage.steps.verifyRayOnVerticalNumberLineSpecifyCorrectAnswer('left', range, -7);
37
- numberLinePage.steps.selectNumberLineToolOptionSpecifyCorrectAnswer('Segment right/up hollow pt');
38
- numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("vertical", range, -4);
39
- numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLineSpecifyCorrectAnswer(range, [-4, -5]);
40
- numberLinePage.steps.verifyLineSegmentOnVerticalNumberLineSpecifyCorrectAnswer(range, [{ y1: -5, y2: -4 }]);
41
- numberLinePage.steps.clickOnSaveQuestionButton();
42
- utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
43
- //Global variable issue, not working inside before
44
- itemPreviewPage.referenceID()
45
- .invoke('text')
46
- .then(($refID) => {
47
- itemReferenceID = $refID;
48
- cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
49
- numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Segment right/up hollow pt');
50
- numberLinePage.steps.plotPointOnNumberLinePreviewTab("vertical", range, -4);
51
- numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLinePreviewTab(range, [-4, -5]);
52
- numberLinePage.steps.verifyLineSegmentOnVerticalNumberLinePreviewTab(range, [{ y1: -5, y2: -4 }]);
53
- studentViewPage.steps.submitResponse();
54
- studentViewPage.steps.clickOnGoToGradingViewButton();
55
- });
56
- });
57
-
58
- it('Question instructions should be visible', () => {
59
- utilities.verifyInnerText(numberLinePage.questionInstructionsText(), 'Plot points on the number line');
60
- utilities.verifyElementVisibilityState(numberLinePage.questionInstructionsText(), 'visible');
61
- });
62
-
63
- it('Tool and control options should not be displayed', () => {
64
- utilities.verifyElementVisibilityState(numberLinePage.numberLineToolOptionPreviewTab(), 'notExist');
65
- utilities.verifyElementVisibilityState(numberLinePage.numberLineControlOptionPreviewTab(), 'notExist');
66
- });
67
-
68
- it('Correct answer label should be displayed', () => {
69
- utilities.verifyInnerText(numberLinePage.correctAnswersLabel(), 'Correct answers');
70
- utilities.verifyElementVisibilityState(numberLinePage.correctAnswersLabel(), 'visible');
71
- });
72
-
73
- it('Correct answer along with number line attempted by the user should be displayed in the correct answer section', () => {
74
- numberLinePage.steps.verifyCorrectPointsOnVerticalNumberLinePreviewTab(range, [-4, -5]);
75
- numberLinePage.steps.verifyCorrectLineSegmentOnVerticalNumberLinePreviewTab(range, [{ y1: -5, y2: -4 }]);
76
- numberLinePage.steps.verifyCorrectPointsOnVerticalNumberLineCorrectAnswerSection(range, [2]);
77
- numberLinePage.steps.verifyCorrectPointsOnVerticalNumberLineCorrectAnswerSection(range, [-4, -5]);
78
- numberLinePage.steps.verifyCorrectRayOnVerticalNumberLineCorrectAnswerSection('left', range, -7);
79
- numberLinePage.steps.verifyCorrectLineSegmentOnVerticalNumberLineCorrectAnswerSection(range, [{ y1: -5, y2: -4 }]);
80
- });
81
-
82
- it('Points and the total score should be displayed', () => {
83
- gradingViewPage.steps.verifyGradingViewScore(0, 10);
84
- });
85
-
86
- it('CSS of grading view', { tags: 'css' }, () => {
87
- utilities.verifyCSS(numberLinePage.numberLinePointPreviewTab(), {
88
- 'fill': css.color.correctAnswer
89
- });
90
- utilities.verifyCSS(numberLinePage.numberLinePointCorrectAnswerSection(), {
91
- 'fill': css.color.correctAnswer
92
- });
93
- });
94
-
95
- it('Accessibility of grading view', { tags: 'a11y' }, () => {
96
- cy.checkAccessibility(numberLinePage.numberLinePreviewTab().parents('[class*="question-preview-wrapper"]'));
97
- });
98
- });
99
- }
100
-
101
- if (views.includes('Correct answer view')) {
102
- describe('Correct answer view contents', { tags: 'smoke' }, () => {
103
- abortEarlySetup();
104
- before(() => {
105
- numberLinePage.steps.navigateToCreateQuestion('Number line');
106
- cy.barsPreLoaderWait();
107
- numberLinePage.steps.addTextInQuestionInstructionsInputField('Plot points on the number line');
108
- numberLinePage.steps.allotPoints(10);
109
- numberLinePage.steps.selectOrientationToggleButton('Vertical');
110
- numberLinePage.steps.selectToolOptions(unselectedToolOption);
111
- numberLinePage.steps.selectNumberLineToolOptionSpecifyCorrectAnswer('Point');
112
- numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("vertical",range,2);
113
- numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLineSpecifyCorrectAnswer(range, [ 2]);
114
- numberLinePage.steps.selectNumberLineToolOptionSpecifyCorrectAnswer('Left/down ray');
115
- numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("vertical", range, -7);
116
- numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLineSpecifyCorrectAnswer(range, [-7]);
117
- numberLinePage.steps.verifyRayOnVerticalNumberLineSpecifyCorrectAnswer('left', range, -7);
118
- numberLinePage.steps.selectNumberLineToolOptionSpecifyCorrectAnswer('Segment right/up hollow pt');
119
- numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("vertical", range, -4);
120
- numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLineSpecifyCorrectAnswer(range, [-4, -5]);
121
- numberLinePage.steps.verifyLineSegmentOnVerticalNumberLineSpecifyCorrectAnswer(range, [{ y1: -5, y2: -4 }]);
122
- numberLinePage.steps.clickOnSaveQuestionButton();
123
- utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
124
- //Global variable issue, not working inside before
125
- itemPreviewPage.referenceID()
126
- .invoke('text')
127
- .then(($refID) => {
128
- itemReferenceID = $refID
129
- cy.visit(`/item-engine/demo/render-item/correct-answer-view/${utilities.base64Encoding(itemReferenceID)}`);
130
- });
131
- });
132
-
133
- it('Question instructions should be visible', () => {
134
- utilities.verifyInnerText(numberLinePage.questionInstructionsText(), 'Plot points on the number line');
135
- utilities.verifyElementVisibilityState(numberLinePage.questionInstructionsText(), 'visible');
136
- });
137
-
138
- 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', () => {
139
- toolOptions.forEach((toolOption) => {
140
- utilities.verifyElementVisibilityState(numberLinePage.numberLineToolOptionPreviewTab(toolOption), 'exist');
141
- numberLinePage.numberLineToolOptionPreviewTab(toolOption)
142
- .verifyTooltip(toolOption);
143
- });
144
- });
145
-
146
- it('Control options should be displayed in disabled state', () => {
147
- controlOptions.forEach((controlOption) => {
148
- utilities.verifyElementDisabled(numberLinePage.numberLineControlOptionPreviewTab(controlOption));
149
- });
150
- });
151
-
152
- it('The correct answer set by user should be displayed in the correct answer view', () => {
153
- numberLinePage.steps.verifyCorrectPointsOnVerticalNumberLinePreviewTab(range, [-4, -5, 2]);
154
- numberLinePage.steps.verifyCorrectLineSegmentOnVerticalNumberLinePreviewTab(range, [{ y1: -5, y2: -4 }]);
155
- numberLinePage.steps.verifyCorrectRayOnVerticalNumberLinePreviewTab('left', range, -7);
156
- });
157
-
158
- it('The points alloted to the question should be displayed', () => {
159
- correctAnswerViewPage.steps.verifyAvailablePoints(10);
160
- });
161
-
162
- it('CSS of correct answer section', { tags: 'css' }, () => {
163
- utilities.verifyCSS(numberLinePage.numberLinePointPreviewTab(), {
164
- 'fill': css.color.correctAnswer
165
- });
166
- });
167
-
168
- it('Accessibility of correct answer section', { tags: 'a11y' }, () => {
169
- cy.checkAccessibility(numberLinePage.numberLinePreviewTab().parents('[class*="question-preview-wrapper"]'));
170
- });
171
- });
172
- }
173
- });
@@ -1,183 +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
- const range = 20.75;
6
-
7
- describe('Number line: Layout section', () => {
8
- before(() => {
9
- cy.loginAs('admin');
10
- });
11
-
12
- describe('Layout section - Contents', () => {
13
- abortEarlySetup();
14
- before(() => {
15
- numberLinePage.steps.navigateToCreateQuestion('Number line');
16
- cy.barsPreLoaderWait();
17
- numberLinePage.steps.selectOrientationToggleButton("Vertical");
18
- });
19
-
20
- numberLinePage.tests.verifyLayoutSectionContent("Vertical")
21
- });
22
-
23
- describe('Layout section - Edit tab functionality', () => {
24
- abortEarlySetup();
25
- before(() => {
26
- numberLinePage.steps.navigateToCreateQuestion('Number line');
27
- cy.barsPreLoaderWait();
28
- numberLinePage.steps.selectOrientationToggleButton("Vertical");
29
- });
30
-
31
- numberLinePage.tests.verifyLayoutSectionEditTabFunctionality("Vertical");
32
-
33
- //Note: Unable to check on cypress, added to manual sheet
34
- it('When user checks Stack responses checkbox, then points should be plotted above the number line in number line section and specify correct answer section', () => {
35
- numberLinePage.steps.checkCheckbox('Stack responses');
36
- });
37
-
38
- it('When user unchecks Stack responses checkbox, then points should be plotted on the number line in number line section and specify correct answer section', () => {
39
- numberLinePage.steps.uncheckCheckbox('Stack responses');
40
- numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("vertical", range, 2);
41
- numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLineSpecifyCorrectAnswer(range, [2]);
42
- });
43
-
44
- it('When Limit number of responses checkbox is checked then input field should be displayed beside the label and input field should have 5 pre-filled in it then user should be able to plot only 5 responses on number line in specify correct answer section', () => {
45
- numberLinePage.steps.verifyTextInLimitNumberOfResponsesInputField(5);
46
- for (let index = 0; index < 6; index++) {
47
- numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("vertical", range, index);
48
- };
49
- numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLineSpecifyCorrectAnswer(range, [0, 1, 2, 3, 4]);
50
- numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLineNotExistSpecifyCorrectAnswer(range, [5]);
51
- });
52
-
53
- it('When user update the value in Limit number of responses input field then specified number of responses should be updated accordingly for number line in specify correct answer section and when user plots responses more than specified number then error \'Error: Only # answers are permitted.\'', () => {
54
- numberLinePage.steps.selectNumberLineControlOptionSpecifyCorrectAnswerSection('Reset');
55
- numberLinePage.steps.confirmReset();
56
- numberLinePage.steps.enterTextInLimitNumberOfResponsesInputField(6);
57
- numberLinePage.steps.verifyTextInLimitNumberOfResponsesInputField(6);
58
- for (let index = 0; index < 7; index++) {
59
- numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("vertical", range, index);
60
- };
61
- numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLineSpecifyCorrectAnswer(range, [0, 1, 2, 3, 4, 5]);
62
- numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLineNotExistSpecifyCorrectAnswer(range, [6]);
63
- utilities.verifyElementVisibilityState(numberLinePage.errorMessage(), 'visible');
64
- utilities.verifyInnerText(numberLinePage.errorMessage().last(), 'Error: Only 6 answers are permitted.');
65
- });
66
-
67
- it('CSS of error message', { tags: 'css' }, () => {
68
- utilities.verifyCSS(numberLinePage.errorMessage().last(), {
69
- 'color': css.color.errorText,
70
- 'font-size': css.fontSize.small,
71
- 'font-weight': css.fontWeight.regular
72
- });
73
- });
74
-
75
- it('Accessibility of error message', { tags: 'a11y' }, () => {
76
- cy.checkAccessibility(numberLinePage.errorMessage());
77
- });
78
-
79
- it('When user clicks outside the number line then error message should disappear', () => {
80
- numberLinePage.steps.clickOnToolOptionsSpecifyCorrectAnswer();
81
- utilities.verifyElementVisibilityState(numberLinePage.errorMessage(), 'notExist');
82
- });
83
-
84
- it('When user uncheck Limit number of responses checkbox then Limit number of responses input field should disappear and user should be able to plot any number of responses on number line in specify correct answer section', () => {
85
- numberLinePage.steps.selectNumberLineControlOptionSpecifyCorrectAnswerSection('Reset');
86
- numberLinePage.steps.confirmReset();
87
- numberLinePage.steps.uncheckCheckbox('Limit number of responses');
88
- utilities.verifyElementVisibilityState(numberLinePage.limitNumbersOfResponsesInputField(), 'notExist');
89
- for (let index = 0; index < 6; index++) {
90
- numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("vertical", range, index);
91
- };
92
- numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLineSpecifyCorrectAnswer(range, [0, 1, 2, 3, 4, 5]);
93
- });
94
- });
95
-
96
- describe('Layout section - Preview tab functionality', () => {
97
- abortEarlySetup();
98
- before(() => {
99
- numberLinePage.steps.navigateToCreateQuestion('Number line');
100
- cy.barsPreLoaderWait();
101
- numberLinePage.steps.selectOrientationToggleButton("Vertical");
102
- });
103
-
104
- numberLinePage.tests.verifyLayoutSectionPreviewTabFunctionality("Vertical");
105
-
106
- //Note: Unable to check on cypress, added to manual sheet
107
- it('When user checks Stack responses checkbox, then points should be plotted above the number line in preview tab', () => {
108
- numberLinePage.steps.switchToEditTab();
109
- numberLinePage.steps.checkCheckbox('Stack responses');
110
- numberLinePage.steps.switchToPreviewTab();
111
- });
112
-
113
- it('When user unchecks Stack responses checkbox, then points should be plotted on the number line in preview tab', () => {
114
- numberLinePage.steps.switchToEditTab();
115
- numberLinePage.steps.uncheckCheckbox("Stack responses");
116
- numberLinePage.steps.switchToPreviewTab();
117
- numberLinePage.steps.plotPointOnNumberLinePreviewTab("vertical", range, 2);
118
- numberLinePage.steps.plotPointOnNumberLinePreviewTab(range, [2]);
119
- });
120
-
121
- it('When Limit number of responses checkbox is checked then input field should be displayed beside the label and input field should have 5 pre-filled in it then user should be able to plot only 5 responses on number line in preview tab', () => {
122
- numberLinePage.steps.switchToEditTab();
123
- numberLinePage.steps.verifyTextInLimitNumberOfResponsesInputField(5);
124
- numberLinePage.steps.switchToPreviewTab();
125
- for (let index = 0; index < 6; index++) {
126
- numberLinePage.steps.plotPointOnNumberLinePreviewTab("vertical", range, index);
127
- };
128
- numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLinePreviewTab(range, [0, 1, 2, 3, 4]);
129
- numberLinePage.steps.verifyPointsNotExistOnVerticalNumberLinePreviewTab(range, [5]);
130
- });
131
-
132
- it('When user update the value in Limit number of responses input field then specified number of responses should be updated accordingly for number line in preview tab and when user plots responses more than specified number then error \'Only # answers are permitted.\'', () => {
133
- numberLinePage.steps.switchToEditTab();
134
- numberLinePage.steps.enterTextInLimitNumberOfResponsesInputField(6);
135
- numberLinePage.steps.verifyTextInLimitNumberOfResponsesInputField(6);
136
- numberLinePage.steps.switchToPreviewTab();
137
- for (let index = 0; index < 7; index++) {
138
- numberLinePage.steps.plotPointOnNumberLinePreviewTab("vertical", range, index);
139
- };
140
- numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLinePreviewTab(range, [0, 1, 2, 3, 4, 5]);
141
- numberLinePage.steps.verifyPointsNotExistOnVerticalNumberLinePreviewTab(range, [6]);
142
- utilities.verifyElementVisibilityState(numberLinePage.warningMessage(), 'visible');
143
- utilities.verifyInnerText(numberLinePage.warningMessage(), 'Only 6 answers are permitted.');
144
- });
145
-
146
- it('CSS of warning message', { tags: 'css' }, () => {
147
- utilities.verifyCSS(numberLinePage.warningMessage(), {
148
- 'color': css.color.warningMessage,
149
- 'font-size': css.fontSize.normal,
150
- 'font-weight': css.fontWeight.regular
151
- });
152
- utilities.verifyCSS(numberLinePage.warningMessageContainer().find('svg'), {
153
- 'color': css.color.warningMessage,
154
- });
155
- utilities.verifyCSS(numberLinePage.warningMessageContainer(), {
156
- 'border': `1px solid ${css.color.warningContainerBorder}`
157
- });
158
- utilities.verifyCSS(numberLinePage.warningMessageContainer(), {
159
- 'background-color': css.color.warningContainerBackground
160
- });
161
- });
162
-
163
- it('Accessibility of error message', { tags: 'a11y' }, () => {
164
- cy.checkAccessibility(numberLinePage.warningMessage());
165
- });
166
-
167
- it('When user clicks outside the number line then error message should disappear', () => {
168
- numberLinePage.steps.clickOnToolOptionsPreviewTab();
169
- utilities.verifyElementVisibilityState(numberLinePage.warningMessage(), 'notExist');
170
- });
171
-
172
- it('When user uncheck Limit number of responses checkbox then user should be able to plot any number of responses on number line in specify correct answer section', () => {
173
- numberLinePage.steps.switchToEditTab();
174
- numberLinePage.steps.uncheckCheckbox('Limit number of responses');
175
- utilities.verifyElementVisibilityState(numberLinePage.limitNumbersOfResponsesInputField(), 'notExist');
176
- numberLinePage.steps.switchToPreviewTab();
177
- for (let index = 0; index < 6; index++) {
178
- numberLinePage.steps.plotPointOnNumberLinePreviewTab("vertical", range, index);
179
- numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLinePreviewTab(range, [index]);
180
- };
181
- });
182
- });
183
- });
@@ -1,73 +0,0 @@
1
- import { numberLinePage } from "../../../../pages";
2
- import abortEarlySetup from "../../../../support/helpers/abortEarly";
3
- const css = Cypress.env('css');
4
-
5
-
6
- describe('Create item - Number line : Number line section', () => {
7
- before(() => {
8
- cy.loginAs('admin');
9
- });
10
-
11
- describe('Number line section - Contents', () => {
12
- abortEarlySetup();
13
- before(() => {
14
- numberLinePage.steps.navigateToCreateQuestion('Number line');
15
- cy.barsPreLoaderWait();
16
- numberLinePage.steps.selectOrientationToggleButton("Vertical");
17
- });
18
-
19
- numberLinePage.tests.verifyNumberLineSectionContent('Vertical');
20
- });
21
-
22
- describe('Number line section - Edit tab', () => {
23
- abortEarlySetup();
24
- before(() => {
25
- numberLinePage.steps.navigateToCreateQuestion('Number line');
26
- cy.barsPreLoaderWait();
27
- numberLinePage.steps.selectOrientationToggleButton("Vertical");
28
- });
29
-
30
- numberLinePage.tests.verifyNumberLineTitlePopupContent();
31
-
32
- numberLinePage.tests.verifyNumberLineTitlePopupEditTabFunctionality('Linear number scale');
33
-
34
- numberLinePage.tests.verifyNumberLineSectionEditTabFunctionality('Vertical');
35
- });
36
-
37
- describe('Number line section - Preview tab', () => {
38
- abortEarlySetup();
39
- before(() => {
40
- numberLinePage.steps.navigateToCreateQuestion('Number line');
41
- cy.barsPreLoaderWait();
42
- numberLinePage.steps.selectOrientationToggleButton("Vertical");
43
- });
44
-
45
- numberLinePage.tests.verifyNumberLineTitlePopupPreviewTabFunctionality('Linear number scale');
46
-
47
- numberLinePage.tests.verifyNumberLineSectionPreviewTabFunctionality('Vertical');
48
- });
49
-
50
- describe('Line settings and Display specific annotation (use semicolons to separate) - Edit tab', () => {
51
- abortEarlySetup();
52
- before(() => {
53
- numberLinePage.steps.navigateToCreateQuestion('Number line');
54
- cy.barsPreLoaderWait();
55
- numberLinePage.steps.enterTextInIntervalInputField(2);
56
- numberLinePage.steps.selectOrientationToggleButton("Vertical");
57
- });
58
-
59
- numberLinePage.tests.verifyDisplaySpecificAnnotationAndLineSettingsEditTabFunctionality();
60
- });
61
-
62
- describe('Line settings and Display specific annotation (use semicolons to separate) - Preview tab', () => {
63
- abortEarlySetup();
64
- before(() => {
65
- numberLinePage.steps.navigateToCreateQuestion('Number line');
66
- cy.barsPreLoaderWait();
67
- numberLinePage.steps.enterTextInIntervalInputField(2);
68
- numberLinePage.steps.selectOrientationToggleButton("Vertical");
69
- });
70
-
71
- numberLinePage.tests.verifyDisplaySpecificAnnotationAndLineSettingsPreviewTabFunctionality();
72
- });
73
- });
@@ -1,204 +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.75;
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.selectOrientationToggleButton("Vertical");
30
- numberLinePage.steps.selectToolOptions(unselectedToolOption);
31
- numberLinePage.steps.selectNumberLineToolOptionSpecifyCorrectAnswer('Point');
32
- numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("vertical", range, 2);
33
- numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLineSpecifyCorrectAnswer(range, [2]);
34
- numberLinePage.steps.selectNumberLineToolOptionSpecifyCorrectAnswer('Left/down ray');
35
- numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("vertical", range, -7);
36
- numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLineSpecifyCorrectAnswer(range, [-7]);
37
- numberLinePage.steps.verifyRayOnVerticalNumberLineSpecifyCorrectAnswer('down', range, -7);
38
- numberLinePage.steps.selectNumberLineToolOptionSpecifyCorrectAnswer('Segment right/up hollow pt');
39
- numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("vertical", range, -4);
40
- numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLineSpecifyCorrectAnswer(range, [-4, -5]);
41
- numberLinePage.steps.verifyLineSegmentOnVerticalNumberLineSpecifyCorrectAnswer(range, [{ y1: -5, y2: -4 }]);
42
- numberLinePage.steps.enterTextInLimitNumberOfResponsesInputField(10);
43
- numberLinePage.steps.switchToPreviewTab();
44
- break;
45
- case 'Item view':
46
- cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
47
- break;
48
- case 'Item preview':
49
- cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
50
- numberLinePage.steps.switchToPreviewTab();
51
- break;
52
- case 'Student view':
53
- cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
54
- cy.log('Adding wait because number line wasn\'t loaded properly')
55
- cy.wait(4000);
56
- break;
57
- default:
58
- throw new Error('Invalid view');
59
- }
60
- });
61
-
62
- after(() => {
63
- if (view === 'Question preview') {
64
- numberLinePage.steps.clickOnSaveQuestionButton();
65
- utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
66
- itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
67
- }
68
- });
69
-
70
- it('Question instructions should be visible', () => {
71
- utilities.verifyInnerText(numberLinePage.questionInstructionsText(), 'Plot points on the number line');
72
- utilities.verifyElementVisibilityState(numberLinePage.questionInstructionsText(), 'visible');
73
- });
74
-
75
- 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', () => {
76
- toolOptions.forEach((toolOption) => {
77
- utilities.verifyElementVisibilityState(numberLinePage.numberLineToolOptionPreviewTab(toolOption), 'exist');
78
- numberLinePage.numberLineToolOptionPreviewTab(toolOption)
79
- .verifyTooltip(toolOption);
80
- });
81
- });
82
-
83
- it('By default, the point option should be in selected state and all other options should be unselected', () => {
84
- numberLinePage.steps.verifyToolOptionSelectedPreviewTab('Point');
85
- numberLinePage.steps.verifyToolOptionNotSelectedPreviewTab(toolOptions.splice(1, toolOptions.length));
86
- });
87
-
88
- it('By default, all controls should be in disabled state', () => {
89
- controlOptions.forEach((controlOption) => {
90
- utilities.verifyElementDisabled(numberLinePage.numberLineControlOptionPreviewTab(controlOption));
91
- });
92
- });
93
-
94
- it('User should be able to plot point using the \'Point\' tool options', () => {
95
- numberLinePage.steps.plotPointOnNumberLinePreviewTab("vertical", range, 0);
96
- numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLinePreviewTab(range, [0]);
97
- });
98
-
99
- it('User should be able to draw a segment using the \'Segment\' tool option', () => {
100
- numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Segment');
101
- numberLinePage.steps.plotPointOnNumberLinePreviewTab("vertical", range, 2);
102
- numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLinePreviewTab(range, [1, 2]);
103
- numberLinePage.steps.verifyLineSegmentOnVerticalNumberLinePreviewTab(range, [{ y1: 2, y2: 1 }]);
104
- });
105
-
106
- it('User should be able to draw a segment using the \'Segment left/down hollow pt\' tool option', () => {
107
- numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Segment left/down hollow pt');
108
- numberLinePage.steps.plotPointOnNumberLinePreviewTab("vertical", range, -1);
109
- numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLinePreviewTab(range, [-2, -1]);
110
- numberLinePage.steps.verifyLineSegmentOnVerticalNumberLinePreviewTab(range, [{ y1: -2, y2: -1 }]);
111
- });
112
-
113
- it('User should be able to draw a segment using the \'Segment right/up hollow pt\' tool option', () => {
114
- numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Segment right/up hollow pt');
115
- numberLinePage.steps.plotPointOnNumberLinePreviewTab("vertical", range, 4);
116
- numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLinePreviewTab(range, [3, 4]);
117
- numberLinePage.steps.verifyLineSegmentOnVerticalNumberLinePreviewTab(range, [{ y1: 3, y2: 4 }]);
118
- });
119
-
120
- it('User should be able to draw a segment using the \'Segment both hollow pts\' tool option', () => {
121
- numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Segment both hollow pts');
122
- numberLinePage.steps.plotPointOnNumberLinePreviewTab("vertical", range, -3);
123
- numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLinePreviewTab(range, [-4, -3]);
124
- numberLinePage.steps.verifyLineSegmentOnVerticalNumberLinePreviewTab(range, [{ y1: -4, y2: -3 }]);
125
- });
126
-
127
- it('User should be able to draw a ray using the \'Left/down ray\' tool option', () => {
128
- numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Left/down ray');
129
- numberLinePage.steps.plotPointOnNumberLinePreviewTab("vertical", range, -6);
130
- numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLinePreviewTab(range, [-6]);
131
- numberLinePage.steps.verifyRayOnVerticalNumberLinePreviewTab('down', range, -6);
132
- });
133
-
134
- it('User should be able to draw a ray using the \'Right/up ray\' tool option', () => {
135
- numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Right/up ray');
136
- numberLinePage.steps.plotPointOnNumberLinePreviewTab("vertical", range, 6);
137
- numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLinePreviewTab(range, [6]);
138
- numberLinePage.steps.verifyRayOnVerticalNumberLinePreviewTab('up', range, 6);
139
- });
140
-
141
- it('User should be able to draw a ray using the \'Left/down ray w/ hollow pt\' tool option', () => {
142
- numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Left/down ray w/ hollow pt');
143
- numberLinePage.steps.plotPointOnNumberLinePreviewTab("vertical", range, -8);
144
- numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLinePreviewTab(range, [-8]);
145
- numberLinePage.steps.verifyRayOnVerticalNumberLinePreviewTab('down', range, -8);
146
- });
147
-
148
- it('User should be able to draw a ray wave using the \'Right/up ray w/ hollow pt\' tool option', () => {
149
- numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Right/up ray w/ hollow pt');
150
- numberLinePage.steps.plotPointOnNumberLinePreviewTab("vertical", range, 8);
151
- numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLinePreviewTab(range, [8]);
152
- numberLinePage.steps.verifyRayOnVerticalNumberLinePreviewTab('up', range, 8);
153
- });
154
-
155
- it('When the user clicks on the \'Undo\' control option then the latest action should be reversed', () => {
156
- numberLinePage.steps.selectNumberLineControlOptionPreviewTab('Undo');
157
- numberLinePage.steps.verifyRayOnVerticalNumberLineNotExistPreviewTab('up', range, 8);
158
- });
159
-
160
- it('By default, the control options should be in displayed and when the user hovers over the tool options then tooltips should be displayed', () => {
161
- controlOptions.forEach((controlOption) => {
162
- utilities.verifyElementVisibilityState(numberLinePage.numberLineControlOptionPreviewTab(controlOption), 'exist');
163
- numberLinePage.numberLineControlOptionPreviewTab(controlOption)
164
- .verifyTooltip(controlOption);
165
- });
166
- });
167
-
168
- it('CSS of preview content', { tags: 'css' }, () => {
169
- utilities.verifyCSS(numberLinePage.numberLineToolOptionPreviewTab('Right/up ray w/ hollow pt'), {
170
- 'background-color': css.color.secondaryBtn,
171
- 'color': css.color.secondaryBtnBg,
172
- });
173
- utilities.verifyCSS(numberLinePage.numberLineToolOptionPreviewTab('Point').find('g circle'), {
174
- 'color': css.color.UnselectedToggleButton,
175
- 'fill': css.color.activeButtons
176
- });
177
- utilities.verifyCSS(numberLinePage.numberLineControlOptionPreviewTab('Undo').find('svg'), {
178
- 'fill': css.color.activeButtons
179
- });
180
- utilities.verifyCSS(numberLinePage.numberLinePointPreviewTab(), {
181
- 'fill': css.color.activeButtons
182
- });
183
- });
184
-
185
- it('Accessibility of preview content', { tags: 'a11y' }, () => {
186
- cy.checkAccessibility(numberLinePage.numberLinePreviewTab().parents('[class*="question-preview-wrapper"]'));
187
- });
188
-
189
- 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', () => {
190
- numberLinePage.steps.selectNumberLineControlOptionPreviewTab('Redo');
191
- numberLinePage.steps.verifyRayOnVerticalNumberLinePreviewTab('up', range, 8);
192
- });
193
-
194
- it('When the user clicks on the \'Reset\' control option then all the actions on the preview tab should be reset', () => {
195
- numberLinePage.steps.selectNumberLineControlOptionPreviewTab('Reset');
196
- numberLinePage.steps.confirmReset();
197
- utilities.verifyElementVisibilityState(numberLinePage.numberLinePointPreviewTab(), 'notExist');
198
- utilities.verifyElementDisabled(numberLinePage.numberLineControlOptionPreviewTab('Undo'));
199
- utilities.verifyElementDisabled(numberLinePage.numberLineControlOptionPreviewTab('Redo'));
200
- utilities.verifyElementDisabled(numberLinePage.numberLineControlOptionPreviewTab('Reset'));
201
- });
202
- });
203
- });
204
- });