itemengine-cypress-automation 1.0.240-textentrychangesreverted-28d08d1.0 → 1.0.240

Sign up to get free protection for your applications and to get access to all the features.
Files changed (135) hide show
  1. package/cypress/e2e/ILC/BrainingCampManipulative/editTabBasicSection.js +2 -2
  2. package/cypress/e2e/ILC/ChartsBar/headerSection.js +22 -5
  3. package/cypress/e2e/ILC/ChartsLine/headerSection.js +23 -5
  4. package/cypress/e2e/ILC/ContentBlocks/editTabBasics.js +3 -4
  5. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/clickAndDrop.js +2 -4
  6. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/draggableOptions.js +3 -4
  7. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/headerSection.js +4 -6
  8. package/cypress/e2e/ILC/EssayResponse/equationEditor.smoke.js +1 -3
  9. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/allOrNothingWithCorrectPointsEqualToAlternativePoints.js +1 -1
  10. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/clickAndDrop.js +2 -4
  11. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/draggableOptions.js +3 -4
  12. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/editTabBasicSection.js +2 -2
  13. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/headerSection.js +4 -5
  14. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/dropdownOptionsSection.js +2 -2
  15. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editTabBasicSection.js +2 -2
  16. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/headerSection.js +3 -5
  17. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/specifyCorrectAnswerSection.js +1 -1
  18. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/additionalSettings.js +172 -0
  19. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/clickAndDrop.js +3 -5
  20. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/draggableOptions.js +0 -1
  21. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/headerSection.js +3 -8
  22. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/manuallyAndNonScored.js +6 -6
  23. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/additionalSettingsBasic.js +2 -2
  24. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/dropdownOptionsSection.js +2 -2
  25. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editTabBasicSection.js +3 -1
  26. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/headerSection.js +2 -8
  27. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/supportedFileTypes.js +2 -3
  28. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/HeaderSection.js +3 -5
  29. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/backgroundImageAndCanvasProperties.js +2 -2
  30. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/specifyCorrectAnswerSection.js +3 -3
  31. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/styleAndLayoutCustomization.js +16 -16
  32. package/cypress/e2e/ILC/FillInTheGapsTextNew/editTabBasicSection.js +3 -2
  33. package/cypress/e2e/ILC/FillInTheGapsTextNew/headerSection.js +3 -3
  34. package/cypress/e2e/ILC/FillInTheGapsTextNew/specifyCorrectAnswerSection.js +3 -3
  35. package/cypress/e2e/ILC/Graphing/headerSection.js +2 -3
  36. package/cypress/e2e/ILC/GridFill/headerSection.js +2 -4
  37. package/cypress/e2e/ILC/GridFill/specifyCorrectAnswerSection.js +6 -3
  38. package/cypress/e2e/ILC/ImageHighlight/headerSection.js +2 -4
  39. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +2 -2
  40. package/cypress/e2e/ILC/ListOrderingDropdown/minimumScoringPenaltyPointsAndRoundingDropdown.js +1 -1
  41. package/cypress/e2e/ILC/ListOrderingDropdown/specifyCorrectAnswerSection.js +6 -8
  42. package/cypress/e2e/ILC/ListOrderingNew/headerSection.js +2 -8
  43. package/cypress/e2e/ILC/ListOrderingNew/optionsOrientationSection.js +150 -0
  44. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/HorizontalOrientation/horizontalOrientationAllOrNothingForAllViews.smoke.js +218 -0
  45. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/HorizontalOrientation/previewContentsForAllViews.smoke.js +176 -0
  46. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +170 -0
  47. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +170 -0
  48. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +230 -0
  49. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingPenaltyScoring.js +64 -0
  50. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/manuallyAndNonScored.js +110 -0
  51. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/allOrNothingForAllViews.smoke.js +249 -0
  52. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/previewContentsForAllViews.smoke.js +172 -0
  53. package/cypress/e2e/ILC/Matching/clickAndDrop.js +6 -10
  54. package/cypress/e2e/ILC/Matching/headerSection.js +2 -10
  55. package/cypress/e2e/ILC/Matching/matchingConnector.js +128 -0
  56. package/cypress/e2e/ILC/Matching/minimumScoringPenaltyPointsAndRoundingDropdown.js +2 -2
  57. package/cypress/e2e/ILC/Matching/questionInstructionsAndPromptSection.js +2 -15
  58. package/cypress/e2e/ILC/MatchingDropdown/editTabBasicSection.js +154 -0
  59. package/cypress/e2e/ILC/MultipleSelection/headerSection.js +4 -6
  60. package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +4 -4
  61. package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -1
  62. package/cypress/e2e/ILC/MultipleSelectionGridNew/headerSection.js +3 -9
  63. package/cypress/e2e/ILC/NumberLine/headerSection.js +2 -3
  64. package/cypress/e2e/ILC/NumberLineLabel/headerSection.js +4 -4
  65. package/cypress/e2e/ILC/ShortTextResponseNew/headerSection.js +2 -4
  66. package/cypress/e2e/ILC/SingleSelection/headerSection.js +2 -5
  67. package/cypress/e2e/ILC/SingleSelectionGridNew/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +2 -2
  68. package/cypress/e2e/ILC/SingleSelectionGridNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +2 -2
  69. package/cypress/e2e/ILC/SingleSelectionGridNew/headerSection.js +2 -9
  70. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +210 -0
  71. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +210 -0
  72. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +258 -0
  73. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +246 -0
  74. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +203 -0
  75. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +245 -0
  76. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsScoringBasic.js +541 -0
  77. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +243 -0
  78. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +203 -0
  79. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +242 -0
  80. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasic.js +195 -0
  81. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViews.smoke.js +6 -0
  82. package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +8 -1
  83. package/cypress/e2e/ILC/TextEntryMath/editTabScoringSection.js +12 -0
  84. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodEquivalentStructures.js +10 -0
  85. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchExact.js +2 -0
  86. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchValue.js +2 -0
  87. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodSymbolsAreEquivalent.js +2 -0
  88. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodValueIsEquivalent.js +2 -0
  89. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodsWithoutSetResponse.js +4 -0
  90. package/cypress/e2e/ILC/TextEntryMath/minimumScoringPenaltyPointsAndRoundingDropdown.js +6 -0
  91. package/cypress/e2e/ILC/TextEntryMath/previewContentsForAllViews.smoke.js +2 -0
  92. package/cypress/e2e/ILC/TextEntryMathWithImage/allOrNothingScoringForAllViews.smoke.js +6 -0
  93. package/cypress/e2e/ILC/TextEntryMathWithImage/backgroundImageAndCanvasProperties.js +2 -0
  94. package/cypress/e2e/ILC/TextEntryMathWithImage/previewTabContentsForAllViews.smoke.js +2 -0
  95. package/cypress/e2e/ILC/TextSelection/Scoring/singleSelectionPreviewScoring.js +247 -0
  96. package/cypress/e2e/ILC/TextSelection/headerSection.js +4 -5
  97. package/cypress/e2e/ILC/TextSelection/questionInstructionsAndQuestion.js +1 -2
  98. package/cypress/e2e/ILC/TextSelection/singleMultipleSelection.js +100 -0
  99. package/cypress/e2e/ILC/TextSelection/styleAndLayoutCustomizationAccordionOutline.js +248 -0
  100. package/cypress/e2e/ILC/TextSelection/styleAndLayoutCustomizationAccordionStrikethrough.js +247 -0
  101. package/cypress/e2e/ILC/TextSelection/styleAndLayoutCustomizationAccordionUnderline.js +239 -0
  102. package/cypress/e2e/ILC/TextSelection/textSelectionStyle.js +150 -0
  103. package/cypress/e2e/ILC/ToolAudioPlayerNew/headerSection.js +3 -2
  104. package/cypress/e2e/ILC/UploadResponse/editTabBasicSection.js +2 -3
  105. package/cypress/e2e/ILC/chartsDotsPlot/allOrNothingForAllViews.smoke.js +1 -1
  106. package/cypress/e2e/ILC/chartsDotsPlot/headerSection.js +21 -5
  107. package/cypress/pages/components/autoScoredScoringPreviewTab.js +1 -0
  108. package/cypress/pages/components/autoScoredSetCorrectAnswerSection.js +0 -11
  109. package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +11 -29
  110. package/cypress/pages/components/draggableOptionsStyleAndLayoutComponent.js +1 -1
  111. package/cypress/pages/components/figCommonStyleAndLayoutComponent.js +1 -1
  112. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +2 -3
  113. package/cypress/pages/components/fillInTheGapsTextCommonComponent.js +2 -2
  114. package/cypress/pages/components/optionsWrapperComponent.js +2 -2
  115. package/cypress/pages/components/playbackControlsBaseComponent.js +2 -2
  116. package/cypress/pages/components/questionInputFieldComponent.js +1 -0
  117. package/cypress/pages/components/scoringSectionBaseEditTab.js +3 -2
  118. package/cypress/pages/components/singleMultipleSelectionModeComponent.js +1 -1
  119. package/cypress/pages/createItemPage.js +1 -1
  120. package/cypress/pages/dialogBoxBase.js +21 -9
  121. package/cypress/pages/dragAndDropIntoCategoriesPage.js +4 -5
  122. package/cypress/pages/fillInTheGapsOverImageDragAndDropPage.js +83 -5
  123. package/cypress/pages/graphingPage.js +4 -7
  124. package/cypress/pages/gridFillPage.js +15 -16
  125. package/cypress/pages/listOrderingPage.js +373 -2
  126. package/cypress/pages/matchingPage.js +89 -33
  127. package/cypress/pages/multipleSelectionGridPage.js +11 -13
  128. package/cypress/pages/multipleSelectionPage.js +4 -5
  129. package/cypress/pages/numberLinePage.js +2 -13
  130. package/cypress/pages/shortTextResponsePage.js +2 -3
  131. package/cypress/pages/textEntryMathPage.js +28 -0
  132. package/cypress/pages/textSelectionPage.js +242 -3
  133. package/cypress/pages/videoResponsePage.js +0 -2
  134. package/package.json +1 -1
  135. /package/cypress/e2e/ILC/TextSelection/{styleAndLayoutCustomizationAccordion.js → styleAndLayoutCustomizationAccordionFilledIn.js} +0 -0
@@ -0,0 +1,242 @@
1
+ import { textEntryMathPage } from "../../../../pages";
2
+ import { equationEditorFlyout } from "../../../../pages/components";
3
+ import abortEarlySetup from "../../../../support/helpers/abortEarly";
4
+ import utilities from "../../../../support/helpers/utilities";
5
+ const css = Cypress.env('css');
6
+
7
+ describe('Create Item page - Text entry math: Preview scoring', () => {
8
+ before(() => {
9
+ cy.loginAs('admin');
10
+ });
11
+
12
+ describe(`Text entry math: Partial equal weights with alternative answer - When \'Correct answer\' points are more than \'Alternative answer\' points`, () => {
13
+ abortEarlySetup();
14
+ before(() => {
15
+ textEntryMathPage.steps.navigateToCreateQuestion('Text Entry Math');
16
+ cy.barsPreLoaderWait();
17
+ textEntryMathPage.steps.addTextInQuestionInstructionsInputField('Enter the correct answer in the response field');
18
+ textEntryMathPage.steps.addResponseArea();
19
+ textEntryMathPage.steps.addResponseArea();
20
+ textEntryMathPage.steps.addResponseArea();
21
+ textEntryMathPage.steps.selectAutoScoredScoringSubtype('Partial equal weights');
22
+ textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(0);
23
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(0);
24
+ equationEditorFlyout.steps.clearAll();
25
+ equationEditorFlyout.steps.enterTextInPreviewInputField('Correct');
26
+ equationEditorFlyout.steps.clickOnOkButton();
27
+ textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(1);
28
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(1);
29
+ equationEditorFlyout.steps.enterQuadraticEquation();
30
+ textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(2);
31
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(2);
32
+ equationEditorFlyout.steps.enterTextInPreviewInputField('9000%');
33
+ equationEditorFlyout.steps.clickOnOkButton();
34
+ textEntryMathPage.steps.allotPoints(18);
35
+ textEntryMathPage.steps.addAlternativeAnswerAccordion(1);
36
+ textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(0);
37
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(0);
38
+ equationEditorFlyout.steps.clearAll();
39
+ equationEditorFlyout.steps.enterTextInPreviewInputField('Correct');
40
+ equationEditorFlyout.steps.clickOnOkButton();
41
+ textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(1);
42
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(1);
43
+ equationEditorFlyout.steps.enterEquationUsingPiSymbol();
44
+ textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(2);
45
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(2);
46
+ equationEditorFlyout.steps.enterTextInPreviewInputField('7.07e');
47
+ equationEditorFlyout.steps.clickOnOkButton();
48
+ textEntryMathPage.steps.allotPoints(12);
49
+ textEntryMathPage.steps.expandAdditionalSettings();
50
+ textEntryMathPage.steps.selectModalVisibilityTypeButton();
51
+ textEntryMathPage.steps.switchToPreviewTab();
52
+ });
53
+
54
+ it('When the user selects \'Grading\' view without attempting the question, response numeration should be displayed, correct answers section with a label \'Correct answers\' should be displayed with correct answers from the correct accordion and respective response numeration', () => {
55
+ textEntryMathPage.steps.switchToGradingView();
56
+ textEntryMathPage.steps.verifyPreviewScore(0, 18);
57
+ textEntryMathPage.steps.verifyResponseFieldNumerationPreviewTab();
58
+ textEntryMathPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount(['Correct', '2x2y2+4xy+4', '9000%']);
59
+ textEntryMathPage.steps.verifyCorrectIncorrectIconNotExist(0);
60
+ textEntryMathPage.steps.verifyCorrectIncorrectIconNotExist(1);
61
+ textEntryMathPage.steps.verifyCorrectIncorrectIconNotExist(2);
62
+ utilities.verifyElementVisibilityState(textEntryMathPage.correctIncorrectStatusMessageText(), 'notExist');
63
+ });
64
+
65
+ it('When the user attempts the question with responses from the correct accordion, then the user should be awarded 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\' and correct answer section should not be displayed', () => {
66
+ textEntryMathPage.steps.resetQuestionPreview();
67
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
68
+ equationEditorFlyout.steps.enterTextInPreviewInputField('Correct');
69
+ equationEditorFlyout.steps.clickOnOkButton();
70
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(1);
71
+ equationEditorFlyout.steps.enterQuadraticEquation();
72
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(2);
73
+ equationEditorFlyout.steps.enterTextInPreviewInputField('9000%');
74
+ equationEditorFlyout.steps.clickOnOkButton();
75
+ textEntryMathPage.steps.verifyPreviewScore(18, 18);
76
+ textEntryMathPage.steps.switchToGradingView();
77
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
78
+ textEntryMathPage.steps.verifyCorrectResponseIcon(1);
79
+ textEntryMathPage.steps.verifyCorrectResponseIcon(2);
80
+ textEntryMathPage.steps.verifyCorrectAnswerSectionNotExists();
81
+ utilities.verifyElementVisibilityState(textEntryMathPage.correctAnswersContainer(), 'notExist');
82
+ });
83
+
84
+ it('When the user attempts the question with responses from the alternative accordion, then the user should be awarded with points specified for alternative 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\' and correct answer section should not be displayed', () => {
85
+ textEntryMathPage.steps.resetQuestionPreview();
86
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
87
+ equationEditorFlyout.steps.enterTextInPreviewInputField('Correct');
88
+ equationEditorFlyout.steps.clickOnOkButton();
89
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(1);
90
+ equationEditorFlyout.steps.enterEquationUsingPiSymbol();
91
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(2);
92
+ equationEditorFlyout.steps.enterTextInPreviewInputField('7.07e');
93
+ equationEditorFlyout.steps.clickOnOkButton();
94
+ textEntryMathPage.steps.verifyPreviewScore(12, 18);
95
+ textEntryMathPage.steps.switchToGradingView();
96
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
97
+ textEntryMathPage.steps.verifyCorrectResponseIcon(1);
98
+ textEntryMathPage.steps.verifyCorrectResponseIcon(2);
99
+ textEntryMathPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
100
+ });
101
+
102
+ it('When the user attempts the question with partially correct options exclusively from the correct accordion, then the user should be awarded points for the correctly attempted options from correct tab and on switching to \'Grading\' view, correct icon should be displayed besides the correct answer responses, no icon should be displayed beside unattempted response a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers from the correct accordion along with dropzone numeration should be displayed', () => {
103
+ textEntryMathPage.steps.resetQuestionPreview();
104
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(1);
105
+ equationEditorFlyout.steps.enterQuadraticEquation();
106
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(2);
107
+ equationEditorFlyout.steps.enterTextInPreviewInputField('9000%');
108
+ equationEditorFlyout.steps.clickOnOkButton();
109
+ textEntryMathPage.steps.verifyPreviewScore(12, 18);
110
+ textEntryMathPage.steps.switchToGradingView();
111
+ textEntryMathPage.steps.verifyCorrectIncorrectIconNotExist(0);
112
+ textEntryMathPage.steps.verifyCorrectResponseIcon(1);
113
+ textEntryMathPage.steps.verifyCorrectResponseIcon(2);
114
+ textEntryMathPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount(['Correct', '2x2y2+4xy+4', '9000%']);
115
+ textEntryMathPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
116
+ });
117
+
118
+ it('When the user attempts the question with partially correct options exclusively from the alternative accordion, then the user should be awarded points for the correctly attempted options from alternative tab and on switching to \'Grading\' view, correct icon should be displayed besides the correct answer responses, no icon should be displayed beside unattempted response a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers from the correct accordion along with dropzone cell numeration should be displayed', () => {
119
+ textEntryMathPage.steps.resetQuestionPreview();
120
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(1);
121
+ equationEditorFlyout.steps.enterEquationUsingPiSymbol();
122
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(2);
123
+ equationEditorFlyout.steps.enterTextInPreviewInputField('7.07e');
124
+ equationEditorFlyout.steps.clickOnOkButton();
125
+ textEntryMathPage.steps.verifyPreviewScore(8, 18);
126
+ textEntryMathPage.steps.switchToGradingView();
127
+ textEntryMathPage.steps.verifyCorrectIncorrectIconNotExist(0);
128
+ textEntryMathPage.steps.verifyCorrectResponseIcon(1);
129
+ textEntryMathPage.steps.verifyCorrectResponseIcon(2);
130
+ textEntryMathPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount(['Correct', '2x2y2+4xy+4', '9000%']);
131
+ textEntryMathPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
132
+ });
133
+
134
+ it('When the user attempts the question partially correct with all the responses correct as per the alternative accordion but one response incomplete, then the user should be awarded points for the correctly attempted options from correct tab and on switching to \'Grading\' view, correct icon should be displayed besides the response from the correct accordion, incorrect icon should be displayed besides the responses from the alternative accordion and no icon should be displayed beside unattempted response, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers from the correct accordion along with dropzone cell numeration should be displayed', () => {
135
+ textEntryMathPage.steps.resetQuestionPreview();
136
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
137
+ equationEditorFlyout.steps.enterTextInPreviewInputField('Correct');
138
+ equationEditorFlyout.steps.clickOnOkButton();
139
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(1);
140
+ equationEditorFlyout.steps.enterEquationUsingPiSymbol();
141
+ textEntryMathPage.steps.verifyPreviewScore(8, 18);
142
+ textEntryMathPage.steps.switchToGradingView();
143
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
144
+ textEntryMathPage.steps.verifyCorrectResponseIcon(1);
145
+ textEntryMathPage.steps.verifyCorrectIncorrectIconNotExist(2);
146
+ textEntryMathPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount(['Correct', '2x2y2+4xy+4', '9000%']);
147
+ textEntryMathPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
148
+ });
149
+
150
+ it('When the user has attempted the question with equal number of correct responses from correct and alternative accordion, then the user should be awarded with points for the correctly attempted options from correct tab and on switching to \'Grading\' view, green check-mark icon should be displayed besides response field with correct answer responses, red cross-mark icon should be displayed beside responses from the alternative tab, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers from the correct accordion along with dropzone cell numeration should be displayed', () => {
151
+ textEntryMathPage.steps.resetQuestionPreview();
152
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
153
+ equationEditorFlyout.steps.enterTextInPreviewInputField('Correct');
154
+ equationEditorFlyout.steps.clickOnOkButton();
155
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(1);
156
+ equationEditorFlyout.steps.enterQuadraticEquation();
157
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(2);
158
+ equationEditorFlyout.steps.enterTextInPreviewInputField('7.07e');
159
+ equationEditorFlyout.steps.clickOnOkButton();
160
+ textEntryMathPage.steps.verifyPreviewScore(12, 18);
161
+ textEntryMathPage.steps.switchToGradingView();
162
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
163
+ textEntryMathPage.steps.verifyCorrectResponseIcon(1);
164
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(2);
165
+ textEntryMathPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount(['Correct', '2x2y2+4xy+4', '9000%']);
166
+ textEntryMathPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
167
+ });
168
+
169
+ it('Race condition : When the user attempts the question with the common response between correct and alternative accordion, then the user should be awarded with points for the correctly attempted options from alternative tab and on switching to \'Grading\' view, green check-mark icon should be besides the common response, no icon should be displayed beside unattempted response, \'Your answer is incorrect\' and correct answer section with all correct answers from the correct accordion along with dropzone cell numeration should be displayed', () => {
170
+ textEntryMathPage.steps.resetQuestionPreview();
171
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
172
+ equationEditorFlyout.steps.enterTextInPreviewInputField('Correct');
173
+ equationEditorFlyout.steps.clickOnOkButton();
174
+ textEntryMathPage.steps.verifyPreviewScore(6, 18);
175
+ textEntryMathPage.steps.switchToGradingView();
176
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
177
+ textEntryMathPage.steps.verifyCorrectIncorrectIconNotExist(1);
178
+ textEntryMathPage.steps.verifyCorrectIncorrectIconNotExist(2);
179
+ textEntryMathPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount(['Correct', '2x2y2+4xy+4', '9000%']);
180
+ textEntryMathPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
181
+ });
182
+
183
+ it('When the user attempts the question incorrectly, then the user should be awarded 0 points and on switching to \'Grading\' view, incorrect icons should be displayed besides all incorrect responses, no icon should be displayed beside unattempted response a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers along with dropzone cell numeration should be displayed', () => {
184
+ textEntryMathPage.steps.resetQuestionPreview();
185
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
186
+ equationEditorFlyout.steps.enterTextInPreviewInputField('Incorrect answer 1');
187
+ equationEditorFlyout.steps.clickOnOkButton();
188
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(1);
189
+ equationEditorFlyout.steps.enterTextInPreviewInputField('Incorrect answer 2');
190
+ equationEditorFlyout.steps.clickOnOkButton();
191
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(2);
192
+ equationEditorFlyout.steps.enterTextInPreviewInputField('Incorrect answer 3');
193
+ equationEditorFlyout.steps.clickOnOkButton();
194
+ textEntryMathPage.steps.verifyPreviewScore(0, 18);
195
+ textEntryMathPage.steps.switchToGradingView();
196
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
197
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(1);
198
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(2);
199
+ textEntryMathPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount(['Correct', '2x2y2+4xy+4', '9000%']);
200
+ textEntryMathPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
201
+ });
202
+
203
+ it('Overachiever case: When the user attempts the question with more number of correct responses from the correct accordion than the alternative accordion but the score of the individual response selected from the alternative accordion overpowers the combined score of the correct accordion answers then on switching to the \'Grading view\', then points awarded should be of the alternative accordion, correct icons should be displayed for the alternative accordion response, incorrect icon should be displayed for the correct accordion responses, correct/incorrect answer status message should not be displayed and correct answer section with all correct answers from the alternative accordion along with response area numeration should be displayed', () => {
204
+ cy.log('Pre-step: Switching to Edit tab and allotting points to alternative accordion such that the difference between the points is substantial and the points per response are in decimal')
205
+ textEntryMathPage.steps.switchToEditTab();
206
+ textEntryMathPage.steps.deleteAlternativeAnswerAccordion(0);
207
+ textEntryMathPage.steps.addAlternativeAnswerAccordion(1);
208
+ textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(0);
209
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(0);
210
+ equationEditorFlyout.steps.clearAll();
211
+ equationEditorFlyout.steps.enterTextInPreviewInputField('CorrectAnswer');
212
+ equationEditorFlyout.steps.clickOnOkButton();
213
+ textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(1);
214
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(1);
215
+ equationEditorFlyout.steps.enterEquationUsingPiSymbol();
216
+ textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(2);
217
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(2);
218
+ equationEditorFlyout.steps.enterTextInPreviewInputField('7.07e');
219
+ equationEditorFlyout.steps.clickOnOkButton();
220
+ textEntryMathPage.steps.allotPoints(5);
221
+ textEntryMathPage.steps.expandCorrectAnswerAccordion();
222
+ textEntryMathPage.steps.allotPoints(23);
223
+ textEntryMathPage.steps.switchToPreviewTab();
224
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
225
+ equationEditorFlyout.steps.enterTextInPreviewInputField('CorrectAnswer');
226
+ equationEditorFlyout.steps.clickOnOkButton();
227
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(1);
228
+ equationEditorFlyout.steps.enterQuadraticEquation();
229
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(2);
230
+ equationEditorFlyout.steps.enterTextInPreviewInputField('7.07e');
231
+ equationEditorFlyout.steps.clickOnOkButton();
232
+ textEntryMathPage.steps.verifyPreviewScore(7.6667, 23);
233
+ textEntryMathPage.steps.switchToGradingView();
234
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
235
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(1);
236
+ textEntryMathPage.steps.verifyCorrectResponseIcon(2);
237
+ textEntryMathPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
238
+ textEntryMathPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount(['Correct', '2x2y2+4xy+4', '9000%']);
239
+ textEntryMathPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
240
+ });
241
+ });
242
+ });
@@ -0,0 +1,195 @@
1
+ import { textEntryMathPage } from "../../../../pages";
2
+ import { equationEditorFlyout } from "../../../../pages/components";
3
+ import abortEarlySetup from "../../../../support/helpers/abortEarly";
4
+ import utilities from "../../../../support/helpers/utilities";
5
+
6
+ describe('Create item page - Text Entry Math: Partial equal weights', () => {
7
+ before(() => {
8
+ cy.loginAs('admin');
9
+ });
10
+
11
+ describe('Auto scored - Partial equal weights', () => {
12
+ abortEarlySetup();
13
+ before(() => {
14
+ textEntryMathPage.steps.navigateToCreateQuestion('Text Entry Math');
15
+ cy.barsPreLoaderWait();
16
+ textEntryMathPage.steps.addTextInQuestionInstructionsInputField('Enter the correct answer in the response field');
17
+ textEntryMathPage.steps.addResponseArea();
18
+ textEntryMathPage.steps.addResponseArea();
19
+ textEntryMathPage.steps.addResponseArea();
20
+ textEntryMathPage.steps.selectAutoScoredScoringSubtype('Partial equal weights');
21
+ textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(0);
22
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(0);
23
+ equationEditorFlyout.steps.clearAll();
24
+ equationEditorFlyout.steps.enterTextInPreviewInputField('Correct1');
25
+ equationEditorFlyout.steps.clickOnOkButton();
26
+ textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(1);
27
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(1);
28
+ equationEditorFlyout.steps.enterQuadraticEquation();
29
+ textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(2);
30
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(2);
31
+ equationEditorFlyout.steps.enterEquationUsingPiSymbol();
32
+ textEntryMathPage.steps.allotPoints(18);
33
+ textEntryMathPage.steps.expandAdditionalSettings();
34
+ textEntryMathPage.steps.selectModalVisibilityTypeButton();
35
+ textEntryMathPage.steps.switchToPreviewTab();
36
+ });
37
+
38
+ it('When the user selects \'Grading\' view without attempting the question, response numeration should be displayed, correct answers section with a label \'Correct answers\' should be displayed with correct answers from the correct accordion and respective response numeration', () => {
39
+ textEntryMathPage.steps.switchToGradingView();
40
+ textEntryMathPage.steps.verifyResponseFieldNumerationPreviewTab();
41
+ textEntryMathPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount(['Correct1', '2x2y2+4xy+4', '6×π']);
42
+ textEntryMathPage.steps.switchToGradingView();
43
+ textEntryMathPage.steps.verifyCorrectIncorrectIconNotExist(0);
44
+ textEntryMathPage.steps.verifyCorrectIncorrectIconNotExist(1);
45
+ textEntryMathPage.steps.verifyCorrectIncorrectIconNotExist(2);
46
+ utilities.verifyElementVisibilityState(textEntryMathPage.correctIncorrectStatusMessageText(), 'notExist');
47
+ });
48
+
49
+ it('When the user attempts the question incorrectly, then the user should be awarded 0 points and on switching to \'Grading\' view, incorrect icons should be displayed besides all incorrect responses, and \'Your answer is incorrect\' label should be displayed', () => {
50
+ textEntryMathPage.steps.resetQuestionPreview();
51
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
52
+ equationEditorFlyout.steps.enterTextInPreviewInputField('Incorrect answer 1');
53
+ equationEditorFlyout.steps.clickOnOkButton();
54
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(1);
55
+ equationEditorFlyout.steps.enterTextInPreviewInputField('Incorrect answer 2');
56
+ equationEditorFlyout.steps.clickOnOkButton();
57
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(2);
58
+ equationEditorFlyout.steps.enterTextInPreviewInputField('Incorrect answer 3');
59
+ equationEditorFlyout.steps.clickOnOkButton();
60
+ textEntryMathPage.steps.verifyPreviewScore(0, 18);
61
+ textEntryMathPage.steps.switchToGradingView();
62
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
63
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(1);
64
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(2);
65
+ textEntryMathPage.steps.verifyResponseFieldNumerationPreviewTab();
66
+ textEntryMathPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount(['Correct1', '2x2y2+4xy+4', '6×π']);
67
+ });
68
+
69
+ it('When the user attempts the question partially correct, then the user should be awarded 0 points and on switching to \'Grading\' view, correct icons should be displayed besides the correct responses, incorrect icons should be displayed beside the incorrect responses, and \'Your answer is incorrect\' label should be displayed', () => {
70
+ textEntryMathPage.steps.resetQuestionPreview();
71
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
72
+ equationEditorFlyout.steps.enterTextInPreviewInputField('Correct1');
73
+ equationEditorFlyout.steps.clickOnOkButton();
74
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(1);
75
+ equationEditorFlyout.steps.enterQuadraticEquation();
76
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(2);
77
+ equationEditorFlyout.steps.enterTextInPreviewInputField('6*3.14');
78
+ equationEditorFlyout.steps.clickOnOkButton();
79
+ textEntryMathPage.steps.verifyPreviewScore(12, 18);
80
+ textEntryMathPage.steps.switchToGradingView();
81
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
82
+ textEntryMathPage.steps.verifyCorrectResponseIcon(1);
83
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(2);
84
+ textEntryMathPage.steps.verifyResponseFieldNumerationPreviewTab();
85
+ textEntryMathPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount(['Correct1', '2x2y2+4xy+4', '6×π']);
86
+ });
87
+
88
+ it('When the user attempts the question partially correct with a incomplete response, then the user should be awarded 0 points and on switching to \'Grading\' view, correct icons should be displayed besides the correct responses and unattempted correct options, no icon should be displayed beside unattempted response, \'Your answer is incorrect\' should be displayed', () => {
89
+ textEntryMathPage.steps.resetQuestionPreview();
90
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
91
+ equationEditorFlyout.steps.enterTextInPreviewInputField('Correct1');
92
+ equationEditorFlyout.steps.clickOnOkButton();
93
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(1);
94
+ equationEditorFlyout.steps.enterQuadraticEquation();
95
+ textEntryMathPage.steps.verifyPreviewScore(12, 18);
96
+ textEntryMathPage.steps.switchToGradingView();
97
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
98
+ textEntryMathPage.steps.verifyCorrectResponseIcon(1);
99
+ textEntryMathPage.steps.verifyCorrectIncorrectIconNotExist(2);
100
+ textEntryMathPage.steps.verifyResponseFieldNumerationPreviewTab();
101
+ textEntryMathPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount(['Correct1', '2x2y2+4xy+4', '6×π']);
102
+ });
103
+
104
+ it('When user attempts the question correctly, the user should be awarded full points and on switching to \'Grading\' view, then correct icons should be displayed beside all the correct responses, and \'Your answer is correct\' should be displayed', () => {
105
+ textEntryMathPage.steps.resetQuestionPreview();
106
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
107
+ equationEditorFlyout.steps.enterTextInPreviewInputField('Correct1');
108
+ equationEditorFlyout.steps.clickOnOkButton();
109
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(1);
110
+ equationEditorFlyout.steps.enterQuadraticEquation();
111
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(2);
112
+ equationEditorFlyout.steps.enterEquationUsingPiSymbol();
113
+ textEntryMathPage.steps.verifyPreviewScore(18, 18);
114
+ textEntryMathPage.steps.switchToGradingView();
115
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
116
+ textEntryMathPage.steps.verifyCorrectResponseIcon(1);
117
+ textEntryMathPage.steps.verifyCorrectResponseIcon(2);
118
+ textEntryMathPage.steps.verifyCorrectAnswerSectionNotExists();
119
+ });
120
+ });
121
+
122
+ describe('Question preview: Auto scored - Partial equal weights: Minimum scoring', () => {
123
+ abortEarlySetup();
124
+ before(() => {
125
+ textEntryMathPage.steps.navigateToCreateQuestion('Text Entry Math');
126
+ cy.barsPreLoaderWait();
127
+ textEntryMathPage.steps.addResponseArea();
128
+ textEntryMathPage.steps.addResponseArea();
129
+ textEntryMathPage.steps.addResponseArea();
130
+ textEntryMathPage.steps.selectAutoScoredScoringSubtype('Partial equal weights');
131
+ textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(0);
132
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(0);
133
+ equationEditorFlyout.steps.clearAll();
134
+ equationEditorFlyout.steps.enterTextInPreviewInputField('Correct1');
135
+ equationEditorFlyout.steps.clickOnOkButton();
136
+ textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(1);
137
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(1);
138
+ equationEditorFlyout.steps.enterQuadraticEquation();
139
+ textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(2);
140
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(2);
141
+ equationEditorFlyout.steps.enterTextInPreviewInputField('6×π');
142
+ equationEditorFlyout.steps.clickOnOkButton();
143
+ textEntryMathPage.steps.allotPoints(15);
144
+ });
145
+
146
+ it('When the user selects \'Award minimum score\' from the minimum scoring dropdown, does not attempt the question and switches to grading view, then the user should be awarded with minimum points', () => {
147
+ textEntryMathPage.steps.expandMinimumScoringDropdown();
148
+ textEntryMathPage.steps.selectOptionFromMinimumScoringDropdown('Award minimum score');
149
+ textEntryMathPage.steps.allotMinimumPoints(2);
150
+ textEntryMathPage.steps.switchToPreviewTab();
151
+ textEntryMathPage.steps.switchToGradingView();
152
+ textEntryMathPage.steps.verifyPreviewScore(2, 15);
153
+ textEntryMathPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
154
+ });
155
+
156
+ it('When the user has selected \'Award minimum score\' from the minimum scoring dropdown, attempts the question incorrectly and switches to grading view, the user should be awarded with minimum points', () => {
157
+ textEntryMathPage.steps.resetQuestionPreview();
158
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
159
+ equationEditorFlyout.steps.enterTextInPreviewInputField('Incorrect answer 1');
160
+ equationEditorFlyout.steps.clickOnOkButton();
161
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(1);
162
+ equationEditorFlyout.steps.enterTextInPreviewInputField('Incorrect answer 2');
163
+ equationEditorFlyout.steps.clickOnOkButton();
164
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(2);
165
+ equationEditorFlyout.steps.enterTextInPreviewInputField('Incorrect answer 3');
166
+ equationEditorFlyout.steps.clickOnOkButton();
167
+ textEntryMathPage.steps.verifyPreviewScore(2, 15);
168
+ });
169
+
170
+ it('When the user selects \'Award minimum score only if attempted\' from the minimum scoring dropdown, does not attempt the question and switches to grading view, then the user should be awarded with 0 points', () => {
171
+ textEntryMathPage.steps.switchToEditTab();
172
+ textEntryMathPage.steps.expandMinimumScoringDropdown();
173
+ textEntryMathPage.steps.selectOptionFromMinimumScoringDropdown('Award minimum score only if attempted');
174
+ textEntryMathPage.steps.allotMinimumPoints(2);
175
+ textEntryMathPage.steps.switchToPreviewTab();
176
+ textEntryMathPage.steps.switchToGradingView();
177
+ textEntryMathPage.steps.verifyPreviewScore(0, 15);
178
+ textEntryMathPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
179
+ });
180
+
181
+ it('When the user has selected \'Award minimum score\' from the minimum scoring dropdown, attempts the question incorrectly and switches to grading view, the user should be awarded with minimum points', () => {
182
+ textEntryMathPage.steps.resetQuestionPreview();
183
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
184
+ equationEditorFlyout.steps.enterTextInPreviewInputField('Incorrect answer 1');
185
+ equationEditorFlyout.steps.clickOnOkButton();
186
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(1);
187
+ equationEditorFlyout.steps.enterTextInPreviewInputField('Incorrect answer 2');
188
+ equationEditorFlyout.steps.clickOnOkButton();
189
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(2);
190
+ equationEditorFlyout.steps.enterTextInPreviewInputField('Incorrect answer 3');
191
+ equationEditorFlyout.steps.clickOnOkButton();
192
+ textEntryMathPage.steps.verifyPreviewScore(2, 15);
193
+ });
194
+ });
195
+ });
@@ -21,6 +21,8 @@ describe('Create Item page - Text entry math: All or nothing ', () => {
21
21
  textEntryMathPage.steps.addTextInQuestionInstructionsInputField('Enter the correct answer in the response field');
22
22
  textEntryMathPage.steps.addResponseArea();
23
23
  textEntryMathPage.steps.addResponseArea();
24
+ textEntryMathPage.steps.expandAdditionalSettings();
25
+ textEntryMathPage.steps.selectModalVisibilityTypeButton();
24
26
  textEntryMathPage.steps.switchToPreviewTab();
25
27
  });
26
28
 
@@ -79,6 +81,8 @@ describe('Create Item page - Text entry math: All or nothing ', () => {
79
81
  textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(2);
80
82
  textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(2);
81
83
  equationEditorFlyout.steps.enterEquationUsingPiSymbol();
84
+ textEntryMathPage.steps.expandAdditionalSettings();
85
+ textEntryMathPage.steps.selectModalVisibilityTypeButton();
82
86
  textEntryMathPage.steps.switchToPreviewTab();
83
87
  break;
84
88
  case 'Item preview':
@@ -280,6 +284,8 @@ describe('Create Item page - Text entry math: All or nothing ', () => {
280
284
  textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(2);
281
285
  textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(2);
282
286
  equationEditorFlyout.steps.enterEquationUsingPiSymbol();
287
+ textEntryMathPage.steps.expandAdditionalSettings();
288
+ textEntryMathPage.steps.selectModalVisibilityTypeButton();
283
289
  textEntryMathPage.steps.allotPoints(20);
284
290
  });
285
291
 
@@ -35,6 +35,8 @@ describe('Create item page - Text entry math: Question instructions, Add structu
35
35
  before(() => {
36
36
  textEntryMathPage.steps.navigateToCreateQuestion('Text Entry Math');
37
37
  cy.barsPreLoaderWait();
38
+ textEntryMathPage.steps.expandAdditionalSettings();
39
+ textEntryMathPage.steps.selectModalVisibilityTypeButton();
38
40
  });
39
41
 
40
42
  it('By default \'Add structure\' tab will have active selection', () => {
@@ -107,6 +109,8 @@ describe('Create item page - Text entry math: Question instructions, Add structu
107
109
  cy.barsPreLoaderWait();
108
110
  textEntryMathPage.steps.addResponseArea();
109
111
  textEntryMathPage.steps.addResponseArea();
112
+ textEntryMathPage.steps.expandAdditionalSettings();
113
+ textEntryMathPage.steps.selectModalVisibilityTypeButton();
110
114
  });
111
115
 
112
116
  it('For the two response token in question input field, two response accordions \'Response 1\' and \'Response 2\' should be present in collapsed state in the \'Specify correct answer section\'', () => {
@@ -140,10 +144,11 @@ describe('Create item page - Text entry math: Question instructions, Add structu
140
144
  cy.barsPreLoaderWait();
141
145
  textEntryMathPage.steps.addResponseArea();
142
146
  textEntryMathPage.steps.addResponseArea();
147
+ textEntryMathPage.steps.expandAdditionalSettings();
148
+ textEntryMathPage.steps.selectModalVisibilityTypeButton();
143
149
  });
144
150
 
145
151
  it('For the two response token in question input field, in additional settings accordion, two \'ARIA label for text containers\'input fields should be displayed', () => {
146
- textEntryMathPage.steps.expandAdditionalSettings();
147
152
  utilities.verifyElementCount(textEntryMathPage.textContainersAriaLabelInputField(), 2);
148
153
  });
149
154
 
@@ -163,6 +168,8 @@ describe('Create item page - Text entry math: Question instructions, Add structu
163
168
  before(() => {
164
169
  textEntryMathPage.steps.navigateToCreateQuestion('Text Entry Math');
165
170
  cy.barsPreLoaderWait();
171
+ textEntryMathPage.steps.expandAdditionalSettings();
172
+ textEntryMathPage.steps.selectModalVisibilityTypeButton();
166
173
  textEntryMathPage.steps.switchToPreviewTab();
167
174
  });
168
175
 
@@ -49,6 +49,8 @@ describe('Create item page - Text entry math: Scoring section', () => {
49
49
  before(() => {
50
50
  textEntryMathPage.steps.navigateToCreateQuestion('Text Entry Math');
51
51
  cy.barsPreLoaderWait();
52
+ textEntryMathPage.steps.expandAdditionalSettings();
53
+ textEntryMathPage.steps.selectModalVisibilityTypeButton();
52
54
  });
53
55
 
54
56
  it('User should be able to select \'Partial - equal weights\' scoring type', () => {
@@ -69,6 +71,8 @@ describe('Create item page - Text entry math: Scoring section', () => {
69
71
  textEntryMathPage.steps.navigateToCreateQuestion('Text Entry Math');
70
72
  cy.barsPreLoaderWait();
71
73
  textEntryMathPage.steps.selectAutoScoredScoringSubtype('Partial equal weights');
74
+ textEntryMathPage.steps.expandAdditionalSettings();
75
+ textEntryMathPage.steps.selectModalVisibilityTypeButton();
72
76
  });
73
77
 
74
78
  textEntryMathPage.tests.verifyContentsOfSpecifyCorrectAnswerSection();
@@ -135,6 +139,8 @@ describe('Create item page - Text entry math: Scoring section', () => {
135
139
  before(() => {
136
140
  textEntryMathPage.steps.navigateToCreateQuestion('Text Entry Math');
137
141
  cy.barsPreLoaderWait();
142
+ textEntryMathPage.steps.expandAdditionalSettings();
143
+ textEntryMathPage.steps.selectModalVisibilityTypeButton();
138
144
  });
139
145
 
140
146
  it('User should be able to select \'Partial - different weights\' scoring', () => {
@@ -155,6 +161,8 @@ describe('Create item page - Text entry math: Scoring section', () => {
155
161
  textEntryMathPage.steps.navigateToCreateQuestion('Text Entry Math');
156
162
  cy.barsPreLoaderWait();
157
163
  textEntryMathPage.steps.selectAutoScoredScoringSubtype('Partial different weights');
164
+ textEntryMathPage.steps.expandAdditionalSettings();
165
+ textEntryMathPage.steps.selectModalVisibilityTypeButton();
158
166
  });
159
167
 
160
168
  textEntryMathPage.tests.verifyContentsOfSpecifyCorrectAnswerSection();
@@ -207,6 +215,8 @@ describe('Create item page - Text entry math: Scoring section', () => {
207
215
  before(() => {
208
216
  textEntryMathPage.steps.navigateToCreateQuestion('Text Entry Math');
209
217
  cy.barsPreLoaderWait();
218
+ textEntryMathPage.steps.expandAdditionalSettings();
219
+ textEntryMathPage.steps.selectModalVisibilityTypeButton();
210
220
  });
211
221
 
212
222
  it('User should be able to select \'Manually scored\' scoring type from scoring type dropdown', () => {
@@ -250,6 +260,8 @@ describe('Create item page - Text entry math: Scoring section', () => {
250
260
  cy.barsPreLoaderWait();
251
261
  textEntryMathPage.steps.expandScoringTypeDropdown();
252
262
  textEntryMathPage.steps.selectOptionFromScoringTypeDropdown('Non scored');
263
+ textEntryMathPage.steps.expandAdditionalSettings();
264
+ textEntryMathPage.steps.selectModalVisibilityTypeButton();
253
265
  });
254
266
 
255
267
  textEntryMathPage.tests.verifyContentsOfSpecifyCorrectAnswerSection();
@@ -26,6 +26,8 @@ describe('Create item page - Text entry math: Equivalent structure evaluation me
26
26
  textEntryMathPage.steps.selectSyntaxDropdownListOption('Number');
27
27
  textEntryMathPage.steps.expandAdditionalSettings();
28
28
  textEntryMathPage.steps.selectEquationEditorSectionCategories([equationEditorCategoriesAndSymbols.trig.displayName, equationEditorCategoriesAndSymbols.greek.displayName, equationEditorCategoriesAndSymbols.calculus.displayName]);
29
+ textEntryMathPage.steps.expandAdditionalSettings();
30
+ textEntryMathPage.steps.selectModalVisibilityTypeButton();
29
31
  textEntryMathPage.steps.switchToPreviewTab();
30
32
  });
31
33
 
@@ -342,6 +344,8 @@ describe('Create item page - Text entry math: Equivalent structure evaluation me
342
344
  textEntryMathPage.steps.selectSyntaxDropdownListOption('Fraction');
343
345
  textEntryMathPage.steps.expandAdditionalSettings();
344
346
  textEntryMathPage.steps.selectEquationEditorSectionCategories([equationEditorCategoriesAndSymbols.trig.displayName, equationEditorCategoriesAndSymbols.greek.displayName, equationEditorCategoriesAndSymbols.calculus.displayName]);
347
+ textEntryMathPage.steps.expandAdditionalSettings();
348
+ textEntryMathPage.steps.selectModalVisibilityTypeButton();
345
349
  textEntryMathPage.steps.switchToPreviewTab();
346
350
  });
347
351
 
@@ -779,6 +783,8 @@ describe('Create item page - Text entry math: Equivalent structure evaluation me
779
783
  textEntryMathPage.steps.selectSyntaxDropdownListOption('Variable');
780
784
  textEntryMathPage.steps.expandAdditionalSettings();
781
785
  textEntryMathPage.steps.selectEquationEditorSectionCategories([equationEditorCategoriesAndSymbols.trig.displayName, equationEditorCategoriesAndSymbols.greek.displayName, equationEditorCategoriesAndSymbols.calculus.displayName]);
786
+ textEntryMathPage.steps.expandAdditionalSettings();
787
+ textEntryMathPage.steps.selectModalVisibilityTypeButton();
782
788
  textEntryMathPage.steps.switchToPreviewTab();
783
789
  });
784
790
 
@@ -927,6 +933,8 @@ describe('Create item page - Text entry math: Equivalent structure evaluation me
927
933
  textEntryMathPage.steps.selectSyntaxDropdownListOption('Expression');
928
934
  textEntryMathPage.steps.expandAdditionalSettings();
929
935
  textEntryMathPage.steps.selectEquationEditorSectionCategories([equationEditorCategoriesAndSymbols.trig.displayName, equationEditorCategoriesAndSymbols.greek.displayName, equationEditorCategoriesAndSymbols.calculus.displayName]);
936
+ textEntryMathPage.steps.expandAdditionalSettings();
937
+ textEntryMathPage.steps.selectModalVisibilityTypeButton();
930
938
  textEntryMathPage.steps.switchToPreviewTab();
931
939
  });
932
940
 
@@ -1225,6 +1233,8 @@ describe('Create item page - Text entry math: Equivalent structure evaluation me
1225
1233
  textEntryMathPage.steps.selectSyntaxDropdownListOption('Scientific');
1226
1234
  textEntryMathPage.steps.expandAdditionalSettings();
1227
1235
  textEntryMathPage.steps.selectEquationEditorSectionCategories([equationEditorCategoriesAndSymbols.trig.displayName, equationEditorCategoriesAndSymbols.greek.displayName, equationEditorCategoriesAndSymbols.calculus.displayName]);
1236
+ textEntryMathPage.steps.expandAdditionalSettings();
1237
+ textEntryMathPage.steps.selectModalVisibilityTypeButton();
1228
1238
  textEntryMathPage.steps.switchToPreviewTab();
1229
1239
  });
1230
1240
 
@@ -22,6 +22,8 @@ describe('Create item page - Text entry math: Match exact evaluation method', ()
22
22
  textEntryMathPage.steps.selectEquationEditorSectionCategories([equationEditorCategoriesAndSymbols.trig.displayName, equationEditorCategoriesAndSymbols.greek.displayName, equationEditorCategoriesAndSymbols.calculus.displayName]);
23
23
  textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(0);
24
24
  textEntryMathPage.steps.selectEvaluationMethod('Match exact');
25
+ textEntryMathPage.steps.expandAdditionalSettings();
26
+ textEntryMathPage.steps.selectModalVisibilityTypeButton();
25
27
  });
26
28
 
27
29
  it('When the user enters a numeric value in \'Specify correct answer\' response field and then the user enters the exact same value then it should be treated as correct', () => {
@@ -24,6 +24,8 @@ describe('Create item page - Text entry math: Match value evaluation method', ()
24
24
  textEntryMathPage.steps.selectEquationEditorSectionCategories([equationEditorCategoriesAndSymbols.trig.displayName, equationEditorCategoriesAndSymbols.greek.displayName, equationEditorCategoriesAndSymbols.calculus.displayName]);
25
25
  textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(0);
26
26
  textEntryMathPage.steps.selectEvaluationMethod('Match value');
27
+ textEntryMathPage.steps.expandAdditionalSettings();
28
+ textEntryMathPage.steps.selectModalVisibilityTypeButton();
27
29
  });
28
30
 
29
31
  it('When the user enters a numeric value in \'Specify correct answer\' response field and then the user enters the exact same value then it should be treated as correct', () => {