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
@@ -840,6 +840,217 @@ describe('Create Item page - Graphing: All or nothing ', () => {
840
840
  });
841
841
  });
842
842
 
843
+ views.forEach((view) => {
844
+ describe(`${view}: Graphing - Polygon: Manually scored`, { tags: 'smoke' }, () => {
845
+ abortEarlySetup();
846
+ before(() => {
847
+ switch (view) {
848
+ case 'Question preview':
849
+ graphingPage.steps.navigateToCreateQuestion('Graphing');
850
+ cy.barsPreLoaderWait();
851
+ graphingPage.steps.addTextInQuestionInstructionsInputField('Plot the polygons');
852
+ graphingPage.steps.selectToolOptions(['Polygon']);
853
+ graphingPage.steps.checkPatternBackground();
854
+ graphingPage.steps.selectGraphToolOptionEditTab('Polygon');
855
+ graphingPage.steps.plotPointsOnGraphEditTab([{ x: 1, xRange: 20, y: 4, yRange: 20 }, { x: 1, xRange: 20, y: 2, yRange: 20 }, { x: 3, xRange: 20, y: 2, yRange: 20 }, { x: 3, xRange: 20, y: 4, yRange: 20 }, { x: 1, xRange: 20, y: 4, yRange: 20 }]);
856
+ graphingPage.steps.expandScoringTypeDropdown();
857
+ graphingPage.steps.selectOptionFromScoringTypeDropdown('Manually scored');
858
+ graphingPage.steps.allotPoints(20);
859
+ graphingPage.steps.switchToPreviewTab();
860
+ break;
861
+ case 'Item preview':
862
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
863
+ itemPreviewPage.steps.switchToPreviewTab();
864
+ break;
865
+ case 'Grading view':
866
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
867
+ break;
868
+ }
869
+ });
870
+
871
+ beforeEach(() => {
872
+ switch (view) {
873
+ case 'Question preview':
874
+ graphingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
875
+ graphingPage.steps.resetQuestionPreview();
876
+ break;
877
+ case 'Item preview':
878
+ itemPreviewPage.steps.switchToStudentView();
879
+ itemPreviewPage.steps.resetQuestionPreview();
880
+ break;
881
+ case 'Grading view':
882
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
883
+ break;
884
+ }
885
+ });
886
+
887
+ if (view === 'Question preview') {
888
+ after(() => {
889
+ graphingPage.steps.clickOnSaveQuestionButton();
890
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
891
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
892
+ });
893
+ }
894
+
895
+ it('Question instructions should be visible', () => {
896
+ graphingPage.steps.verifyQuestionInstructionsTextPreviewTab('Plot the polygons');
897
+ graphingPage.steps.verifyVisibityOfQuestionInstructionsText();
898
+ });
899
+
900
+ 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', () => {
901
+ graphingPage.steps.selectGraphToolOptionPreviewTab('Polygon');
902
+ graphingPage.steps.plotPointsOnGraphPreviewTab([{ x: 1, xRange: 20, y: 4, yRange: 20 }, { x: 1, xRange: 20, y: 2, yRange: 20 }, { x: 3, xRange: 20, y: 2, yRange: 20 }, { x: 3, xRange: 20, y: 4, yRange: 20 }, { x: 1, xRange: 20, y: 4, yRange: 20 }]);
903
+ if (view === 'Grading view') {
904
+ studentViewPage.steps.submitResponse();
905
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
906
+ studentViewPage.steps.clickOnGoToGradingViewButton();
907
+ gradingViewPage.steps.verifyGradingViewScore('', 20);
908
+ }
909
+ if (view === 'Question preview' || view === 'Item preview') {
910
+ graphingPage.steps.checkManuallyScoredScoringLabel();
911
+ }
912
+ graphingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
913
+ graphingPage.steps.verifyCorrectIncorrectIconsNotExist();
914
+ graphingPage.steps.verifyCorrectIncorrectBorderNotExists();
915
+ graphingPage.steps.verifyCorrectAnswerSectionNotExist();
916
+ });
917
+ });
918
+ });
919
+
920
+ views.forEach((view) => {
921
+ describe(`${view}: Graphing - Polygon: Non scored`, { tags: 'smoke' }, () => {
922
+ abortEarlySetup();
923
+ before(() => {
924
+ switch (view) {
925
+ case 'Question preview':
926
+ graphingPage.steps.navigateToCreateQuestion('Graphing');
927
+ cy.barsPreLoaderWait();
928
+ graphingPage.steps.addTextInQuestionInstructionsInputField('Plot the polygons');
929
+ graphingPage.steps.selectToolOptions(['Polygon']);
930
+ graphingPage.steps.checkPatternBackground();
931
+ graphingPage.steps.expandScoringTypeDropdown();
932
+ graphingPage.steps.selectOptionFromScoringTypeDropdown('Non scored');
933
+ graphingPage.steps.selectGraphToolOptionSpecifyCorrectAnswer('Polygon');
934
+ graphingPage.steps.plotPointsOnGraphSpecifyCorrectAnswerSection([{ x: 1, xRange: 20, y: 4, yRange: 20 }, { x: 1, xRange: 20, y: 2, yRange: 20 }, { x: 3, xRange: 20, y: 2, yRange: 20 }, { x: 3, xRange: 20, y: 4, yRange: 20 }, { x: 1, xRange: 20, y: 4, yRange: 20 }]);
935
+ graphingPage.steps.switchToPreviewTab();
936
+ break;
937
+ case 'Item preview':
938
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
939
+ itemPreviewPage.steps.switchToPreviewTab();
940
+ break;
941
+ case 'Grading view':
942
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
943
+ break;
944
+ }
945
+ });
946
+
947
+ beforeEach(() => {
948
+ switch (view) {
949
+ case 'Question preview':
950
+ graphingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
951
+ graphingPage.steps.resetQuestionPreview();
952
+ break;
953
+ case 'Item preview':
954
+ itemPreviewPage.steps.switchToStudentView();
955
+ itemPreviewPage.steps.resetQuestionPreview();
956
+ break;
957
+ case 'Grading view':
958
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
959
+ break;
960
+ }
961
+ });
962
+
963
+ if (view === 'Question preview') {
964
+ after(() => {
965
+ graphingPage.steps.clickOnSaveQuestionButton();
966
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
967
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
968
+ });
969
+ }
970
+
971
+ it('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', () => {
972
+ if (view === 'Grading view') {
973
+ studentViewPage.steps.submitResponse();
974
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
975
+ studentViewPage.steps.clickOnGoToGradingViewButton();
976
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
977
+ };
978
+ if (view === 'Question preview' || view === 'Item preview') {
979
+ graphingPage.steps.checkNonScoredScoringLabel();
980
+ graphingPage.steps.switchToGradingView();
981
+ };
982
+ graphingPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
983
+ graphingPage.steps.verifyCorrectAnswerSectionExist();
984
+ });
985
+
986
+ it('When the user attempts the question incorrectly, non-scoring label should be displayed and on switching to grading view, incorrect icons should be displayed and the correct answer should be displayed in the correct answer section', () => {
987
+ graphingPage.steps.selectGraphToolOptionPreviewTab('Polygon');
988
+ graphingPage.steps.plotPointsOnGraphPreviewTab([{ x: 2, xRange: 20, y: 5, yRange: 20 }, { x: 2, xRange: 20, y: 3, yRange: 20 }, { x: 4, xRange: 20, y: 3, yRange: 20 }, { x: 4, xRange: 20, y: 5, yRange: 20 }, { x: 2, xRange: 20, y: 5, yRange: 20 }]);
989
+ if (view === 'Grading view') {
990
+ studentViewPage.steps.submitResponse();
991
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
992
+ studentViewPage.steps.clickOnGoToGradingViewButton();
993
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
994
+ };
995
+ if (view === 'Question preview' || view === 'Item preview') {
996
+ graphingPage.steps.checkNonScoredScoringLabel();
997
+ graphingPage.steps.switchToGradingView();
998
+ };
999
+ graphingPage.steps.verifyIncorrectPointsPlottedOnGraphPreviewTab([{ x: 2, xRange: 20, y: 5, yRange: 20 }, { x: 2, xRange: 20, y: 3, yRange: 20 }, { x: 4, xRange: 20, y: 3, yRange: 20 }, { x: 4, xRange: 20, y: 5, yRange: 20 }, { x: 2, xRange: 20, y: 5, yRange: 20 }]);
1000
+ graphingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
1001
+ graphingPage.steps.verifyCorrectAnswerSectionExist();
1002
+
1003
+ });
1004
+
1005
+ it('When the user attempts the question partially correct, non-scoring label should be displayed, correct icons should be displayed for correct polygons, incorrect icons for incorrect polygons, and the correct answer section should be displayed', () => {
1006
+ if (view === 'Grading view') {
1007
+ studentViewPage.steps.clearResponses();
1008
+ }
1009
+ graphingPage.steps.selectGraphToolOptionPreviewTab('Polygon');
1010
+ graphingPage.steps.plotPointsOnGraphPreviewTab([{ x: 1, xRange: 20, y: 4, yRange: 20 }, { x: 1, xRange: 20, y: 2, yRange: 20 }, { x: 3, xRange: 20, y: 2, yRange: 20 }, { x: 3, xRange: 20, y: 4, yRange: 20 }, { x: 1, xRange: 20, y: 4, yRange: 20 }]);
1011
+ graphingPage.steps.selectGraphToolOptionPreviewTab('Polygon');
1012
+ graphingPage.steps.plotPointsOnGraphPreviewTab([{ x: 2, xRange: 20, y: 5, yRange: 20 }, { x: 2, xRange: 20, y: 3, yRange: 20 }, { x: 4, xRange: 20, y: 3, yRange: 20 }, { x: 4, xRange: 20, y: 5, yRange: 20 }, { x: 2, xRange: 20, y: 5, yRange: 20 }]);
1013
+ if (view === 'Grading view') {
1014
+ studentViewPage.steps.submitResponse();
1015
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
1016
+ studentViewPage.steps.clickOnGoToGradingViewButton();
1017
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
1018
+ };
1019
+ if (view === 'Question preview' || view === 'Item preview') {
1020
+ graphingPage.steps.checkNonScoredScoringLabel();
1021
+ graphingPage.steps.switchToGradingView();
1022
+ };
1023
+ graphingPage.steps.verifyCorrectPointsPlottedOnGraphPreviewTab([{ x: 1, xRange: 20, y: 4, yRange: 20 }, { x: 1, xRange: 20, y: 2, yRange: 20 }, { x: 3, xRange: 20, y: 2, yRange: 20 }, { x: 3, xRange: 20, y: 4, yRange: 20 }, { x: 1, xRange: 20, y: 4, yRange: 20 }]);
1024
+ graphingPage.steps.verifyIncorrectPointsPlottedOnGraphPreviewTab([{ x: 2, xRange: 20, y: 5, yRange: 20 }, { x: 2, xRange: 20, y: 3, yRange: 20 }, { x: 4, xRange: 20, y: 3, yRange: 20 }, { x: 4, xRange: 20, y: 5, yRange: 20 }, { x: 2, xRange: 20, y: 5, yRange: 20 }]);
1025
+ graphingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
1026
+ graphingPage.steps.verifyCorrectAnswerSectionExist();
1027
+ });
1028
+
1029
+ it('When the user attempts the question correctly, non-scoring label should be displayed, correct icons should be displayed for the correct polygons, a status message with text "Your answer is correct" should be displayed and correct answer section should not be displayed', () => {
1030
+ if (view === 'Grading view') {
1031
+ studentViewPage.steps.clearResponses();
1032
+ }
1033
+ graphingPage.steps.selectGraphToolOptionPreviewTab('Polygon');
1034
+ graphingPage.steps.plotPointsOnGraphPreviewTab([{ x: 1, xRange: 20, y: 4, yRange: 20 }, { x: 1, xRange: 20, y: 2, yRange: 20 }, { x: 3, xRange: 20, y: 2, yRange: 20 }, { x: 3, xRange: 20, y: 4, yRange: 20 }, { x: 1, xRange: 20, y: 4, yRange: 20 }]);
1035
+ if (view === 'Grading view') {
1036
+ studentViewPage.steps.submitResponse();
1037
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
1038
+ studentViewPage.steps.clickOnGoToGradingViewButton();
1039
+ gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
1040
+ } else {
1041
+ graphingPage.steps.switchToGradingView();
1042
+ };
1043
+ if (view === 'Question preview' || view === 'Item preview') {
1044
+ graphingPage.steps.checkNonScoredScoringLabel();
1045
+ graphingPage.steps.switchToGradingView();
1046
+ };
1047
+ graphingPage.steps.verifyCorrectPointsPlottedOnGraphPreviewTab([{ x: 1, xRange: 20, y: 4, yRange: 20 }, { x: 1, xRange: 20, y: 2, yRange: 20 }, { x: 3, xRange: 20, y: 2, yRange: 20 }, { x: 3, xRange: 20, y: 4, yRange: 20 }, { x: 1, xRange: 20, y: 4, yRange: 20 }]);
1048
+ graphingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
1049
+ graphingPage.steps.verifyCorrectAnswerSectionNotExist();
1050
+ });
1051
+ });
1052
+ });
1053
+
843
1054
  if (!grepTags || !grepTags.includes('smoke')) {
844
1055
  describe('Question preview: Auto scored - All or nothing: Minimum scoring', () => {
845
1056
  abortEarlySetup();
@@ -68,32 +68,4 @@ describe('Create Item page - Graphing: Specify correct answer, Alternative corre
68
68
  graphingPage.steps.verifyAlternateAnswerAccordionIsCollapsed(0);
69
69
  });
70
70
  });
71
-
72
- describe('Graphing: Modify X/Y Axis Range Inputs and Validate Answer Visibility', () => {
73
- abortEarlySetup();
74
- before(() => {
75
- graphingPage.steps.navigateToCreateQuestion('Graphing');
76
- graphingPage.steps.addTextInQuestionInstructionsInputField('Plot the graph');
77
- graphingPage.steps.selectToolOptions(['Polygon']);
78
- cy.barsPreLoaderWait();
79
- });
80
-
81
- it('When the user set a correct answer then answer should be visible in correct answer section', () => {
82
- graphingPage.steps.selectGraphToolOptionSpecifyCorrectAnswer('Polygon');
83
- graphingPage.steps.plotPointsOnGraphSpecifyCorrectAnswerSection([{ x: -3, xRange: 20, y: 4, yRange: 20 }, { x: 3, xRange: 20, y: 4, yRange: 20 }, { x: 3, xRange: 20, y: -4, yRange: 20 }, { x: -3, xRange: 20, y: 4, yRange: 20 }]);
84
- graphingPage.steps.verifyPointsPlottedOnSpecifyCorrectAnswerSection([{ x: -3, xRange: 20, y: 4, yRange: 20 }, { x: 3, xRange: 20, y: 4, yRange: 20 }, { x: 3, xRange: 20, y: -4, yRange: 20 }, { x: -3, xRange: 20, y: 4, yRange: 20 }]);
85
- });
86
-
87
- it('When the user removes the x min value from the input field and sets a new value, the correct answer should be visible if the response falls within the new range', () => {
88
- graphingPage.steps.enterTextInXMinInputField('-10');
89
- graphingPage.steps.verifyXMinInputFieldValue('-10');
90
- graphingPage.steps.verifyPointsPlottedOnSpecifyCorrectAnswerSection([{ x: -3, xRange: 20, y: 4, yRange: 20 }, { x: 3, xRange: 20, y: 4, yRange: 20 }, { x: 3, xRange: 20, y: -4, yRange: 20 }, { x: -3, xRange: 20, y: 4, yRange: 20 }]);
91
- });
92
-
93
- it('When the user removes the y max value from the input field and sets a new value, the correct answer should not be visible if the response does not fall within the new range', () => {
94
- graphingPage.steps.enterTextInYMaxInputField('2');
95
- graphingPage.steps.verifyYMaxInputFieldValue('2');
96
- graphingPage.steps.verifyPointsPlottedNotExistOnSpecifyCorrectAnswerSection([{ x: -3, xRange: 20, y: 2, yRange: 12 }, { x: 3, xRange: 20, y: 2, yRange: 12 }]);
97
- });
98
- });
99
71
  });
@@ -85,8 +85,6 @@ describe('Create Item page - List ordering: Dropdown menu ordering layout: Edit
85
85
  before(() => {
86
86
  cy.log('Navigating to list ordering question type');
87
87
  listOrderingPage.steps.navigateToCreateQuestion('list ordering');
88
- listOrderingPage.steps.addTextInQuestionInstructionsInputField('Arrange the following options in the correct order');
89
- cy.barsPreLoaderWait();
90
88
  listOrderingPage.steps.selectOrderingLayoutOption('Dropdown menu');
91
89
  listOrderingPage.steps.addInputToOptionsInputField(options);
92
90
  });
@@ -451,7 +451,7 @@ describe('Create Item page - Matching : Student view settings', () => {
451
451
  matchingPage.steps.expandMaxCapacityPerDropzoneDropdown();
452
452
  matchingPage.steps.selectOptionFromMaxCapacityPerDropzoneDropdown('No limit');
453
453
  matchingPage.steps.switchToPreviewTab();
454
- utilities.verifyInnerText(matchingPage.maxLimitInEachDropzoneHelpText(), 'Maximum answers in each dropzone:\nNo limit');
454
+ utilities.verifyInnerText(matchingPage.maxLimitInEachDropzoneHelpText(), 'Maximum answers in each dropzone:');
455
455
  });
456
456
  });
457
457
  });
@@ -9,7 +9,6 @@ describe('Create item page - Matching-Dropdown: Scoring for blank responses', ()
9
9
  cy.loginAs('admin');
10
10
  });
11
11
 
12
- //Failing due to https://weldnorthed.atlassian.net/browse/IEI-6160
13
12
  describe(`Auto scored - All or nothing scoring`, () => {
14
13
  abortEarlySetup();
15
14
  before(() => {
@@ -300,19 +300,19 @@ describe('Create item page - Matching: Partial different weights', () => {
300
300
  matchingPage.steps.allotTotalPenaltyPoints(4);
301
301
  matchingPage.steps.switchToPreviewTab();
302
302
  matchingPage.steps.selectResponseFromDropdownInPreviewTab([{ dropdownIndex: 0, dropdownOption: optionsArray[4] }]);
303
- matchingPage.steps.verifyPreviewScore(-4, 20);
303
+ matchingPage.steps.verifyPreviewScore(-2.01, 20);
304
304
  });
305
305
 
306
306
  it('When the user attempts the question correctly along with an incorrect option, then penalty points should get deducted from the awarded points', () => {
307
307
  matchingPage.steps.resetQuestionPreview();
308
308
  matchingPage.steps.selectResponseFromDropdownInPreviewTab([{ dropdownIndex: 0, dropdownOption: optionsArray[1] }, { dropdownIndex: 1, dropdownOption: optionsArray[2] }, { dropdownIndex: 2, dropdownOption: optionsArray[4] }]);
309
- matchingPage.steps.verifyPreviewScore(13.6667, 20);
309
+ matchingPage.steps.verifyPreviewScore(14.33, 20);
310
310
  });
311
311
 
312
312
  it('When the user attempts the question correctly along with multiple incorrect options, then penalty points for each incorrect dropdown should get deducted from the awarded points', () => {
313
313
  matchingPage.steps.resetQuestionPreview();
314
314
  matchingPage.steps.selectResponseFromDropdownInPreviewTab([{ dropdownIndex: 0, dropdownOption: optionsArray[1] }, { dropdownIndex: 1, dropdownOption: optionsArray[3] }, { dropdownIndex: 2, dropdownOption: optionsArray[4] }]);
315
- matchingPage.steps.verifyPreviewScore(6.3333, 20);
315
+ matchingPage.steps.verifyPreviewScore(7.66, 20);
316
316
  });
317
317
 
318
318
  it('When the user has defined penalty points and also sets minimum scoring to \'Award minimum score only if attempted\' and allots minimum points, then on attempting the question incorrectly, minimum points should be awarded', () => {
@@ -369,19 +369,19 @@ describe('Create item page - Matching: Partial different weights', () => {
369
369
  matchingPage.steps.checkAutomaticallySetPenaltyPointsCheckbox();
370
370
  matchingPage.steps.switchToPreviewTab();
371
371
  matchingPage.steps.selectResponseFromDropdownInPreviewTab([{ dropdownIndex: 0, dropdownOption: optionsArray[4] }]);
372
- matchingPage.steps.verifyPreviewScore(-9.9999, 20);
372
+ matchingPage.steps.verifyPreviewScore(-9.99, 20);
373
373
  });
374
374
 
375
375
  it('When the user attempts the question correctly along with an incorrect option, then penalty points should get deducted from the awarded points', () => {
376
376
  matchingPage.steps.resetQuestionPreview();
377
377
  matchingPage.steps.selectResponseFromDropdownInPreviewTab([{ dropdownIndex: 0, dropdownOption: optionsArray[4] }, { dropdownIndex: 1, dropdownOption: optionsArray[2] }, { dropdownIndex: 2, dropdownOption: optionsArray[0] }]);
378
- matchingPage.steps.verifyPreviewScore(7.6667, 20);
378
+ matchingPage.steps.verifyPreviewScore(7.67, 20);
379
379
  });
380
380
 
381
381
  it('When the user attempts the question correctly along with multiple incorrect options, then penalty points for each incorrect option should get deducted from the awarded points', () => {
382
382
  matchingPage.steps.resetQuestionPreview();
383
383
  matchingPage.steps.selectResponseFromDropdownInPreviewTab([{ dropdownIndex: 0, dropdownOption: optionsArray[3] }, { dropdownIndex: 1, dropdownOption: optionsArray[2] }, { dropdownIndex: 2, dropdownOption: optionsArray[4] }]);
384
- matchingPage.steps.verifyPreviewScore(-0.6667, 20);
384
+ matchingPage.steps.verifyPreviewScore(-0.66, 20);
385
385
  });
386
386
 
387
387
  it('When the user has defined penalty points and also sets minimum scoring to \'Award minimum score only if attempted\' and allots minimum points, then on attempting the question incorrectly, minimum points should be awarded', () => {
@@ -693,219 +693,6 @@ describe('Create Item page - Number line: All or nothing ', () => {
693
693
  });
694
694
  });
695
695
 
696
- views.forEach((view) => {
697
- describe(`Number line: Manually scored - ${view}`, { tags: 'smoke' }, () => {
698
- abortEarlySetup();
699
- before(() => {
700
- switch (view) {
701
- case 'Question preview':
702
- numberLinePage.steps.navigateToCreateQuestion('Number line');
703
- cy.barsPreLoaderWait();
704
- numberLinePage.steps.addTextInQuestionInstructionsInputField('Plot points on the number line');
705
- numberLinePage.steps.expandScoringTypeDropdown();
706
- numberLinePage.steps.selectOptionFromScoringTypeDropdown('Manually scored');
707
- numberLinePage.steps.allotPoints(20);
708
- numberLinePage.steps.switchToPreviewTab();
709
- break;
710
- case 'Item preview':
711
- cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
712
- itemPreviewPage.steps.switchToPreviewTab();
713
- break;
714
- case 'Grading view':
715
- cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
716
- break;
717
- }
718
- });
719
-
720
- beforeEach(() => {
721
- switch (view) {
722
- case 'Question preview':
723
- numberLinePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
724
- numberLinePage.steps.resetQuestionPreview();
725
- break;
726
- case 'Item preview':
727
- itemPreviewPage.steps.switchToStudentView();
728
- itemPreviewPage.steps.resetQuestionPreview();
729
- break;
730
- case 'Grading view':
731
- cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
732
- break;
733
- }
734
- });
735
-
736
- if (view === 'Question preview') {
737
- after(() => {
738
- numberLinePage.steps.clickOnSaveQuestionButton();
739
- utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
740
- itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
741
- });
742
- }
743
-
744
- it('Question instructions should be visible', () => {
745
- numberLinePage.steps.verifyQuestionInstructionsTextPreviewTab('Plot points on the number line');
746
- numberLinePage.steps.verifyVisibityOfQuestionInstructionsText();
747
- });
748
-
749
- 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', () => {
750
- numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Point');
751
- numberLinePage.steps.plotPointOnNumberLinePreviewTab("horizontal", range, 2);
752
- numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Right open segment');
753
- numberLinePage.steps.plotPointOnNumberLinePreviewTab("horizontal", range, -4);
754
- if (view === 'Grading view') {
755
- studentViewPage.steps.submitResponse();
756
- utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
757
- studentViewPage.steps.clickOnGoToGradingViewButton();
758
- gradingViewPage.steps.verifyGradingViewScore('', 20);
759
- }
760
- if (view === 'Question preview' || view === 'Item preview') {
761
- numberLinePage.steps.checkManuallyScoredScoringLabel();
762
- }
763
- numberLinePage.steps.verifyCorrectIncorrectIconsNotExist();
764
- numberLinePage.steps.verifyCorrectIncorrectAnswerLabelNotExist();
765
- numberLinePage.steps.verifyCorrectAnswerSectionNotExist();
766
- });
767
- });
768
- });
769
-
770
- views.forEach((view) => {
771
- describe(`Number line: Non scored - ${view}`, { tags: 'smoke' }, () => {
772
- abortEarlySetup();
773
- before(() => {
774
- switch (view) {
775
- case 'Question preview':
776
- numberLinePage.steps.navigateToCreateQuestion('Number line');
777
- cy.barsPreLoaderWait();
778
- numberLinePage.steps.addTextInQuestionInstructionsInputField('Plot points on the number line');
779
- numberLinePage.steps.expandScoringTypeDropdown();
780
- numberLinePage.steps.selectOptionFromScoringTypeDropdown('Non scored');
781
- numberLinePage.steps.selectNumberLineToolOptionSpecifyCorrectAnswer('Point');
782
- numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("horizontal", range, 2);
783
- numberLinePage.steps.selectNumberLineToolOptionSpecifyCorrectAnswer('Right open segment');
784
- numberLinePage.steps.plotPointOnNumberLineSpecifyCorrectAnswer("horizontal", range, -4);
785
- numberLinePage.steps.switchToPreviewTab();
786
- break;
787
- case 'Item preview':
788
- cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
789
- itemPreviewPage.steps.switchToPreviewTab();
790
- break;
791
- case 'Grading view':
792
- cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
793
- break;
794
- }
795
- });
796
-
797
- beforeEach(() => {
798
- switch (view) {
799
- case 'Question preview':
800
- numberLinePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
801
- numberLinePage.steps.resetQuestionPreview();
802
- break;
803
- case 'Item preview':
804
- itemPreviewPage.steps.switchToStudentView();
805
- itemPreviewPage.steps.resetQuestionPreview();
806
- break;
807
- case 'Grading view':
808
- cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
809
- break;
810
- }
811
- });
812
-
813
- if (view === 'Question preview') {
814
- after(() => {
815
- numberLinePage.steps.clickOnSaveQuestionButton();
816
- utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
817
- itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
818
- });
819
- }
820
-
821
- it('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', () => {
822
- if (view === 'Grading view') {
823
- studentViewPage.steps.submitResponse();
824
- utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
825
- studentViewPage.steps.clickOnGoToGradingViewButton();
826
- gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
827
- }
828
- if (view === 'Question preview' || view === 'Item preview') {
829
- numberLinePage.steps.checkNonScoredScoringLabel();
830
- numberLinePage.steps.switchToGradingView();
831
- }
832
- numberLinePage.steps.verifyCorrectIncorrectAnswerLabelNotExist();
833
- numberLinePage.steps.verifyCorrectIncorrectIconsNotExist();
834
- numberLinePage.steps.verifyCorrectPointsOnNumberLineCorrectAnswerSection(range, [2]);
835
- numberLinePage.steps.verifyCorrectLineSegmentOnNumberLineCorrectAnswerSection(range, [{ x1: -5, x2: -4 }]);
836
- });
837
-
838
- it('When the user attempts the question incorrectly, non scoring label should be displayed, incorrect icon should be displayed beside incorrect response, a status message with text "Your answer is incorrect" and correct answer section with correct answer should be displayed', () => {
839
- numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Segment');
840
- numberLinePage.steps.plotPointOnNumberLinePreviewTab("horizontal", range, 8);
841
- if (view === 'Grading view') {
842
- studentViewPage.steps.submitResponse();
843
- utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
844
- studentViewPage.steps.clickOnGoToGradingViewButton();
845
- gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
846
- }
847
- if (view === 'Question preview' || view === 'Item preview') {
848
- numberLinePage.steps.checkNonScoredScoringLabel();
849
- numberLinePage.steps.switchToGradingView();
850
- }
851
- numberLinePage.steps.verifyIncorrectPointsOnNumberLinePreviewTab(range, [8]);
852
- numberLinePage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
853
- numberLinePage.steps.verifyCorrectPointsOnNumberLineCorrectAnswerSection(range, [2]);
854
- numberLinePage.steps.verifyCorrectLineSegmentOnNumberLineCorrectAnswerSection(range, [{ x1: -5, x2: -4 }]);
855
- });
856
-
857
- it('When the user attempts the question partially correct, non scoring label should be displayed, correct icon should be displayed beside the correct response, incorrect icon should be displayed beside incorrect response, a status message with text "Your answer is incorrect" and correct answer section with all correct answers should be displayed', () => {
858
- if (view === 'Grading view') {
859
- studentViewPage.steps.clearResponses();
860
- }
861
- numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Point');
862
- numberLinePage.steps.plotPointOnNumberLinePreviewTab("horizontal", range, 2);
863
- numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Segment');
864
- numberLinePage.steps.plotPointOnNumberLinePreviewTab("horizontal", range, 8);
865
- if (view === 'Grading view') {
866
- studentViewPage.steps.submitResponse();
867
- utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
868
- studentViewPage.steps.clickOnGoToGradingViewButton();
869
- gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
870
- }
871
- if (view === 'Question preview' || view === 'Item preview') {
872
- numberLinePage.steps.checkNonScoredScoringLabel();
873
- numberLinePage.steps.switchToGradingView();
874
- }
875
- numberLinePage.steps.verifyCorrectPointsOnNumberLinePreviewTab(range, [2]);
876
- numberLinePage.steps.verifyIncorrectPointsOnNumberLinePreviewTab(range, [8]);
877
- numberLinePage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
878
- numberLinePage.steps.verifyCorrectPointsOnNumberLineCorrectAnswerSection(range, [2]);
879
- numberLinePage.steps.verifyCorrectLineSegmentOnNumberLineCorrectAnswerSection(range, [{ x1: -5, x2: -4 }]);
880
- });
881
-
882
- it('When user attempts the question correctly, non scoring label should be displayed, correct icons should be displayed beside the correct response, a status message with text "Your answer is correct" should be displayed and correct answer section should not be displayed', () => {
883
- if (view === 'Grading view') {
884
- studentViewPage.steps.clearResponses();
885
- }
886
- numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Point');
887
- numberLinePage.steps.plotPointOnNumberLinePreviewTab("horizontal", range, 2);
888
- numberLinePage.steps.selectNumberLineToolOptionPreviewTab('Right open segment');
889
- numberLinePage.steps.plotPointOnNumberLinePreviewTab("horizontal", range, -4);
890
- if (view === 'Grading view') {
891
- studentViewPage.steps.submitResponse();
892
- utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
893
- studentViewPage.steps.clickOnGoToGradingViewButton();
894
- gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
895
- }
896
- if (view === 'Question preview' || view === 'Item preview') {
897
- numberLinePage.steps.checkNonScoredScoringLabel();
898
- numberLinePage.steps.switchToGradingView();
899
- }
900
- numberLinePage.steps.verifyCorrectPointsOnNumberLinePreviewTab(range, [2]);
901
- numberLinePage.steps.verifyCorrectPointsOnNumberLinePreviewTab(range, [-4, -5]);
902
- numberLinePage.steps.verifyCorrectLineSegmentOnNumberLinePreviewTab(range, [{ x1: -5, x2: -4 }]);
903
- numberLinePage.steps.verifyCorrectIncorrectAnswerLabel('correct');
904
- numberLinePage.steps.verifyCorrectAnswerSectionNotExist();
905
- });
906
- });
907
- });
908
-
909
696
  if (!grepTags || !grepTags.includes('smoke')) {
910
697
  describe('Question preview: Auto scored - All or nothing: Minimum scoring', () => {
911
698
  abortEarlySetup();