itemengine-cypress-automation 1.0.584-IEI-7041-1da58ac.0 → 1.0.585-IEI-7048-5c19852.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.
Files changed (89) hide show
  1. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/allOrNothingGroupedScoring.js +1 -4
  2. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +8 -109
  3. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/allOrNothingWithCorrectPointsEqualToAlternativePoints.js +8 -109
  4. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +8 -109
  5. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/blankResponseScoring.js +2 -7
  6. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +10 -139
  7. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialDifferentWeightsBasic.js +1 -4
  8. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +9 -124
  9. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +10 -139
  10. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialEqualWeightsBasic.js +1 -4
  11. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +9 -124
  12. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +8 -109
  13. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +9 -124
  14. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +2 -243
  15. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +77 -0
  16. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +78 -1
  17. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +78 -1
  18. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +104 -9
  19. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsBasic.js +4 -0
  20. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +95 -0
  21. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +95 -0
  22. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +84 -0
  23. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +4 -0
  24. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +73 -0
  25. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +84 -0
  26. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +187 -2
  27. package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +79 -1
  28. package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +79 -0
  29. package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +79 -0
  30. package/cypress/e2e/ILC/ListOrderingNew/Scoring/manuallyAndNonScored.js +4 -0
  31. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +103 -0
  32. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsBasic.js +4 -0
  33. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +103 -0
  34. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +103 -0
  35. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +91 -0
  36. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsBasic.js +4 -0
  37. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +79 -0
  38. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +91 -0
  39. package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +209 -5
  40. package/cypress/e2e/ILC/ListOrderingNew/horizontalOrientationAllOrNothingForAllViews.smoke.js +195 -1
  41. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/HorizontalOrientation/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +103 -0
  42. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +85 -0
  43. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +82 -0
  44. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +85 -0
  45. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +109 -6
  46. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialDifferentWeightsBasic.js +4 -0
  47. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +103 -0
  48. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +103 -0
  49. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +91 -0
  50. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialEqualWeightsBasic.js +4 -0
  51. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +79 -0
  52. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +91 -0
  53. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/allOrNothingForAllViews.smoke.js +207 -3
  54. package/cypress/e2e/ILC/Matching/Scoring/allOrNothingGroupedScoring.js +9 -1
  55. package/cypress/e2e/ILC/Matching/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +102 -2
  56. package/cypress/e2e/ILC/Matching/Scoring/allOrNothingWithCorrectPointsEqualToAlternativePoints.js +102 -2
  57. package/cypress/e2e/ILC/Matching/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +107 -2
  58. package/cypress/e2e/ILC/Matching/Scoring/blankResponseScoring.js +36 -2
  59. package/cypress/e2e/ILC/Matching/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +5 -0
  60. package/cypress/e2e/ILC/Matching/Scoring/manuallyAndNonScored.js +1 -0
  61. package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsScoringBasic.js +10 -1
  62. package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +128 -2
  63. package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +115 -2
  64. package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +128 -2
  65. package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsBasic.js +9 -1
  66. package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +115 -2
  67. package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +102 -2
  68. package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +115 -2
  69. package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +226 -2
  70. package/cypress/e2e/ILC/Matching/maximumCapacityPerDropzoneSection.js +9 -1
  71. package/cypress/e2e/ILC/MatchingDropdown/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +102 -2
  72. package/cypress/e2e/ILC/MatchingDropdown/Scoring/allOrNothingWithCorrectPointsEqualToAlternativePoints.js +102 -2
  73. package/cypress/e2e/ILC/MatchingDropdown/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +102 -2
  74. package/cypress/e2e/ILC/MatchingDropdown/Scoring/blankResponseScoring.js +32 -5
  75. package/cypress/e2e/ILC/MatchingDropdown/Scoring/manuallyAndNonScored.js +3 -0
  76. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsScoringBasic.js +10 -1
  77. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +128 -2
  78. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternatePoints.js +115 -2
  79. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternatePoints.js +128 -2
  80. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsBasic.js +9 -1
  81. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +115 -2
  82. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +102 -2
  83. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +115 -2
  84. package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +216 -2
  85. package/cypress/pages/components/correctIncorrectAnswerLabelComponent.js +18 -1
  86. package/cypress/pages/components/fillInTheGapsDragAndDropCommonComponents.js +1 -25
  87. package/cypress/pages/listOrderingPage.js +60 -1
  88. package/cypress/pages/matchingPage.js +23 -1
  89. package/package.json +1 -1
@@ -4,6 +4,7 @@ import abortEarlySetup from "../../../../support/helpers/abortEarly";
4
4
  let options = ['sprout', 'plant', 'flower', 'seed'];
5
5
  let correctAnswerArray = ['seed', 'sprout', 'plant', 'flower'];
6
6
  let alternateCorrectAnswerArray = ['seed', 'flower', 'sprout', 'plant'];
7
+ const alternativeAnswerCheck = Cypress.env('ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT');
7
8
 
8
9
  describe('Create Item page - List ordering: Partial different weights scoring with alternative answer - When alternative answer points are more than correct answer points', () => {
9
10
  before(() => {
@@ -41,6 +42,18 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
41
42
  listOrderingPage.steps.verifyIncorrectOptionIcon('sprout');
42
43
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists()
43
44
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(alternateCorrectAnswerArray);
45
+ if (alternativeAnswerCheck === 'true') {
46
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 4 pts, 9 pts, 10 pts, 6 pts)', 0);
47
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'flower', 'sprout', 'plant']);
48
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
49
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
50
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
51
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
52
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
53
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
54
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 7 pts, 5 pts, 4 pts, 8 pts)', 1);
55
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'sprout', 'plant', 'flower']);
56
+ }
44
57
  });
45
58
 
46
59
  it('When the user attempts the question with responses from the correct accordion, then the user should be awarded with points specified for correct accordion (less than full points) and on switching to \'Grading\' view, correct icons should be displayed beside all the correct responses, correct/incorrect status message and correct answer section should not be displayed', () => {
@@ -55,6 +68,9 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
55
68
  listOrderingPage.steps.verifyCorrectOptionIcon('plant');
56
69
  listOrderingPage.steps.verifyCorrectOptionIcon('flower');
57
70
  listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
71
+ if (alternativeAnswerCheck === 'true') {
72
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
73
+ }
58
74
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists()
59
75
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
60
76
  /*cy.log('When the user has attempted the question with responses from the correct accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, correct/incorrect status message and correct answer section should not be displayed')
@@ -80,6 +96,9 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
80
96
  listOrderingPage.steps.verifyCorrectOptionIcon('plant');
81
97
  listOrderingPage.steps.verifyCorrectOptionIcon('flower');
82
98
  listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
99
+ if (alternativeAnswerCheck === 'true') {
100
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
101
+ }
83
102
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists()
84
103
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
85
104
  /*cy.log('When the user has attempted the question with responses from the alternative accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, correct/incorrect status message and correct answer section should not be displayed')
@@ -105,6 +124,18 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
105
124
  listOrderingPage.steps.verifyIncorrectOptionIcon('seed');
106
125
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(alternateCorrectAnswerArray);
107
126
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists()
127
+ if (alternativeAnswerCheck === 'true') {
128
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 4 pts, 9 pts, 10 pts, 6 pts)', 0);
129
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'flower', 'sprout', 'plant']);
130
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
131
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
132
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
133
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
134
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
135
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
136
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 7 pts, 5 pts, 4 pts, 8 pts)', 1);
137
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'sprout', 'plant', 'flower']);
138
+ }
108
139
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
109
140
  /*cy.log('When the user has attempted the question with partially correct options exclusively from the correct accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, a status message should not be displayed and correct answer section should not be displayed')
110
141
  listOrderingPage.steps.checkAnswer()
@@ -129,6 +160,18 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
129
160
  listOrderingPage.steps.verifyIncorrectOptionIcon('seed');
130
161
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(alternateCorrectAnswerArray);
131
162
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists()
163
+ if (alternativeAnswerCheck === 'true') {
164
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 4 pts, 9 pts, 10 pts, 6 pts)', 0);
165
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'flower', 'sprout', 'plant']);
166
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
167
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
168
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
169
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
170
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
171
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
172
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 7 pts, 5 pts, 4 pts, 8 pts)', 1);
173
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'sprout', 'plant', 'flower']);
174
+ }
132
175
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
133
176
  /*cy.log('When the user has attempted the question with partially correct options exclusively from the alternative accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, no icon should be displayed beside unattempted response a status message should not be displayed and correct answer section should not be displayed')
134
177
  listOrderingPage.steps.checkAnswer()
@@ -154,6 +197,18 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
154
197
  listOrderingPage.steps.verifyIncorrectOptionIcon('plant');
155
198
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(alternateCorrectAnswerArray);
156
199
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists()
200
+ if (alternativeAnswerCheck === 'true') {
201
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 4 pts, 9 pts, 10 pts, 6 pts)', 0);
202
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'flower', 'sprout', 'plant']);
203
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
204
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
205
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
206
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
207
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
208
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
209
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 7 pts, 5 pts, 4 pts, 8 pts)', 1);
210
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'sprout', 'plant', 'flower']);
211
+ }
157
212
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
158
213
  /*cy.log('When the user has attempted the question with equal number of correct responses from correct and alternative accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, incorrect icon should be displayed beside incorrect responses correct/incorrect status message and correct answer section should not be displayed')
159
214
  listOrderingPage.steps.checkAnswer()
@@ -179,6 +234,18 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
179
234
  listOrderingPage.steps.verifyIncorrectOptionIcon('sprout');
180
235
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(alternateCorrectAnswerArray);
181
236
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists()
237
+ if (alternativeAnswerCheck === 'true') {
238
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 4 pts, 9 pts, 10 pts, 6 pts)', 0);
239
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'flower', 'sprout', 'plant']);
240
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
241
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
242
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
243
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
244
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
245
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
246
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 7 pts, 5 pts, 4 pts, 8 pts)', 1);
247
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'sprout', 'plant', 'flower']);
248
+ }
182
249
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
183
250
  /*cy.log('When the user has attempted the question with equal number of correct responses from correct and alternative accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, incorrect icon should be displayed beside incorrect responses correct/incorrect status message and correct answer section should not be displayed')
184
251
  listOrderingPage.steps.checkAnswer()
@@ -203,6 +270,18 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
203
270
  listOrderingPage.steps.verifyIncorrectOptionIcon('sprout');
204
271
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(alternateCorrectAnswerArray);
205
272
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists()
273
+ if (alternativeAnswerCheck === 'true') {
274
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 4 pts, 9 pts, 10 pts, 6 pts)', 0);
275
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'flower', 'sprout', 'plant']);
276
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
277
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
278
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
279
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
280
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
281
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
282
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 7 pts, 5 pts, 4 pts, 8 pts)', 1);
283
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'sprout', 'plant', 'flower']);
284
+ }
206
285
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
207
286
  /*cy.log('Race condition: When the user attempts the question with the common option between correct accordion and alternative accordion then on selecting the \'Check answer\' button the correct icon should be displayed beside the common option and red cross-marks should be displayed beside the incorrectly responses, correct/incorrect status message and correct answer section should not be displayed')
208
287
  listOrderingPage.steps.checkAnswer()
@@ -227,6 +306,18 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
227
306
  listOrderingPage.steps.verifyIncorrectOptionIcon('sprout');
228
307
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(alternateCorrectAnswerArray);
229
308
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists()
309
+ if (alternativeAnswerCheck === 'true') {
310
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 4 pts, 9 pts, 10 pts, 6 pts)', 0);
311
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'flower', 'sprout', 'plant']);
312
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
313
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
314
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
315
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
316
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
317
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
318
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 7 pts, 5 pts, 4 pts, 8 pts)', 1);
319
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'sprout', 'plant', 'flower']);
320
+ }
230
321
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
231
322
  /*cy.log('When user attempts the question incorrectly and clicks on the \'Check Answer\' button, then incorrect icons should be displayed beside all the options, incorrect icon should be displayed beside incorrect responses correct/incorrect status message and correct answer section should not be displayed')
232
323
  listOrderingPage.steps.checkAnswer();
@@ -265,6 +356,18 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
265
356
  listOrderingPage.steps.verifyIncorrectOptionIcon('sprout');
266
357
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(['sprout', 'plant', 'flower', 'fruit', 'seed']);
267
358
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists()
359
+ if (alternativeAnswerCheck === 'true') {
360
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 24 pts, 1 pt, 4 pts, 1 pt, 3 pts)', 0);
361
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['sprout', 'plant', 'flower', 'fruit', 'seed']);
362
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
363
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
364
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
365
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
366
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
367
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
368
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 14 pts, 2 pts, 1 pt, 2 pts, 3 pts)', 1);
369
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'sprout', 'plant', 'flower', 'fruit']);
370
+ }
268
371
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
269
372
  /*cy.log('Overachiever case: When the user has attempted the question with more number of correct options from the alternative accordion than the correct accordion, correct icons should be displayed for the correct accordion response, incorrect icon should be displayed for the alternative accordion options, correct/incorrect status message and correct answer section should not be displayed')
270
373
  listOrderingPage.steps.checkAnswer()
@@ -2,6 +2,7 @@ import { listOrderingPage } from "../../../../pages/listOrderingPage";
2
2
  import abortEarlySetup from "../../../../support/helpers/abortEarly";
3
3
  let options = ['sprout', 'plant', 'flower', 'seed'];
4
4
  let correctAnswerArray = ['seed', 'sprout', 'plant', 'flower'];
5
+ const alternativeAnswerCheck = Cypress.env('ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT');
5
6
 
6
7
  describe('Create Item page - List ordering: Preview tab scoring', () => {
7
8
  before(() => {
@@ -94,6 +95,9 @@ describe('Create Item page - List ordering: Preview tab scoring', () => {
94
95
  listOrderingPage.steps.verifyCorrectOptionIcon('plant');
95
96
  listOrderingPage.steps.verifyCorrectOptionIcon('flower');
96
97
  listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
98
+ if (alternativeAnswerCheck === 'true') {
99
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
100
+ }
97
101
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
98
102
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
99
103
  /*cy.log('When user attempts the question correctly and clicks on the \'Check Answer\' button, then correct icons should be displayed beside all the correct responses, correct/incorrect status message and correct answer section should not be displayed')
@@ -4,6 +4,7 @@ import abortEarlySetup from "../../../../support/helpers/abortEarly";
4
4
  let options = ['sprout', 'plant', 'flower', 'seed'];
5
5
  let correctAnswerArray = ['seed', 'sprout', 'plant', 'flower'];
6
6
  let alternateCorrectAnswerArray = ['seed', 'flower', 'sprout', 'plant'];
7
+ const alternativeAnswerCheck = Cypress.env('ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT');
7
8
 
8
9
  describe('Create Item page - List ordering: Partial different weights scoring with alternative answer - When alternative answer points are equal to correct answer points', () => {
9
10
  before(() => {
@@ -41,6 +42,18 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
41
42
  listOrderingPage.steps.verifyIncorrectOptionIcon('sprout');
42
43
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
43
44
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
45
+ if (alternativeAnswerCheck === 'true') {
46
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 7 pts, 5 pts, 4 pts, 8 pts)', 0);
47
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'sprout', 'plant', 'flower']);
48
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
49
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
50
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
51
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
52
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
53
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
54
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 6 pts, 9 pts, 5 pts, 4 pts)', 1);
55
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'flower', 'sprout', 'plant']);
56
+ }
44
57
  });
45
58
 
46
59
  it('When the user attempts the question with responses from the correct accordion, then the user should be awarded full points and on switching to \'Grading\' view, correct icons should be displayed beside all the correct responses, correct/incorrect status message and correct answer section should not be displayed', () => {
@@ -56,6 +69,9 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
56
69
  listOrderingPage.steps.verifyCorrectOptionIcon('flower');
57
70
  listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
58
71
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
72
+ if (alternativeAnswerCheck === 'true') {
73
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
74
+ }
59
75
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
60
76
  /*cy.log('When the user has attempted the question with responses from the correct accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, correct/incorrect status message and correct answer section should not be displayed')
61
77
  listOrderingPage.steps.checkAnswer()
@@ -81,6 +97,9 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
81
97
  listOrderingPage.steps.verifyCorrectOptionIcon('flower');
82
98
  listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
83
99
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
100
+ if (alternativeAnswerCheck === 'true') {
101
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
102
+ }
84
103
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
85
104
  /*cy.log('When the user has attempted the question with responses from the alternative accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, correct/incorrect status message and correct answer section should not be displayed')
86
105
  listOrderingPage.steps.checkAnswer()
@@ -105,6 +124,18 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
105
124
  listOrderingPage.steps.verifyIncorrectOptionIcon('seed');
106
125
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
107
126
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
127
+ if (alternativeAnswerCheck === 'true') {
128
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 7 pts, 5 pts, 4 pts, 8 pts)', 0);
129
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'sprout', 'plant', 'flower']);
130
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
131
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
132
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
133
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
134
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
135
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
136
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 6 pts, 9 pts, 5 pts, 4 pts)', 1);
137
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'flower', 'sprout', 'plant']);
138
+ }
108
139
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
109
140
  /*cy.log('When the user has attempted the question with partially correct options exclusively from the correct accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, correct/incorrect status message and correct answer section should not be displayed')
110
141
  listOrderingPage.steps.checkAnswer()
@@ -129,6 +160,18 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
129
160
  listOrderingPage.steps.verifyIncorrectOptionIcon('seed');
130
161
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
131
162
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
163
+ if (alternativeAnswerCheck === 'true') {
164
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 7 pts, 5 pts, 4 pts, 8 pts)', 0);
165
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'sprout', 'plant', 'flower']);
166
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
167
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
168
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
169
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
170
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
171
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
172
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 6 pts, 9 pts, 5 pts, 4 pts)', 1);
173
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'flower', 'sprout', 'plant']);
174
+ }
132
175
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
133
176
  /*cy.log('When the user has attempted the question with partially correct options exclusively from the alternative accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, correct/incorrect status message and correct answer section should not be displayed')
134
177
  listOrderingPage.steps.checkAnswer()
@@ -154,6 +197,18 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
154
197
  listOrderingPage.steps.verifyIncorrectOptionIcon('plant');
155
198
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
156
199
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
200
+ if (alternativeAnswerCheck === 'true') {
201
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 7 pts, 5 pts, 4 pts, 8 pts)', 0);
202
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'sprout', 'plant', 'flower']);
203
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
204
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
205
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
206
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
207
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
208
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
209
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 6 pts, 9 pts, 5 pts, 4 pts)', 1);
210
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'flower', 'sprout', 'plant']);
211
+ }
157
212
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
158
213
  /*cy.log('When the user has attempted the question with equal number of correct responses from correct and alternative accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, incorrect icon should be displayed beside incorrect responses correct/incorrect status message and correct answer section should not be displayed')
159
214
  listOrderingPage.steps.checkAnswer()
@@ -179,6 +234,18 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
179
234
  listOrderingPage.steps.verifyIncorrectOptionIcon('sprout');
180
235
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
181
236
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
237
+ if (alternativeAnswerCheck === 'true') {
238
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 7 pts, 5 pts, 4 pts, 8 pts)', 0);
239
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'sprout', 'plant', 'flower']);
240
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
241
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
242
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
243
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
244
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
245
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
246
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 6 pts, 9 pts, 5 pts, 4 pts)', 1);
247
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'flower', 'sprout', 'plant']);
248
+ }
182
249
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
183
250
  /*cy.log('When the user has attempted the question with equal number of correct responses from correct and alternative accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, incorrect icon should be displayed beside incorrect responses correct/incorrect status message and correct answer section should not be displayed')
184
251
  listOrderingPage.steps.checkAnswer()
@@ -203,6 +270,18 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
203
270
  listOrderingPage.steps.verifyIncorrectOptionIcon('sprout');
204
271
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
205
272
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
273
+ if (alternativeAnswerCheck === 'true') {
274
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 7 pts, 5 pts, 4 pts, 8 pts)', 0);
275
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'sprout', 'plant', 'flower']);
276
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
277
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
278
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
279
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
280
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
281
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
282
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 6 pts, 9 pts, 5 pts, 4 pts)', 1);
283
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'flower', 'sprout', 'plant']);
284
+ }
206
285
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
207
286
  /*cy.log('Race condition: When the user attempts the question with the common option between correct accordion and alternative accordion then on selecting the \'Check answer\' button the correct icon should be displayed beside the common option and incorrect should be displayed beside the incorrect responses, correct/incorrect status message and correct answer section should not be displayed')
208
287
  listOrderingPage.steps.checkAnswer();
@@ -227,6 +306,18 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
227
306
  listOrderingPage.steps.verifyIncorrectOptionIcon('sprout');
228
307
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
229
308
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
309
+ if (alternativeAnswerCheck === 'true') {
310
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 7 pts, 5 pts, 4 pts, 8 pts)', 0);
311
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'sprout', 'plant', 'flower']);
312
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
313
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
314
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
315
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
316
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
317
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
318
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 6 pts, 9 pts, 5 pts, 4 pts)', 1);
319
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'flower', 'sprout', 'plant']);
320
+ }
230
321
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
231
322
  /*cy.log('When user attempts the question incorrectly and clicks on the \'Check Answer\' button, then incorrect icons should be displayed beside all the options, correct/incorrect status message and correct answer section should not be displayed')
232
323
  listOrderingPage.steps.checkAnswer();
@@ -262,6 +353,18 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
262
353
  listOrderingPage.steps.verifyIncorrectOptionIcon('fruit');
263
354
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(['seed', 'sprout', 'plant', 'flower', 'fruit']);
264
355
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
356
+ if (alternativeAnswerCheck === 'true') {
357
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 24 pts, 1 pt, 4 pts, 1 pt, 3 pts)', 0);
358
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'sprout', 'plant', 'flower', 'fruit']);
359
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
360
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
361
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
362
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
363
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
364
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
365
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 22 pts, 6 pts, 1 pt, 1 pt, 3 pts)', 1);
366
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['sprout', 'plant', 'flower', 'fruit', 'seed']);
367
+ }
265
368
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
266
369
  /*cy.log('Overachiever case: When the user has attempted the question with more number of correct options from the correct accordion than the alternative accordion, correct icons should be displayed for the alternative accordion response, incorrect icon should be displayed for the correct accordion options, correct/incorrect status message and correct answer section should not be displayed')
267
370
  listOrderingPage.steps.checkAnswer();
@@ -4,6 +4,7 @@ import abortEarlySetup from "../../../../support/helpers/abortEarly";
4
4
  let options = ['sprout', 'plant', 'flower', 'seed'];
5
5
  let correctAnswerArray = ['seed', 'sprout', 'plant', 'flower'];
6
6
  let alternateCorrectAnswerArray = ['seed', 'flower', 'sprout', 'plant'];
7
+ const alternativeAnswerCheck = Cypress.env('ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT');
7
8
 
8
9
  describe('Create Item page - List ordering: Partial different weights scoring with alternative answer - When correct answer points are more than alternative answer points', () => {
9
10
  before(() => {
@@ -41,6 +42,18 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
41
42
  listOrderingPage.steps.verifyIncorrectOptionIcon('sprout');
42
43
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
43
44
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
45
+ if (alternativeAnswerCheck === 'true') {
46
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 7 pts, 5 pts, 4 pts, 8 pts)', 0);
47
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'sprout', 'plant', 'flower']);
48
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
49
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
50
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
51
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
52
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
53
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
54
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 6 pts, 3 pts, 2 pts, 9 pts)', 1);
55
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'flower', 'sprout', 'plant']);
56
+ }
44
57
  });
45
58
 
46
59
  it('When the user attempts the question with responses from the correct accordion, then the user should be awarded full points and on switching to \'Grading\' view, correct icons should be displayed beside all the correct responses, correct/incorrect status message and correct answer section should not be displayed', () => {
@@ -56,6 +69,9 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
56
69
  listOrderingPage.steps.verifyCorrectOptionIcon('flower');
57
70
  listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
58
71
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
72
+ if (alternativeAnswerCheck === 'true') {
73
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
74
+ }
59
75
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
60
76
  /*cy.log('When the user has attempted the question with responses from the correct accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, correct/incorrect status message and correct answer section should not be displayed')
61
77
  listOrderingPage.steps.checkAnswer()
@@ -81,6 +97,9 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
81
97
  listOrderingPage.steps.verifyCorrectOptionIcon('flower');
82
98
  listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
83
99
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
100
+ if (alternativeAnswerCheck === 'true') {
101
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
102
+ }
84
103
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
85
104
  /*cy.log('When the user has attempted the question with responses from the alternative accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, correct/incorrect status message and correct answer section should not be displayed')
86
105
  listOrderingPage.steps.checkAnswer()
@@ -105,6 +124,18 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
105
124
  listOrderingPage.steps.verifyIncorrectOptionIcon('seed');
106
125
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
107
126
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
127
+ if (alternativeAnswerCheck === 'true') {
128
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 7 pts, 5 pts, 4 pts, 8 pts)', 0);
129
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'sprout', 'plant', 'flower']);
130
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
131
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
132
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
133
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
134
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
135
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
136
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 6 pts, 3 pts, 2 pts, 9 pts)', 1);
137
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'flower', 'sprout', 'plant']);
138
+ }
108
139
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
109
140
  /*cy.log('When the user has attempted the question with partially correct options exclusively from the correct accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, correct/incorrect status message and correct answer section should not be displayed')
110
141
  listOrderingPage.steps.checkAnswer()
@@ -129,6 +160,18 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
129
160
  listOrderingPage.steps.verifyIncorrectOptionIcon('seed');
130
161
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
131
162
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
163
+ if (alternativeAnswerCheck === 'true') {
164
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 7 pts, 5 pts, 4 pts, 8 pts)', 0);
165
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'sprout', 'plant', 'flower']);
166
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
167
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
168
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
169
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
170
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
171
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
172
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 6 pts, 3 pts, 2 pts, 9 pts)', 1);
173
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'flower', 'sprout', 'plant']);
174
+ }
132
175
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
133
176
  /*cy.log('When the user has attempted the question with partially correct options exclusively from the alternative accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, correct/incorrect status message and correct answer section should not be displayed')
134
177
  listOrderingPage.steps.checkAnswer()
@@ -154,6 +197,18 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
154
197
  listOrderingPage.steps.verifyIncorrectOptionIcon('sprout');
155
198
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
156
199
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
200
+ if (alternativeAnswerCheck === 'true') {
201
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 7 pts, 5 pts, 4 pts, 8 pts)', 0);
202
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'sprout', 'plant', 'flower']);
203
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
204
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
205
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
206
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
207
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
208
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
209
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 6 pts, 3 pts, 2 pts, 9 pts)', 1);
210
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'flower', 'sprout', 'plant']);
211
+ }
157
212
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
158
213
  /*cy.log('When the user has attempted the question with equal number of correct responses from correct and alternative accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, incorrect icon should be displayed beside incorrect responses correct/incorrect status message and correct answer section should not be displayed')
159
214
  listOrderingPage.steps.checkAnswer()
@@ -179,6 +234,18 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
179
234
  listOrderingPage.steps.verifyCorrectOptionIcon('plant');
180
235
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
181
236
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
237
+ if (alternativeAnswerCheck === 'true') {
238
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 7 pts, 5 pts, 4 pts, 8 pts)', 0);
239
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'sprout', 'plant', 'flower']);
240
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
241
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
242
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
243
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
244
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
245
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
246
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 6 pts, 3 pts, 2 pts, 9 pts)', 1);
247
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'flower', 'sprout', 'plant']);
248
+ }
182
249
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
183
250
  /*cy.log('When the user has attempted the question with equal number of correct responses from correct and alternative accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, incorrect icon should be displayed beside incorrect responses correct/incorrect status message and correct answer section should not be displayed')
184
251
  listOrderingPage.steps.checkAnswer()
@@ -203,6 +270,18 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
203
270
  listOrderingPage.steps.verifyIncorrectOptionIcon('sprout');
204
271
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
205
272
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
273
+ if (alternativeAnswerCheck === 'true') {
274
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 7 pts, 5 pts, 4 pts, 8 pts)', 0);
275
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'sprout', 'plant', 'flower']);
276
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
277
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
278
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
279
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
280
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
281
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
282
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 6 pts, 3 pts, 2 pts, 9 pts)', 1);
283
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'flower', 'sprout', 'plant']);
284
+ }
206
285
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
207
286
  /*cy.log('Race condition: When the user attempts the question with the common option between correct accordion and alternative accordion then on selecting the \'Check answer\' button the correct icon should be displayed beside the common option and incorrect should be displayed beside the incorrectly ordered options, correct/incorrect status message and correct answer section should not be displayed')
208
287
  listOrderingPage.steps.checkAnswer();
@@ -227,6 +306,18 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
227
306
  listOrderingPage.steps.verifyIncorrectOptionIcon('sprout');
228
307
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
229
308
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
309
+ if (alternativeAnswerCheck === 'true') {
310
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 7 pts, 5 pts, 4 pts, 8 pts)', 0);
311
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'sprout', 'plant', 'flower']);
312
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
313
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
314
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
315
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
316
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
317
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
318
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 6 pts, 3 pts, 2 pts, 9 pts)', 1);
319
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'flower', 'sprout', 'plant']);
320
+ }
230
321
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
231
322
  /*cy.log('When user attempts the question incorrectly and clicks on the \'Check Answer\' button, then incorrect icons should be displayed beside all the options, correct/incorrect status message and correct answer section should not be displayed')
232
323
  listOrderingPage.steps.checkAnswer();
@@ -263,6 +354,18 @@ describe('Create Item page - List ordering: Partial different weights scoring wi
263
354
  listOrderingPage.steps.verifyIncorrectOptionIcon('fruit');
264
355
  listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(['seed', 'sprout', 'plant', 'flower', 'fruit']);
265
356
  listOrderingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
357
+ if (alternativeAnswerCheck === 'true') {
358
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 24 pts, 1 pt, 4 pts, 1 pt, 3 pts)', 0);
359
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'sprout', 'plant', 'flower', 'fruit']);
360
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
361
+ listOrderingPage.steps.disableShowAlternativeAnswersToggle();
362
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
363
+ listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
364
+ listOrderingPage.steps.clickShowAlternativeAnswersToggle();
365
+ listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
366
+ listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 14 pts, 2 pts, 1 pt, 2 pts, 3 pts)', 1);
367
+ listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['sprout', 'plant', 'flower', 'fruit', 'seed']);
368
+ }
266
369
  listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
267
370
  /*cy.log('Overachiever case: When the user has attempted the question with more number of correct options from the correct accordion than the alternative accordion, correct icons should be displayed for the alternative accordion response, incorrect icon should be displayed for the correct accordion options, correct/incorrect status message and correct answer section should not be displayed')
268
371
  listOrderingPage.steps.checkAnswer();