itemengine-cypress-automation 1.0.471 → 1.0.473-IEI-3170-837f0a9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,137 @@
1
+ import { numberLinePage } from "../../../../pages";
2
+ import abortEarlySetup from "../../../../support/helpers/abortEarly";
3
+ const unselectedToolOption = ['Left ray', 'Right ray', 'Open left ray', 'Open right ray'];
4
+ const range = 22.18;
5
+
6
+ describe('Create item page - Number line: All or nothing with Tolerance/Threshold', () => {
7
+ before(() => {
8
+ cy.loginAs('admin');
9
+ });
10
+
11
+ describe('Tolerance/Threshold - scoring', () => {
12
+ abortEarlySetup();
13
+ before(() => {
14
+ numberLinePage.steps.navigateToCreateQuestion('Number line');
15
+ numberLinePage.steps.addTextInQuestionInstructionsInputField('Plot points on the number line');
16
+ numberLinePage.steps.selectToolOptions(unselectedToolOption);
17
+ numberLinePage.steps.allotPoints(20);
18
+ numberLinePage.steps.selectNumberLineToolOptionSpecifyCorrectAnswer('Point');
19
+ numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("horizontal", range, 2);
20
+ numberLinePage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [2]);
21
+ numberLinePage.steps.selectNumberLineToolOptionSpecifyCorrectAnswer('Right open segment');
22
+ numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("horizontal", range, -4);
23
+ numberLinePage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [-4, -5]);
24
+ numberLinePage.steps.verifyLineSegmentOnNumberLineSpecifyCorrectAnswer(range, [{ x1: -5, x2: -4 }]);
25
+ numberLinePage.steps.setToleranceThresholdValue(1);
26
+ numberLinePage.steps.switchToPreviewTab();
27
+ });
28
+
29
+ it('When the user selects \'Grading\' view without attempting the question,the correct answer should be displayed in the correct answer section graph and correct/incorrect status message should not be displayed', () => {
30
+ numberLinePage.steps.switchToGradingView();
31
+ numberLinePage.steps.verifyPreviewScore(0, 20);
32
+ numberLinePage.steps.verifyPointsNotExistOnNumberLinePreviewTab(range, [2]);
33
+ numberLinePage.steps.verifyLineSegmentOnNumberLineNotExistPreviewTab(range, [{ x1: -5, x2: -4 }]);
34
+ numberLinePage.steps.verifyCorrectPointsOnNumberLineCorrectAnswerSection(range, [2]);
35
+ numberLinePage.steps.verifyCorrectLineSegmentOnNumberLineCorrectAnswerSection(range, [{ x1: -5, x2: -4 }]);
36
+ numberLinePage.steps.verifyCorrectIncorrectLabelNotExist();
37
+ numberLinePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
38
+ });
39
+
40
+ it('When user attempt question by setting the plot value as per tolerance value, then user should be awarded full points in preview tab and switching to grading view, correct plot value should have correct icons, and status message \'Your answer is correct\' should be displayed and correct answer section should not be displayed', () => {
41
+ numberLinePage.steps.resetQuestionPreview();
42
+ numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Point');
43
+ numberLinePage.steps.plotPointOnNumberLinePreviewTab("horizontal", range, 2);
44
+ numberLinePage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [2]);
45
+ numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Right open segment');
46
+ numberLinePage.steps.plotPointOnNumberLinePreviewTab("horizontal", range, -4);
47
+ numberLinePage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [-4, -5]);
48
+ numberLinePage.steps.verifyLineSegmentOnNumberLinePreviewTab(range, [{ x1: -5, x2: -4 }]);
49
+ numberLinePage.steps.verifyPreviewScore(20, 20);
50
+ numberLinePage.steps.switchToGradingView();
51
+ numberLinePage.steps.verifyCorrectPointsOnNumberLinePreviewTab(range, [2]);
52
+ numberLinePage.steps.verifyCorrectPointsOnNumberLinePreviewTab(range, [-4, -5]);
53
+ numberLinePage.steps.verifyCorrectLineSegmentOnNumberLinePreviewTab(range, [{ x1: -5, x2: -4 }]);
54
+ numberLinePage.steps.verifyCorrectIncorrectAnswerLabel('correct');
55
+ numberLinePage.steps.verifyCorrectAnswerSectionNotExist();
56
+ numberLinePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
57
+ });
58
+
59
+ it('When user attempt question partially correct by setting some value as per tolerance value, some by setting incorrect value, then user should be awarded 0 points in preview tab and switching to grading view, correct plots should have correct icons, incorrect plots should have incorrect icons and status message \'Your answer is incorrect\' should be displayed and correct answer section should be displayed', () => {
60
+ numberLinePage.steps.resetQuestionPreview();
61
+ numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Point');
62
+ numberLinePage.steps.plotPointOnNumberLinePreviewTab("horizontal", range, 4);
63
+ numberLinePage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [4]);
64
+ numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Right open segment');
65
+ numberLinePage.steps.plotPointOnNumberLinePreviewTab("horizontal", range, -5);
66
+ numberLinePage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [-6, -5]);
67
+ numberLinePage.steps.verifyLineSegmentOnNumberLinePreviewTab(range, [{ x1: -6, x2: -5 }]);
68
+ numberLinePage.steps.verifyPreviewScore(0, 20);
69
+ numberLinePage.steps.switchToGradingView();
70
+ numberLinePage.steps.verifyIncorrectPointsOnNumberLinePreviewTab(range, [4]);
71
+ numberLinePage.steps.verifyCorrectPointsOnNumberLinePreviewTab(range, [-6, -5]);
72
+ numberLinePage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
73
+ numberLinePage.steps.verifyCorrectPointsOnNumberLineCorrectAnswerSection(range, [2]);
74
+ numberLinePage.steps.verifyCorrectLineSegmentOnNumberLineCorrectAnswerSection(range, [{ x1: -5, x2: -4 }]);
75
+ numberLinePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
76
+ });
77
+
78
+ it('When the user attempts the question incorrectly by setting plot value outside the tolerance range, then user should be awarded 0 points in preview tab and switching to grading view, incorrect plots should have incorrect icons and status message \'Your answer is incorrect\' should be displayed and correct answer section should be displayed', () => {
79
+ numberLinePage.steps.resetQuestionPreview();
80
+ numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Point');
81
+ numberLinePage.steps.plotPointOnNumberLinePreviewTab("horizontal", range, 4);
82
+ numberLinePage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [4]);
83
+ numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Right open segment');
84
+ numberLinePage.steps.plotPointOnNumberLinePreviewTab("horizontal", range, -6);
85
+ numberLinePage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [-7, -6]);
86
+ numberLinePage.steps.verifyLineSegmentOnNumberLinePreviewTab(range, [{ x1: -7, x2: -6 }]);
87
+ numberLinePage.steps.verifyPreviewScore(0, 20);
88
+ numberLinePage.steps.switchToGradingView();
89
+ numberLinePage.steps.verifyIncorrectPointsOnNumberLinePreviewTab(range, [4]);
90
+ numberLinePage.steps.verifyIncorrectPointsOnNumberLinePreviewTab(range, [-7, -6]);
91
+ numberLinePage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
92
+ numberLinePage.steps.verifyCorrectPointsOnNumberLineCorrectAnswerSection(range, [2]);
93
+ numberLinePage.steps.verifyCorrectLineSegmentOnNumberLineCorrectAnswerSection(range, [{ x1: -5, x2: -4 }]);
94
+ numberLinePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
95
+ });
96
+
97
+ it('When the user attempts the question correctly by setting plot value as per specify correct answer section, then user should be awarded full points in preview tab and switching to grading view, correct plots should have correct icons and status message \'Your answer is correct\' should be displayed and correct answer section should not be displayed', () => {
98
+ numberLinePage.steps.resetQuestionPreview();
99
+ numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Point');
100
+ numberLinePage.steps.plotPointOnNumberLinePreviewTab("horizontal", range, 1);
101
+ numberLinePage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [1]);
102
+ numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Right open segment');
103
+ numberLinePage.steps.plotPointOnNumberLinePreviewTab("horizontal", range, -3);
104
+ numberLinePage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [-4, -3]);
105
+ numberLinePage.steps.verifyLineSegmentOnNumberLinePreviewTab(range, [{ x1: -4, x2: -3 }]);
106
+ numberLinePage.steps.verifyPreviewScore(20, 20);
107
+ numberLinePage.steps.switchToGradingView();
108
+ numberLinePage.steps.verifyCorrectPointsOnNumberLinePreviewTab(range, [1]);
109
+ numberLinePage.steps.verifyCorrectPointsOnNumberLinePreviewTab(range, [-4, -3]);
110
+ numberLinePage.steps.verifyCorrectLineSegmentOnNumberLinePreviewTab(range, [{ x1: -4, x2: -3 }]);
111
+ numberLinePage.steps.verifyCorrectIncorrectAnswerLabel('correct');
112
+ numberLinePage.steps.verifyCorrectAnswerSectionNotExist();
113
+ numberLinePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
114
+ });
115
+
116
+ it('When the user updates the tolerance/threshold value in edit tab then tolerance value should get updated in preview tab and when user attempts the question correctly by setting plot value as per tolerance range, then user should be awarded full points in preview tab and switching to grading view, correct plots should have correct icon and status message \'Your answer is correct\' should be displayed and correct answer section should not be displayed', () => {
117
+ numberLinePage.steps.switchToEditTab();
118
+ numberLinePage.steps.setToleranceThresholdValue(2);
119
+ numberLinePage.steps.switchToPreviewTab();
120
+ numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Point');
121
+ numberLinePage.steps.plotPointOnNumberLinePreviewTab("horizontal", range, 4);
122
+ numberLinePage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [4]);
123
+ numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Right open segment');
124
+ numberLinePage.steps.plotPointOnNumberLinePreviewTab("horizontal", range, -2);
125
+ numberLinePage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [-3, -2]);
126
+ numberLinePage.steps.verifyLineSegmentOnNumberLinePreviewTab(range, [{ x1: -3, x2: -2 }]);
127
+ numberLinePage.steps.verifyPreviewScore(20, 20);
128
+ numberLinePage.steps.switchToGradingView();
129
+ numberLinePage.steps.verifyCorrectPointsOnNumberLinePreviewTab(range, [4]);
130
+ numberLinePage.steps.verifyCorrectPointsOnNumberLinePreviewTab(range, [-3, -2]);
131
+ numberLinePage.steps.verifyCorrectLineSegmentOnNumberLinePreviewTab(range, [{ x1: -3, x2: -2 }]);
132
+ numberLinePage.steps.verifyCorrectIncorrectAnswerLabel('correct');
133
+ numberLinePage.steps.verifyCorrectAnswerSectionNotExist();
134
+ numberLinePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
135
+ });
136
+ });
137
+ });
@@ -32,6 +32,8 @@ describe('Create item page - Number line: Scoring section', () => {
32
32
  it('When the user has selected \'All or nothing\' scoring subtype, minimum scoring dropdown should be displayed in the scoring section', () => {
33
33
  numberLinePage.steps.verifyMinimumScoringLabelAndDropdownDefaultState();
34
34
  });
35
+
36
+ numberLinePage.tests.verifyToleranceThresholdLabelAndInputField();
35
37
  });
36
38
 
37
39
  describe('Auto scored: All or nothing scoring - Specify correct answer section', () => {
@@ -80,6 +82,8 @@ describe('Create item page - Number line: Scoring section', () => {
80
82
  numberLinePage.steps.verifyRoundingLabelAndDropdownDefaultState();
81
83
  utilities.verifyElementVisibilityState(numberLinePage.roundNegativeScoresToZeroCheckbox(), 'notExist');
82
84
  });
85
+
86
+ numberLinePage.tests.verifyToleranceThresholdLabelAndInputField();
83
87
  });
84
88
 
85
89
  describe('Auto scored: Partial equal weights scoring - Specify correct answer section', () => {
@@ -167,6 +171,8 @@ describe('Create item page - Number line: Scoring section', () => {
167
171
  numberLinePage.steps.verifyRoundingLabelAndDropdownDefaultState();
168
172
  utilities.verifyElementVisibilityState(numberLinePage.roundNegativeScoresToZeroCheckbox(), 'notExist');
169
173
  });
174
+
175
+ numberLinePage.tests.verifyToleranceThresholdLabelAndInputField();
170
176
  });
171
177
 
172
178
  describe('Auto scored: Partial - different weights scoring - Specify correct answer section', () => {
@@ -0,0 +1,134 @@
1
+ import { numberLineLabelPage } from "../../../../pages";
2
+ import abortEarlySetup from "../../../../support/helpers/abortEarly";
3
+ const range = 22.2;
4
+
5
+ describe('Create item page - Number line: All or nothing with Tolerance/Threshold', () => {
6
+ before(() => {
7
+ cy.loginAs('admin');
8
+ });
9
+
10
+ describe('Tolerance/Threshold - scoring', () => {
11
+ abortEarlySetup();
12
+ before(() => {
13
+ numberLineLabelPage.steps.navigateToCreateQuestion('Number line');
14
+ cy.barsPreLoaderWait();
15
+ numberLineLabelPage.steps.navigateToLabelNumberLineTab();
16
+ numberLineLabelPage.steps.addTextInQuestionInstructionsInputField('Plot labels on the number line');
17
+ numberLineLabelPage.steps.enterTextInMultipleLabelInputFields(['Label 1', 'Label 2', 'Label 3']);
18
+ numberLineLabelPage.steps.allotPoints(20);
19
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 1', 'horizontal', range, 0);
20
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [0]);
21
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 2', 'horizontal', range, 9);
22
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [9]);
23
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 3', 'horizontal', range, -9);
24
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [-9]);
25
+ numberLineLabelPage.steps.setToleranceThresholdValue(1);
26
+ numberLineLabelPage.steps.switchToPreviewTab();
27
+ });
28
+
29
+ it('When the user selects \'Grading\' view without attempting the question,the correct answer should be displayed in the correct answer section graph and correct/incorrect status message should not be displayed', () => {
30
+ numberLineLabelPage.steps.verifyPreviewScore(0, 20);
31
+ numberLineLabelPage.steps.switchToGradingView();
32
+ numberLineLabelPage.steps.verifyPointsNotExistOnNumberLinePreviewTab(range, [0, 9, -9]);
33
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0);
34
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 2', range, 9);
35
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 3', range, -9);
36
+ numberLineLabelPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
37
+ });
38
+
39
+ it('When user attempt question by setting the plot value as per tolerance value, then user should be awarded full points in preview tab and switching to grading view, correct plot value should have correct icons, and status message \'Your answer is correct\' should be displayed and correct answer section should not be displayed', () => {
40
+ numberLineLabelPage.steps.resetQuestionPreview();
41
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 1', 'horizontal', range, 1);
42
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [1]);
43
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 2', 'horizontal', range, 8);
44
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [8]);
45
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 3', 'horizontal', range, -10);
46
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [-10]);
47
+ numberLineLabelPage.steps.verifyPreviewScore(20, 20);
48
+ numberLineLabelPage.steps.switchToGradingView();
49
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLinePreviewTab('Label 3', range, -10);
50
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLinePreviewTab('Label 2', range, 8);
51
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLinePreviewTab('Label 1', range, 1);
52
+ numberLineLabelPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
53
+ numberLineLabelPage.steps.verifyCorrectAnswerSectionNotExist();
54
+ numberLineLabelPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
55
+ });
56
+
57
+ it('When user attempt question partially correct by setting some value as per tolerance value, some by setting incorrect value, then user should be awarded 0 points in preview tab and switching to grading view, correct plots should have correct icons, incorrect plots should have incorrect icons and status message \'Your answer is incorrect\' should be displayed and correct answer section should be displayed', () => {
58
+ numberLineLabelPage.steps.resetQuestionPreview();
59
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 1', 'horizontal', range, 2);
60
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [2]);
61
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 2', 'horizontal', range, 8);
62
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [8]);
63
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 3', 'horizontal', range, -10);
64
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [-10]);
65
+ numberLineLabelPage.steps.verifyPreviewScore(0, 20);
66
+ numberLineLabelPage.steps.switchToGradingView();
67
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLinePreviewTab('Label 3', range, -10);
68
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLinePreviewTab('Label 2', range, 8);
69
+ numberLineLabelPage.steps.verifyIncorrectResponseOnNumberLinePreviewTab('Label 1', range, 2);
70
+ numberLineLabelPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
71
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0);
72
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 2', range, 9);
73
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 3', range, -9);
74
+ numberLineLabelPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
75
+ });
76
+
77
+ it('When the user attempts the question incorrectly by setting plot value outside the tolerance range, then user should be awarded 0 points in preview tab and switching to grading view, incorrect plots should have incorrect icons and status message \'Your answer is incorrect\' should be displayed and correct answer section should be displayed', () => {
78
+ numberLineLabelPage.steps.resetQuestionPreview();
79
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 1', 'horizontal', range, 2);
80
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [2]);
81
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 2', 'horizontal', range, 6);
82
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [6]);
83
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 3', 'horizontal', range, -7);
84
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [-7]);
85
+ numberLineLabelPage.steps.verifyPreviewScore(0, 20);
86
+ numberLineLabelPage.steps.switchToGradingView();
87
+ numberLineLabelPage.steps.verifyIncorrectResponseOnNumberLinePreviewTab('Label 3', range, -7);
88
+ numberLineLabelPage.steps.verifyIncorrectResponseOnNumberLinePreviewTab('Label 2', range, 6);
89
+ numberLineLabelPage.steps.verifyIncorrectResponseOnNumberLinePreviewTab('Label 1', range, 2);
90
+ numberLineLabelPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
91
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0);
92
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 2', range, 9);
93
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 3', range, -9);
94
+ numberLineLabelPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
95
+ });
96
+
97
+ it('When the user attempts the question correctly by setting plot value as per specify correct answer section, then user should be awarded full points in preview tab and switching to grading view, correct plots should have correct icons and status message \'Your answer is correct\' should be displayed and correct answer section should not be displayed', () => {
98
+ numberLineLabelPage.steps.resetQuestionPreview();
99
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 1', 'horizontal', range, 0);
100
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [0]);
101
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 2', 'horizontal', range, 9);
102
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [9]);
103
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 3', 'horizontal', range, -9);
104
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [-9]);
105
+ numberLineLabelPage.steps.verifyPreviewScore(20, 20);
106
+ numberLineLabelPage.steps.switchToGradingView();
107
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLinePreviewTab('Label 3', range, -9);
108
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLinePreviewTab('Label 2', range, 9);
109
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLinePreviewTab('Label 1', range, 0);
110
+ numberLineLabelPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
111
+ numberLineLabelPage.steps.verifyCorrectAnswerSectionNotExist();
112
+ numberLineLabelPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
113
+ });
114
+
115
+ it('When the user updates the tolerance/threshold value in edit tab then tolerance value should get updated in preview tab and when user attempts the question correctly by setting plot value as per tolerance range, then user should be awarded full points in preview tab and switching to grading view, correct plots should have correct icon and status message \'Your answer is correct\' should be displayed and correct answer section should not be displayed', () => {
116
+ numberLineLabelPage.steps.switchToEditTab();
117
+ numberLineLabelPage.steps.setToleranceThresholdValue(2);
118
+ numberLineLabelPage.steps.switchToPreviewTab();
119
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 1', 'horizontal', range, 0);
120
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [0]);
121
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 2', 'horizontal', range, 9);
122
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [9]);
123
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 3', 'horizontal', range, -9);
124
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [-9]);
125
+ numberLineLabelPage.steps.verifyPreviewScore(20, 20);
126
+ numberLineLabelPage.steps.switchToGradingView();
127
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLinePreviewTab('Label 3', range, -9);
128
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLinePreviewTab('Label 2', range, 9);
129
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLinePreviewTab('Label 1', range, 0);
130
+ numberLineLabelPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
131
+ numberLineLabelPage.steps.verifyCorrectAnswerSectionNotExist();
132
+ });
133
+ });
134
+ });
@@ -34,6 +34,8 @@ describe('Create item page - Number line: Scoring section', () => {
34
34
  it('When the user has selected \'All or nothing\' scoring subtype, minimum scoring dropdown should be displayed in the scoring section', () => {
35
35
  numberLineLabelPage.steps.verifyMinimumScoringLabelAndDropdownDefaultState();
36
36
  });
37
+
38
+ numberLineLabelPage.tests.verifyToleranceThresholdLabelAndInputField();
37
39
  });
38
40
 
39
41
  describe('Auto scored: All or nothing scoring - Specify correct answer section', () => {
@@ -80,6 +82,8 @@ describe('Create item page - Number line: Scoring section', () => {
80
82
  numberLineLabelPage.steps.verifyRoundingLabelAndDropdownDefaultState();
81
83
  utilities.verifyElementVisibilityState(numberLineLabelPage.roundNegativeScoresToZeroCheckbox(), 'notExist');
82
84
  });
85
+
86
+ numberLineLabelPage.tests.verifyToleranceThresholdLabelAndInputField();
83
87
  });
84
88
 
85
89
  describe('Auto scored: Partial equal weights scoring - Specify correct answer section', () => {
@@ -163,6 +167,8 @@ describe('Create item page - Number line: Scoring section', () => {
163
167
  numberLineLabelPage.steps.verifyRoundingLabelAndDropdownDefaultState();
164
168
  utilities.verifyElementVisibilityState(numberLineLabelPage.roundNegativeScoresToZeroCheckbox(), 'notExist');
165
169
  });
170
+
171
+ numberLineLabelPage.tests.verifyToleranceThresholdLabelAndInputField();
166
172
  });
167
173
 
168
174
  describe('Auto scored: Partial - different weights scoring - Specify correct answer section', () => {
@@ -1,6 +1,7 @@
1
1
  import utilities from "../../support/helpers/utilities";
2
2
  import { createQuestionBasePage } from "./createQuestionBasePage";
3
3
  import { layoutSectionComponent } from "./layoutSectionComponent";
4
+ import { commonComponents } from "./commonComponents";
4
5
  const lineSettingsOptions = ['Whole numbers', 'Decimals', 'Fractions', 'Mixed fractions'];
5
6
  const numbers = ['-9.50', "-\n19\n2", "-9\n1\n2"]
6
7
 
@@ -23,6 +24,10 @@ const selectors = {
23
24
  nodesOnNumberLineOfNumberLineSection: () => cy.get('[class*="LineGridSettingstyles__LineSettingWrapper"] .ngie-jxgbox [id*="ticks"][stroke-linecap="round"]'),
24
25
  nodesOnNumberLineOfSpecifyCorrectAnswerSection: () => cy.get('[class*="AnswerAccordionstyles__AnswerPanel"] .ngie-jxgbox [id*="ticks"][stroke-linecap="round"]'),
25
26
  nodesOnNumberLineInPreviewTab: () => cy.get('[class*="TabsComponentstyles__PreviewWrapper"] .ngie-jxgbox [id*="ticks"][stroke-linecap="round"]'),
27
+ //scoring section
28
+ toleranceThresholdLabel: () => cy.get('[class*="AllocatedPointsstyles__PointsWrapper"] .points-label'),
29
+ toleranceThresholdInputField: () => cy.get('[class*="AllocatedPointsstyles__PointsWrapper"] input'),
30
+ pointsInputField: () => cy.get('.ngie-accordion-detail .points-input-field input[type="text"]'),
26
31
  }
27
32
 
28
33
  const steps = {
@@ -334,7 +339,41 @@ const steps = {
334
339
  value += annotateEvery;
335
340
  }
336
341
  });
337
- }
342
+ },
343
+
344
+ /**
345
+ * Sets the tolerance threshold value for the charts dot plot.
346
+ * @param {number} value - The value for the tolerance threshold.
347
+ */
348
+ setToleranceThresholdValue: (value) => {
349
+ numberLineCommonComponent.toleranceThresholdInputField()
350
+ .clear()
351
+ .type(value)
352
+ .blur();
353
+ numberLineCommonComponent.toleranceThresholdInputField()
354
+ .should('have.value', value)
355
+ },
356
+
357
+ /**
358
+ * @param {number} points - The points to be allotted.
359
+ * @description - Allots points in the scoring section.
360
+ */
361
+ allotPoints: (points) => {
362
+ numberLineCommonComponent.pointsInputField()
363
+ .clear()
364
+ .type(`${points}`)
365
+ .wait(1000);
366
+ numberLineCommonComponent.pointsInputField()
367
+ .should('have.value', points)
368
+ .blur();
369
+ },
370
+
371
+ focusInOutOfToleranceThresholdInputField: () => {
372
+ numberLineCommonComponent.toleranceThresholdInputField()
373
+ .focus()
374
+ .blur();
375
+ },
376
+
338
377
  }
339
378
 
340
379
  const tests = {
@@ -743,6 +782,24 @@ const tests = {
743
782
  .should('exist');
744
783
  });
745
784
  },
785
+
786
+ verifyToleranceThresholdLabelAndInputField: () => {
787
+ it('Tolerance/Threshold label and input field should be displayed and by default input field should be empty', () => {
788
+ utilities.verifyElementVisibilityState(numberLineCommonComponent.toleranceThresholdLabel(), 'visible');
789
+ utilities.verifyInnerText(numberLineCommonComponent.toleranceThresholdLabel(), 'Tolerance');
790
+ utilities.verifyElementVisibilityState(numberLineCommonComponent.toleranceThresholdInputField(), 'visible');
791
+ utilities.verifyInnerText(numberLineCommonComponent.toleranceThresholdInputField(), '');
792
+ });
793
+
794
+ it('When user focuses in and out of the Tolerance/Threshold input field then error message should not be displayed', () => {
795
+ numberLineCommonComponent.steps.focusInOutOfToleranceThresholdInputField();
796
+ utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'notExist');
797
+ });
798
+
799
+ it('User should be able to enter text in Tolerance/Threshold input field', () => {
800
+ numberLineCommonComponent.steps.setToleranceThresholdValue(2);
801
+ });
802
+ }
746
803
  }
747
804
 
748
805
  export const numberLineCommonComponent = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "itemengine-cypress-automation",
3
- "version": "1.0.471",
3
+ "version": "1.0.473-IEI-3170-837f0a9.0",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {