itemengine-cypress-automation 1.0.591-cypressFixes-7190662.0 → 1.0.592-IEI-7055-cypress-384b76a.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 (22) hide show
  1. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +69 -0
  2. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +69 -0
  3. package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +69 -0
  4. package/cypress/e2e/ILC/NumberLine/Scoring/partialEqualWeightsWithAlternatePointsGreaterThanCorrectPoints.js +69 -1
  5. package/cypress/e2e/ILC/NumberLine/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternatePoints.js +81 -0
  6. package/cypress/e2e/ILC/NumberLine/Scoring/partialEqualWeigtsWithCorrectPointsEqualToAlternatePoints.js +69 -0
  7. package/cypress/e2e/ILC/NumberLine/allOrNothingScoringForAllViews.smoke.js +240 -0
  8. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/allOrNothingScoringForAllViews.smoke.js +235 -0
  9. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +87 -6
  10. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +80 -2
  11. package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +81 -2
  12. package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +98 -0
  13. package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +98 -0
  14. package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +98 -0
  15. package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +86 -0
  16. package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +74 -0
  17. package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +86 -0
  18. package/cypress/e2e/ILC/NumberLineLabel/allOrNothingForAllViews.smoke.js +258 -0
  19. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/allOrNothingForAllViews.smoke.js +241 -0
  20. package/cypress/pages/numberLineLabelPage.js +12 -8
  21. package/cypress/pages/numberLinePage.js +15 -10
  22. package/package.json +1 -1
@@ -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')
@@ -61,10 +75,10 @@ describe('Create Item page - Number line: All or nothing with alternative answer
61
75
 
62
76
  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', () => {
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')
@@ -236,8 +310,11 @@ describe('Create Item page - Number line: All or nothing with alternative answer
236
310
  numberLineLabelPage.steps.addTextInQuestionInstructionsInputField('Plot labels on the number line');
237
311
  numberLineLabelPage.steps.enterTextInMultipleLabelInputFields(['Label 1', 'Label 2', 'Label 3']);
238
312
  numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 1', 'horizontal', range, 1);
313
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [1]);
239
314
  numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 2', 'horizontal', range, 2);
240
- numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 3', 'horizontal', range, 3);
315
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [2]);
316
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 3', 'horizontal', range, 6);
317
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [6]);
241
318
  numberLineLabelPage.steps.allotPoints(12);
242
319
  numberLineLabelPage.steps.addAlternativeAnswerAccordion(1);
243
320
  numberLineLabelPage.steps.allotPoints(20);
@@ -247,7 +324,7 @@ describe('Create Item page - Number line: All or nothing with alternative answer
247
324
  it('When user attempts the question with responses from the correct accordion, then the user should be awarded points specified for correct points accordion (less than full points) and on switching to \'Grading\' view, correct icons should be displayed beside all the correct responses, a status message with text \'Your answer is correct\' should be displayed and correct answer section should not be displayed', () => {
248
325
  numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 1', 'horizontal', range, 1);
249
326
  numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 2', 'horizontal', range, 2);
250
- numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 3', 'horizontal', range, 3);
327
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 3', 'horizontal', range, 6);
251
328
  numberLineLabelPage.steps.verifyPreviewScore(12, 20);
252
329
  numberLineLabelPage.steps.switchToGradingView();
253
330
  numberLineLabelPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
@@ -275,11 +352,15 @@ describe('Create Item page - Number line: All or nothing with alternative answer
275
352
  numberLineLabelPage.steps.navigateToLabelNumberLineTab();
276
353
  numberLineLabelPage.steps.enterTextInMultipleLabelInputFields(['Label 1', 'Label 2', 'Label 3']);
277
354
  numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 1', 'horizontal', range, 1);
355
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [1]);
278
356
  numberLineLabelPage.steps.allotPoints(12);
279
357
  numberLineLabelPage.steps.addAlternativeAnswerAccordion(1);
280
358
  numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 1', 'horizontal', range, 1);
359
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [1]);
281
360
  numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 2', 'horizontal', range, 2);
282
- numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 3', 'horizontal', range, 3);
361
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [2]);
362
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 3', 'horizontal', range, 6);
363
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [6]);
283
364
  numberLineLabelPage.steps.allotPoints(20);
284
365
  numberLineLabelPage.steps.expandCorrectAnswerAccordion();
285
366
  numberLineLabelPage.steps.clickAndDropLabelInContainerSpecifyCorrectAnswer('Label 1');
@@ -300,7 +381,7 @@ describe('Create Item page - Number line: All or nothing with alternative answer
300
381
  numberLineLabelPage.steps.resetQuestionPreview();
301
382
  numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 1', 'horizontal', range, 1);
302
383
  numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 2', 'horizontal', range, 2);
303
- numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 3', 'horizontal', range, 3);
384
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 3', 'horizontal', range, 6);
304
385
  numberLineLabelPage.steps.verifyPreviewScore(20, 20);
305
386
  numberLineLabelPage.steps.switchToGradingView();
306
387
  numberLineLabelPage.steps.verifyCorrectAnswerSectionNotExist();
@@ -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 2', range, 9);
51
53
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 3', range, -9);
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, '(20 points)');
62
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0, true);
63
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 4', range, 6, true);
64
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 5', range, -6, 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')
@@ -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 2', range, 9);
127
141
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 3', range, -9);
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, '(20 points)');
150
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0, true);
151
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 4', range, 6, true);
152
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 5', range, -6, 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 2', range, 9);
151
177
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 3', range, -9);
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, '(20 points)');
186
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0, true);
187
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 4', range, 6, true);
188
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 5', range, -6, 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 2', range, 9);
178
216
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 3', range, -9);
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, '(20 points)');
225
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0, true);
226
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 4', range, 6, true);
227
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 5', range, -6, 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 2', range, 9);
200
250
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 3', range, -9);
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, '(20 points)');
259
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0, true);
260
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 4', range, 6, true);
261
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 5', range, -6, 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 2', range, 9);
220
282
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 3', range, -9);
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, '(20 points)');
291
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0, true);
292
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 4', range, 6, true);
293
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 5', range, -6, 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')
@@ -237,12 +311,16 @@ describe('Create Item page - Number line: All or nothing with alternative answer
237
311
  numberLineLabelPage.steps.addTextInQuestionInstructionsInputField('Plot labels on the number line');
238
312
  numberLineLabelPage.steps.enterTextInMultipleLabelInputFields(['Label 1', 'Label 2', 'Label 3']);
239
313
  numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 1', 'horizontal', range, 0);
314
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [0]);
240
315
  numberLineLabelPage.steps.allotPoints(12);
241
316
  numberLineLabelPage.steps.addAlternativeAnswerAccordion(1);
242
317
  numberLineLabelPage.steps.allotPoints(12);
243
318
  numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 1', 'horizontal', range, 1);
319
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [1]);
244
320
  numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 2', 'horizontal', range, 2);
245
- numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 3', 'horizontal', range, 3);
321
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [2]);
322
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 3', 'horizontal', range, 6);
323
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [6]);
246
324
  numberLineLabelPage.steps.expandCorrectAnswerAccordion();
247
325
  numberLineLabelPage.steps.clickAndDropLabelInContainerSpecifyCorrectAnswer('Label 1');
248
326
  numberLineLabelPage.steps.switchToPreviewTab();
@@ -262,7 +340,7 @@ describe('Create Item page - Number line: All or nothing with alternative answer
262
340
  numberLineLabelPage.steps.resetQuestionPreview();
263
341
  numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 1', 'horizontal', range, 1);
264
342
  numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 2', 'horizontal', range, 2);
265
- numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 3', 'horizontal', range, 3);
343
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 3', 'horizontal', range, 6);
266
344
  numberLineLabelPage.steps.verifyPreviewScore(12, 12);
267
345
  numberLineLabelPage.steps.switchToGradingView();
268
346
  numberLineLabelPage.steps.verifyCorrectIncorrectAnswerLabel('correct');