itemengine-cypress-automation 1.0.585-IEI-7161-main-9d7019b.0 → 1.0.585-IEI-7055-cypress-9249eaa.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.
@@ -1,12 +1,14 @@
1
1
  import { numberLinePage, gradingViewPage, itemPreviewPage, studentViewPage, dialogBoxBase } from "../../../../pages";
2
2
  import abortEarlySetup from "../../../../support/helpers/abortEarly";
3
3
  import utilities from "../../../../support/helpers/utilities";
4
+ import { showAlternativeAnswersComponent } from "../../../../pages/components";
4
5
  const grepTags = Cypress.env('grepTags');
5
6
  let correctAnswerViews = ['Question preview', 'Item preview', 'Grading view'];
6
7
  const unselectedToolOption = ['Left ray', 'Right ray', 'Open left ray', 'Open right ray'];
7
8
  const views = utilities.getViews(correctAnswerViews);
8
9
  var itemReferenceID = "";
9
10
  const range = 22.18;
11
+ const alternativeAnswerCheck = Cypress.env('ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT') === 'true';
10
12
 
11
13
  describe('Create Item page - Number line: All or nothing ', () => {
12
14
  before(() => {
@@ -236,6 +238,239 @@ describe('Create Item page - Number line: All or nothing ', () => {
236
238
  });
237
239
  });
238
240
 
241
+ if (alternativeAnswerCheck) {
242
+ views.forEach((view) => {
243
+ describe.only(`Number line: All or nothing scoring with alternative answers - ${view}`, { tags: 'smoke' }, () => {
244
+ abortEarlySetup();
245
+ before(() => {
246
+ switch (view) {
247
+ case 'Question preview':
248
+ numberLinePage.steps.navigateToCreateQuestion('Number line');
249
+ cy.barsPreLoaderWait();
250
+ numberLinePage.steps.addTextInQuestionInstructionsInputField('Plot points on the number line');
251
+ numberLinePage.steps.selectToolOptions(unselectedToolOption);
252
+ numberLinePage.steps.selectOrientationToggleButton('Upright');
253
+ numberLinePage.steps.selectNumberLineToolOptionSpecifyCorrectAnswer('Point');
254
+ numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("vertical", range, 2);
255
+ numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLineSpecifyCorrectAnswer(range, [2]);
256
+ numberLinePage.steps.selectNumberLineToolOptionSpecifyCorrectAnswer('Right open segment');
257
+ numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("vertical", range, -4);
258
+ numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLineSpecifyCorrectAnswer(range, [-4, -5]);
259
+ numberLinePage.steps.verifyLineSegmentOnVerticalNumberLineSpecifyCorrectAnswer(range, [{ y1: -5, y2: -4 }]);
260
+ numberLinePage.steps.allotPoints(20);
261
+ numberLinePage.steps.addAlternativeAnswerAccordion(1);
262
+ numberLinePage.steps.allotPoints(12);
263
+ numberLinePage.steps.selectNumberLineToolOptionSpecifyCorrectAnswer('Point');
264
+ numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("vertical", range, 4);
265
+ numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLineSpecifyCorrectAnswer(range, [4]);
266
+ numberLinePage.steps.selectNumberLineToolOptionSpecifyCorrectAnswer('Right open segment');
267
+ numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("vertical", range, -7);
268
+ numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLineSpecifyCorrectAnswer(range, [-7, -8]);
269
+ numberLinePage.steps.verifyLineSegmentOnVerticalNumberLineSpecifyCorrectAnswer(range, [{ y1: -8, y2: -7 }]);
270
+ numberLinePage.steps.switchToPreviewTab();
271
+ break;
272
+ case 'Item preview':
273
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
274
+ itemPreviewPage.steps.switchToPreviewTab();
275
+ break;
276
+ case 'Grading view':
277
+ cy.wait(5000);
278
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
279
+ break;
280
+ }
281
+ });
282
+
283
+ beforeEach(() => {
284
+ switch (view) {
285
+ case 'Question preview':
286
+ numberLinePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
287
+ numberLinePage.steps.resetQuestionPreview();
288
+ break;
289
+ case 'Item preview':
290
+ itemPreviewPage.steps.switchToStudentView();
291
+ itemPreviewPage.steps.resetQuestionPreview();
292
+ break;
293
+ case 'Grading view':
294
+ cy.wait(5000);
295
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
296
+ break;
297
+ }
298
+ });
299
+
300
+ if (view === 'Question preview') {
301
+ after(() => {
302
+ numberLinePage.steps.clickOnSaveQuestionButton();
303
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
304
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
305
+ });
306
+ };
307
+
308
+ it('Number line Vertical - When the user selects \'Grading\' view without attempting the question, the correct answer should be displayed in the correct answer section graph and your answer is incorrect status message should be displayed', () => {
309
+ if (view === 'Grading view') {
310
+ studentViewPage.steps.submitResponse();
311
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
312
+ studentViewPage.steps.clickOnGoToGradingViewButton();
313
+ gradingViewPage.steps.verifyGradingViewScore(0, 20);
314
+ } else {
315
+ numberLinePage.steps.switchToGradingView();
316
+ numberLinePage.steps.verifyPreviewScore(0, 20);
317
+ }
318
+ numberLinePage.steps.verifyPointsNotExistOnVerticalNumberLinePreviewTab(range, [2]);
319
+ numberLinePage.steps.verifyLineSegmentOnVerticalNumberLineNotExistPreviewTab(range, [-4, -5])
320
+ //TODO: Remove comment after https://redmine.zeuslearning.com/issues/565569 is resolved
321
+ //numberLinePage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
322
+ numberLinePage.steps.verifyCorrectPointsOnVerticalNumberLineCorrectAnswerSection(range, [2]);
323
+ numberLinePage.steps.verifyCorrectLineSegmentOnVerticalNumberLineCorrectAnswerSection(range, [{ y1: -5, y2: -4 }]);
324
+ showAlternativeAnswersComponent.steps.verifyCorrectAnswersLabelAndPointVisible('(20 points)');
325
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleExists();
326
+ showAlternativeAnswersComponent.steps.disableShowAlternativeAnswersToggle();
327
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleUnchecked();
328
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersSectionNotExist();
329
+ showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
330
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(12 points)');
331
+ numberLinePage.steps.verifyCorrectPointsOnVerticalNumberLineCorrectAnswerSection(range, [4], true);
332
+ numberLinePage.steps.verifyCorrectLineSegmentOnVerticalNumberLineCorrectAnswerSection(range, [{ y1: -8, y2: -7 }], true);
333
+ });
334
+
335
+ it('Number line Vertical - When the user attempts the question incorrectly then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed and the attempted graph should be displayed incorrect and the the correct answers should be displayed in the correct answer section graph', () => {
336
+ numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Segment');
337
+ numberLinePage.steps.plotPointOnNumberLinePreviewTab("vertical", range, 8);
338
+ numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLinePreviewTab(range, [8, 7]);
339
+ numberLinePage.steps.verifyLineSegmentOnVerticalNumberLinePreviewTab(range, [{ y1: 7, y2: 8 }]);
340
+ if (view === 'Grading view') {
341
+ studentViewPage.steps.submitResponse();
342
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
343
+ studentViewPage.steps.clickOnGoToGradingViewButton();
344
+ gradingViewPage.steps.verifyGradingViewScore(0, 20);
345
+ } else {
346
+ numberLinePage.steps.verifyPreviewScore(0, 20);
347
+ numberLinePage.steps.switchToGradingView();
348
+ }
349
+ //Preview tab
350
+ numberLinePage.steps.verifyIncorrectPointsOnVerticalNumberLinePreviewTab(range, [8, 7]);
351
+ numberLinePage.steps.verifyIncorrectLineSegmentOnVerticalNumberLinePreviewTab(range, [{ y1: 7, y2: 8 }]);
352
+ //Correct answer section
353
+ numberLinePage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
354
+ numberLinePage.steps.verifyCorrectPointsOnVerticalNumberLineCorrectAnswerSection(range, [2]);
355
+ numberLinePage.steps.verifyCorrectLineSegmentOnVerticalNumberLineCorrectAnswerSection(range, [{ y1: -5, y2: -4 }]);
356
+ showAlternativeAnswersComponent.steps.verifyCorrectAnswersLabelAndPointVisible('(20 points)');
357
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleExists();
358
+ showAlternativeAnswersComponent.steps.disableShowAlternativeAnswersToggle();
359
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleUnchecked();
360
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersSectionNotExist();
361
+ showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
362
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(12 points)');
363
+ numberLinePage.steps.verifyCorrectPointsOnVerticalNumberLineCorrectAnswerSection(range, [4], true);
364
+ numberLinePage.steps.verifyCorrectLineSegmentOnVerticalNumberLineCorrectAnswerSection(range, [{ y1: -8, y2: -7 }], true);
365
+
366
+
367
+ });
368
+
369
+ it('Number line Vertical - When the user attempts the question partially correct then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed and the attempted graph should be displayed correct and the the correct answers should be displayed in the correct answer section graph', () => {
370
+ if (view === 'Grading view') {
371
+ studentViewPage.steps.clearResponses();
372
+ }
373
+ numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Point');
374
+ numberLinePage.steps.plotPointOnNumberLinePreviewTab("vertical", range, 2);
375
+ numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLinePreviewTab(range, [2]);
376
+ if (view === 'Grading view') {
377
+ studentViewPage.steps.submitResponse();
378
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
379
+ studentViewPage.steps.clickOnGoToGradingViewButton();
380
+ gradingViewPage.steps.verifyGradingViewScore(0, 20);
381
+ } else {
382
+ numberLinePage.steps.verifyPreviewScore(0, 20);
383
+ numberLinePage.steps.switchToGradingView();
384
+ }
385
+ //Preview tab
386
+ numberLinePage.steps.verifyCorrectPointsOnVerticalNumberLinePreviewTab(range, [2]);
387
+ //Correct answer section
388
+ numberLinePage.steps.verifyCorrectIncorrectAnswerLabel('incorrect')
389
+ numberLinePage.steps.verifyCorrectPointsOnVerticalNumberLineCorrectAnswerSection(range, [2]);
390
+ numberLinePage.steps.verifyCorrectLineSegmentOnVerticalNumberLineCorrectAnswerSection(range, [{ y1: -5, y2: -4 }]);
391
+ showAlternativeAnswersComponent.steps.verifyCorrectAnswersLabelAndPointVisible('(20 points)');
392
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleExists();
393
+ showAlternativeAnswersComponent.steps.disableShowAlternativeAnswersToggle();
394
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleUnchecked();
395
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersSectionNotExist();
396
+ showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
397
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(12 points)');
398
+ numberLinePage.steps.verifyCorrectPointsOnVerticalNumberLineCorrectAnswerSection(range, [4], true);
399
+ numberLinePage.steps.verifyCorrectLineSegmentOnVerticalNumberLineCorrectAnswerSection(range, [{ y1: -8, y2: -7 }], true);
400
+ });
401
+
402
+ it('Number line Vertical - When the user attempts the question partially correct with an incorrect response then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed and the attempted graph should be displayed correct for the correct response and incorrect for the incorrect response and the the correct answers should be displayed in the correct answer section graph', () => {
403
+ if (view === 'Grading view') {
404
+ studentViewPage.steps.clearResponses();
405
+ }
406
+ numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Right open segment');
407
+ numberLinePage.steps.plotPointOnNumberLinePreviewTab("vertical", range, -4);
408
+ numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLinePreviewTab(range, [-4, -5]);
409
+ numberLinePage.steps.verifyLineSegmentOnVerticalNumberLinePreviewTab(range, [{ y1: -5, y2: -4 }]);
410
+ numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Left open segment');
411
+ numberLinePage.steps.plotPointOnNumberLinePreviewTab("vertical", range, 6);
412
+ numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLinePreviewTab(range, [6, 5]);
413
+ numberLinePage.steps.verifyLineSegmentOnVerticalNumberLinePreviewTab(range, [{ y1: 5, y2: 6 }]);
414
+ if (view === 'Grading view') {
415
+ studentViewPage.steps.submitResponse();
416
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
417
+ studentViewPage.steps.clickOnGoToGradingViewButton();
418
+ gradingViewPage.steps.verifyGradingViewScore(0, 20);
419
+ } else {
420
+ numberLinePage.steps.verifyPreviewScore(0, 20);
421
+ numberLinePage.steps.switchToGradingView();
422
+ }
423
+ //Preview tab
424
+ numberLinePage.steps.verifyCorrectPointsOnVerticalNumberLinePreviewTab(range, [-4, -5]);
425
+ numberLinePage.steps.verifyCorrectLineSegmentOnVerticalNumberLinePreviewTab(range, [{ y1: -5, y2: -4 }]);
426
+ numberLinePage.steps.verifyIncorrectPointsOnVerticalNumberLinePreviewTab(range, [6, 5]);
427
+ numberLinePage.steps.verifyIncorrectLineSegmentOnVerticalNumberLinePreviewTab(range, [{ y1: 5, y2: 6 }]);
428
+ //Correct answer section
429
+ numberLinePage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
430
+ numberLinePage.steps.verifyCorrectPointsOnVerticalNumberLineCorrectAnswerSection(range, [-4, -5]);
431
+ numberLinePage.steps.verifyCorrectLineSegmentOnVerticalNumberLineCorrectAnswerSection(range, [{ y1: -5, y2: -4 }]);
432
+ showAlternativeAnswersComponent.steps.verifyCorrectAnswersLabelAndPointVisible('(20 points)');
433
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleExists();
434
+ showAlternativeAnswersComponent.steps.disableShowAlternativeAnswersToggle();
435
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleUnchecked();
436
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersSectionNotExist();
437
+ showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
438
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(12 points)');
439
+ numberLinePage.steps.verifyCorrectPointsOnVerticalNumberLineCorrectAnswerSection(range, [4], true);
440
+ numberLinePage.steps.verifyCorrectLineSegmentOnVerticalNumberLineCorrectAnswerSection(range, [{ y1: -8, y2: -7 }], true);
441
+ });
442
+
443
+ it('Number line Vertical - When the user attempts the question correctly then the user should be awarded with full points and on switching to grading view \'Your answer is correct\' should be displayed and the attempted graph should be displayed correct and the correct answer section graph should not be displayed', () => {
444
+ if (view === 'Grading view') {
445
+ studentViewPage.steps.clearResponses();
446
+ }
447
+ numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Point');
448
+ numberLinePage.steps.plotPointOnNumberLinePreviewTab("vertical", range, 2);
449
+ numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLinePreviewTab(range, [2]);
450
+ numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Right open segment');
451
+ numberLinePage.steps.plotPointOnNumberLinePreviewTab("vertical", range, -4);
452
+ numberLinePage.steps.verifyPointsPlottedOnVerticalNumberLinePreviewTab(range, [-4, -5]);
453
+ numberLinePage.steps.verifyLineSegmentOnVerticalNumberLinePreviewTab(range, [{ y1: -5, y2: -4 }]);
454
+ if (view === 'Grading view') {
455
+ studentViewPage.steps.submitResponse();
456
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
457
+ studentViewPage.steps.clickOnGoToGradingViewButton();
458
+ gradingViewPage.steps.verifyGradingViewScore(20, 20);
459
+ } else {
460
+ numberLinePage.steps.verifyPreviewScore(20, 20);
461
+ numberLinePage.steps.switchToGradingView();
462
+ }
463
+ //Preview tab
464
+ numberLinePage.steps.verifyCorrectPointsOnVerticalNumberLinePreviewTab(range, [2]);
465
+ numberLinePage.steps.verifyCorrectPointsOnVerticalNumberLinePreviewTab(range, [-4, -5]);
466
+ numberLinePage.steps.verifyCorrectLineSegmentOnVerticalNumberLinePreviewTab(range, [{ y1: -5, y2: -4 }]);
467
+ numberLinePage.steps.verifyCorrectIncorrectAnswerLabel('correct');
468
+ numberLinePage.steps.verifyCorrectAnswerSectionNotExist();
469
+ });
470
+ });
471
+ });
472
+ }
473
+
239
474
  describe('Number line: Point tool', { tags: 'smoke' }, () => {
240
475
  abortEarlySetup();
241
476
  before(() => {
@@ -1,6 +1,8 @@
1
1
  import { numberLineLabelPage } from "../../../../pages";
2
2
  import abortEarlySetup from "../../../../support/helpers/abortEarly";
3
+ import { showAlternativeAnswersComponent } from "../../../../pages/components";
3
4
  const range = 22.2;
5
+ const alternativeAnswerCheck = Cypress.env('ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT') === 'true';
4
6
 
5
7
  describe('Create Item page - Number line: All or nothing with alternative answer', () => {
6
8
  before(() => {
@@ -49,6 +51,18 @@ describe('Create Item page - Number line: All or nothing with alternative answer
49
51
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0);
50
52
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 4', range, 6);
51
53
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 5', range, -6);
54
+ if (alternativeAnswerCheck) {
55
+ showAlternativeAnswersComponent.steps.verifyCorrectAnswersLabelAndPointVisible('(20 points)');
56
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleExists();
57
+ showAlternativeAnswersComponent.steps.disableShowAlternativeAnswersToggle();
58
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleUnchecked();
59
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersSectionNotExist();
60
+ showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
61
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(12 points)');
62
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0, true);
63
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 2', range, 9, true);
64
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 3', range, -9, true);
65
+ }
52
66
  numberLineLabelPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
53
67
 
54
68
  /*cy.log('When the user clicks on \'Check answer\' button without attempting the question, status message \'Your answer is incorrect\' should be displayed and correct answer section should not be displayed')
@@ -59,12 +73,12 @@ describe('Create Item page - Number line: All or nothing with alternative answer
59
73
  numberLineLabelPage.steps.verifyCorrectAnswerSectionNotExist();*/
60
74
  });
61
75
 
62
- it('When the user attempts the question with responses from the correct accordion, then the user should be awarded points less than full points and on switching to \'Grading\' view the attempted number line should be displayed correct, a status message with text \'Your answer is correct\' should be displayed above the question preview, correct answer section should not be displayed', () => {
76
+ it.only('When the user attempts the question with responses from the correct accordion, then the user should be awarded points less than full points and on switching to \'Grading\' view the attempted number line should be displayed correct, a status message with text \'Your answer is correct\' should be displayed above the question preview, correct answer section should not be displayed', () => {
63
77
  numberLineLabelPage.steps.resetQuestionPreview();
64
- numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 1', 'horizontal', range, 0);
65
- numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [0]);
66
78
  numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 2', 'horizontal', range, 9);
67
79
  numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [9]);
80
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 1', 'horizontal', range, 0);
81
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [0]);
68
82
  numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 3', 'horizontal', range, -9);
69
83
  numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [-9]);
70
84
  numberLineLabelPage.steps.verifyPreviewScore(12, 20);
@@ -125,6 +139,18 @@ describe('Create Item page - Number line: All or nothing with alternative answer
125
139
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0);
126
140
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 4', range, 6);
127
141
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 5', range, -6);
142
+ if (alternativeAnswerCheck) {
143
+ showAlternativeAnswersComponent.steps.verifyCorrectAnswersLabelAndPointVisible('(20 points)');
144
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleExists();
145
+ showAlternativeAnswersComponent.steps.disableShowAlternativeAnswersToggle();
146
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleUnchecked();
147
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersSectionNotExist();
148
+ showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
149
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(12 points)');
150
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0, true);
151
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 2', range, 9, true);
152
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 3', range, -9, true);
153
+ }
128
154
  numberLineLabelPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
129
155
 
130
156
  /*cy.log('When the user attempts the question with partially correct responses exclusively from the correct accordion and clicks on \'Check answer\' button, the attempted number line should be displayed correct, a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed')
@@ -149,6 +175,18 @@ describe('Create Item page - Number line: All or nothing with alternative answer
149
175
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0);
150
176
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 4', range, 6);
151
177
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 5', range, -6);
178
+ if (alternativeAnswerCheck) {
179
+ showAlternativeAnswersComponent.steps.verifyCorrectAnswersLabelAndPointVisible('(20 points)');
180
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleExists();
181
+ showAlternativeAnswersComponent.steps.disableShowAlternativeAnswersToggle();
182
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleUnchecked();
183
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersSectionNotExist();
184
+ showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
185
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(12 points)');
186
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0, true);
187
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 2', range, 9, true);
188
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 3', range, -9, true);
189
+ }
152
190
  numberLineLabelPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
153
191
 
154
192
  /*cy.log('When the user attempts the question with partially correct responses exclusively from the alternative accordion and clicks on \'Check answer\' button, the attempted number line should be displayed correct, a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed')
@@ -176,6 +214,18 @@ describe('Create Item page - Number line: All or nothing with alternative answer
176
214
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0);
177
215
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 4', range, 6);
178
216
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 5', range, -6);
217
+ if (alternativeAnswerCheck) {
218
+ showAlternativeAnswersComponent.steps.verifyCorrectAnswersLabelAndPointVisible('(20 points)');
219
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleExists();
220
+ showAlternativeAnswersComponent.steps.disableShowAlternativeAnswersToggle();
221
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleUnchecked();
222
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersSectionNotExist();
223
+ showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
224
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(12 points)');
225
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0, true);
226
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 2', range, 9, true);
227
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 3', range, -9, true);
228
+ }
179
229
  numberLineLabelPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
180
230
 
181
231
  /*cy.log('When the user attempts the question with equal number responses from the correct and alternative accordion and clicks on \'Check answer\' button, the attempted number line should be displayed correct, a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed')
@@ -198,6 +248,18 @@ describe('Create Item page - Number line: All or nothing with alternative answer
198
248
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0);
199
249
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 4', range, 6);
200
250
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 5', range, -6);
251
+ if (alternativeAnswerCheck) {
252
+ showAlternativeAnswersComponent.steps.verifyCorrectAnswersLabelAndPointVisible('(20 points)');
253
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleExists();
254
+ showAlternativeAnswersComponent.steps.disableShowAlternativeAnswersToggle();
255
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleUnchecked();
256
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersSectionNotExist();
257
+ showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
258
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(12 points)');
259
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0, true);
260
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 2', range, 9, true);
261
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 3', range, -9, true);
262
+ }
201
263
  numberLineLabelPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
202
264
 
203
265
  /*cy.log('When the user attempts the question with common response from the alternative accordion and clicks on \'Check answer\' button, the attempted number line should be displayed correct, a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed')
@@ -218,6 +280,18 @@ describe('Create Item page - Number line: All or nothing with alternative answer
218
280
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0);
219
281
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 4', range, 6);
220
282
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 5', range, -6);
283
+ if (alternativeAnswerCheck) {
284
+ showAlternativeAnswersComponent.steps.verifyCorrectAnswersLabelAndPointVisible('(20 points)');
285
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleExists();
286
+ showAlternativeAnswersComponent.steps.disableShowAlternativeAnswersToggle();
287
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleUnchecked();
288
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersSectionNotExist();
289
+ showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
290
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(12 points)');
291
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0, true);
292
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 2', range, 9, true);
293
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 3', range, -9, true);
294
+ }
221
295
  numberLineLabelPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
222
296
 
223
297
  /*cy.log('When the user has attempted the question with incorrect responses and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, a status message with text \'Your answer is correct\' and correct answer section should not be displayed')
@@ -1,10 +1,9 @@
1
1
  import abortEarlySetup from "../../../support/helpers/abortEarly";
2
- import { uploadResponsePage, itemPreviewPage } from "../../../pages";
2
+ import { uploadResponsePage } from "../../../pages";
3
3
  import utilities from "../../../support/helpers/utilities";
4
4
  import { supportedFileType } from "../../../fixtures/uploadResponseFileType";
5
5
  import { commonComponents } from "../../../pages/components";
6
6
  const css = Cypress.env('css');
7
- let itemReferenceID;
8
7
 
9
8
  const fileSizeLimitOptions = ['5', '10', '15', '20', '100'];
10
9
 
@@ -408,57 +407,4 @@ describe('Create question page - Upload Response: Question Instructions, Support
408
407
  utilities.verifyElementVisibilityState(uploadResponsePage.warningIcon(), 'notExist');
409
408
  });
410
409
  });
411
-
412
-
413
- describe('Print layout settings accordion', () => {
414
- abortEarlySetup();
415
- before(() => {
416
- uploadResponsePage.steps.navigateToCreateQuestion('upload response');
417
- cy.barsPreLoaderWait();
418
- });
419
-
420
- uploadResponsePage.tests.verifyPrintLayoutSettingsAccordionProperties();
421
- uploadResponsePage.tests.verifyPrintLayoutSettingsAccordionContents();
422
- uploadResponsePage.tests.verifyPrintLayoutSettingsAccordionAdditionalContent();
423
- });
424
-
425
- describe('Print layout settings: Default state', () => {
426
- abortEarlySetup();
427
- before(() => {
428
- uploadResponsePage.steps.navigateToCreateQuestion('upload response');
429
- cy.barsPreLoaderWait();
430
- uploadResponsePage.steps.expandPrintLayoutSettings();
431
- uploadResponsePage.steps.addTextInQuestionInstructionsInputField('upload response instructions.');
432
- uploadResponsePage.steps.checkDisplayLinesForTheResponseCheckbox();
433
- });
434
-
435
- it('When the user navigates to the print view, then instructions and number of lines with 32px height should be displayed correctly', () => {
436
- uploadResponsePage.steps.clickOnSaveQuestionButton();
437
- utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
438
- cy.wrap(itemPreviewPage.steps.getItemReferenceID()).then((referenceId) => {
439
- itemReferenceID = referenceId;
440
- cy.visit(`/item-engine/demo/render-item/print-view/${utilities.base64Encoding(itemReferenceID)}`);
441
- utilities.verifyInnerText(uploadResponsePage.questionInstructionsPrintPreviewText(), 'upload response instructions.');
442
- uploadResponsePage.steps.verifyNumberOfLinesInPrintView(5, '32px');
443
- });
444
- });
445
-
446
- it('When the modified number of lines and line spacing are applied, then instructions and number of lines with modified line spacing should be displayed correctly', () => {
447
- cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
448
- uploadResponsePage.steps.clickOnEditQuestionButton();
449
- uploadResponsePage.steps.expandPrintLayoutSettings();
450
- uploadResponsePage.steps.addTextInQuestionInstructionsInputFieldForPrint('upload response modify instructions.');
451
- uploadResponsePage.steps.addValueInNumberOfLinesInputField('5');
452
- uploadResponsePage.steps.expandLineSpacingDropdown();
453
- uploadResponsePage.steps.selectLineSpacingDropdownOption('Double');
454
- uploadResponsePage.steps.clickOnSaveQuestionButton();
455
- utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
456
- cy.wrap(itemPreviewPage.steps.getItemReferenceID()).then((referenceId) => {
457
- itemReferenceID = referenceId;
458
- cy.visit(`/item-engine/demo/render-item/print-view/${utilities.base64Encoding(itemReferenceID)}`);
459
- utilities.verifyInnerText(uploadResponsePage.questionInstructionsPrintPreviewText(), 'upload response modify instructions.');
460
- uploadResponsePage.steps.verifyNumberOfLinesInPrintView(5, '48px');
461
- });
462
- });
463
- });
464
410
  });