itemengine-cypress-automation 1.0.576-IEI-7079-92d877f.0 → 1.0.577-IEI-7065-Improve-test-coverage-for-essay-response-1a0a73e.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 (50) hide show
  1. package/cypress/e2e/ILC/ChartsBar/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +0 -205
  2. package/cypress/e2e/ILC/ChartsBar/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +0 -205
  3. package/cypress/e2e/ILC/ChartsBar/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +0 -205
  4. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +1 -248
  5. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +0 -247
  6. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +0 -223
  7. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +0 -223
  8. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +0 -175
  9. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +0 -223
  10. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePointsLocked.js +0 -191
  11. package/cypress/e2e/ILC/ChartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePointsLocked.js +24 -184
  12. package/cypress/e2e/ILC/ChartsLine/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +0 -177
  13. package/cypress/e2e/ILC/ChartsLine/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +0 -206
  14. package/cypress/e2e/ILC/ChartsLine/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +0 -205
  15. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +0 -228
  16. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +1 -229
  17. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +1 -229
  18. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +0 -206
  19. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +0 -183
  20. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +0 -206
  21. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePointsLocked.js +0 -184
  22. package/cypress/e2e/ILC/EssayResponse/additionalSettings.js +8 -2
  23. package/cypress/e2e/ILC/EssayResponse/additionalSettingsBasic.js +15 -0
  24. package/cypress/e2e/ILC/EssayResponse/createCustomCategory.smoke.js +13 -0
  25. package/cypress/e2e/ILC/EssayResponse/editTabBasicSections.js +155 -5
  26. package/cypress/e2e/ILC/EssayResponse/essayResponseCustomizeFormattingOptions2.js +117 -4
  27. package/cypress/e2e/ILC/EssayResponse/essayResponseCustomizeFormattingOptions3.js +101 -4
  28. package/cypress/e2e/ILC/EssayResponse/essayResponseCustomizeFormattingOptions4.js +114 -0
  29. package/cypress/e2e/ILC/EssayResponse/essayResponseSpecialCharacters.js +12 -2
  30. package/cypress/e2e/ILC/EssayResponse/previewAddTable.js +38 -3
  31. package/cypress/e2e/ILC/EssayResponse/previewContentsForAllViews.smoke.js +41 -23
  32. package/cypress/e2e/ILC/EssayResponse/previewEditTable.js +78 -3
  33. package/cypress/e2e/ILC/EssayResponse/previewHyperlink.js +15 -0
  34. package/cypress/e2e/ILC/EssayResponse/studentViewSettings.js +71 -0
  35. package/cypress/e2e/ILC/chartsDotsPlot/scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +10 -164
  36. package/cypress/e2e/ILC/chartsDotsPlot/scoring/allOrNothingWithCorrectPointsEqualToAlternativePoints.js +11 -165
  37. package/cypress/e2e/ILC/chartsDotsPlot/scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +11 -165
  38. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +14 -164
  39. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +10 -121
  40. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +16 -167
  41. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +15 -178
  42. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +10 -121
  43. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +13 -165
  44. package/cypress/pages/chartsBarPage.js +1 -44
  45. package/cypress/pages/chartsDotPlotPage.js +1 -99
  46. package/cypress/pages/chartsLinePage.js +1 -48
  47. package/cypress/pages/components/equationEditorSectionCommonComponent.js +20 -0
  48. package/cypress/pages/components/essayResponseCommonComponents.js +29 -1
  49. package/cypress/pages/essayResponsePage.js +3 -1
  50. package/package.json +1 -1
@@ -1,8 +1,6 @@
1
1
  import { chartsLinePage } from "../../../../pages";
2
2
  import abortEarlySetup from "../../../../support/helpers/abortEarly";
3
3
 
4
- const alternativeAnswerCheck = Cypress.env('ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT');
5
-
6
4
  describe('Create item page - Charts - Line: Partial equal weights scoring with alternative answer - When Correct answer points are more than alternative Answer points with locked Points', () => {
7
5
  before(() => {
8
6
  cy.loginAs('admin');
@@ -50,28 +48,6 @@ describe('Create item page - Charts - Line: Partial equal weights scoring with a
50
48
  chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 2, value: 5, range: 10 });
51
49
  chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 3, value: 6, range: 10 });
52
50
  chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 4, value: 1, range: 10 });
53
- if (alternativeAnswerCheck === 'true') {
54
- chartsLinePage.steps.verifyCorrectAnswersLabelAndPointVisible('(Points per response in order of appearance - 0 pts, 5 pts, 5 pts, 5 pts, 5 pts)');
55
- chartsLinePage.steps.verifyLockedPointInCorrectAnswerSection({ pointIndex: 0, value: 3, range: 10 });
56
- chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 1, value: 4, range: 10 });
57
- chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 2, value: 5, range: 10 });
58
- chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 3, value: 6, range: 10 });
59
- chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 4, value: 1, range: 10 });
60
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleExists();
61
- chartsLinePage.steps.disableShowAlternativeAnswersToggle();
62
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleUnchecked();
63
- chartsLinePage.steps.verifyAlternativeAnswersSectionNotExist();
64
- chartsLinePage.steps.clickShowAlternativeAnswersToggle();
65
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleChecked();
66
- chartsLinePage.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(Points per response in order of appearance - 0 pts, 3 pts, 3 pts, 3 pts, 3 pts)');
67
- chartsLinePage.steps.verifyLockedPointInAlternativeAnswerSection({ pointIndex: 0, value: 3, range: 10 });
68
- chartsLinePage.steps.verifyPointValueInAlternativeAnswerSection({ pointIndex: 1, value: 2, range: 10 });
69
- chartsLinePage.steps.verifyPointValueInAlternativeAnswerSection({ pointIndex: 2, value: 3, range: 10 });
70
- chartsLinePage.steps.verifyPointValueInAlternativeAnswerSection({ pointIndex: 3, value: 1, range: 10 });
71
- chartsLinePage.steps.verifyPointValueInAlternativeAnswerSection({ pointIndex: 4, value: 0, range: 10 });
72
- chartsLinePage.steps.clickShowAlternativeAnswersToggle();
73
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleUnchecked();
74
- }
75
51
  chartsLinePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
76
52
  });
77
53
 
@@ -94,28 +70,6 @@ describe('Create item page - Charts - Line: Partial equal weights scoring with a
94
70
  chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 2, value: 5, range: 10 });
95
71
  chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 3, value: 6, range: 10 });
96
72
  chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 4, value: 1, range: 10 });
97
- if (alternativeAnswerCheck === 'true') {
98
- chartsLinePage.steps.verifyCorrectAnswersLabelAndPointVisible('(Points per response in order of appearance - 0 pts, 5 pts, 5 pts, 5 pts, 5 pts)');
99
- chartsLinePage.steps.verifyLockedPointInCorrectAnswerSection({ pointIndex: 0, value: 3, range: 10 });
100
- chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 1, value: 4, range: 10 });
101
- chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 2, value: 5, range: 10 });
102
- chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 3, value: 6, range: 10 });
103
- chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 4, value: 1, range: 10 });
104
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleExists();
105
- chartsLinePage.steps.disableShowAlternativeAnswersToggle();
106
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleUnchecked();
107
- chartsLinePage.steps.verifyAlternativeAnswersSectionNotExist();
108
- chartsLinePage.steps.clickShowAlternativeAnswersToggle();
109
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleChecked();
110
- chartsLinePage.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(Points per response in order of appearance - 0 pts, 3 pts, 3 pts, 3 pts, 3 pts)');
111
- chartsLinePage.steps.verifyLockedPointInAlternativeAnswerSection({ pointIndex: 0, value: 3, range: 10 });
112
- chartsLinePage.steps.verifyPointValueInAlternativeAnswerSection({ pointIndex: 1, value: 2, range: 10 });
113
- chartsLinePage.steps.verifyPointValueInAlternativeAnswerSection({ pointIndex: 2, value: 3, range: 10 });
114
- chartsLinePage.steps.verifyPointValueInAlternativeAnswerSection({ pointIndex: 3, value: 1, range: 10 });
115
- chartsLinePage.steps.verifyPointValueInAlternativeAnswerSection({ pointIndex: 4, value: 0, range: 10 });
116
- chartsLinePage.steps.clickShowAlternativeAnswersToggle();
117
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleUnchecked();
118
- }
119
73
  chartsLinePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
120
74
  });
121
75
 
@@ -134,9 +88,6 @@ describe('Create item page - Charts - Line: Partial equal weights scoring with a
134
88
  chartsLinePage.steps.verifyPointCorrectIncorrectIconInPreviewTab(4, 'correct');
135
89
  chartsLinePage.steps.verifyCorrectIncorrectStatusMessageNotExists();
136
90
  chartsLinePage.steps.verifyCorrectAnswerSectionNotExist();
137
- if (alternativeAnswerCheck === 'true') {
138
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleNotExists();
139
- }
140
91
  chartsLinePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
141
92
  });
142
93
 
@@ -155,9 +106,6 @@ describe('Create item page - Charts - Line: Partial equal weights scoring with a
155
106
  chartsLinePage.steps.verifyPointCorrectIncorrectIconInPreviewTab(4, 'correct');
156
107
  chartsLinePage.steps.verifyCorrectIncorrectStatusMessageNotExists();
157
108
  chartsLinePage.steps.verifyCorrectAnswerSectionNotExist();
158
- if (alternativeAnswerCheck === 'true') {
159
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleNotExists();
160
- }
161
109
  chartsLinePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
162
110
  });
163
111
 
@@ -180,28 +128,6 @@ describe('Create item page - Charts - Line: Partial equal weights scoring with a
180
128
  chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 2, value: 5, range: 10 });
181
129
  chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 3, value: 6, range: 10 });
182
130
  chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 4, value: 1, range: 10 });
183
- if (alternativeAnswerCheck === 'true') {
184
- chartsLinePage.steps.verifyCorrectAnswersLabelAndPointVisible('(Points per response in order of appearance - 0 pts, 5 pts, 5 pts, 5 pts, 5 pts)');
185
- chartsLinePage.steps.verifyLockedPointInCorrectAnswerSection({ pointIndex: 0, value: 3, range: 10 });
186
- chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 1, value: 4, range: 10 });
187
- chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 2, value: 5, range: 10 });
188
- chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 3, value: 6, range: 10 });
189
- chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 4, value: 1, range: 10 });
190
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleExists();
191
- chartsLinePage.steps.disableShowAlternativeAnswersToggle();
192
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleUnchecked();
193
- chartsLinePage.steps.verifyAlternativeAnswersSectionNotExist();
194
- chartsLinePage.steps.clickShowAlternativeAnswersToggle();
195
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleChecked();
196
- chartsLinePage.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(Points per response in order of appearance - 0 pts, 3 pts, 3 pts, 3 pts, 3 pts)');
197
- chartsLinePage.steps.verifyLockedPointInAlternativeAnswerSection({ pointIndex: 0, value: 3, range: 10 });
198
- chartsLinePage.steps.verifyPointValueInAlternativeAnswerSection({ pointIndex: 1, value: 2, range: 10 });
199
- chartsLinePage.steps.verifyPointValueInAlternativeAnswerSection({ pointIndex: 2, value: 3, range: 10 });
200
- chartsLinePage.steps.verifyPointValueInAlternativeAnswerSection({ pointIndex: 3, value: 1, range: 10 });
201
- chartsLinePage.steps.verifyPointValueInAlternativeAnswerSection({ pointIndex: 4, value: 0, range: 10 });
202
- chartsLinePage.steps.clickShowAlternativeAnswersToggle();
203
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleUnchecked();
204
- }
205
131
  chartsLinePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
206
132
  });
207
133
 
@@ -224,28 +150,6 @@ describe('Create item page - Charts - Line: Partial equal weights scoring with a
224
150
  chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 2, value: 5, range: 10 });
225
151
  chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 3, value: 6, range: 10 });
226
152
  chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 4, value: 1, range: 10 });
227
- if (alternativeAnswerCheck === 'true') {
228
- chartsLinePage.steps.verifyCorrectAnswersLabelAndPointVisible('(Points per response in order of appearance - 0 pts, 5 pts, 5 pts, 5 pts, 5 pts)');
229
- chartsLinePage.steps.verifyLockedPointInCorrectAnswerSection({ pointIndex: 0, value: 3, range: 10 });
230
- chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 1, value: 4, range: 10 });
231
- chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 2, value: 5, range: 10 });
232
- chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 3, value: 6, range: 10 });
233
- chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 4, value: 1, range: 10 });
234
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleExists();
235
- chartsLinePage.steps.disableShowAlternativeAnswersToggle();
236
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleUnchecked();
237
- chartsLinePage.steps.verifyAlternativeAnswersSectionNotExist();
238
- chartsLinePage.steps.clickShowAlternativeAnswersToggle();
239
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleChecked();
240
- chartsLinePage.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(Points per response in order of appearance - 0 pts, 3 pts, 3 pts, 3 pts, 3 pts)');
241
- chartsLinePage.steps.verifyLockedPointInAlternativeAnswerSection({ pointIndex: 0, value: 3, range: 10 });
242
- chartsLinePage.steps.verifyPointValueInAlternativeAnswerSection({ pointIndex: 1, value: 2, range: 10 });
243
- chartsLinePage.steps.verifyPointValueInAlternativeAnswerSection({ pointIndex: 2, value: 3, range: 10 });
244
- chartsLinePage.steps.verifyPointValueInAlternativeAnswerSection({ pointIndex: 3, value: 1, range: 10 });
245
- chartsLinePage.steps.verifyPointValueInAlternativeAnswerSection({ pointIndex: 4, value: 0, range: 10 });
246
- chartsLinePage.steps.clickShowAlternativeAnswersToggle();
247
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleUnchecked();
248
- }
249
153
  chartsLinePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
250
154
  });
251
155
 
@@ -268,28 +172,6 @@ describe('Create item page - Charts - Line: Partial equal weights scoring with a
268
172
  chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 2, value: 5, range: 10 });
269
173
  chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 3, value: 6, range: 10 });
270
174
  chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 4, value: 1, range: 10 });
271
- if (alternativeAnswerCheck === 'true') {
272
- chartsLinePage.steps.verifyCorrectAnswersLabelAndPointVisible('(Points per response in order of appearance - 0 pts, 5 pts, 5 pts, 5 pts, 5 pts)');
273
- chartsLinePage.steps.verifyLockedPointInCorrectAnswerSection({ pointIndex: 0, value: 3, range: 10 });
274
- chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 1, value: 4, range: 10 });
275
- chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 2, value: 5, range: 10 });
276
- chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 3, value: 6, range: 10 });
277
- chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 4, value: 1, range: 10 });
278
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleExists();
279
- chartsLinePage.steps.disableShowAlternativeAnswersToggle();
280
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleUnchecked();
281
- chartsLinePage.steps.verifyAlternativeAnswersSectionNotExist();
282
- chartsLinePage.steps.clickShowAlternativeAnswersToggle();
283
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleChecked();
284
- chartsLinePage.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(Points per response in order of appearance - 0 pts, 3 pts, 3 pts, 3 pts, 3 pts)');
285
- chartsLinePage.steps.verifyLockedPointInAlternativeAnswerSection({ pointIndex: 0, value: 3, range: 10 });
286
- chartsLinePage.steps.verifyPointValueInAlternativeAnswerSection({ pointIndex: 1, value: 2, range: 10 });
287
- chartsLinePage.steps.verifyPointValueInAlternativeAnswerSection({ pointIndex: 2, value: 3, range: 10 });
288
- chartsLinePage.steps.verifyPointValueInAlternativeAnswerSection({ pointIndex: 3, value: 1, range: 10 });
289
- chartsLinePage.steps.verifyPointValueInAlternativeAnswerSection({ pointIndex: 4, value: 0, range: 10 });
290
- chartsLinePage.steps.clickShowAlternativeAnswersToggle();
291
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleUnchecked();
292
- }
293
175
  chartsLinePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
294
176
  });
295
177
 
@@ -312,28 +194,6 @@ describe('Create item page - Charts - Line: Partial equal weights scoring with a
312
194
  chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 2, value: 5, range: 10 });
313
195
  chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 3, value: 6, range: 10 });
314
196
  chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 4, value: 1, range: 10 });
315
- if (alternativeAnswerCheck === 'true') {
316
- chartsLinePage.steps.verifyCorrectAnswersLabelAndPointVisible('(Points per response in order of appearance - 0 pts, 5 pts, 5 pts, 5 pts, 5 pts)');
317
- chartsLinePage.steps.verifyLockedPointInCorrectAnswerSection({ pointIndex: 0, value: 3, range: 10 });
318
- chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 1, value: 4, range: 10 });
319
- chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 2, value: 5, range: 10 });
320
- chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 3, value: 6, range: 10 });
321
- chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 4, value: 1, range: 10 });
322
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleExists();
323
- chartsLinePage.steps.disableShowAlternativeAnswersToggle();
324
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleUnchecked();
325
- chartsLinePage.steps.verifyAlternativeAnswersSectionNotExist();
326
- chartsLinePage.steps.clickShowAlternativeAnswersToggle();
327
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleChecked();
328
- chartsLinePage.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(Points per response in order of appearance - 0 pts, 3 pts, 3 pts, 3 pts, 3 pts)');
329
- chartsLinePage.steps.verifyLockedPointInAlternativeAnswerSection({ pointIndex: 0, value: 3, range: 10 });
330
- chartsLinePage.steps.verifyPointValueInAlternativeAnswerSection({ pointIndex: 1, value: 2, range: 10 });
331
- chartsLinePage.steps.verifyPointValueInAlternativeAnswerSection({ pointIndex: 2, value: 3, range: 10 });
332
- chartsLinePage.steps.verifyPointValueInAlternativeAnswerSection({ pointIndex: 3, value: 1, range: 10 });
333
- chartsLinePage.steps.verifyPointValueInAlternativeAnswerSection({ pointIndex: 4, value: 0, range: 10 });
334
- chartsLinePage.steps.clickShowAlternativeAnswersToggle();
335
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleUnchecked();
336
- }
337
197
  chartsLinePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
338
198
  });
339
199
 
@@ -356,28 +216,6 @@ describe('Create item page - Charts - Line: Partial equal weights scoring with a
356
216
  chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 2, value: 5, range: 10 });
357
217
  chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 3, value: 6, range: 10 });
358
218
  chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 4, value: 1, range: 10 });
359
- if (alternativeAnswerCheck === 'true') {
360
- chartsLinePage.steps.verifyCorrectAnswersLabelAndPointVisible('(Points per response in order of appearance - 0 pts, 5 pts, 5 pts, 5 pts, 5 pts)');
361
- chartsLinePage.steps.verifyLockedPointInCorrectAnswerSection({ pointIndex: 0, value: 3, range: 10 });
362
- chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 1, value: 4, range: 10 });
363
- chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 2, value: 5, range: 10 });
364
- chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 3, value: 6, range: 10 });
365
- chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 4, value: 1, range: 10 });
366
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleExists();
367
- chartsLinePage.steps.disableShowAlternativeAnswersToggle();
368
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleUnchecked();
369
- chartsLinePage.steps.verifyAlternativeAnswersSectionNotExist();
370
- chartsLinePage.steps.clickShowAlternativeAnswersToggle();
371
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleChecked();
372
- chartsLinePage.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(Points per response in order of appearance - 0 pts, 3 pts, 3 pts, 3 pts, 3 pts)');
373
- chartsLinePage.steps.verifyLockedPointInAlternativeAnswerSection({ pointIndex: 0, value: 3, range: 10 });
374
- chartsLinePage.steps.verifyPointValueInAlternativeAnswerSection({ pointIndex: 1, value: 2, range: 10 });
375
- chartsLinePage.steps.verifyPointValueInAlternativeAnswerSection({ pointIndex: 2, value: 3, range: 10 });
376
- chartsLinePage.steps.verifyPointValueInAlternativeAnswerSection({ pointIndex: 3, value: 1, range: 10 });
377
- chartsLinePage.steps.verifyPointValueInAlternativeAnswerSection({ pointIndex: 4, value: 0, range: 10 });
378
- chartsLinePage.steps.clickShowAlternativeAnswersToggle();
379
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleUnchecked();
380
- }
381
219
  chartsLinePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
382
220
  });
383
221
 
@@ -404,28 +242,6 @@ describe('Create item page - Charts - Line: Partial equal weights scoring with a
404
242
  chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 3, value: 6, range: 10 });
405
243
  chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 4, value: 1, range: 10 });
406
244
  chartsLinePage.steps.verifyCorrectIncorrectStatusMessageNotExists();
407
- if (alternativeAnswerCheck === 'true') {
408
- chartsLinePage.steps.verifyCorrectAnswersLabelAndPointVisible('(Points per response in order of appearance - 0 pts, 10 pts, 10 pts, 10 pts, 10 pts)');
409
- chartsLinePage.steps.verifyLockedPointInCorrectAnswerSection({ pointIndex: 0, value: 3, range: 10 });
410
- chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 1, value: 4, range: 10 });
411
- chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 2, value: 5, range: 10 });
412
- chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 3, value: 6, range: 10 });
413
- chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 4, value: 1, range: 10 });
414
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleExists();
415
- chartsLinePage.steps.disableShowAlternativeAnswersToggle();
416
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleUnchecked();
417
- chartsLinePage.steps.verifyAlternativeAnswersSectionNotExist();
418
- chartsLinePage.steps.clickShowAlternativeAnswersToggle();
419
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleChecked();
420
- chartsLinePage.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(Points per response in order of appearance - 0 pts, 3 pts, 3 pts, 3 pts, 3 pts)');
421
- chartsLinePage.steps.verifyLockedPointInAlternativeAnswerSection({ pointIndex: 0, value: 3, range: 10 });
422
- chartsLinePage.steps.verifyPointValueInAlternativeAnswerSection({ pointIndex: 1, value: 2, range: 10 });
423
- chartsLinePage.steps.verifyPointValueInAlternativeAnswerSection({ pointIndex: 2, value: 3, range: 10 });
424
- chartsLinePage.steps.verifyPointValueInAlternativeAnswerSection({ pointIndex: 3, value: 1, range: 10 });
425
- chartsLinePage.steps.verifyPointValueInAlternativeAnswerSection({ pointIndex: 4, value: 0, range: 10 });
426
- chartsLinePage.steps.clickShowAlternativeAnswersToggle();
427
- chartsLinePage.steps.verifyShowAlternativeAnswersToggleUnchecked();
428
- }
429
245
  chartsLinePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
430
246
  });
431
247
  });
@@ -72,12 +72,18 @@ describe('Create item - Essay response - Additional settings - Student response
72
72
  essayResponsePage.steps.verifyPlaceholderTextPreviewTab('Lorem Ipsum');
73
73
  });
74
74
 
75
- it('When the user starts typing in the response field in the preview tab, then the placeholder text should disappear', () => {
75
+ it('The user should be able to add \'Placeholder text\' and the \'Placeholder text\' added by the user should be displayed in the response field in item preview', () => {
76
+ essayResponsePage.steps.saveAQuestionAndVerifySnackbar();
77
+ essayResponsePage.steps.switchToPreviewTab();
78
+ essayResponsePage.steps.verifyPlaceholderTextPreviewTab('Lorem Ipsum');
79
+ });
80
+
81
+ it('When the user starts typing in the response field in the item preview, then the placeholder text should disappear', () => {
76
82
  essayResponsePage.steps.enterTextInResponseField('dolor sit amet');
77
83
  essayResponsePage.steps.verifyPlaceholderTextNotPresentInPreviewTab();
78
84
  });
79
85
 
80
- it('When the user clears the entered text in the response field, then the placeholder text should appear again', () => {
86
+ it('When the user clears the entered text in the response field, then the placeholder text should appear again in item preview', () => {
81
87
  essayResponsePage.steps.clearResponseField();
82
88
  essayResponsePage.steps.focusOutOfResponseField();
83
89
  essayResponsePage.steps.verifyPlaceholderTextPreviewTab('Lorem Ipsum');
@@ -57,6 +57,21 @@ describe('Essay response - Additional settings', () => {
57
57
  essayResponsePage.steps.switchToEditTab();
58
58
  });
59
59
  });
60
+
61
+ it('Verify \'Tiny\' font size option functionality again after saving the question', () => {
62
+ essayResponsePage.steps.selectFontSizeOptionFromFontSizeDropdown('Tiny');
63
+ essayResponsePage.steps.saveAQuestionAndVerifySnackbar();
64
+ essayResponsePage.steps.switchToPreviewTab();
65
+ utilities.verifyCSS(essayResponsePage.questionInstructionsText(), {
66
+ 'font-size': fontSizes['Tiny']
67
+ });
68
+ utilities.verifyCSS(essayResponsePage.previewTabToolbarOption(), {
69
+ 'font-size': fontSizes['Tiny']
70
+ });
71
+ utilities.verifyCSS(essayResponsePage.responseField(), {
72
+ 'font-size': fontSizes['Tiny']
73
+ });
74
+ });
60
75
  });
61
76
 
62
77
  describe('Additional settings: Accessibility section', () => {
@@ -382,12 +382,25 @@ describe('Create question page - Essay Response: Create custom category', () =>
382
382
  equationEditorFlyout.steps.verifyCategoryIsNotDisplayedInEquationEditorPreviewTab('Custom category without characters');
383
383
  });
384
384
 
385
+ it('The category with no added characters should not be displayed in the preview tab equation editor in item preview', () => {
386
+ essayResponsePage.steps.saveAQuestionAndVerifySnackbar();
387
+ essayResponsePage.steps.switchToPreviewTab();
388
+ essayResponsePage.steps.selectPreviewTabToolbarOption('Equation Editor');
389
+ equationEditorFlyout.steps.clickOnEquationEditorButtonNext();
390
+ equationEditorFlyout.steps.verifyCategoryIsNotDisplayedInEquationEditorPreviewTab('Custom category without characters');
391
+ essayResponsePage.steps.switchToEditTab();
392
+ essayResponsePage.steps.clickOnEditQuestionButton();
393
+ essayResponsePage.steps.switchToPreviewTab();
394
+ essayResponsePage.steps.selectPreviewTabToolbarOption('Equation Editor');
395
+ });
396
+
385
397
  it('The category with only category name should be displayed in the preview tab equation editor', () => {
386
398
  equationEditorFlyout.steps.clickOnEquationEditorButtonNext();
387
399
  equationEditorFlyout.steps.verifyCategoryInEquationEditorPreviewTab('Custom category with name.', '');
388
400
  });
389
401
 
390
402
  it('The category with category name and icon should be displayed in the preview tab equation editor', () => {
403
+ equationEditorFlyout.steps.clickOnEquationEditorButtonNext();
391
404
  equationEditorFlyout.steps.verifyCategoryInEquationEditorPreviewTab('Custom category with name and icon.', '#');
392
405
  });
393
406
 
@@ -1,6 +1,7 @@
1
1
  import abortEarlySetup from "../../../support/helpers/abortEarly";
2
2
  import { essayResponsePage } from "../../../pages";
3
3
  import utilities from "../../../support/helpers/utilities";
4
+ import { essayResponseCommonComponents } from "../../../pages/components/essayResponseCommonComponents";
4
5
  const css = Cypress.env('css');
5
6
 
6
7
  describe('Create question page - Essay Response: Question Instructions, Set limit', () => {
@@ -238,11 +239,34 @@ describe('Create question page - Essay Response: Question Instructions, Set limi
238
239
  essayResponsePage.steps.verifyWordLimitInPreviewTab(1000);
239
240
  });
240
241
 
241
- it('When the user updates the maximum word limit input field value then updated maximum word limit value should be displayed in the preview tab', () => {
242
+ it('When user switched to the preview tab then \'Maximum 1000 words\' should be displayed in the preview tab in item preview', () => {
243
+ essayResponsePage.steps.saveAQuestionAndVerifySnackbar();
244
+ essayResponsePage.steps.switchToPreviewTab();
245
+ utilities.verifyElementVisibilityState(essayResponsePage.responseFieldWordCount(), 'visible');
246
+ essayResponsePage.steps.verifyWordLimitInPreviewTab(1000);
247
+ essayResponsePage.steps.switchToEditTab();
248
+ essayResponsePage.steps.clickOnEditQuestionButton();
249
+ });
250
+
251
+ it('When the user unchecked the \'Always show maximum limit\' checkbox then no message should be displayed at the bottom of the response field in the question preview.', () => {
252
+ essayResponsePage.steps.uncheckAlwaysShowMaximumLimitCheckbox();
253
+ essayResponsePage.steps.switchToPreviewTab();
254
+ utilities.verifyElementVisibilityState(essayResponsePage.wordCharacterLimitWrapper(), 'notExist');
255
+ });
256
+
257
+ it('When the user unchecked the \'Always show maximum limit\' checkbox then no message should be displayed at the bottom of the response field in the item preview.', () => {
258
+ essayResponsePage.steps.saveAQuestionAndVerifySnackbar();
259
+ essayResponsePage.steps.switchToPreviewTab();
260
+ utilities.verifyElementVisibilityState(essayResponsePage.wordCharacterLimitWrapper(), 'notExist');
242
261
  essayResponsePage.steps.switchToEditTab();
262
+ essayResponsePage.steps.clickOnEditQuestionButton();
263
+ });
264
+
265
+ it('When the user updates the maximum word limit input field value then updated maximum word limit value should be displayed in the preview tab', () => {
266
+ essayResponsePage.steps.checkAlwaysShowMaximumLimitCheckbox();
243
267
  essayResponsePage.steps.setMaximumLimit(5);
244
268
  essayResponsePage.steps.switchToPreviewTab();
245
- essayResponsePage.steps.verifyWordLimitInPreviewTab(5);
269
+ utilities.verifyElementVisibilityState(essayResponsePage.wordCharacterLimitWrapper(), 'visible');
246
270
  });
247
271
 
248
272
  it('When the user updates the minimum word limit input field value and checks the \'Always show minimum limit\' checkbox then \'Minimum value - Maximum value words required\' should be displayed in the preview tab', () => {
@@ -253,7 +277,16 @@ describe('Create question page - Essay Response: Question Instructions, Set limi
253
277
  essayResponsePage.steps.verifyWordLimitInPreviewTab(5, 3);
254
278
  });
255
279
 
280
+ it('When the user updates the minimum word limit input field value and checks the \'Always show minimum limit\' checkbox then \'Minimum value - Maximum value words required\' should be displayed in the preview tab in item preview', () => {
281
+ essayResponsePage.steps.saveAQuestionAndVerifySnackbar();
282
+ essayResponsePage.steps.switchToPreviewTab();
283
+ essayResponsePage.steps.verifyWordLimitInPreviewTab(5, 3);
284
+ essayResponsePage.steps.switchToEditTab();
285
+ essayResponsePage.steps.clickOnEditQuestionButton();
286
+ });
287
+
256
288
  it('User should able to enter text in the response field', () => {
289
+ essayResponsePage.steps.switchToPreviewTab();
257
290
  essayResponsePage.steps.enterTextInResponseField('Lorem Ipsum');
258
291
  });
259
292
 
@@ -263,10 +296,22 @@ describe('Create question page - Essay Response: Question Instructions, Set limi
263
296
  essayResponsePage.steps.verifyLimitReachedWarningMessage('Maximum 5 words have been entered.')
264
297
  });
265
298
 
299
+ it('When the user reaches the word limit, then the warning message \'Maximum 5 words have been entered\' should be displayed in item preview', () => {
300
+ essayResponsePage.steps.saveAQuestionAndVerifySnackbar();
301
+ essayResponsePage.steps.switchToPreviewTab();
302
+ essayResponsePage.steps.enterInputInResponseField('Lorem Ipsum dolor sit amet');
303
+ essayResponsePage.steps.verifyResponseFieldInput('Lorem Ipsum dolor sit amet')
304
+ essayResponsePage.steps.verifyLimitReachedWarningMessage('Maximum 5 words have been entered.')
305
+ essayResponsePage.steps.switchToEditTab();
306
+ essayResponsePage.steps.clickOnEditQuestionButton();
307
+ essayResponsePage.steps.switchToPreviewTab();
308
+ essayResponsePage.steps.enterInputInResponseField('Lorem Ipsum dolor sit amet');
309
+ });
310
+
266
311
  it('CSS of \'word limit reached\' warning message and container', { tags: 'css' }, () => {
267
312
  utilities.verifyCSS(essayResponsePage.limitReachedWarningMessage(), {
268
313
  'color': css.color.warningMessage,
269
- 'font-size': css.fontSize.normal,
314
+ 'font-size': css.fontSize.default,
270
315
  'font-weight': css.fontWeight.regular
271
316
  });
272
317
  utilities.verifyCSS(essayResponsePage.limitReachedWarningMessageContainer().find('svg'), {
@@ -298,11 +343,45 @@ describe('Create question page - Essay Response: Question Instructions, Set limi
298
343
  essayResponsePage.steps.verifyLimitReachedWarningMessage('Minimum 3 words are required.');
299
344
  });
300
345
 
346
+ it('When the user enters the word less than the minimum word limit value set by the user and focus out of response field, then the warning message \'Minimum 3 words are required\' should be displayed in item preview', () => {
347
+ essayResponsePage.steps.saveAQuestionAndVerifySnackbar();
348
+ essayResponsePage.steps.switchToPreviewTab();
349
+ essayResponsePage.steps.clearResponseField();
350
+ essayResponsePage.steps.enterInputInResponseField('Lorem Ipsum');
351
+ essayResponsePage.steps.focusOutOfResponseField();
352
+ essayResponsePage.steps.verifyLimitReachedWarningMessage('Minimum 3 words are required.');
353
+ essayResponsePage.steps.switchToEditTab();
354
+ essayResponsePage.steps.clickOnEditQuestionButton();
355
+ essayResponsePage.steps.switchToPreviewTab();
356
+ essayResponsePage.steps.enterInputInResponseField('Lorem Ipsum');
357
+ });
358
+
301
359
  it('When the user enters the word greater than the minimum word limit value set by the user, then the warning message should disappear', () => {
302
360
  essayResponsePage.steps.enterInputInResponseField(' dolor sit');
303
361
  essayResponsePage.steps.verifyResponseFieldInput('Lorem Ipsum dolor sit');
304
362
  essayResponsePage.steps.verifyLimitReachedWarningMessageNotExist();
305
363
  });
364
+
365
+ it("When the user unchecks both 'Always show maximum limit' and 'Always show minimum limit' checkboxes then no limit message should be displayed in preview and item preview", () => {
366
+ // Ensure we are on edit tab and both checkboxes are currently checked from prior tests
367
+ essayResponsePage.steps.switchToEditTab();
368
+ // Uncheck maximum limit checkbox using existing step
369
+ essayResponsePage.steps.uncheckAlwaysShowMaximumLimitCheckbox();
370
+ // Uncheck minimum limit checkbox directly (no dedicated step defined yet)
371
+ essayResponsePage.alwaysShowMinLimitCheckBox()
372
+ .click()
373
+ .should('not.be.checked');
374
+ // Preview tab should not show limit banner
375
+ essayResponsePage.steps.switchToPreviewTab();
376
+ utilities.verifyElementVisibilityState(essayResponsePage.wordCharacterLimitWrapper(), 'notExist');
377
+ // Item preview validation
378
+ essayResponsePage.steps.saveAQuestionAndVerifySnackbar();
379
+ essayResponsePage.steps.switchToPreviewTab();
380
+ utilities.verifyElementVisibilityState(essayResponsePage.wordCharacterLimitWrapper(), 'notExist');
381
+ // Return to edit state for subsequent tests (if any added later)
382
+ essayResponsePage.steps.switchToEditTab();
383
+ essayResponsePage.steps.clickOnEditQuestionButton();
384
+ });
306
385
  });
307
386
 
308
387
  describe('Essay response: Set limit section: Character, None: Edit tab functionality', () => {
@@ -333,7 +412,43 @@ describe('Create question page - Essay Response: Question Instructions, Set limi
333
412
  essayResponsePage.steps.verifyCharacterLimitInPreviewTab(10, 6);
334
413
  });
335
414
 
415
+ it('When user switched to the preview tab then \'Maximum 20000 characters\' should be displayed in the preview tab in item preview', () => {
416
+ essayResponsePage.steps.switchToEditTab();
417
+ essayResponsePage.steps.setMaximumLimit(20000);
418
+ essayResponsePage.steps.unCheckAlwaysShowMinimumLimitCheckbox();
419
+ essayResponsePage.steps.saveAQuestionAndVerifySnackbar();
420
+ essayResponsePage.steps.switchToPreviewTab();
421
+ essayResponsePage.steps.verifyCharacterLimitInPreviewTab(20000);
422
+ essayResponsePage.steps.switchToEditTab();
423
+ essayResponsePage.steps.clickOnEditQuestionButton();
424
+ });
425
+
426
+ it('When the user unchecked the \'Always show maximum limit\' checkbox then no message should be displayed at the bottom of the response field in the question preview for characters.', () => {
427
+ essayResponsePage.steps.uncheckAlwaysShowMaximumLimitCheckbox();
428
+ essayResponsePage.steps.switchToPreviewTab();
429
+ utilities.verifyElementVisibilityState(essayResponsePage.wordCharacterLimitWrapper(), 'notExist');
430
+ });
431
+
432
+ it('When the user unchecked the \'Always show maximum limit\' checkbox then no message should be displayed at the bottom of the response field in the item preview for characters.', () => {
433
+ essayResponsePage.steps.saveAQuestionAndVerifySnackbar();
434
+ essayResponsePage.steps.switchToPreviewTab();
435
+ utilities.verifyElementVisibilityState(essayResponsePage.wordCharacterLimitWrapper(), 'notExist');
436
+ essayResponsePage.steps.switchToEditTab();
437
+ essayResponsePage.steps.clickOnEditQuestionButton();
438
+ });
439
+
440
+ it('When the user updates the maximum character limit input field value then updated maximum character limit value should be displayed in the preview tab in item preview', () => {
441
+ essayResponsePage.steps.checkAlwaysShowMaximumLimitCheckbox();
442
+ essayResponsePage.steps.setMaximumLimit(10);
443
+ essayResponsePage.steps.saveAQuestionAndVerifySnackbar();
444
+ essayResponsePage.steps.switchToPreviewTab();
445
+ essayResponsePage.steps.verifyCharacterLimitInPreviewTab(10);
446
+ essayResponsePage.steps.switchToEditTab();
447
+ essayResponsePage.steps.clickOnEditQuestionButton();
448
+ });
449
+
336
450
  it('User should able to enter characters in the response field', () => {
451
+ essayResponsePage.steps.switchToPreviewTab();
337
452
  essayResponsePage.steps.enterTextInResponseField('Lorem');
338
453
  });
339
454
 
@@ -343,8 +458,19 @@ describe('Create question page - Essay Response: Question Instructions, Set limi
343
458
  essayResponsePage.steps.verifyLimitReachedWarningMessage('Maximum 10 characters have been entered.')
344
459
  });
345
460
 
461
+ it('When the user reaches the character limit, then the warning message \'Maximum 10 characters have been entered\' should be displayed in item preview', () => {
462
+ essayResponsePage.steps.saveAQuestionAndVerifySnackbar();
463
+ essayResponsePage.steps.switchToPreviewTab();
464
+ essayResponsePage.steps.enterInputInResponseField('Loremdolar');
465
+ essayResponsePage.steps.verifyResponseFieldInput('Loremdolar');
466
+ essayResponsePage.steps.verifyLimitReachedWarningMessage('Maximum 10 characters have been entered.');
467
+ essayResponsePage.steps.switchToEditTab();
468
+ essayResponsePage.steps.clickOnEditQuestionButton();
469
+ essayResponsePage.steps.switchToPreviewTab();
470
+ });
471
+
346
472
  it('When the user removes/deletes some characters, the warning message should disappear', () => {
347
- essayResponsePage.steps.enterInputInResponseField('{backspace}');
473
+ essayResponsePage.steps.enterInputInResponseField('Loremdola');
348
474
  essayResponsePage.steps.verifyResponseFieldInput('Loremdola');
349
475
  essayResponsePage.steps.verifyLimitReachedWarningMessageNotExist();
350
476
  });
@@ -357,12 +483,36 @@ describe('Create question page - Essay Response: Question Instructions, Set limi
357
483
  essayResponsePage.steps.verifyLimitReachedWarningMessage('Minimum 6 characters are required.');
358
484
  });
359
485
 
486
+ it('When the user enters the character less than the minimum character limit value set by the user and focus out of response field, then the warning message \'Minimum 6 characters are required\' should be displayed in item preview', () => {
487
+ essayResponsePage.steps.saveAQuestionAndVerifySnackbar();
488
+ essayResponsePage.steps.switchToPreviewTab();
489
+ essayResponsePage.steps.clearResponseField();
490
+ essayResponsePage.steps.enterInputInResponseField('Lore');
491
+ essayResponsePage.steps.focusOutOfResponseField();
492
+ essayResponsePage.steps.verifyLimitReachedWarningMessage('Minimum 6 characters are required.');
493
+ essayResponsePage.steps.switchToEditTab();
494
+ essayResponsePage.steps.clickOnEditQuestionButton();
495
+ essayResponsePage.steps.switchToPreviewTab();
496
+ });
497
+
360
498
  it('When the user enters the character greater than the minimum character limt value set by the user, then the warning message should disappear', () => {
361
- essayResponsePage.steps.enterInputInResponseField('mdola');
499
+ essayResponsePage.steps.enterInputInResponseField('Loremdola');
362
500
  essayResponsePage.steps.verifyResponseFieldInput('Loremdola');
363
501
  essayResponsePage.steps.verifyLimitReachedWarningMessageNotExist();
364
502
  });
365
503
 
504
+ it("When the user unchecks both 'Always show maximum limit' and 'Always show minimum limit' checkboxes then no character limit message should be displayed in preview and item preview", () => {
505
+ essayResponsePage.steps.switchToEditTab();
506
+ essayResponsePage.steps.uncheckAlwaysShowMaximumLimitCheckbox();
507
+ essayResponsePage.steps.switchToPreviewTab();
508
+ utilities.verifyElementVisibilityState(essayResponsePage.wordCharacterLimitWrapper(), 'notExist');
509
+ essayResponsePage.steps.saveAQuestionAndVerifySnackbar();
510
+ essayResponsePage.steps.switchToPreviewTab();
511
+ utilities.verifyElementVisibilityState(essayResponsePage.wordCharacterLimitWrapper(), 'notExist');
512
+ essayResponsePage.steps.switchToEditTab();
513
+ essayResponsePage.steps.clickOnEditQuestionButton();
514
+ });
515
+
366
516
  it('When the user selects \'None\' radio button then maximum and minimum limits should not be displayed in the preview tab and when user types anything in the response field then error message should not be displayed', () => {
367
517
  essayResponsePage.steps.switchToEditTab();
368
518
  essayResponsePage.steps.checkNoneRadioButton();