itemengine-cypress-automation 1.0.583-IEI-7046-3e4646d.0 → 1.0.583-IEI-7048-71a8251.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 (85) hide show
  1. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +8 -123
  2. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +8 -123
  3. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +14 -131
  4. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perCorrectOptionAlternativePointsGreaterThanCorrectPoints.js +9 -138
  5. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perCorrectOptionCorrectPointsEqualToAlternativePoints.js +9 -138
  6. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perCorrectOptionCorrectPointsGreaterThanAlternativePoints.js +10 -153
  7. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneAlternativePointsGreaterThanCorrectPoints.js +9 -138
  8. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneCorrectPointsEqualToAlternativePoints.js +7 -108
  9. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneCorrectPointsGreaterThanAlternativePoints.js +9 -138
  10. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +1 -272
  11. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +77 -0
  12. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +78 -1
  13. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +78 -1
  14. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +104 -9
  15. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsBasic.js +4 -0
  16. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +95 -0
  17. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +95 -0
  18. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +84 -0
  19. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +4 -0
  20. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +73 -0
  21. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +84 -0
  22. package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +187 -2
  23. package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +79 -1
  24. package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +79 -0
  25. package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +79 -0
  26. package/cypress/e2e/ILC/ListOrderingNew/Scoring/manuallyAndNonScored.js +4 -0
  27. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +103 -0
  28. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsBasic.js +4 -0
  29. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +103 -0
  30. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +103 -0
  31. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +91 -0
  32. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsBasic.js +4 -0
  33. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +79 -0
  34. package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +91 -0
  35. package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +209 -5
  36. package/cypress/e2e/ILC/ListOrderingNew/horizontalOrientationAllOrNothingForAllViews.smoke.js +195 -1
  37. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/HorizontalOrientation/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +103 -0
  38. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +85 -0
  39. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +82 -0
  40. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +85 -0
  41. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +109 -6
  42. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialDifferentWeightsBasic.js +4 -0
  43. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +103 -0
  44. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +103 -0
  45. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +91 -0
  46. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialEqualWeightsBasic.js +4 -0
  47. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +79 -0
  48. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +91 -0
  49. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/allOrNothingForAllViews.smoke.js +203 -3
  50. package/cypress/e2e/ILC/Matching/Scoring/allOrNothingGroupedScoring.js +9 -1
  51. package/cypress/e2e/ILC/Matching/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +102 -2
  52. package/cypress/e2e/ILC/Matching/Scoring/allOrNothingWithCorrectPointsEqualToAlternativePoints.js +102 -2
  53. package/cypress/e2e/ILC/Matching/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +107 -2
  54. package/cypress/e2e/ILC/Matching/Scoring/blankResponseScoring.js +36 -2
  55. package/cypress/e2e/ILC/Matching/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +5 -0
  56. package/cypress/e2e/ILC/Matching/Scoring/manuallyAndNonScored.js +1 -0
  57. package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsScoringBasic.js +10 -1
  58. package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +128 -2
  59. package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +115 -2
  60. package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +128 -2
  61. package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsBasic.js +9 -1
  62. package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +115 -2
  63. package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +102 -2
  64. package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +115 -2
  65. package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +226 -2
  66. package/cypress/e2e/ILC/Matching/maximumCapacityPerDropzoneSection.js +9 -1
  67. package/cypress/e2e/ILC/MatchingDropdown/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +102 -2
  68. package/cypress/e2e/ILC/MatchingDropdown/Scoring/allOrNothingWithCorrectPointsEqualToAlternativePoints.js +102 -2
  69. package/cypress/e2e/ILC/MatchingDropdown/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +102 -2
  70. package/cypress/e2e/ILC/MatchingDropdown/Scoring/blankResponseScoring.js +32 -5
  71. package/cypress/e2e/ILC/MatchingDropdown/Scoring/manuallyAndNonScored.js +3 -0
  72. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsScoringBasic.js +10 -1
  73. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +128 -2
  74. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternatePoints.js +115 -2
  75. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternatePoints.js +128 -2
  76. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsBasic.js +9 -1
  77. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +115 -2
  78. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +102 -2
  79. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +115 -2
  80. package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +216 -2
  81. package/cypress/pages/components/correctIncorrectAnswerLabelComponent.js +18 -1
  82. package/cypress/pages/dragAndDropIntoCategoriesPage.js +0 -38
  83. package/cypress/pages/listOrderingPage.js +60 -1
  84. package/cypress/pages/matchingPage.js +23 -1
  85. package/package.json +1 -1
@@ -1,6 +1,8 @@
1
1
  import { dialogBoxBase, matchingPage, studentViewPage, itemPreviewPage, gradingViewPage } from "../../../../pages";
2
2
  import abortEarlySetup from "../../../../support/helpers/abortEarly";
3
3
  import utilities from "../../../../support/helpers/utilities";
4
+
5
+ const alternativeAnswerCheck = Cypress.env('ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT');
4
6
  const promptTextArray = ['Wild', 'Aquatic', 'Pet'];
5
7
  const optionsArray = ['Cat', 'Elephant', 'Fish', 'Bear', 'Eagle', 'Penguin'];
6
8
 
@@ -32,6 +34,9 @@ describe('Create item page - Matching: Scoring for blank responses', () => {
32
34
  matchingPage.steps.verifyDropzoneNumeration();
33
35
  matchingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
34
36
  matchingPage.steps.verifyCorrectAnswerSectionNotExists();
37
+ if (alternativeAnswerCheck === 'true') {
38
+ matchingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
39
+ }
35
40
  });
36
41
 
37
42
  it('When the user has not set any answer in the \'Specify correct answer\' section and interacts with the question in the preview tab then correct icons should be displayed beside all the responses, full points should be allocated and correct answer section should not be displayed', () => {
@@ -44,6 +49,9 @@ describe('Create item page - Matching: Scoring for blank responses', () => {
44
49
  matchingPage.steps.verifyCorrectIncorrectIconNotExist(1);
45
50
  matchingPage.steps.verifyCorrectIncorrectIconNotExist(2);
46
51
  matchingPage.steps.verifyCorrectAnswerSectionNotExists();
52
+ if (alternativeAnswerCheck === 'true') {
53
+ matchingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
54
+ }
47
55
  });
48
56
 
49
57
  it('When the user has not set any answer in the \'Specify correct answer\' section and enters incorrect response in any response in the preview tab then correct icons should be displayed beside the empty responses, incorrect icons should be displayed beside incorrect responses, no points should be allocated and correct answer section should be displayed', () => {
@@ -55,6 +63,9 @@ describe('Create item page - Matching: Scoring for blank responses', () => {
55
63
  matchingPage.steps.verifyCorrectIncorrectIconNotExist(1);
56
64
  matchingPage.steps.verifyCorrectIncorrectIconNotExist(2);
57
65
  matchingPage.steps.verifyCorrectAnswerSectionNotExists();
66
+ if (alternativeAnswerCheck === 'true') {
67
+ matchingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
68
+ }
58
69
  });
59
70
 
60
71
  it('When the user sets an partial blank answer in the \'Specify correct answer\' section then on switching to \'Grading\' view without attempting the question, dropzone numeration should be displayed, correct/incorrect status message should not be displayed, correct answers section with a label \'Correct answers\' should be displayed with correct answers and respective option numeration', () => {
@@ -67,7 +78,11 @@ describe('Create item page - Matching: Scoring for blank responses', () => {
67
78
  matchingPage.steps.verifyCorrectIncorrectIconNotExist(1);
68
79
  matchingPage.steps.verifyCorrectIncorrectIconNotExist(2);
69
80
  matchingPage.steps.verifyDropzoneNumeration();
70
- matchingPage.steps.verifyCorrectAnswerSectionLabel();
81
+ if (alternativeAnswerCheck === 'true') {
82
+ matchingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(10 points)', 0);
83
+ } else {
84
+ matchingPage.steps.verifyCorrectAnswerSectionLabel();
85
+ }
71
86
  matchingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
72
87
  matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], [''], ['Cat']]);
73
88
  });
@@ -120,6 +135,9 @@ describe('Create item page - Matching: Scoring for blank responses', () => {
120
135
  matchingPage.steps.verifyCorrectOptionIcon(2);
121
136
  matchingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
122
137
  matchingPage.steps.verifyCorrectAnswerSectionNotExists();
138
+ if (alternativeAnswerCheck === 'true') {
139
+ matchingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
140
+ }
123
141
  });
124
142
  });
125
143
 
@@ -146,6 +164,9 @@ describe('Create item page - Matching: Scoring for blank responses', () => {
146
164
  matchingPage.steps.verifyDropzoneNumeration();
147
165
  matchingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
148
166
  matchingPage.steps.verifyCorrectAnswerSectionNotExists();
167
+ if (alternativeAnswerCheck === 'true') {
168
+ matchingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
169
+ }
149
170
  });
150
171
 
151
172
  it('When the user has not set any answer in the \'Specify correct answer\' section and interacts with the question in the preview tab then correct icons should be displayed beside all the responses, full points should be allocated and correct answer section should not be displayed', () => {
@@ -158,6 +179,9 @@ describe('Create item page - Matching: Scoring for blank responses', () => {
158
179
  matchingPage.steps.verifyCorrectIncorrectIconNotExist(1);
159
180
  matchingPage.steps.verifyCorrectIncorrectIconNotExist(2);
160
181
  matchingPage.steps.verifyCorrectAnswerSectionNotExists();
182
+ if (alternativeAnswerCheck === 'true') {
183
+ matchingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
184
+ }
161
185
  });
162
186
 
163
187
  it('When the user has not set any answer in the \'Specify correct answer\' section and enters incorrect response in any response in the preview tab then correct icons should be displayed beside the empty responses, incorrect icons should be displayed beside incorrect responses, points for the correct answers should be allocated and correct answer section should be displayed', () => {
@@ -170,6 +194,9 @@ describe('Create item page - Matching: Scoring for blank responses', () => {
170
194
  matchingPage.steps.verifyCorrectIncorrectIconNotExist(2);
171
195
  matchingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
172
196
  matchingPage.steps.verifyCorrectAnswerSectionNotExists();
197
+ if (alternativeAnswerCheck === 'true') {
198
+ matchingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
199
+ }
173
200
  });
174
201
 
175
202
  it('When the user sets an partial blank answer in the \'Specify correct answer\' section then on switching to \'Grading\' view without attempting the question, dropzone numeration should be displayed, correct/incorrect status message should not be displayed, correct answers section with a label \'Correct answers\' should be displayed with correct answers and respective option numeration', () => {
@@ -182,7 +209,11 @@ describe('Create item page - Matching: Scoring for blank responses', () => {
182
209
  matchingPage.steps.verifyCorrectIncorrectIconNotExist(2);
183
210
  matchingPage.steps.switchToGradingView();
184
211
  matchingPage.steps.verifyDropzoneNumeration();
185
- matchingPage.steps.verifyCorrectAnswerSectionLabel();
212
+ if (alternativeAnswerCheck === 'true') {
213
+ matchingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response - 8 pts)', 0);
214
+ } else {
215
+ matchingPage.steps.verifyCorrectAnswerSectionLabel();
216
+ }
186
217
  matchingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
187
218
  matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], [''], ['Cat']]);
188
219
  });
@@ -231,6 +262,9 @@ describe('Create item page - Matching: Scoring for blank responses', () => {
231
262
  matchingPage.steps.verifyCorrectIncorrectIconNotExist(1);
232
263
  matchingPage.steps.verifyCorrectOptionIcon(2);
233
264
  matchingPage.steps.verifyCorrectAnswerSectionNotExists();
265
+ if (alternativeAnswerCheck === 'true') {
266
+ matchingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
267
+ }
234
268
  });
235
269
  });
236
270
  });
@@ -1,6 +1,8 @@
1
1
  import { matchingPage } from "../../../../pages";
2
2
  import abortEarlySetup from "../../../../support/helpers/abortEarly";
3
3
 
4
+ const alternativeAnswerCheck = Cypress.env('ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT');
5
+
4
6
  describe('Create Item page - Matching', () => {
5
7
  before(() => {
6
8
  cy.loginAs('admin');
@@ -69,6 +71,9 @@ describe('Create Item page - Matching', () => {
69
71
  matchingPage.steps.switchToGradingView();
70
72
  matchingPage.steps.verifyAnswerStatusBannerExist();
71
73
  matchingPage.steps.verifyCorrectAnswerSectionNotExists();
74
+ if (alternativeAnswerCheck === 'true') {
75
+ matchingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
76
+ }
72
77
  });
73
78
  });
74
79
 
@@ -1,6 +1,7 @@
1
1
  import { matchingPage } from "../../../../pages";
2
2
  import abortEarlySetup from "../../../../support/helpers/abortEarly";
3
3
  import utilities from "../../../../support/helpers/utilities";
4
+ const alternativeAnswerCheck = Cypress.env('ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT');
4
5
  const promptTextArray = ['Wild', 'Aquatic', 'Pet'];
5
6
  const optionsArray = ['Cat', 'Elephant', 'Fish', 'Bear', 'Eagle', 'Penguin'];
6
7
 
@@ -1,6 +1,8 @@
1
1
  import { matchingPage } from "../../../../pages";
2
2
  import abortEarlySetup from "../../../../support/helpers/abortEarly";
3
3
  import utilities from "../../../../support/helpers/utilities";
4
+
5
+ const alternativeAnswerCheck = Cypress.env('ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT');
4
6
  const promptTextArray = ['Wild', 'Aquatic', 'Pet'];
5
7
  const optionsArray = ['Cat', 'Elephant', 'Fish', 'Bear', 'Eagle', 'Penguin'];
6
8
 
@@ -30,7 +32,11 @@ describe('Create item page - Matching: Partial different weights', () => {
30
32
  matchingPage.steps.switchToGradingView();
31
33
  matchingPage.steps.verifyPreviewTabPointsBackgroundForIncorrectOrPartiallyCorrectAnswer();
32
34
  matchingPage.steps.verifyDropzoneNumeration();
33
- utilities.verifyInnerText(matchingPage.correctAnswersLabel(), 'Correct answers');
35
+ if(alternativeAnswerCheck === 'true') {
36
+ matchingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 9 pts, 6 pts, 5 pts)', 0);
37
+ } else {
38
+ utilities.verifyInnerText(matchingPage.correctAnswersLabel(), 'Correct answers');
39
+ }
34
40
  matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
35
41
  });
36
42
 
@@ -104,6 +110,9 @@ describe('Create item page - Matching: Partial different weights', () => {
104
110
  matchingPage.steps.verifyCorrectOptionIcon(2);
105
111
  matchingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
106
112
  matchingPage.steps.verifyCorrectAnswerSectionNotExists();
113
+ if (alternativeAnswerCheck === 'true') {
114
+ matchingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
115
+ }
107
116
  matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
108
117
  /*cy.log('When the user attempts the question with all the responses correctly attempted and clicks on \'Check answer\' green check-mark should be displayed besides the correct answer responses, a status message should not be displayed and correct answer section should not be displayed')
109
118
  matchingPage.steps.checkAnswer();
@@ -2,6 +2,7 @@ import { matchingPage } from "../../../../pages";
2
2
  import abortEarlySetup from "../../../../support/helpers/abortEarly";
3
3
  import utilities from "../../../../support/helpers/utilities";
4
4
  const css = Cypress.env('css');
5
+ const alternativeAnswerCheck = Cypress.env('ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT');
5
6
  const promptTextArray = ['Wild', 'Aquatic', 'Pet'];
6
7
  const optionsArray = ['Cat', 'Elephant', 'Fish', 'Bear', 'Eagle', 'Penguin'];
7
8
 
@@ -32,8 +33,23 @@ describe('Create item page - Matching: Partial different weights', () => {
32
33
  it('When the user selects \'Grading\' view without attempting the question, dropzone numeration should be displayed, correct answers section with a label \'Correct answers\' should be displayed with correct answers from the correct accordion and respective dropzone numeration', () => {
33
34
  matchingPage.steps.switchToGradingView();
34
35
  matchingPage.steps.verifyDropzoneNumeration();
35
- utilities.verifyInnerText(matchingPage.correctAnswersLabel(), 'Correct answers');
36
- matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bear'], ['Penguin'], ['Cat']]);
36
+ if (alternativeAnswerCheck === 'true') {
37
+ matchingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 4 pts, 5 pts, 6 pts)', 0);
38
+ matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bear'], ['Penguin'], ['Cat']]);
39
+ matchingPage.steps.verifyShowAlternativeAnswersToggleExists();
40
+ matchingPage.steps.disableShowAlternativeAnswersToggle();
41
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
42
+ matchingPage.steps.verifyAlternativeAnswersSectionNotExist();
43
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
44
+ matchingPage.steps.verifyShowAlternativeAnswersToggleChecked();
45
+ matchingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 1 pt, 5 pts, 7 pts)', 1);
46
+ matchingPage.steps.verifyAlternativeAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']], 1);
47
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
48
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
49
+ } else {
50
+ utilities.verifyInnerText(matchingPage.correctAnswersLabel(), 'Correct answers');
51
+ matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bear'], ['Penguin'], ['Cat']]);
52
+ }
37
53
  });
38
54
 
39
55
  it('When the user attempts the question with responses from the correct accordion, then the user should be awarded points of the correct accordion (less than full points) and on switching to \'Grading\' view, green check-marks should be displayed beside all the correct responses, status message and correct answer section should not be displayed', () => {
@@ -46,6 +62,9 @@ describe('Create item page - Matching: Partial different weights', () => {
46
62
  matchingPage.steps.verifyCorrectOptionIcon(2);
47
63
  matchingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
48
64
  matchingPage.steps.verifyCorrectAnswerSectionNotExists();
65
+ if (alternativeAnswerCheck === 'true') {
66
+ matchingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
67
+ }
49
68
  matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
50
69
  /*cy.log('When the user has attempted the question with responses from the correct accordion and clicks on \'Check answer\' button, then green check-mark should be displayed besides the correct answer responses, status message and correct answer section should not be displayed')
51
70
  matchingPage.steps.checkAnswer();
@@ -66,6 +85,9 @@ describe('Create item page - Matching: Partial different weights', () => {
66
85
  matchingPage.steps.verifyCorrectOptionIcon(2);
67
86
  matchingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
68
87
  matchingPage.steps.verifyCorrectAnswerSectionNotExists();
88
+ if (alternativeAnswerCheck === 'true') {
89
+ matchingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
90
+ }
69
91
  matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
70
92
  /*cy.log('When the user has attempted the question with responses from the alternative accordion and clicks on \'Check answer\' button, then green check-mark should be displayed besides the correct answer responses, status message and correct answer section should not be displayed')
71
93
  matchingPage.steps.checkAnswer();
@@ -86,6 +108,19 @@ describe('Create item page - Matching: Partial different weights', () => {
86
108
  matchingPage.steps.verifyIncorrectOptionIconForEmptyOption(2);
87
109
  matchingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
88
110
  matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bear'], ['Penguin'], ['Cat']]);
111
+ if (alternativeAnswerCheck === 'true') {
112
+ matchingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 4 pts, 5 pts, 6 pts)', 0);
113
+ matchingPage.steps.verifyShowAlternativeAnswersToggleExists();
114
+ matchingPage.steps.disableShowAlternativeAnswersToggle();
115
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
116
+ matchingPage.steps.verifyAlternativeAnswersSectionNotExist();
117
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
118
+ matchingPage.steps.verifyShowAlternativeAnswersToggleChecked();
119
+ matchingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 1 pt, 5 pts, 7 pts)', 1);
120
+ matchingPage.steps.verifyAlternativeAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']], 1);
121
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
122
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
123
+ }
89
124
  matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
90
125
  /*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 green check-mark should be displayed besides the correct answer responses, status message and correct answer section should not be displayed')
91
126
  matchingPage.steps.checkAnswer();
@@ -106,6 +141,19 @@ describe('Create item page - Matching: Partial different weights', () => {
106
141
  matchingPage.steps.verifyIncorrectOptionIconForEmptyOption(2);
107
142
  matchingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
108
143
  matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bear'], ['Penguin'], ['Cat']]);
144
+ if (alternativeAnswerCheck === 'true') {
145
+ matchingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 4 pts, 5 pts, 6 pts)', 0);
146
+ matchingPage.steps.verifyShowAlternativeAnswersToggleExists();
147
+ matchingPage.steps.disableShowAlternativeAnswersToggle();
148
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
149
+ matchingPage.steps.verifyAlternativeAnswersSectionNotExist();
150
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
151
+ matchingPage.steps.verifyShowAlternativeAnswersToggleChecked();
152
+ matchingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 1 pt, 5 pts, 7 pts)', 1);
153
+ matchingPage.steps.verifyAlternativeAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']], 1);
154
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
155
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
156
+ }
109
157
  matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
110
158
  /*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 green check-mark should be displayed besides the correct answer responses, no icon should be displayed beside unattempted response status message and correct answer section should not be displayed')
111
159
  matchingPage.steps.checkAnswer();
@@ -126,6 +174,19 @@ describe('Create item page - Matching: Partial different weights', () => {
126
174
  matchingPage.steps.verifyCorrectOptionIcon(2);
127
175
  matchingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
128
176
  matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bear'], ['Penguin'], ['Cat']]);
177
+ if (alternativeAnswerCheck === 'true') {
178
+ matchingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 4 pts, 5 pts, 6 pts)', 0);
179
+ matchingPage.steps.verifyShowAlternativeAnswersToggleExists();
180
+ matchingPage.steps.disableShowAlternativeAnswersToggle();
181
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
182
+ matchingPage.steps.verifyAlternativeAnswersSectionNotExist();
183
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
184
+ matchingPage.steps.verifyShowAlternativeAnswersToggleChecked();
185
+ matchingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 1 pt, 5 pts, 7 pts)', 1);
186
+ matchingPage.steps.verifyAlternativeAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']], 1);
187
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
188
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
189
+ }
129
190
  matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
130
191
  /*cy.log('When the user has attempted the question with partially correct with all the response correct as per the alternative accordion but one response incomplete and clicks on \'Check answer\' button, then green check-mark should be displayed besides the response from the correct accordion and alternative accordion and no icon should be displayed beside unattempted response, status message and correct answer section should not be displayed')
131
192
  matchingPage.steps.checkAnswer();
@@ -146,6 +207,19 @@ describe('Create item page - Matching: Partial different weights', () => {
146
207
  matchingPage.steps.verifyCorrectOptionIcon(2);
147
208
  matchingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
148
209
  matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bear'], ['Penguin'], ['Cat']]);
210
+ if (alternativeAnswerCheck === 'true') {
211
+ matchingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 4 pts, 5 pts, 6 pts)', 0);
212
+ matchingPage.steps.verifyShowAlternativeAnswersToggleExists();
213
+ matchingPage.steps.disableShowAlternativeAnswersToggle();
214
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
215
+ matchingPage.steps.verifyAlternativeAnswersSectionNotExist();
216
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
217
+ matchingPage.steps.verifyShowAlternativeAnswersToggleChecked();
218
+ matchingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 1 pt, 5 pts, 7 pts)', 1);
219
+ matchingPage.steps.verifyAlternativeAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']], 1);
220
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
221
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
222
+ }
149
223
  matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
150
224
  /*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 green check-mark should be displayed besides the alternative answer responses, red cross-mark should be displayed beside responses of the correct accordion status message and correct answer section should not be displayed')
151
225
  matchingPage.steps.checkAnswer();
@@ -166,6 +240,19 @@ describe('Create item page - Matching: Partial different weights', () => {
166
240
  matchingPage.steps.verifyCorrectOptionIcon(2);
167
241
  matchingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
168
242
  matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bear'], ['Penguin'], ['Cat']]);
243
+ if (alternativeAnswerCheck === 'true') {
244
+ matchingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 4 pts, 5 pts, 6 pts)', 0);
245
+ matchingPage.steps.verifyShowAlternativeAnswersToggleExists();
246
+ matchingPage.steps.disableShowAlternativeAnswersToggle();
247
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
248
+ matchingPage.steps.verifyAlternativeAnswersSectionNotExist();
249
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
250
+ matchingPage.steps.verifyShowAlternativeAnswersToggleChecked();
251
+ matchingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 1 pt, 5 pts, 7 pts)', 1);
252
+ matchingPage.steps.verifyAlternativeAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']], 1);
253
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
254
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
255
+ }
169
256
  matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
170
257
  /*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 green check-mark should be displayed besides the correct answer responses, red cross-mark should be displayed beside empty responses status message and correct answer section should not be displayed')
171
258
  matchingPage.steps.checkAnswer();
@@ -186,6 +273,19 @@ describe('Create item page - Matching: Partial different weights', () => {
186
273
  matchingPage.steps.verifyCorrectOptionIcon(2);
187
274
  matchingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
188
275
  matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bear'], ['Penguin'], ['Cat']]);
276
+ if (alternativeAnswerCheck === 'true') {
277
+ matchingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 4 pts, 5 pts, 6 pts)', 0);
278
+ matchingPage.steps.verifyShowAlternativeAnswersToggleExists();
279
+ matchingPage.steps.disableShowAlternativeAnswersToggle();
280
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
281
+ matchingPage.steps.verifyAlternativeAnswersSectionNotExist();
282
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
283
+ matchingPage.steps.verifyShowAlternativeAnswersToggleChecked();
284
+ matchingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 1 pt, 5 pts, 7 pts)', 1);
285
+ matchingPage.steps.verifyAlternativeAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']], 1);
286
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
287
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
288
+ }
189
289
  matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
190
290
  /*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 green check-mark should be displayed besides the correct answer responses, no icon should be displayed beside unattempted response status message and correct answer section should not be displayed')
191
291
  matchingPage.steps.checkAnswer();
@@ -206,6 +306,19 @@ describe('Create item page - Matching: Partial different weights', () => {
206
306
  matchingPage.steps.verifyIncorrectOptionIconForEmptyOption(2);
207
307
  matchingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
208
308
  matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bear'], ['Penguin'], ['Cat']]);
309
+ if (alternativeAnswerCheck === 'true') {
310
+ matchingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 4 pts, 5 pts, 6 pts)', 0);
311
+ matchingPage.steps.verifyShowAlternativeAnswersToggleExists();
312
+ matchingPage.steps.disableShowAlternativeAnswersToggle();
313
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
314
+ matchingPage.steps.verifyAlternativeAnswersSectionNotExist();
315
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
316
+ matchingPage.steps.verifyShowAlternativeAnswersToggleChecked();
317
+ matchingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 1 pt, 5 pts, 7 pts)', 1);
318
+ matchingPage.steps.verifyAlternativeAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']], 1);
319
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
320
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
321
+ }
209
322
  matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
210
323
  /*cy.log('When the user has attempted the question incorrectly and clicks on \'Check answer\' button, then red cross-marks should be displayed besides all incorrect responses, no icon should be displayed beside unattempted response status message and correct answer section should not be displayed')
211
324
  matchingPage.steps.checkAnswer();
@@ -234,6 +347,19 @@ describe('Create item page - Matching: Partial different weights', () => {
234
347
  matchingPage.steps.verifyCorrectOptionIcon(2);
235
348
  matchingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
236
349
  matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bear'], ['Penguin'], ['Eagle']]);
350
+ if (alternativeAnswerCheck === 'true') {
351
+ matchingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 11.4 pts, 1.2 pts, 10.4 pts)', 0);
352
+ matchingPage.steps.verifyShowAlternativeAnswersToggleExists();
353
+ matchingPage.steps.disableShowAlternativeAnswersToggle();
354
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
355
+ matchingPage.steps.verifyAlternativeAnswersSectionNotExist();
356
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
357
+ matchingPage.steps.verifyShowAlternativeAnswersToggleChecked();
358
+ matchingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 1.2 pts, 2.2 pts, 1.6 pts)', 1);
359
+ matchingPage.steps.verifyAlternativeAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']], 1);
360
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
361
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
362
+ }
237
363
  matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
238
364
  /*cy.log('When user attempts the question correctly and clicks on the \'Check answer\' button, green check-mark icons should be displayed beside the correct responses from the correct accordion, red cross-mark icons should be displayed beside the incorrectly answered responses, correct/incorrect answer label and its border, correct answer container should not be displayed')
239
365
  matchingPage.steps.checkAnswer();
@@ -2,6 +2,7 @@ import { matchingPage } from "../../../../pages";
2
2
  import abortEarlySetup from "../../../../support/helpers/abortEarly";
3
3
  import utilities from "../../../../support/helpers/utilities";
4
4
  const css = Cypress.env('css');
5
+ const alternativeAnswerCheck = Cypress.env('ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT');
5
6
  const promptTextArray = ['Wild', 'Aquatic', 'Pet'];
6
7
  const optionsArray = ['Cat', 'Elephant', 'Fish', 'Bear', 'Eagle', 'Penguin'];
7
8
 
@@ -32,8 +33,23 @@ describe('Create item page - Matching: Partial different weights', () => {
32
33
  it('When the user selects \'Grading\' view without attempting the question, dropzone numeration should be displayed, correct answers section with a label \'Correct answers\' should be displayed with correct answers from the correct accordion and respective dropzone numeration', () => {
33
34
  matchingPage.steps.switchToGradingView();
34
35
  matchingPage.steps.verifyDropzoneNumeration();
35
- utilities.verifyInnerText(matchingPage.correctAnswersLabel(), 'Correct answers');
36
- matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
36
+ if (alternativeAnswerCheck === 'true') {
37
+ matchingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 4 pts, 5 pts, 6 pts)', 0);
38
+ matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
39
+ matchingPage.steps.verifyShowAlternativeAnswersToggleExists();
40
+ matchingPage.steps.disableShowAlternativeAnswersToggle();
41
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
42
+ matchingPage.steps.verifyAlternativeAnswersSectionNotExist();
43
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
44
+ matchingPage.steps.verifyShowAlternativeAnswersToggleChecked();
45
+ matchingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 3 pts, 5 pts, 7 pts)', 1);
46
+ matchingPage.steps.verifyAlternativeAnswerResponsesInCorrectAnswerSectionAndCount([['Bear'], ['Penguin'], ['Cat']], 1);
47
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
48
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
49
+ } else {
50
+ utilities.verifyInnerText(matchingPage.correctAnswersLabel(), 'Correct answers');
51
+ matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
52
+ }
37
53
  });
38
54
 
39
55
  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, green check-marks should be displayed beside all the correct responses, a status message and correct answer section should not be displayed', () => {
@@ -46,6 +62,9 @@ describe('Create item page - Matching: Partial different weights', () => {
46
62
  matchingPage.steps.verifyCorrectOptionIcon(2);
47
63
  matchingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
48
64
  matchingPage.steps.verifyCorrectAnswerSectionNotExists();
65
+ if (alternativeAnswerCheck === 'true') {
66
+ matchingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
67
+ }
49
68
  matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
50
69
  /*cy.log('When the user has attempted the question with responses from the correct accordion and clicks on \'Check answer\' button, then green check-mark should be displayed besides the correct answer responses, a status message and correct answer section should not be displayed')
51
70
  matchingPage.steps.checkAnswer();
@@ -66,6 +85,9 @@ describe('Create item page - Matching: Partial different weights', () => {
66
85
  matchingPage.steps.verifyCorrectOptionIcon(2);
67
86
  matchingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
68
87
  matchingPage.steps.verifyCorrectAnswerSectionNotExists();
88
+ if (alternativeAnswerCheck === 'true') {
89
+ matchingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
90
+ }
69
91
  matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
70
92
  /*cy.log('When the user has attempted the question with responses from the alternative accordion and clicks on \'Check answer\' button, then green check-mark should be displayed besides the correct answer responses, a status message and correct answer section should not be displayed')
71
93
  matchingPage.steps.checkAnswer();
@@ -86,6 +108,19 @@ describe('Create item page - Matching: Partial different weights', () => {
86
108
  matchingPage.steps.verifyIncorrectOptionIconForEmptyOption(2);
87
109
  matchingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
88
110
  matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
111
+ if (alternativeAnswerCheck === 'true') {
112
+ matchingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 4 pts, 5 pts, 6 pts)', 0);
113
+ matchingPage.steps.verifyShowAlternativeAnswersToggleExists();
114
+ matchingPage.steps.disableShowAlternativeAnswersToggle();
115
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
116
+ matchingPage.steps.verifyAlternativeAnswersSectionNotExist();
117
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
118
+ matchingPage.steps.verifyShowAlternativeAnswersToggleChecked();
119
+ matchingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 3 pts, 5 pts, 7 pts)', 1);
120
+ matchingPage.steps.verifyAlternativeAnswerResponsesInCorrectAnswerSectionAndCount([['Bear'], ['Penguin'], ['Cat']], 1);
121
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
122
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
123
+ }
89
124
  matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
90
125
  /*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 green check-mark should be displayed besides the correct answer responses, a status message should not be displayed and correct answer section should not be displayed')
91
126
  matchingPage.steps.checkAnswer();
@@ -106,6 +141,19 @@ describe('Create item page - Matching: Partial different weights', () => {
106
141
  matchingPage.steps.verifyIncorrectOptionIconForEmptyOption(2);
107
142
  matchingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
108
143
  matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
144
+ if (alternativeAnswerCheck === 'true') {
145
+ matchingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 4 pts, 5 pts, 6 pts)', 0);
146
+ matchingPage.steps.verifyShowAlternativeAnswersToggleExists();
147
+ matchingPage.steps.disableShowAlternativeAnswersToggle();
148
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
149
+ matchingPage.steps.verifyAlternativeAnswersSectionNotExist();
150
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
151
+ matchingPage.steps.verifyShowAlternativeAnswersToggleChecked();
152
+ matchingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 3 pts, 5 pts, 7 pts)', 1);
153
+ matchingPage.steps.verifyAlternativeAnswerResponsesInCorrectAnswerSectionAndCount([['Bear'], ['Penguin'], ['Cat']], 1);
154
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
155
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
156
+ }
109
157
  matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
110
158
  /*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 green check-mark 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')
111
159
  matchingPage.steps.checkAnswer();
@@ -126,6 +174,19 @@ describe('Create item page - Matching: Partial different weights', () => {
126
174
  matchingPage.steps.verifyCorrectOptionIcon(2);
127
175
  matchingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
128
176
  matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
177
+ if (alternativeAnswerCheck === 'true') {
178
+ matchingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 4 pts, 5 pts, 6 pts)', 0);
179
+ matchingPage.steps.verifyShowAlternativeAnswersToggleExists();
180
+ matchingPage.steps.disableShowAlternativeAnswersToggle();
181
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
182
+ matchingPage.steps.verifyAlternativeAnswersSectionNotExist();
183
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
184
+ matchingPage.steps.verifyShowAlternativeAnswersToggleChecked();
185
+ matchingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 3 pts, 5 pts, 7 pts)', 1);
186
+ matchingPage.steps.verifyAlternativeAnswerResponsesInCorrectAnswerSectionAndCount([['Bear'], ['Penguin'], ['Cat']], 1);
187
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
188
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
189
+ }
129
190
  matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
130
191
  /*cy.log('When the user has attempted the question with partially correct with all the response correct as per the alternative accordion but one response incomplete and clicks on \'Check answer\' button, then green check-mark should be displayed besides the response from the correct accordion and alternative accordion and no icon should be displayed beside unattempted response, a status message should not be displayed and correct answer section should not be displayed')
131
192
  matchingPage.steps.checkAnswer();
@@ -146,6 +207,19 @@ describe('Create item page - Matching: Partial different weights', () => {
146
207
  matchingPage.steps.verifyCorrectOptionIcon(2);
147
208
  matchingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
148
209
  matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
210
+ if (alternativeAnswerCheck === 'true') {
211
+ matchingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 4 pts, 5 pts, 6 pts)', 0);
212
+ matchingPage.steps.verifyShowAlternativeAnswersToggleExists();
213
+ matchingPage.steps.disableShowAlternativeAnswersToggle();
214
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
215
+ matchingPage.steps.verifyAlternativeAnswersSectionNotExist();
216
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
217
+ matchingPage.steps.verifyShowAlternativeAnswersToggleChecked();
218
+ matchingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 3 pts, 5 pts, 7 pts)', 1);
219
+ matchingPage.steps.verifyAlternativeAnswerResponsesInCorrectAnswerSectionAndCount([['Bear'], ['Penguin'], ['Cat']], 1);
220
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
221
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
222
+ }
149
223
  matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
150
224
  /*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 green check-mark should be displayed besides the correct answer responses, red cross-mark should be displayed beside empty responses a status message should not be displayed and correct answer section should not be displayed')
151
225
  matchingPage.steps.checkAnswer();
@@ -166,6 +240,19 @@ describe('Create item page - Matching: Partial different weights', () => {
166
240
  matchingPage.steps.verifyCorrectOptionIcon(2);
167
241
  matchingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
168
242
  matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
243
+ if (alternativeAnswerCheck === 'true') {
244
+ matchingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 4 pts, 5 pts, 6 pts)', 0);
245
+ matchingPage.steps.verifyShowAlternativeAnswersToggleExists();
246
+ matchingPage.steps.disableShowAlternativeAnswersToggle();
247
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
248
+ matchingPage.steps.verifyAlternativeAnswersSectionNotExist();
249
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
250
+ matchingPage.steps.verifyShowAlternativeAnswersToggleChecked();
251
+ matchingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 3 pts, 5 pts, 7 pts)', 1);
252
+ matchingPage.steps.verifyAlternativeAnswerResponsesInCorrectAnswerSectionAndCount([['Bear'], ['Penguin'], ['Cat']], 1);
253
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
254
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
255
+ }
169
256
  matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
170
257
  /*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 green check-mark should be displayed besides the correct answer responses, red cross-mark should be displayed beside empty responses a status message should not be displayed and correct answer section should not be displayed')
171
258
  matchingPage.steps.checkAnswer();
@@ -186,6 +273,19 @@ describe('Create item page - Matching: Partial different weights', () => {
186
273
  matchingPage.steps.verifyCorrectOptionIcon(2);
187
274
  matchingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
188
275
  matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
276
+ if (alternativeAnswerCheck === 'true') {
277
+ matchingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 4 pts, 5 pts, 6 pts)', 0);
278
+ matchingPage.steps.verifyShowAlternativeAnswersToggleExists();
279
+ matchingPage.steps.disableShowAlternativeAnswersToggle();
280
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
281
+ matchingPage.steps.verifyAlternativeAnswersSectionNotExist();
282
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
283
+ matchingPage.steps.verifyShowAlternativeAnswersToggleChecked();
284
+ matchingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 3 pts, 5 pts, 7 pts)', 1);
285
+ matchingPage.steps.verifyAlternativeAnswerResponsesInCorrectAnswerSectionAndCount([['Bear'], ['Penguin'], ['Cat']], 1);
286
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
287
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
288
+ }
189
289
  matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
190
290
  /*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 green check-mark 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')
191
291
  matchingPage.steps.checkAnswer();
@@ -206,6 +306,19 @@ describe('Create item page - Matching: Partial different weights', () => {
206
306
  matchingPage.steps.verifyIncorrectOptionIconForEmptyOption(2);
207
307
  matchingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
208
308
  matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
309
+ if (alternativeAnswerCheck === 'true') {
310
+ matchingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(Points per response in order of appearance - 4 pts, 5 pts, 6 pts)', 0);
311
+ matchingPage.steps.verifyShowAlternativeAnswersToggleExists();
312
+ matchingPage.steps.disableShowAlternativeAnswersToggle();
313
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
314
+ matchingPage.steps.verifyAlternativeAnswersSectionNotExist();
315
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
316
+ matchingPage.steps.verifyShowAlternativeAnswersToggleChecked();
317
+ matchingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(Points per response in order of appearance - 3 pts, 5 pts, 7 pts)', 1);
318
+ matchingPage.steps.verifyAlternativeAnswerResponsesInCorrectAnswerSectionAndCount([['Bear'], ['Penguin'], ['Cat']], 1);
319
+ matchingPage.steps.clickShowAlternativeAnswersToggle();
320
+ matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
321
+ }
209
322
  matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
210
323
  /*cy.log('When the user has attempted the question incorrectly and clicks on \'Check answer\' button, then red cross-marks should be displayed besides all incorrect responses, no icon should be displayed beside unattempted response a status message should not be displayed and correct answer section should not be displayed')
211
324
  matchingPage.steps.checkAnswer();