itemengine-cypress-automation 1.0.384-task-IEI-4672-9e835ce.0 → 1.0.385-IEI-6161-IEI-6162-manualAndNonScoredScript-72a6ac7.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 (33) hide show
  1. package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/allOrNothingScoringForAllViews.smoke.js +356 -0
  2. package/cypress/e2e/ILC/ChartsBar/allOrNothingScoringForAllViews.smoke.js +287 -0
  3. package/cypress/e2e/ILC/ChartsLine/allOrNothingScoringForAllViews.smoke.js +247 -0
  4. package/cypress/e2e/ILC/Graphing/allOrNothingForAllViews.smoke.js +211 -0
  5. package/cypress/e2e/ILC/Graphing/specifyCorrectAnswerSection.js +0 -28
  6. package/cypress/e2e/ILC/ListOrderingDropdown/editTabBasicSection.js +0 -2
  7. package/cypress/e2e/ILC/Matching/studentViewSettings.js +1 -1
  8. package/cypress/e2e/ILC/MatchingDropdown/Scoring/blankResponseScoring.js +0 -1
  9. package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsScoringBasic.js +6 -6
  10. package/cypress/e2e/ILC/NumberLine/allOrNothingScoringForAllViews.smoke.js +0 -213
  11. package/cypress/e2e/ILC/NumberLine/verticalNumberLine/allOrNothingScoringForAllViews.smoke.js +0 -249
  12. package/cypress/e2e/ILC/NumberLineLabel/allOrNothingForAllViews.smoke.js +0 -266
  13. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/allOrNothingForAllViews.smoke.js +0 -268
  14. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +5 -5
  15. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +3 -3
  16. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsScoringBasic.js +1 -1
  17. package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +2 -2
  18. package/cypress/e2e/ILC/TextEntryMath/Scoring/blankResponseScoring.js +2 -2
  19. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViews.smoke.js +0 -263
  20. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +0 -217
  21. package/cypress/e2e/ILC/TextEntryMath/equationEditor.smoke.js +1 -1
  22. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodEquivalentStructures.smoke.js +3 -3
  23. package/cypress/e2e/ILC/TextEntryMathWithImage/allOrNothingScoringForAllViews.smoke.js +0 -263
  24. package/cypress/e2e/ILC/TextEntryMathWithImage/backgroundImageAndCanvasProperties.js +1 -0
  25. package/cypress/e2e/ILC/TextEntryMathWithImage/styleAndLayoutCustomization.js +1 -1
  26. package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyPossibleOptionsSection.js +0 -1
  27. package/cypress/e2e/ILC/chartsDotsPlot/allOrNothingForAllViews.smoke.js +248 -0
  28. package/cypress/pages/components/chartsCommonComponent.js +15 -0
  29. package/cypress/pages/components/equationEditorSectionCommonComponent.js +4 -4
  30. package/cypress/pages/graphingPage.js +1 -2
  31. package/cypress/pages/listOrderingPage.js +1 -6
  32. package/cypress/pages/textEntryMathPage.js +7 -3
  33. package/package.json +1 -1
@@ -325,6 +325,293 @@ describe('Create item page - Charts - Bar: All or nothing ', () => {
325
325
  });
326
326
  });
327
327
 
328
+ views.forEach((view) => {
329
+ describe(`${view}: Charts - Bar: Manually scored`, { tags: 'smoke' }, () => {
330
+ abortEarlySetup();
331
+ before(() => {
332
+ switch (view) {
333
+ case 'Question preview':
334
+ chartsBarPage.steps.navigateToCreateQuestion('charts');
335
+ cy.barsPreLoaderWait();
336
+ chartsBarPage.steps.addTextInQuestionInstructionsInputField('Set the bar on the chart for the profits of the years');
337
+ chartsBarPage.steps.addBarOrPointInChartInSelectChartTypeSection();
338
+ chartsBarPage.steps.addBarOrPointInChartInSelectChartTypeSection();
339
+ chartsBarPage.steps.setBarValueInSelectChartTypeSection({ barIndex: 0, value: 3, range: 10 });
340
+ chartsBarPage.steps.setBarValueInSelectChartTypeSection({ barIndex: 1, value: 2, range: 10 });
341
+ chartsBarPage.steps.setBarValueInSelectChartTypeSection({ barIndex: 2, value: 6, range: 10 });
342
+ chartsBarPage.steps.setBarValueInSelectChartTypeSection({ barIndex: 3, value: 5, range: 10 });
343
+ chartsBarPage.steps.expandScoringTypeDropdown();
344
+ chartsBarPage.steps.selectOptionFromScoringTypeDropdown('Manually scored');
345
+ chartsBarPage.steps.allotPointsForManualScoring(20);
346
+ chartsBarPage.steps.switchToPreviewTab();
347
+ break;
348
+ case 'Item preview':
349
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
350
+ itemPreviewPage.steps.switchToPreviewTab();
351
+ break;
352
+ case 'Grading view':
353
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
354
+ break;
355
+ }
356
+ });
357
+
358
+ beforeEach(() => {
359
+ switch (view) {
360
+ case 'Question preview':
361
+ chartsBarPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
362
+ chartsBarPage.steps.resetQuestionPreview();
363
+ break;
364
+ case 'Item preview':
365
+ itemPreviewPage.steps.switchToStudentView();
366
+ itemPreviewPage.steps.resetQuestionPreview();
367
+ break;
368
+ case 'Grading view':
369
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
370
+ break;
371
+ }
372
+ });
373
+
374
+ if (view === 'Question preview') {
375
+ after(() => {
376
+ chartsBarPage.steps.clickOnSaveQuestionButton();
377
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
378
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
379
+ });
380
+ }
381
+
382
+ it('Question instructions should be visible', () => {
383
+ chartsBarPage.steps.verifyQuestionInstructionsTextPreviewTab('Set the bar on the chart for the profits of the years');
384
+ chartsBarPage.steps.verifyVisibityOfQuestionInstructionsText();
385
+ });
386
+
387
+ it('User should be able to attempt the question in student view, and correct/incorrect icons, "Your answer is correct/incorrect" label, and correct answer section should not be displayed in grading view', () => {
388
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 0, value: 3, range: 10 });
389
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 2, value: 6, range: 10 });
390
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 3, value: 5, range: 10 });
391
+ if (view === 'Grading view') {
392
+ studentViewPage.steps.submitResponse();
393
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
394
+ studentViewPage.steps.clickOnGoToGradingViewButton();
395
+ gradingViewPage.steps.verifyGradingViewScore('', 20);
396
+ }
397
+ if (view === 'Question preview' || view === 'Item preview') {
398
+ chartsBarPage.steps.checkManuallyScoredScoringLabel();
399
+ }
400
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconNotExistsInPreviewTab(0);
401
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconNotExistsInPreviewTab(2);
402
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconNotExistsInPreviewTab(3);
403
+ chartsBarPage.steps.verifyCorrectAnswerSectionNotExist();
404
+ });
405
+ });
406
+ });
407
+
408
+ views.forEach((view) => {
409
+ describe(`${view}: Charts - Bar: Non scored`, { tags: 'smoke' }, () => {
410
+ abortEarlySetup();
411
+ before(() => {
412
+ switch (view) {
413
+ case 'Question preview':
414
+ chartsBarPage.steps.navigateToCreateQuestion('charts');
415
+ cy.barsPreLoaderWait();
416
+ chartsBarPage.steps.addTextInQuestionInstructionsInputField('Set the bar on the chart for the profits of the years');
417
+ chartsBarPage.steps.addBarOrPointInChartInSelectChartTypeSection();
418
+ chartsBarPage.steps.addBarOrPointInChartInSelectChartTypeSection();
419
+ chartsBarPage.steps.setBarValueInSelectChartTypeSection({ barIndex: 0, value: 3, range: 10 });
420
+ chartsBarPage.steps.setBarValueInSelectChartTypeSection({ barIndex: 1, value: 2, range: 10 });
421
+ chartsBarPage.steps.setBarValueInSelectChartTypeSection({ barIndex: 2, value: 6, range: 10 });
422
+ chartsBarPage.steps.setBarValueInSelectChartTypeSection({ barIndex: 3, value: 5, range: 10 });
423
+ chartsBarPage.steps.setBarValueInSelectChartTypeSection({ barIndex: 4, value: 0, range: 10 });
424
+ chartsBarPage.steps.expandScoringTypeDropdown();
425
+ chartsBarPage.steps.selectOptionFromScoringTypeDropdown('Non scored');
426
+ chartsBarPage.steps.setBarValueInSpecifyCorrectAnswerSection({ barIndex: 0, value: 4, range: 10 });
427
+ chartsBarPage.steps.setBarValueInSpecifyCorrectAnswerSection({ barIndex: 1, value: 5, range: 10 });
428
+ chartsBarPage.steps.setBarValueInSpecifyCorrectAnswerSection({ barIndex: 2, value: 7, range: 10 });
429
+ chartsBarPage.steps.setBarValueInSpecifyCorrectAnswerSection({ barIndex: 3, value: 6, range: 10 });
430
+ chartsBarPage.steps.setBarValueInSpecifyCorrectAnswerSection({ barIndex: 4, value: 1, range: 10 });
431
+ chartsBarPage.steps.switchToPreviewTab();
432
+ break;
433
+ case 'Item preview':
434
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
435
+ itemPreviewPage.steps.switchToPreviewTab();
436
+ break;
437
+ case 'Grading view':
438
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
439
+ break;
440
+ }
441
+ });
442
+
443
+ beforeEach(() => {
444
+ switch (view) {
445
+ case 'Question preview':
446
+ chartsBarPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
447
+ chartsBarPage.steps.resetQuestionPreview();
448
+ break;
449
+ case 'Item preview':
450
+ itemPreviewPage.steps.switchToStudentView();
451
+ itemPreviewPage.steps.resetQuestionPreview();
452
+ break;
453
+ case 'Grading view':
454
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
455
+ break;
456
+ }
457
+ });
458
+
459
+ if (view === 'Question preview') {
460
+ after(() => {
461
+ chartsBarPage.steps.clickOnSaveQuestionButton();
462
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
463
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
464
+ });
465
+ }
466
+
467
+ //Need to remove skip once https://redmine.zeuslearning.com/issues/577716 is resolved.
468
+ it.skip('When the user selects "Grading" view without attempting the question, non-scoring label should be displayed, correct/incorrect status message should not be displayed, correct answers section with a label "Correct answers" should be displayed with correct answers and correct/incorrect icons should not be displayed', () => {
469
+ if (view === 'Grading view') {
470
+ studentViewPage.steps.submitResponse();
471
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
472
+ studentViewPage.steps.clickOnGoToGradingViewButton();
473
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
474
+ };
475
+ if (view === 'Question preview' || view === 'Item preview') {
476
+ chartsBarPage.steps.checkNonScoredScoringLabel();
477
+ chartsBarPage.steps.switchToGradingView();
478
+ };
479
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconNotExistsInPreviewTab(0);
480
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconNotExistsInPreviewTab(1);
481
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconNotExistsInPreviewTab(2);
482
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconNotExistsInPreviewTab(3);
483
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconNotExistsInPreviewTab(4);
484
+ chartsBarPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
485
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 0, barValue: 4, range: 10 });
486
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 1, barValue: 5, range: 10 });
487
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 2, barValue: 7, range: 10 });
488
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 3, barValue: 6, range: 10 });
489
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 4, barValue: 1, range: 10 });
490
+ });
491
+
492
+ it('When the user incorrectly sets all bars, non-scoring label should be displayed and on switching to grading view, incorrect icons should be displayed on all bars and correct answer section should be displayed', () => {
493
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 0, value: 5, range: 10 });
494
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 1, value: 4, range: 10 });
495
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 2, value: 2, range: 10 });
496
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 3, value: 1, range: 10 });
497
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 4, value: 7, range: 10 });
498
+ if (view === 'Grading view') {
499
+ studentViewPage.steps.submitResponse();
500
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
501
+ studentViewPage.steps.clickOnGoToGradingViewButton();
502
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
503
+ };
504
+ if (view === 'Question preview' || view === 'Item preview') {
505
+ chartsBarPage.steps.checkNonScoredScoringLabel();
506
+ chartsBarPage.steps.switchToGradingView();
507
+ };
508
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(0, 'incorrect');
509
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(1, 'incorrect');
510
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(2, 'incorrect');
511
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(3, 'incorrect');
512
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(4, 'incorrect');
513
+ chartsBarPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
514
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 0, barValue: 4, range: 10 });
515
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 1, barValue: 5, range: 10 });
516
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 2, barValue: 7, range: 10 });
517
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 3, barValue: 6, range: 10 });
518
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 4, barValue: 1, range: 10 });
519
+ });
520
+
521
+ it('When the user attempts the question partially correct by setting all bars correctly except one, non-scoring label should be displayed and on switching to grading view, correct icons should be displayed on the correct bars, incorrect icon on the incorrect bar, and correct answer section should be displayed', () => {
522
+ if (view === 'Grading view') {
523
+ studentViewPage.steps.clearResponses();
524
+ };
525
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 0, value: 4, range: 10 });
526
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 1, value: 2, range: 10 });
527
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 2, value: 7, range: 10 });
528
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 3, value: 6, range: 10 });
529
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 4, value: 2, range: 10 }); // incorrect
530
+ if (view === 'Grading view') {
531
+ studentViewPage.steps.submitResponse();
532
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
533
+ studentViewPage.steps.clickOnGoToGradingViewButton();
534
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
535
+ };
536
+ if (view === 'Question preview' || view === 'Item preview') {
537
+ chartsBarPage.steps.checkNonScoredScoringLabel();
538
+ chartsBarPage.steps.switchToGradingView();
539
+ };
540
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(0, 'correct');
541
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(1, 'incorrect');
542
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(2, 'correct');
543
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(3, 'correct');
544
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(4, 'incorrect');
545
+ chartsBarPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
546
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 0, barValue: 4, range: 10 });
547
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 1, barValue: 5, range: 10 });
548
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 2, barValue: 7, range: 10 });
549
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 3, barValue: 6, range: 10 });
550
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 4, barValue: 1, range: 10 });
551
+ });
552
+
553
+ it('When the user attempts the question partially correct by setting only one bar correctly, non-scoring label should be displayed and on switching to grading view, correct icon should be displayed on the correct bar, incorrect icons on the rest, and correct answer section should be displayed', () => {
554
+ if (view === 'Grading view') {
555
+ studentViewPage.steps.clearResponses();
556
+ };
557
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 0, value: 4, range: 10 });
558
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 1, value: 4, range: 10 });
559
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 2, value: 2, range: 10 });
560
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 3, value: 1, range: 10 });
561
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 4, value: 7, range: 10 });
562
+ if (view === 'Grading view') {
563
+ studentViewPage.steps.submitResponse();
564
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
565
+ studentViewPage.steps.clickOnGoToGradingViewButton();
566
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
567
+ };
568
+ if (view === 'Question preview' || view === 'Item preview') {
569
+ chartsBarPage.steps.checkNonScoredScoringLabel();
570
+ chartsBarPage.steps.switchToGradingView();
571
+ };
572
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(0, 'correct');
573
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(1, 'incorrect');
574
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(2, 'incorrect');
575
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(3, 'incorrect');
576
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(4, 'incorrect');
577
+ chartsBarPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
578
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 0, barValue: 4, range: 10 });
579
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 1, barValue: 5, range: 10 });
580
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 2, barValue: 7, range: 10 });
581
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 3, barValue: 6, range: 10 });
582
+ chartsBarPage.steps.verifyBarInCorrectAnswerSection({ barIndex: 4, barValue: 1, range: 10 });
583
+ });
584
+
585
+ it('When the user attempts the question correctly, and on switching to "Grading" view, non-scoring label should be displayed, correct icons should be displayed for the correct bars, a status message with text "Your answer is correct" should be displayed and correct answer section should not be displayed', () => {
586
+ if (view === 'Grading view') {
587
+ studentViewPage.steps.clearResponses();
588
+ };
589
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 0, value: 4, range: 10 });
590
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 1, value: 5, range: 10 });
591
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 2, value: 7, range: 10 });
592
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 3, value: 6, range: 10 });
593
+ chartsBarPage.steps.setBarValueInPreviewTab({ barIndex: 4, value: 1, range: 10 });
594
+ if (view === 'Grading view') {
595
+ studentViewPage.steps.submitResponse();
596
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
597
+ studentViewPage.steps.clickOnGoToGradingViewButton();
598
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
599
+ };
600
+ if (view === 'Question preview' || view === 'Item preview') {
601
+ chartsBarPage.steps.checkNonScoredScoringLabel();
602
+ chartsBarPage.steps.switchToGradingView();
603
+ };
604
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(0, 'correct');
605
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(1, 'correct');
606
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(2, 'correct');
607
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(3, 'correct');
608
+ chartsBarPage.steps.verifyBarCorrectIncorrectIconInPreviewTab(4, 'correct');
609
+ chartsBarPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
610
+ chartsBarPage.steps.verifyCorrectAnswerSectionNotExist();
611
+ });
612
+ });
613
+ });
614
+
328
615
  if (!grepTags || !grepTags.includes('smoke')) {
329
616
  describe('Question preview: Auto scored - All or nothing: Minimum scoring', () => {
330
617
  abortEarlySetup();
@@ -314,6 +314,253 @@ describe('Create item page - Charts - Line: All or nothing ', () => {
314
314
  });
315
315
  });
316
316
 
317
+ views.forEach((view) => {
318
+ describe(`${view}: Charts - Line: Manually scored`, { tags: 'smoke' }, () => {
319
+ abortEarlySetup();
320
+ before(() => {
321
+ switch (view) {
322
+ case 'Question preview':
323
+ chartsLinePage.steps.navigateToCreateQuestion('charts');
324
+ cy.barsPreLoaderWait();
325
+ chartsLinePage.steps.addTextInQuestionInstructionsInputField('Set the point on the chart for the profits of the years');
326
+ chartsLinePage.steps.selectLineButton();
327
+ chartsLinePage.steps.addBarOrPointInChartInSelectChartTypeSection();
328
+ chartsLinePage.steps.addBarOrPointInChartInSelectChartTypeSection();
329
+ chartsLinePage.steps.setPointValueInSelectChartTypeSection({ pointIndex: 0, value: 3, range: 10 });
330
+ chartsLinePage.steps.setPointValueInSelectChartTypeSection({ pointIndex: 1, value: 2, range: 10 });
331
+ chartsLinePage.steps.setPointValueInSelectChartTypeSection({ pointIndex: 3, value: 3, range: 10 });
332
+ chartsLinePage.steps.lockPoint(1);
333
+ chartsLinePage.steps.expandScoringTypeDropdown();
334
+ chartsLinePage.steps.selectOptionFromScoringTypeDropdown('Manually scored');
335
+ chartsLinePage.steps.allotPointsForManualScoring(20);
336
+ chartsLinePage.steps.switchToPreviewTab();
337
+ break;
338
+ case 'Item preview':
339
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
340
+ itemPreviewPage.steps.switchToPreviewTab();
341
+ break;
342
+ case 'Grading view':
343
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
344
+ break;
345
+ }
346
+ });
347
+
348
+ beforeEach(() => {
349
+ switch (view) {
350
+ case 'Question preview':
351
+ chartsLinePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
352
+ chartsLinePage.steps.resetQuestionPreview();
353
+ break;
354
+ case 'Item preview':
355
+ itemPreviewPage.steps.switchToStudentView();
356
+ itemPreviewPage.steps.resetQuestionPreview();
357
+ break;
358
+ case 'Grading view':
359
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
360
+ break;
361
+ }
362
+ });
363
+
364
+ if (view === 'Question preview') {
365
+ after(() => {
366
+ chartsLinePage.steps.clickOnSaveQuestionButton();
367
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
368
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
369
+ });
370
+ }
371
+
372
+ it('Question instructions should be visible', () => {
373
+ chartsLinePage.steps.verifyQuestionInstructionsTextPreviewTab('Set the point on the chart for the profits of the years');
374
+ chartsLinePage.steps.verifyVisibityOfQuestionInstructionsText();
375
+ });
376
+
377
+ it('User should be able to attempt the question in student view, and correct/incorrect icons, "Your answer is correct/incorrect" label, and correct answer section should not be displayed in grading view', () => {
378
+ chartsLinePage.steps.setPointValueInPreviewTab({ pointIndex: 0, value: 3, range: 10 });
379
+ chartsLinePage.steps.setPointValueInPreviewTab({ pointIndex: 2, value: 6, range: 10 });
380
+ chartsLinePage.steps.setPointValueInPreviewTab({ pointIndex: 3, value: 5, range: 10 });
381
+ if (view === 'Grading view') {
382
+ studentViewPage.steps.submitResponse();
383
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
384
+ studentViewPage.steps.clickOnGoToGradingViewButton();
385
+ gradingViewPage.steps.verifyGradingViewScore('', 20);
386
+ }
387
+ if (view === 'Question preview' || view === 'Item preview') {
388
+ chartsLinePage.steps.checkManuallyScoredScoringLabel();
389
+ }
390
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconNotExistsInPreviewTab(0);
391
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconNotExistsInPreviewTab(2);
392
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconNotExistsInPreviewTab(3);
393
+ chartsLinePage.steps.verifyCorrectAnswerSectionNotExist();
394
+ });
395
+ });
396
+ });
397
+
398
+ views.forEach((view) => {
399
+ describe(`${view}: Charts - Line: Non scored`, { tags: 'smoke' }, () => {
400
+ abortEarlySetup();
401
+ before(() => {
402
+ switch (view) {
403
+ case 'Question preview':
404
+ chartsLinePage.steps.navigateToCreateQuestion('charts');
405
+ cy.barsPreLoaderWait();
406
+ chartsLinePage.steps.addTextInQuestionInstructionsInputField('Set the point on the chart for the profits of the years');
407
+ chartsLinePage.steps.selectLineButton();
408
+ chartsLinePage.steps.addBarOrPointInChartInSelectChartTypeSection();
409
+ chartsLinePage.steps.addBarOrPointInChartInSelectChartTypeSection();
410
+ chartsLinePage.steps.setPointValueInSelectChartTypeSection({ pointIndex: 0, value: 3, range: 10 });
411
+ chartsLinePage.steps.setPointValueInSelectChartTypeSection({ pointIndex: 1, value: 2, range: 10 });
412
+ chartsLinePage.steps.setPointValueInSelectChartTypeSection({ pointIndex: 3, value: 3, range: 10 });
413
+ chartsLinePage.steps.lockPoint(1);
414
+ chartsLinePage.steps.expandScoringTypeDropdown();
415
+ chartsLinePage.steps.selectOptionFromScoringTypeDropdown('Non scored');
416
+ chartsLinePage.steps.setPointValueInSpecifyCorrectAnswerSection({ pointIndex: 0, value: 3, range: 10 });
417
+ chartsLinePage.steps.setPointValueInSpecifyCorrectAnswerSection({ pointIndex: 2, value: 6, range: 10 });
418
+ chartsLinePage.steps.setPointValueInSpecifyCorrectAnswerSection({ pointIndex: 3, value: 5, range: 10 });
419
+ chartsLinePage.steps.switchToPreviewTab();
420
+ break;
421
+ case 'Item preview':
422
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
423
+ itemPreviewPage.steps.switchToPreviewTab();
424
+ break;
425
+ case 'Grading view':
426
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
427
+ break;
428
+ }
429
+ });
430
+
431
+ beforeEach(() => {
432
+ switch (view) {
433
+ case 'Question preview':
434
+ chartsLinePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
435
+ chartsLinePage.steps.resetQuestionPreview();
436
+ break;
437
+ case 'Item preview':
438
+ itemPreviewPage.steps.switchToStudentView();
439
+ itemPreviewPage.steps.resetQuestionPreview();
440
+ break;
441
+ case 'Grading view':
442
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
443
+ break;
444
+ }
445
+ });
446
+
447
+ if (view === 'Question preview') {
448
+ after(() => {
449
+ chartsLinePage.steps.clickOnSaveQuestionButton();
450
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
451
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
452
+ });
453
+ }
454
+
455
+ it.skip('When the user selects "Grading" view without attempting the question, non-scoring label should be displayed, correct/incorrect status message should not be displayed, correct answers section with a label "Correct answers" should be displayed with correct answers and correct/incorrect icons should not be displayed', () => {
456
+ if (view === 'Grading view') {
457
+ studentViewPage.steps.submitResponse();
458
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
459
+ studentViewPage.steps.clickOnGoToGradingViewButton();
460
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
461
+ };
462
+ if (view === 'Question preview' || view === 'Item preview') {
463
+ chartsLinePage.steps.checkNonScoredScoringLabel();
464
+ chartsLinePage.steps.switchToGradingView();
465
+ };
466
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconNotExistsInPreviewTab(0);
467
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconNotExistsInPreviewTab(1);
468
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconNotExistsInPreviewTab(2);
469
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconNotExistsInPreviewTab(3);
470
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconNotExistsInPreviewTab(4);
471
+ chartsLinePage.steps.verifyCorrectIncorrectStatusMessageNotExists();
472
+ chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 0, value: 3, range: 10 });
473
+ chartsLinePage.steps.verifyLockedPointInCorrectAnswerSection({ pointIndex: 1, value: 2, range: 10 });
474
+ chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 2, value: 6, range: 10 });
475
+ chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 3, value: 5, range: 10 });
476
+ chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 4, value: 0, range: 10 });
477
+ });
478
+
479
+ it('When the user incorrectly sets a point which was correct by default, non-scoring label should be displayed and on switching to grading view, incorrect icons should be displayed on the incorrectly attempted points and correct answer section should be displayed with the correct answers', () => {
480
+ chartsLinePage.steps.setPointValueInPreviewTab({ pointIndex: 0, value: 5, range: 10 });
481
+ chartsLinePage.steps.setPointValueInPreviewTab({ pointIndex: 4, value: 2, range: 10 });
482
+ if (view === 'Grading view') {
483
+ studentViewPage.steps.submitResponse();
484
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
485
+ studentViewPage.steps.clickOnGoToGradingViewButton();
486
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
487
+ };
488
+ if (view === 'Question preview' || view === 'Item preview') {
489
+ chartsLinePage.steps.checkNonScoredScoringLabel();
490
+ chartsLinePage.steps.switchToGradingView();
491
+ };
492
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconInPreviewTab(0, 'incorrect');
493
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconNotExistsInPreviewTab(1);
494
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconInPreviewTab(2, 'incorrect');
495
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconInPreviewTab(3, 'incorrect');
496
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconInPreviewTab(4, 'incorrect');
497
+ chartsLinePage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
498
+ chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 0, value: 3, range: 10 });
499
+ chartsLinePage.steps.verifyLockedPointInCorrectAnswerSection({ pointIndex: 1, value: 2, range: 10 });
500
+ chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 2, value: 6, range: 10 });
501
+ chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 3, value: 5, range: 10 });
502
+ chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 4, value: 0, range: 10 });
503
+ });
504
+
505
+ it('When the user attempts the question partially correct by setting all points correctly except one, non-scoring label should be displayed and on switching to grading view, correct icons should be displayed on the correct points, incorrect icon on the incorrect point, and correct answer section should be displayed', () => {
506
+ if (view === 'Grading view') {
507
+ studentViewPage.steps.clearResponses();
508
+ }
509
+ chartsLinePage.steps.setPointValueInPreviewTab({ pointIndex: 0, value: 3, range: 10 });
510
+ chartsLinePage.steps.setPointValueInPreviewTab({ pointIndex: 2, value: 6, range: 10 });
511
+ chartsLinePage.steps.setPointValueInPreviewTab({ pointIndex: 3, value: 2, range: 10 }); // incorrect
512
+ if (view === 'Grading view') {
513
+ studentViewPage.steps.submitResponse();
514
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
515
+ studentViewPage.steps.clickOnGoToGradingViewButton();
516
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
517
+ };
518
+ if (view === 'Question preview' || view === 'Item preview') {
519
+ chartsLinePage.steps.checkNonScoredScoringLabel();
520
+ chartsLinePage.steps.switchToGradingView();
521
+ };
522
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconInPreviewTab(0, 'correct');
523
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconNotExistsInPreviewTab(1);
524
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconInPreviewTab(2, 'correct');
525
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconInPreviewTab(3, 'incorrect');
526
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconInPreviewTab(4, 'correct');
527
+ chartsLinePage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
528
+ chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 0, value: 3, range: 10 });
529
+ chartsLinePage.steps.verifyLockedPointInCorrectAnswerSection({ pointIndex: 1, value: 2, range: 10 });
530
+ chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 2, value: 6, range: 10 });
531
+ chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 3, value: 5, range: 10 });
532
+ chartsLinePage.steps.verifyPointInCorrectAnswerSection({ pointIndex: 4, value: 0, range: 10 });
533
+ });
534
+
535
+ it('When the user attempts the question correctly, non-scoring label should be displayed, correct icons should be displayed for the correct points, a status message with text "Your answer is correct" should be displayed and correct answer section should not be displayed', () => {
536
+ if (view === 'Grading view') {
537
+ studentViewPage.steps.clearResponses();
538
+ }
539
+ chartsLinePage.steps.setPointValueInPreviewTab({ pointIndex: 2, value: 6, range: 10 });
540
+ chartsLinePage.steps.setPointValueInPreviewTab({ pointIndex: 3, value: 5, range: 10 });
541
+ if (view === 'Grading view') {
542
+ studentViewPage.steps.submitResponse();
543
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
544
+ studentViewPage.steps.clickOnGoToGradingViewButton();
545
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
546
+ } else {
547
+ chartsLinePage.steps.switchToGradingView();
548
+ };
549
+ if (view === 'Question preview' || view === 'Item preview') {
550
+ chartsLinePage.steps.checkNonScoredScoringLabel();
551
+ chartsLinePage.steps.switchToGradingView();
552
+ };
553
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconInPreviewTab(0, 'correct');
554
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconNotExistsInPreviewTab(1);
555
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconInPreviewTab(2, 'correct');
556
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconInPreviewTab(3, 'correct');
557
+ chartsLinePage.steps.verifyPointCorrectIncorrectIconInPreviewTab(4, 'correct');
558
+ chartsLinePage.steps.verifyCorrectIncorrectAnswerLabel('correct');
559
+ chartsLinePage.steps.verifyCorrectAnswerSectionNotExist();
560
+ });
561
+ });
562
+ });
563
+
317
564
  if (!grepTags || !grepTags.includes('smoke')) {
318
565
  describe('Question preview: Auto scored - All or nothing: Minimum scoring', () => {
319
566
  abortEarlySetup();