itemengine-cypress-automation 1.0.575-IEI-7071-main-366a409.0 → 1.0.575-scoring-fix-50e88c8.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.
- package/cypress/e2e/ILC/ShortTextResponseNew/additionalSettings.js +2 -99
- package/cypress/e2e/ILC/ShortTextResponseNew/allOrNothingWithAlternativeAnswer.js +245 -0
- package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +1 -55
- package/cypress/e2e/ILC/ShortTextResponseNew/{Scoring/manuallyAndNonScoredScoring.js → manuallyAndNonScoredScoring.js} +18 -6
- package/cypress/e2e/ILC/ShortTextResponseNew/responseAnswersAndAcceptedStudentInput.js +1 -151
- package/cypress/e2e/ILC/ShortTextResponseNew/specialCharactersSection.js +3 -3
- package/cypress/e2e/ILC/ShortTextResponseNew/studentViewSettings.js +1 -129
- package/cypress/pages/components/printPreviewComponent.js +1 -8
- package/cypress/pages/shortTextResponsePage.js +6 -195
- package/package.json +1 -1
- package/cypress/e2e/ILC/ShortTextResponseNew/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +0 -63
- package/cypress/e2e/ILC/ShortTextResponseNew/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +0 -63
- package/cypress/e2e/ILC/ShortTextResponseNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +0 -87
- package/cypress/e2e/ILC/ShortTextResponseNew/Scoring/allOrNothingWeightsBasic.js +0 -163
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
import { shortTextResponsePage
|
|
1
|
+
import { shortTextResponsePage } from "../../../pages";
|
|
2
2
|
import utilities from "../../../support/helpers/utilities";
|
|
3
3
|
import abortEarlySetup from "../../../support/helpers/abortEarly";
|
|
4
4
|
const css = Cypress.env('css');
|
|
5
|
-
let correctAnswerViews = ['Question preview', 'Item preview', 'Student view'];
|
|
6
|
-
const views = utilities.getViews(correctAnswerViews);
|
|
7
|
-
let itemReferenceID = "";
|
|
8
5
|
|
|
9
6
|
describe('Create Item page - Short text response ', () => {
|
|
10
7
|
before(() => {
|
|
@@ -231,151 +228,4 @@ describe('Create Item page - Short text response ', () => {
|
|
|
231
228
|
shortTextResponsePage.steps.verifyWarningMessageNotExist();
|
|
232
229
|
});
|
|
233
230
|
});
|
|
234
|
-
|
|
235
|
-
views.forEach((view) => {
|
|
236
|
-
describe(`${view}: Accepted student input default state`, () => {
|
|
237
|
-
abortEarlySetup();
|
|
238
|
-
before(() => {
|
|
239
|
-
switch (view) {
|
|
240
|
-
case 'Question preview':
|
|
241
|
-
shortTextResponsePage.steps.navigateToCreateQuestion('short text response');
|
|
242
|
-
cy.barsPreLoaderWait();
|
|
243
|
-
shortTextResponsePage.steps.enterTextInAnswerInputFieldSpecifyCorrectAnswerSection('Correct answer');
|
|
244
|
-
shortTextResponsePage.steps.allotPoints(10);
|
|
245
|
-
shortTextResponsePage.steps.verifyAcceptedStudentTypeActiveButton(0, 'Text');
|
|
246
|
-
shortTextResponsePage.steps.switchToPreviewTab();
|
|
247
|
-
break;
|
|
248
|
-
case 'Item preview':
|
|
249
|
-
cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
|
|
250
|
-
itemPreviewPage.steps.switchToPreviewTab();
|
|
251
|
-
break;
|
|
252
|
-
case 'Student view':
|
|
253
|
-
cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
|
|
254
|
-
break;
|
|
255
|
-
};
|
|
256
|
-
});
|
|
257
|
-
|
|
258
|
-
beforeEach(() => {
|
|
259
|
-
switch (view) {
|
|
260
|
-
case 'Question preview':
|
|
261
|
-
break;
|
|
262
|
-
case 'Item preview':
|
|
263
|
-
shortTextResponsePage.steps.switchToGradingView();
|
|
264
|
-
break;
|
|
265
|
-
case 'Student view':
|
|
266
|
-
cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
|
|
267
|
-
break;
|
|
268
|
-
}
|
|
269
|
-
});
|
|
270
|
-
|
|
271
|
-
if (view === 'Question preview') {
|
|
272
|
-
after(() => {
|
|
273
|
-
shortTextResponsePage.steps.clickOnSaveQuestionButton();
|
|
274
|
-
utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
|
|
275
|
-
itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
|
|
276
|
-
});
|
|
277
|
-
};
|
|
278
|
-
|
|
279
|
-
it(`When \'Text\' is selected in accepted student input in edit tab, then user should be able to enter alphanumeric characters and special symbols in the ${view}`, () => {
|
|
280
|
-
shortTextResponsePage.steps.enterTextInAnswerInputFieldPreviewTab('Flower23^^');
|
|
281
|
-
shortTextResponsePage.steps.verifyTextInAnswerInputFieldPreviewTab('Flower23^^');
|
|
282
|
-
});
|
|
283
|
-
});
|
|
284
|
-
});
|
|
285
|
-
|
|
286
|
-
views.forEach((view) => {
|
|
287
|
-
describe(`${view}: Accepted student input modified state`, () => {
|
|
288
|
-
abortEarlySetup();
|
|
289
|
-
before(() => {
|
|
290
|
-
switch (view) {
|
|
291
|
-
case 'Question preview':
|
|
292
|
-
shortTextResponsePage.steps.navigateToCreateQuestion('short text response');
|
|
293
|
-
cy.barsPreLoaderWait();
|
|
294
|
-
shortTextResponsePage.steps.enterTextInAnswerInputFieldSpecifyCorrectAnswerSection('Correct answer');
|
|
295
|
-
shortTextResponsePage.steps.allotPoints(10);
|
|
296
|
-
shortTextResponsePage.steps.selectAcceptedStudentInputType(0, 'Number');
|
|
297
|
-
shortTextResponsePage.steps.switchToPreviewTab();
|
|
298
|
-
break;
|
|
299
|
-
case 'Item preview':
|
|
300
|
-
cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
|
|
301
|
-
itemPreviewPage.steps.switchToPreviewTab();
|
|
302
|
-
break;
|
|
303
|
-
case 'Student view':
|
|
304
|
-
cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
|
|
305
|
-
break;
|
|
306
|
-
};
|
|
307
|
-
});
|
|
308
|
-
|
|
309
|
-
beforeEach(() => {
|
|
310
|
-
switch (view) {
|
|
311
|
-
case 'Question preview':
|
|
312
|
-
break;
|
|
313
|
-
case 'Item preview':
|
|
314
|
-
shortTextResponsePage.steps.switchToGradingView();
|
|
315
|
-
break;
|
|
316
|
-
case 'Student view':
|
|
317
|
-
cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
|
|
318
|
-
break;
|
|
319
|
-
}
|
|
320
|
-
});
|
|
321
|
-
|
|
322
|
-
if (view === 'Question preview') {
|
|
323
|
-
after(() => {
|
|
324
|
-
shortTextResponsePage.steps.clickOnSaveQuestionButton();
|
|
325
|
-
utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
|
|
326
|
-
itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
|
|
327
|
-
});
|
|
328
|
-
};
|
|
329
|
-
|
|
330
|
-
it(`When user selects \'Number\' in accepted student input in edit tab, then user should be able to enter numbers inside response input field in ${view}`, () => {
|
|
331
|
-
shortTextResponsePage.steps.enterTextInAnswerInputFieldPreviewTab('232&');
|
|
332
|
-
shortTextResponsePage.steps.verifyTextInAnswerInputFieldPreviewTab('232');
|
|
333
|
-
});
|
|
334
|
-
|
|
335
|
-
it(`When user enters numerical values in the response input field, then warning message \'Only number can be typed.\' should appear in the ${view}`, () => {
|
|
336
|
-
shortTextResponsePage.steps.enterTextInAnswerInputFieldPreviewTab('Number');
|
|
337
|
-
shortTextResponsePage.steps.verifyTextInAnswerInputFieldPreviewTab('');
|
|
338
|
-
shortTextResponsePage.steps.verifyWarningMessagePreviewTab('Only number can be typed.');
|
|
339
|
-
});
|
|
340
|
-
|
|
341
|
-
it(`When user enters numerical value in response field then warning message should disappear ${view}`, () => {
|
|
342
|
-
shortTextResponsePage.steps.enterTextInAnswerInputFieldPreviewTab('23');
|
|
343
|
-
shortTextResponsePage.steps.focusOutOfResponseInputFieldPreviewTab();
|
|
344
|
-
shortTextResponsePage.steps.verifyWarningMessageNotExist();
|
|
345
|
-
});
|
|
346
|
-
|
|
347
|
-
it(`When user enters numerical value in response field then warning message should disappear ${view}`, () => {
|
|
348
|
-
shortTextResponsePage.steps.enterTextInAnswerInputFieldPreviewTab('23');
|
|
349
|
-
shortTextResponsePage.steps.focusOutOfResponseInputFieldPreviewTab();
|
|
350
|
-
shortTextResponsePage.steps.verifyWarningMessageNotExist();
|
|
351
|
-
});
|
|
352
|
-
|
|
353
|
-
it(`User should be able to enter decimal numbers inside response input field in ${view}`, () => {
|
|
354
|
-
shortTextResponsePage.steps.enterTextInAnswerInputFieldPreviewTab('23.2');
|
|
355
|
-
shortTextResponsePage.steps.verifyTextInAnswerInputFieldPreviewTab('23.2');
|
|
356
|
-
});
|
|
357
|
-
|
|
358
|
-
it(`User should be able to enter negative numbers inside response input field in ${view}`, () => {
|
|
359
|
-
shortTextResponsePage.steps.enterTextInAnswerInputFieldPreviewTab('-6');
|
|
360
|
-
shortTextResponsePage.steps.verifyTextInAnswerInputFieldPreviewTab('-6');
|
|
361
|
-
});
|
|
362
|
-
|
|
363
|
-
it(`User should be able to enter zero inside response input field in ${view}`, () => {
|
|
364
|
-
shortTextResponsePage.steps.enterTextInAnswerInputFieldPreviewTab('0');
|
|
365
|
-
shortTextResponsePage.steps.verifyTextInAnswerInputFieldPreviewTab('0');
|
|
366
|
-
});
|
|
367
|
-
|
|
368
|
-
it(`When user enters alphanumeric values in the response input field, then and warning message \'Only number can be typed.\' should appear ${view}`, () => {
|
|
369
|
-
shortTextResponsePage.steps.enterTextInAnswerInputFieldPreviewTab('Flower');
|
|
370
|
-
shortTextResponsePage.steps.verifyTextInAnswerInputFieldPreviewTab('');
|
|
371
|
-
shortTextResponsePage.steps.verifyWarningMessagePreviewTab('Only number can be typed.');
|
|
372
|
-
});
|
|
373
|
-
|
|
374
|
-
it(`When user enters numeric text in response field then warning message should disappear in the ${view}`, () => {
|
|
375
|
-
shortTextResponsePage.steps.enterTextInAnswerInputFieldPreviewTab('82.5');
|
|
376
|
-
shortTextResponsePage.steps.verifyTextInAnswerInputFieldPreviewTab('82.5');
|
|
377
|
-
shortTextResponsePage.steps.verifyWarningMessageNotExist();
|
|
378
|
-
});
|
|
379
|
-
});
|
|
380
|
-
});
|
|
381
231
|
});
|
|
@@ -157,7 +157,7 @@ describe('Create item page - Fill in the gaps over image - text - Special charac
|
|
|
157
157
|
});
|
|
158
158
|
//Category tiles in de-selected state
|
|
159
159
|
utilities.verifyCSS(shortTextResponsePage.specialCharacterTileIcon().eq(0).find('svg'), {
|
|
160
|
-
'fill': css.color.
|
|
160
|
+
'fill': css.color.secondaryBtn
|
|
161
161
|
});
|
|
162
162
|
utilities.verifyCSS(shortTextResponsePage.specialCharacterTileSectionCategoriesDragIcon().eq(0).find('path'), {
|
|
163
163
|
'fill': css.color.secondaryBtn
|
|
@@ -198,10 +198,10 @@ describe('Create item page - Fill in the gaps over image - text - Special charac
|
|
|
198
198
|
cy.checkAccessibility(dialogBoxBase.dialogBox());
|
|
199
199
|
cy.log('Closing preview popup');
|
|
200
200
|
dialogBoxBase.steps.closeWarningPopup();
|
|
201
|
-
cy.checkAccessibility(shortTextResponsePage.specialCharactersLabel());
|
|
201
|
+
cy.checkAccessibility(shortTextResponsePage.specialCharactersLabel().parents('.edit-question-edit-tab-wrapper'));
|
|
202
202
|
cy.log('Selecting show only custom special characters radio button');
|
|
203
203
|
shortTextResponsePage.steps.selectShowOnlyCustomSpecialCharactersRadioButton();
|
|
204
|
-
cy.checkAccessibility(shortTextResponsePage.
|
|
204
|
+
cy.checkAccessibility(shortTextResponsePage.specialCharactersLabel().parent());
|
|
205
205
|
});
|
|
206
206
|
});
|
|
207
207
|
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
import { shortTextResponsePage
|
|
1
|
+
import { shortTextResponsePage } 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
|
-
let correctAnswerViews = ['Question preview', 'Item preview', 'Student view'];
|
|
6
|
-
const views = utilities.getViews(correctAnswerViews);
|
|
7
|
-
let itemReferenceID = "";
|
|
8
5
|
|
|
9
6
|
const labels = [shortTextResponsePage.displayWordCountLabel, shortTextResponsePage.spellCheckLabel, shortTextResponsePage.autoScaleTheResponseFieldHeightLabel];
|
|
10
7
|
const checkboxes = [shortTextResponsePage.displayWordCountCheckbox, shortTextResponsePage.spellCheckCheckbox, shortTextResponsePage.autoScaleTheResponseFieldHeightCheckbox];
|
|
@@ -333,129 +330,4 @@ describe('Create Item page - Short text response : Student view settings', () =>
|
|
|
333
330
|
shortTextResponsePage.steps.verifyCheckAnswerButtonEnabled();
|
|
334
331
|
});
|
|
335
332
|
});*/
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
views.forEach((view) => {
|
|
339
|
-
describe(`${view}: Student view settings default state`, () => {
|
|
340
|
-
abortEarlySetup();
|
|
341
|
-
before(() => {
|
|
342
|
-
switch (view) {
|
|
343
|
-
case 'Question preview':
|
|
344
|
-
shortTextResponsePage.steps.navigateToCreateQuestion('short text response');
|
|
345
|
-
cy.barsPreLoaderWait();
|
|
346
|
-
shortTextResponsePage.steps.enterTextInAnswerInputFieldSpecifyCorrectAnswerSection('Correct answer');
|
|
347
|
-
shortTextResponsePage.steps.allotPoints(10);
|
|
348
|
-
shortTextResponsePage.steps.switchToPreviewTab();
|
|
349
|
-
break;
|
|
350
|
-
case 'Item preview':
|
|
351
|
-
cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
|
|
352
|
-
itemPreviewPage.steps.switchToPreviewTab();
|
|
353
|
-
break;
|
|
354
|
-
case 'Student view':
|
|
355
|
-
cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
|
|
356
|
-
break;
|
|
357
|
-
};
|
|
358
|
-
});
|
|
359
|
-
|
|
360
|
-
beforeEach(() => {
|
|
361
|
-
switch (view) {
|
|
362
|
-
case 'Question preview':
|
|
363
|
-
break;
|
|
364
|
-
case 'Item preview':
|
|
365
|
-
shortTextResponsePage.steps.switchToGradingView();
|
|
366
|
-
break;
|
|
367
|
-
case 'Student view':
|
|
368
|
-
cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
|
|
369
|
-
break;
|
|
370
|
-
}
|
|
371
|
-
});
|
|
372
|
-
|
|
373
|
-
if (view === 'Question preview') {
|
|
374
|
-
after(() => {
|
|
375
|
-
shortTextResponsePage.steps.clickOnSaveQuestionButton();
|
|
376
|
-
utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
|
|
377
|
-
itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
|
|
378
|
-
});
|
|
379
|
-
};
|
|
380
|
-
|
|
381
|
-
it(`When the \'Auto scale the response field height (no scrolling)\' checkbox is unchecked, then entering long text into the input field should display the entire text in the response input field on a single scrollable line and height of the response input field should remain unchanged in ${view}`, () => {
|
|
382
|
-
shortTextResponsePage.steps.verifyAutoScaleHeightOfResponseFieldFunctionalityPreviewTab('Disabled');
|
|
383
|
-
});
|
|
384
|
-
|
|
385
|
-
it(`When the \'Spell check\' checkbox is unchecked, the response field should have \'spellcheck\' attribute set as \'false\' in the ${view}`, () => {
|
|
386
|
-
shortTextResponsePage.steps.verifySpellCheckOfResponseFieldDisabledInAllViews();
|
|
387
|
-
});
|
|
388
|
-
|
|
389
|
-
it(`When \'Display character count\' checkbox is unchecked, then the \'Character\' label and count should not be displayed in ${view}`, () => {
|
|
390
|
-
utilities.verifyElementVisibilityState(shortTextResponsePage.characterWordCountLabelPreviewTab(), 'notExist');
|
|
391
|
-
utilities.verifyElementVisibilityState(shortTextResponsePage.characterWordCountLabelPreviewTab(), 'notExist');
|
|
392
|
-
});
|
|
393
|
-
});
|
|
394
|
-
});
|
|
395
|
-
|
|
396
|
-
views.forEach((view) => {
|
|
397
|
-
describe(`${view}: Student view settings`, () => {
|
|
398
|
-
abortEarlySetup();
|
|
399
|
-
before(() => {
|
|
400
|
-
switch (view) {
|
|
401
|
-
case 'Question preview':
|
|
402
|
-
shortTextResponsePage.steps.navigateToCreateQuestion('short text response');
|
|
403
|
-
cy.barsPreLoaderWait();
|
|
404
|
-
shortTextResponsePage.steps.enterTextInAnswerInputFieldSpecifyCorrectAnswerSection('Correct answer');
|
|
405
|
-
shortTextResponsePage.steps.allotPoints(10);
|
|
406
|
-
shortTextResponsePage.steps.checkAutoScaleTheResponseFieldHeightCheckbox();
|
|
407
|
-
shortTextResponsePage.steps.checkSpellCheckCheckbox();
|
|
408
|
-
shortTextResponsePage.steps.checkDisplayCharacterCountCheckbox();
|
|
409
|
-
shortTextResponsePage.steps.switchToPreviewTab();
|
|
410
|
-
break;
|
|
411
|
-
case 'Item preview':
|
|
412
|
-
cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
|
|
413
|
-
itemPreviewPage.steps.switchToPreviewTab();
|
|
414
|
-
break;
|
|
415
|
-
case 'Student view':
|
|
416
|
-
cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
|
|
417
|
-
break;
|
|
418
|
-
};
|
|
419
|
-
});
|
|
420
|
-
|
|
421
|
-
beforeEach(() => {
|
|
422
|
-
switch (view) {
|
|
423
|
-
case 'Question preview':
|
|
424
|
-
break;
|
|
425
|
-
case 'Item preview':
|
|
426
|
-
shortTextResponsePage.steps.switchToGradingView();
|
|
427
|
-
break;
|
|
428
|
-
case 'Student view':
|
|
429
|
-
cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
|
|
430
|
-
break;
|
|
431
|
-
}
|
|
432
|
-
});
|
|
433
|
-
|
|
434
|
-
if (view === 'Question preview') {
|
|
435
|
-
after(() => {
|
|
436
|
-
shortTextResponsePage.steps.clickOnSaveQuestionButton();
|
|
437
|
-
utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
|
|
438
|
-
itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
|
|
439
|
-
});
|
|
440
|
-
};
|
|
441
|
-
|
|
442
|
-
it(`When \'Auto scale the response field height (no scrolling)\' checkbox is checked, then entering a long text in the input field should display the entire text in the response input field, and the height of the response input field should automatically resize according to the entered text in the ${view}`, () => {
|
|
443
|
-
shortTextResponsePage.steps.verifyAutoScaleHeightOfResponseFieldFunctionalityPreviewTab('Enabled');
|
|
444
|
-
});
|
|
445
|
-
|
|
446
|
-
it(`When the \'Spell check\' functionality is enabled, the response field should have \'spellcheck\' attribute set as \'true\' in the ${view}`, () => {
|
|
447
|
-
shortTextResponsePage.steps.verifySpellCheckOfResponseFieldEnabledInAllViews();
|
|
448
|
-
});
|
|
449
|
-
|
|
450
|
-
it(`When \'Display character count\' checkbox is checked, then the \'Character\' label and count should be displayed and count should be zero by default in the ${view}`, () => {
|
|
451
|
-
utilities.verifyInnerText(shortTextResponsePage.characterWordCountLabelPreviewTab(), 'Characters: 0');
|
|
452
|
-
utilities.verifyElementVisibilityState(shortTextResponsePage.characterWordCountLabelPreviewTab(), 'visible');
|
|
453
|
-
});
|
|
454
|
-
|
|
455
|
-
it(`When user enters text in response field, then character count should be updated in the ${view}`, () => {
|
|
456
|
-
shortTextResponsePage.steps.enterTextInAnswerInputFieldAllViews('Flowers are blooming');
|
|
457
|
-
utilities.verifyInnerText(shortTextResponsePage.characterWordCountLabelPreviewTab(), 'Characters: 20');
|
|
458
|
-
});
|
|
459
|
-
});
|
|
460
|
-
});
|
|
461
333
|
});
|
|
@@ -54,14 +54,7 @@ const steps = {
|
|
|
54
54
|
verifyQuestionInstructionsInputFieldForPrintDisabledState: () => {
|
|
55
55
|
printPreviewComponent.questionInstructionsInputFieldForPrint()
|
|
56
56
|
.should('have.attr', 'contenteditable', 'false');
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
addTextInQuestionInstructionsInputFieldForPrint: (text) => {
|
|
60
|
-
printPreviewComponent.questionInstructionsInputFieldForPrint()
|
|
61
|
-
.clear()
|
|
62
|
-
.type(text)
|
|
63
|
-
.should('have.text', text);
|
|
64
|
-
},
|
|
57
|
+
}
|
|
65
58
|
|
|
66
59
|
};
|
|
67
60
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createQuestionBasePage, autoScoredStudentViewSettings, autoScoredScoringPreviewTab, scoringSectionBaseEditTab, questionInstructionsComponent, autoScoredScoringSectionMultiResponseType, autoScoredSpecifyCorrectAnswerSection, commonComponents, additionalSettingsPanel, acceptedStudentInputComponent, studentViewSettingsLabelComponent, customizeSpecialCharacterComponent, studentResponseAndLayoutComponent
|
|
1
|
+
import { createQuestionBasePage, autoScoredStudentViewSettings, autoScoredScoringPreviewTab, scoringSectionBaseEditTab, questionInstructionsComponent, autoScoredScoringSectionMultiResponseType, autoScoredSpecifyCorrectAnswerSection, commonComponents, additionalSettingsPanel, acceptedStudentInputComponent, studentViewSettingsLabelComponent, customizeSpecialCharacterComponent, studentResponseAndLayoutComponent } from "./components/";
|
|
2
2
|
import { dialogBoxBase } from "./dialogBoxBase";
|
|
3
3
|
import utilities from "../support/helpers/utilities";
|
|
4
4
|
import { createItemPage } from "./createItemPage";
|
|
@@ -16,8 +16,6 @@ const selectors = {
|
|
|
16
16
|
...commonComponents,
|
|
17
17
|
...additionalSettingsPanel,
|
|
18
18
|
...createQuestionBasePage,
|
|
19
|
-
...printPreviewComponent,
|
|
20
|
-
...autoScoredScoringSectionMultiResponseType,
|
|
21
19
|
|
|
22
20
|
answerLabelSpecifyCorrectAnswerSection: () => cy.get('.answer-label'),
|
|
23
21
|
displayCharacterCountLabel: () => cy.get('[data-ngie-testid="display-character-count-checkbox"] .MuiFormControlLabel-label'),
|
|
@@ -94,23 +92,6 @@ const selectors = {
|
|
|
94
92
|
ariaLabelLabel: () => cy.get('.aria-label-wrapper .title-casing'),
|
|
95
93
|
ariaLabelInputField: () => cy.get('.aria-label-wrapper [role="textbox"]'),
|
|
96
94
|
questionInstructionsTextPreviewTab: () => cy.get('.question-instruction:visible'),
|
|
97
|
-
displayLinesForTheResponseLabel: () => cy.get('label[aria-label*="Display lines for the response"]'),
|
|
98
|
-
displayLinesForTheResponseCheckbox: () => cy.get('input[aria-label*="Display lines for the response"]'),
|
|
99
|
-
numberOfLinesInputField: () => cy.get('[aria-labelledby*="number-of-lines"]'),
|
|
100
|
-
numberOfLinesLabel: () => cy.get('.number-of-lines-label'),
|
|
101
|
-
lineSpacingLabel: () => cy.get('[id="Line-Spacing-dropdown-label"]'),
|
|
102
|
-
lineSpacingDropdown: () => cy.get('.print-layout-settings-detail-wrapper [aria-label*="Line Spacing"]'),
|
|
103
|
-
lineSpacingDropdownListOptions: (ariaLabel = null) => {
|
|
104
|
-
if (ariaLabel) {
|
|
105
|
-
return cy.get(`[aria-labelledby*="Line-Spacing-dropdown-label Line-Spacing-placeholder"] [role="option"][aria-label*="${ariaLabel}"]`)
|
|
106
|
-
} else {
|
|
107
|
-
return cy.get('[aria-labelledby*="Line-Spacing-dropdown-label Line-Spacing-placeholder"] [role="option"]')
|
|
108
|
-
}
|
|
109
|
-
},
|
|
110
|
-
numberOfLinesInPrintView: () => cy.get('.student-view [class*="ShortTextResponsePreviewstyle__OptionsWrapper"] [class*="ShortTextResponsePreviewstyle__Line"],[class*="ShortTextResponsePreviewstyle__Question"] [class*="ShortTextResponsePreviewstyle__Line"]'),
|
|
111
|
-
answerResponseInputField: () => cy.get('[aria-label*="Enter your response to the question here "]'),
|
|
112
|
-
answerResponseInputFieldWrapper: () => cy.get('.additional-option-placeholder-input input,.additional-option-placeholder-input textarea'),
|
|
113
|
-
answerInputField: () => cy.get('.additional-option-placeholder-input'),
|
|
114
95
|
}
|
|
115
96
|
|
|
116
97
|
const steps = {
|
|
@@ -125,8 +106,6 @@ const steps = {
|
|
|
125
106
|
...additionalSettingsPanel.steps,
|
|
126
107
|
...autoScoredSpecifyCorrectAnswerSection.steps,
|
|
127
108
|
...createItemPage.steps,
|
|
128
|
-
...printPreviewComponent.steps,
|
|
129
|
-
...autoScoredScoringSectionMultiResponseType.steps,
|
|
130
109
|
|
|
131
110
|
verifyCorrectIcon: () => {
|
|
132
111
|
utilities.verifyElementVisibilityState(autoScoredScoringPreviewTab.correctIcon(), 'visible');
|
|
@@ -200,16 +179,6 @@ const steps = {
|
|
|
200
179
|
.type(text);
|
|
201
180
|
},
|
|
202
181
|
|
|
203
|
-
/**
|
|
204
|
-
* @param {string} text text to entered in response input field
|
|
205
|
-
* @description enters text in answer input field
|
|
206
|
-
*/
|
|
207
|
-
enterTextInAnswerInputField: (text) => {
|
|
208
|
-
shortTextResponsePage.answerResponseInputField()
|
|
209
|
-
.clear()
|
|
210
|
-
.type(text);
|
|
211
|
-
},
|
|
212
|
-
|
|
213
182
|
clearAndFocusOutOfSpecifyCorrectAnswerInputField: () => {
|
|
214
183
|
shortTextResponsePage.answerInputFieldSpecifyCorrectAnswerSection()
|
|
215
184
|
.clear()
|
|
@@ -844,14 +813,6 @@ const steps = {
|
|
|
844
813
|
steps.verifyClipboardFunctionButtonUnselectedState(index);
|
|
845
814
|
},
|
|
846
815
|
|
|
847
|
-
deselectAllClipboardFunctionButton: () => {
|
|
848
|
-
for (let index = 0; index < 3; index++) {
|
|
849
|
-
shortTextResponsePage.clipboardFunctionButton(index)
|
|
850
|
-
.click();
|
|
851
|
-
steps.verifyClipboardFunctionButtonUnselectedState(index);
|
|
852
|
-
}
|
|
853
|
-
},
|
|
854
|
-
|
|
855
816
|
enterTextInPlaceholderTextInputField: (text) => {
|
|
856
817
|
shortTextResponsePage.placeholderTextInputField()
|
|
857
818
|
.clear()
|
|
@@ -938,99 +899,7 @@ const steps = {
|
|
|
938
899
|
verifyFlagThisItemNonAccessibleCheckboxIsUnchecked: () => {
|
|
939
900
|
shortTextResponsePage.flagNonAccessibleCheckbox()
|
|
940
901
|
.should('not.be.checked');
|
|
941
|
-
}
|
|
942
|
-
|
|
943
|
-
verifyDisplayLinesForTheResponseCheckboxUnchecked: () => {
|
|
944
|
-
shortTextResponsePage.displayLinesForTheResponseCheckbox()
|
|
945
|
-
.should('not.be.checked');
|
|
946
|
-
},
|
|
947
|
-
|
|
948
|
-
verifyDisplayLinesForTheResponseCheckboxChecked: () => {
|
|
949
|
-
shortTextResponsePage.displayLinesForTheResponseCheckbox()
|
|
950
|
-
.should('be.checked');
|
|
951
|
-
},
|
|
952
|
-
|
|
953
|
-
checkDisplayLinesForTheResponseCheckbox: () => {
|
|
954
|
-
shortTextResponsePage.displayLinesForTheResponseCheckbox()
|
|
955
|
-
.click()
|
|
956
|
-
steps.verifyDisplayLinesForTheResponseCheckboxChecked();
|
|
957
|
-
},
|
|
958
|
-
|
|
959
|
-
uncheckDisplayLinesForTheResponseCheckbox: () => {
|
|
960
|
-
shortTextResponsePage.displayLinesForTheResponseCheckbox()
|
|
961
|
-
.click();
|
|
962
|
-
steps.verifyDisplayLinesForTheResponseCheckboxUnchecked();
|
|
963
|
-
},
|
|
964
|
-
|
|
965
|
-
expandLineSpacingDropdown: () => {
|
|
966
|
-
shortTextResponsePage.lineSpacingDropdown()
|
|
967
|
-
.click();
|
|
968
|
-
},
|
|
969
|
-
|
|
970
|
-
selectLineSpacingDropdownOption: (option) => {
|
|
971
|
-
shortTextResponsePage.lineSpacingDropdownListOptions(option)
|
|
972
|
-
.click();
|
|
973
|
-
utilities.verifyInnerText(shortTextResponsePage.lineSpacingDropdown(), option);
|
|
974
|
-
},
|
|
975
|
-
|
|
976
|
-
addValueInNumberOfLinesInputField: (value) => {
|
|
977
|
-
shortTextResponsePage.numberOfLinesInputField()
|
|
978
|
-
.clear()
|
|
979
|
-
.type(value)
|
|
980
|
-
.should('have.value', value);
|
|
981
|
-
},
|
|
982
|
-
|
|
983
|
-
verifyNumberOfLinesInPrintView: (expectedLines, expectedLineHeight) => {
|
|
984
|
-
shortTextResponsePage.numberOfLinesInPrintView()
|
|
985
|
-
.should('have.length', expectedLines)
|
|
986
|
-
.each(($line) => {
|
|
987
|
-
cy.wrap($line).should('have.css', 'height', expectedLineHeight);
|
|
988
|
-
});
|
|
989
|
-
},
|
|
990
|
-
|
|
991
|
-
copyTextFromAnswerResponseField: () => {
|
|
992
|
-
shortTextResponsePage.answerResponseInputField()
|
|
993
|
-
.focus()
|
|
994
|
-
.type('{selectall}')
|
|
995
|
-
.realPress(['Control', 'c']);
|
|
996
|
-
},
|
|
997
|
-
|
|
998
|
-
cutTextFromAnswerResponseField: () => {
|
|
999
|
-
shortTextResponsePage.answerResponseInputField()
|
|
1000
|
-
.focus()
|
|
1001
|
-
.type('{selectall}')
|
|
1002
|
-
.realPress(['Control', 'x']);
|
|
1003
|
-
},
|
|
1004
|
-
|
|
1005
|
-
pasteTextFromAnswerResponseField: () => {
|
|
1006
|
-
shortTextResponsePage.answerResponseInputField()
|
|
1007
|
-
.focus()
|
|
1008
|
-
.type('{selectall}')
|
|
1009
|
-
.realPress(['Control', 'c'])
|
|
1010
|
-
.realPress(['Control', 'v']);
|
|
1011
|
-
},
|
|
1012
|
-
|
|
1013
|
-
verifySpellCheckOfResponseFieldDisabledInAllViews: () => {
|
|
1014
|
-
shortTextResponsePage.answerResponseInputFieldWrapper()
|
|
1015
|
-
.should('have.prop', 'spellcheck', false);
|
|
1016
|
-
},
|
|
1017
|
-
|
|
1018
|
-
verifySpellCheckOfResponseFieldEnabledInAllViews: () => {
|
|
1019
|
-
shortTextResponsePage.answerInputField()
|
|
1020
|
-
.should('have.prop', 'spellcheck', true);
|
|
1021
|
-
},
|
|
1022
|
-
|
|
1023
|
-
/**
|
|
1024
|
-
* @param {string} text text to be entered in response field
|
|
1025
|
-
* @description enters text in response field
|
|
1026
|
-
*
|
|
1027
|
-
*/
|
|
1028
|
-
enterTextInAnswerInputFieldAllViews: (text) => {
|
|
1029
|
-
shortTextResponsePage.answerResponseInputFieldWrapper()
|
|
1030
|
-
.eq(0)
|
|
1031
|
-
.clear()
|
|
1032
|
-
.type(text);
|
|
1033
|
-
},
|
|
902
|
+
}
|
|
1034
903
|
}
|
|
1035
904
|
|
|
1036
905
|
const tests = {
|
|
@@ -1046,7 +915,6 @@ const tests = {
|
|
|
1046
915
|
...additionalSettingsPanel.tests,
|
|
1047
916
|
...autoScoredSpecifyCorrectAnswerSection.tests,
|
|
1048
917
|
...studentResponseAndLayoutComponent.tests,
|
|
1049
|
-
...printPreviewComponent.tests,
|
|
1050
918
|
|
|
1051
919
|
/**
|
|
1052
920
|
* Verifies the contents and functionality of the 'Specify correct answer' accordion for multiple selection questions.
|
|
@@ -1063,11 +931,15 @@ const tests = {
|
|
|
1063
931
|
utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'notExist');
|
|
1064
932
|
});
|
|
1065
933
|
|
|
934
|
+
autoScoredSpecifyCorrectAnswerSection.tests.verifyAutoScoredCorrectAnswerErrorMessageCSSAndA11y();
|
|
935
|
+
|
|
1066
936
|
it('When gives an input to \'Answer\' input field,then error message should disappear', () => {
|
|
1067
937
|
shortTextResponsePage.steps.enterTextInAnswerInputFieldSpecifyCorrectAnswerSection('Nature');
|
|
1068
938
|
commonComponents.steps.verifyErrorMessageIsNotDisplayed();
|
|
1069
939
|
});
|
|
1070
940
|
|
|
941
|
+
autoScoredSpecifyCorrectAnswerSection.tests.verifyAutoScoredPointsErrorMessageWhenPointsFieldIsEmpty(accordionName);
|
|
942
|
+
|
|
1071
943
|
it(`CSS of ${accordionName} accordion contents`, { tags: 'css' }, () => {
|
|
1072
944
|
utilities.verifyCSS(utilities.getNthElement(shortTextResponsePage.correctAnswerAccordionLabel(), 0), {
|
|
1073
945
|
'color': css.color.accordionLabel,
|
|
@@ -1087,67 +959,6 @@ const tests = {
|
|
|
1087
959
|
utilities.verifyElementCount(shortTextResponsePage.answerInputFieldSpecifyCorrectAnswerSection(), 1);
|
|
1088
960
|
});
|
|
1089
961
|
},
|
|
1090
|
-
|
|
1091
|
-
verifyPrintLayoutSettingsAccordionAdditionalContent: () => {
|
|
1092
|
-
const lineSpacingDropdownOptions = ['Single', 'Double'];
|
|
1093
|
-
it('\'Display lines for the response\' label should be displayed', () => {
|
|
1094
|
-
utilities.verifyInnerText(shortTextResponsePage.displayLinesForTheResponseLabel(), 'Display lines for the response');
|
|
1095
|
-
utilities.verifyElementVisibilityState(shortTextResponsePage.displayLinesForTheResponseLabel(), 'visible');
|
|
1096
|
-
});
|
|
1097
|
-
|
|
1098
|
-
it('Display lines for the response checkbox should be displayed and by default checked', () => {
|
|
1099
|
-
utilities.verifyElementVisibilityState(shortTextResponsePage.displayLinesForTheResponseCheckbox(), 'exist');
|
|
1100
|
-
steps.verifyDisplayLinesForTheResponseCheckboxChecked();
|
|
1101
|
-
});
|
|
1102
|
-
|
|
1103
|
-
it('CSS of \'Display lines for the response\' section', { tags: 'css' }, () => {
|
|
1104
|
-
utilities.verifyCSS(shortTextResponsePage.displayLinesForTheResponseLabel(), {
|
|
1105
|
-
'color': css.color.labelText,
|
|
1106
|
-
'font-size': css.fontSize.normal,
|
|
1107
|
-
'font-weight': css.fontWeight.regular
|
|
1108
|
-
});
|
|
1109
|
-
});
|
|
1110
|
-
|
|
1111
|
-
it('Accessibility of \'Display lines for the response\' section', { tags: 'a11y' }, () => {
|
|
1112
|
-
cy.checkAccessibility(shortTextResponsePage.displayLinesForTheResponseLabel().parents('.print-layout-settings-container'));
|
|
1113
|
-
});
|
|
1114
|
-
|
|
1115
|
-
it('User should be able to check and uncheck the \'Display lines for the response\' checkbox', () => {
|
|
1116
|
-
steps.uncheckDisplayLinesForTheResponseCheckbox();
|
|
1117
|
-
steps.checkDisplayLinesForTheResponseCheckbox();
|
|
1118
|
-
});
|
|
1119
|
-
|
|
1120
|
-
it('Number of lines label and input field should be displayed when \'Display lines for the response\' checkbox is checked', () => {
|
|
1121
|
-
utilities.verifyInnerText(shortTextResponsePage.numberOfLinesLabel(), 'Number of lines');
|
|
1122
|
-
utilities.verifyElementVisibilityState(shortTextResponsePage.numberOfLinesLabel(), 'visible');
|
|
1123
|
-
utilities.verifyElementVisibilityState(shortTextResponsePage.numberOfLinesInputField(), 'exist');
|
|
1124
|
-
});
|
|
1125
|
-
|
|
1126
|
-
it('User should be able to enter value in Number of lines input field', () => {
|
|
1127
|
-
shortTextResponsePage.steps.addValueInNumberOfLinesInputField('5');
|
|
1128
|
-
});
|
|
1129
|
-
|
|
1130
|
-
it(`\'Line Spacing\' label should be displayed and \'Line Spacing\' dropdown should be displayed and in \'Line Spacing\' dropdown \'${lineSpacingDropdownOptions[0]}\' option should be selected by default`, () => {
|
|
1131
|
-
utilities.verifyInnerText(shortTextResponsePage.lineSpacingLabel(), 'Line spacing');
|
|
1132
|
-
utilities.verifyElementVisibilityState(shortTextResponsePage.lineSpacingDropdown(), 'visible');
|
|
1133
|
-
utilities.verifyInnerText(shortTextResponsePage.lineSpacingDropdown(), lineSpacingDropdownOptions[0]);
|
|
1134
|
-
});
|
|
1135
|
-
|
|
1136
|
-
it(`\'Line Spacing\' dropdown should have the following options: ${lineSpacingDropdownOptions.join(', ')}`, () => {
|
|
1137
|
-
steps.expandLineSpacingDropdown()
|
|
1138
|
-
lineSpacingDropdownOptions.forEach((option, count) => {
|
|
1139
|
-
utilities.verifyInnerText(shortTextResponsePage.lineSpacingDropdownListOptions().eq(count), option)
|
|
1140
|
-
});
|
|
1141
|
-
shortTextResponsePage.steps.selectLineSpacingDropdownOption('Double')
|
|
1142
|
-
});
|
|
1143
|
-
|
|
1144
|
-
it('User should be able to select options from Line Spacing dropdown', () => {
|
|
1145
|
-
lineSpacingDropdownOptions.forEach((option) => {
|
|
1146
|
-
shortTextResponsePage.steps.expandLineSpacingDropdown();
|
|
1147
|
-
shortTextResponsePage.steps.selectLineSpacingDropdownOption(option)
|
|
1148
|
-
});
|
|
1149
|
-
});
|
|
1150
|
-
},
|
|
1151
962
|
}
|
|
1152
963
|
|
|
1153
964
|
export const shortTextResponsePage = {
|