itemengine-cypress-automation 1.0.105 → 1.0.107

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. package/cypress/e2e/ILC/AudioResponseNew/gradingViewAndCorrectAnswerViewContents.smoke.js +129 -0
  2. package/cypress/e2e/ILC/AudioResponseNew/minimalRecorderStyle.js +482 -0
  3. package/cypress/e2e/ILC/AudioResponseNew/previewContentsForAllViews.smoke.js +123 -0
  4. package/cypress/e2e/ILC/AudioResponseNew/standardRecorderStyle.js +554 -0
  5. package/cypress/e2e/ILC/DrawingResponse/drawingResponseCustomizeAdditionalOptions.js +1 -41
  6. package/cypress/e2e/ILC/EditTabSettingPage/ItemPreviewSettingsTabContent.js +5 -3
  7. package/cypress/e2e/ILC/EssayResponse/editCategoryFlyout.js +284 -0
  8. package/cypress/e2e/ILC/EssayResponse/equationEditor.smoke.js +412 -0
  9. package/cypress/e2e/ILC/EssayResponse/equationEditorCategories1.js +203 -0
  10. package/cypress/e2e/ILC/EssayResponse/equationEditorCategories2.js +340 -0
  11. package/cypress/e2e/ILC/EssayResponse/essayResponseAdditionalSettings.js +432 -0
  12. package/cypress/e2e/ILC/EssayResponse/essayResponseAdditionalSettingsBasic.js +134 -0
  13. package/cypress/e2e/ILC/EssayResponse/essayResponseCustomizeFormattingOptions1.smoke.js +336 -0
  14. package/cypress/e2e/ILC/EssayResponse/essayResponseCustomizeFormattingOptions2.js +332 -0
  15. package/cypress/e2e/ILC/EssayResponse/essayResponseCustomizeFormattingOptions3.js +522 -0
  16. package/cypress/e2e/ILC/EssayResponse/essayResponseSpecialCharacters.js +253 -0
  17. package/cypress/e2e/ILC/EssayResponse/previewHyperlink.js +266 -0
  18. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/backgroundImageAndCanvasProperties.js +57 -640
  19. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/previewContentsForAllViews.smoke.js +1 -2
  20. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +209 -0
  21. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +209 -0
  22. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +303 -0
  23. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/allOrNothingPenaltyScoring.js +68 -0
  24. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/partialEqualWeightsBasic.js +149 -0
  25. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +218 -0
  26. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +191 -0
  27. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +219 -0
  28. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/allOrNothingForAllView.smoke.js +240 -0
  29. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/checkAnswerFunctionalityForAllViews.smoke.js +124 -0
  30. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/previewContentsForAllViews.smoke.js +107 -0
  31. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/manuallyAndNonScored.js +1 -1
  32. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialEqualWeightsBasic.js +0 -2
  33. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/backgroundImageAndCanvasProperties.js +408 -0
  34. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/editTabScoringSection.js +2 -2
  35. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/previewContentsForAllViews.smoke.js +1 -1
  36. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/responseAnswersAndAcceptedStudentInput.js +2 -2
  37. package/cypress/e2e/ILC/MultipleSelection/headerSection.js +1 -0
  38. package/cypress/e2e/ILC/MultipleSelection/studentViewSettings.js +0 -6
  39. package/cypress/e2e/ILC/Passage/multipageContentEditTab.js +242 -0
  40. package/cypress/e2e/ILC/Passage/passageAdditionalSettings.js +99 -0
  41. package/cypress/e2e/ILC/Passage/passageEditTab.js +241 -0
  42. package/cypress/e2e/ILC/Passage/passageHeaderSection.js +73 -0
  43. package/cypress/e2e/ILC/Passage/passagePreviewTab.js +246 -0
  44. package/cypress/e2e/ILC/ReadingRuler/readingRulerEditTabBasicsSection.js +138 -33
  45. package/cypress/e2e/ILC/ReadingRuler/readingRulerHeaderSection.js +30 -6
  46. package/cypress/e2e/ILC/ReadingRuler/readingRulerPreviewTab.js +167 -101
  47. package/cypress/e2e/ILC/ReadingRuler/readingrulerPreviewContents.smoke.js +1 -1
  48. package/cypress/e2e/ILC/SingleSelection/headerSection.js +20 -5
  49. package/cypress/e2e/ILC/SingleSelection/manuallyAndNonScoredScoring.js +1 -0
  50. package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +12 -7
  51. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodEquivalentStructures.js +1336 -0
  52. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchExact.js +419 -0
  53. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchValue.js +443 -0
  54. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodSymbolsAreEquivalent.js +411 -0
  55. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodValueIsEquivalent.js +411 -0
  56. package/cypress/e2e/ILC/TextEntryMath/responseEvaluationMethodsAndCustomSettings.js +3 -3
  57. package/cypress/fixtures/specialAndMathCharacters.js +2 -0
  58. package/cypress/fixtures/theme/ilc.json +4 -2
  59. package/cypress/pages/audioResponsePage.js +326 -165
  60. package/cypress/pages/components/additionalSettingsPanel.js +1 -1
  61. package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +1 -1
  62. package/cypress/pages/components/backgroundImageUploadComponent.js +162 -2
  63. package/cypress/pages/components/colorPopupComponent.js +115 -26
  64. package/cypress/pages/components/customizeMathCharacterComponent.js +133 -0
  65. package/cypress/pages/components/customizeSpecialCharacterComponent.js +74 -4
  66. package/cypress/pages/components/editCategoryFlyout.js +164 -2
  67. package/cypress/pages/components/equationEditorFlyout.js +36 -1
  68. package/cypress/pages/components/essayResponseCommonComponents.js +0 -2
  69. package/cypress/pages/components/figOverImageCanvasComponent.js +587 -134
  70. package/cypress/pages/components/index.js +2 -1
  71. package/cypress/pages/components/playbackControlsBaseComponent.js +137 -2
  72. package/cypress/pages/correctAnswerViewPage.js +12 -1
  73. package/cypress/pages/drawingResponsePage.js +26 -151
  74. package/cypress/pages/essayResponseMathPage.js +28 -16
  75. package/cypress/pages/essayResponsePage.js +187 -7
  76. package/cypress/pages/fillInTheGapsOverImageDragAndDropPage.js +78 -14
  77. package/cypress/pages/fillInTheGapsOverImageDropdownPage.js +178 -221
  78. package/cypress/pages/fillInTheGapsOverImageTextPage.js +79 -0
  79. package/cypress/pages/multipleSelectionPage.js +1 -1
  80. package/cypress/pages/readingRulerPage.js +219 -104
  81. package/cypress/pages/singleSelectionPage.js +1 -0
  82. package/cypress/pages/textEntryMathPage.js +17 -6
  83. package/cypress/pages/videoResponsePage.js +0 -8
  84. package/package.json +1 -1
  85. package/scripts/sorry-cypress.mjs +1 -1
@@ -0,0 +1,419 @@
1
+ import { textEntryMathPage } from "../../../pages";
2
+ import { equationEditorFlyout } from "../../../pages/components";
3
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
4
+
5
+ describe('Create item page - Text entry math: Match exact evaluation method', () => {
6
+ before(() => {
7
+ cy.loginAs('admin');
8
+ });
9
+
10
+ describe('Evaluation methods: Match exact', () => {
11
+ abortEarlySetup();
12
+ before(() => {
13
+ textEntryMathPage.steps.navigateToCreateQuestion('Text Entry Math');
14
+ cy.barsPreLoaderWait();
15
+ textEntryMathPage.steps.addTextInQuestionInstructionsInputField('Match exact: Response entered needs to be an exact match to be marked correct');
16
+ textEntryMathPage.steps.clearQuestionInputField();
17
+ textEntryMathPage.steps.addInputToQuestionInputField('Match the exact value entered in edit tab')
18
+ textEntryMathPage.steps.addResponseToken();
19
+ textEntryMathPage.steps.allotPoints(20);
20
+ textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(0);
21
+ textEntryMathPage.steps.selectEvaluationMethod('Match exact');
22
+ });
23
+
24
+ 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', () => {
25
+ textEntryMathPage.steps.addInputToResponseAnswerInputFieldSpecifyCorrectAnswer(0, '90');
26
+ textEntryMathPage.steps.switchToPreviewTab();
27
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
28
+ equationEditorFlyout.steps.enterTextInPreviewInputField('90');
29
+ equationEditorFlyout.steps.clickOnOkButton();
30
+ textEntryMathPage.steps.switchToGradingView();
31
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
32
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
33
+ });
34
+
35
+ it('When the user enters a numeric value in \'Specify correct answer\' response field and then the user enters the same value along with decimals then it should be treated as incorrect', () => {
36
+ textEntryMathPage.steps.resetQuestionPreview();
37
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
38
+ equationEditorFlyout.steps.enterTextInPreviewInputField('90.00');
39
+ equationEditorFlyout.steps.clickOnOkButton();
40
+ textEntryMathPage.steps.switchToGradingView();
41
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
42
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
43
+ });
44
+
45
+ it('When the user enters a numeric value in \'Specify correct answer\' response field and then the user enters the same value along with percentage then it should be treated as incorrect', () => {
46
+ textEntryMathPage.steps.resetQuestionPreview();
47
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
48
+ equationEditorFlyout.steps.enterTextInPreviewInputField('9000%');
49
+ equationEditorFlyout.steps.clickOnOkButton();
50
+ textEntryMathPage.steps.switchToGradingView();
51
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
52
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
53
+ });
54
+
55
+ it('When the user enters a numeric value in \'Specify correct answer\' response field and then the user enters the same value using percentage then it should be treated as incorrect', () => {
56
+ textEntryMathPage.steps.resetQuestionPreview();
57
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
58
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'keypad', symbolName: ['three', 'zero'] }, { categoryName: 'basic', symbolName: ['square'] }]);
59
+ equationEditorFlyout.steps.clickOnOkButton();
60
+ textEntryMathPage.steps.switchToGradingView();
61
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
62
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
63
+ });
64
+
65
+ it('When the user enters a fraction value in \'Specify correct answer\' response field and then the user enters the exact same value then it should be treated as correct', () => {
66
+ textEntryMathPage.steps.switchToEditTab();
67
+ textEntryMathPage.steps.clearAnswerInputFieldSpecifyCorrectAnswer(0);
68
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(0);
69
+ textEntryMathPage.steps.selectEquationEditorOptionFromCKEditorToolbar();
70
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'basic', symbolName: ['fraction'] }, { categoryName: 'keypad', symbolName: ['four'] }]);
71
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['3']);
72
+ equationEditorFlyout.steps.clickOnOkButton();
73
+ textEntryMathPage.steps.switchToPreviewTab();
74
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
75
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'basic', symbolName: ['fraction'] }, { categoryName: 'keypad', symbolName: ['four'] }]);
76
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['3']);
77
+ equationEditorFlyout.steps.clickOnOkButton();
78
+ textEntryMathPage.steps.switchToGradingView();
79
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
80
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
81
+ });
82
+
83
+ it('When the user enters a fraction value in \'Specify correct answer\' response field and then the user enters the fraction which yields the same value but is not the exact form then it should be treated as incorrect', () => {
84
+ textEntryMathPage.steps.resetQuestionPreview();
85
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
86
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'basic', symbolName: ['fraction'] }, { categoryName: 'keypad', symbolName: ['one', 'six'] }]);
87
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['12']);
88
+ equationEditorFlyout.steps.clickOnOkButton();
89
+ textEntryMathPage.steps.switchToGradingView();
90
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
91
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
92
+ });
93
+
94
+ it('When the user enters a fraction value in \'Specify correct answer\' response field and then the user enters the mixed fraction which yields the same value but is not the exact form then it should be treated as incorrect', () => {
95
+ textEntryMathPage.steps.resetQuestionPreview();
96
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
97
+ equationEditorFlyout.steps.enterTextInPreviewInputField('1');
98
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'basic', symbolName: ['mixedFraction'] }]);
99
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['1', '3']);
100
+ equationEditorFlyout.steps.clickOnOkButton();
101
+ textEntryMathPage.steps.switchToGradingView();
102
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
103
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
104
+ });
105
+
106
+ it('When the user enters a factored equation in \'Specify correct answer\' response field and then the user enters the exact same equation then it should be treated as correct', () => {
107
+ textEntryMathPage.steps.switchToEditTab();
108
+ textEntryMathPage.steps.clearAnswerInputFieldSpecifyCorrectAnswer(0);
109
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(0);
110
+ textEntryMathPage.steps.selectEquationEditorOptionFromCKEditorToolbar();
111
+ equationEditorFlyout.steps.enterTextInPreviewInputField('(x-3)(x+3)');
112
+ equationEditorFlyout.steps.clickOnOkButton();
113
+ textEntryMathPage.steps.switchToPreviewTab();
114
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
115
+ equationEditorFlyout.steps.enterTextInPreviewInputField('(x-3)(x+3)');
116
+ equationEditorFlyout.steps.clickOnOkButton();
117
+ textEntryMathPage.steps.switchToGradingView();
118
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
119
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
120
+ });
121
+
122
+ it('When the user enters a factored equation in \'Specify correct answer\' response field and then the user enters the simplified equation using parenthesis then it should be treated as incorrect', () => {
123
+ textEntryMathPage.steps.resetQuestionPreview();
124
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
125
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'basic', symbolName: ['x', 'square', 'subtract'] }, { categoryName: 'keypad', symbolName: ['three'] }, { categoryName: 'basic', symbolName: ['square'] }]);
126
+ equationEditorFlyout.steps.clickOnOkButton();
127
+ textEntryMathPage.steps.switchToGradingView();
128
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
129
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
130
+ });
131
+
132
+ it('When the user enters a factored equation in \'Specify correct answer\' response field and then the user enters the same equation in expanded form then it should be treated as incorrect', () => {
133
+ textEntryMathPage.steps.resetQuestionPreview();
134
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
135
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'basic', symbolName: ['x', 'square'] }]);
136
+ equationEditorFlyout.steps.enterTextInPreviewInputField('-3x+3x+9');
137
+ equationEditorFlyout.steps.clickOnOkButton();
138
+ textEntryMathPage.steps.switchToGradingView();
139
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
140
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
141
+ });
142
+
143
+ it('When the user enters a factored equation in \'Specify correct answer\' response field and then the user enters the exact same equation then it should be treated as correct', () => {
144
+ textEntryMathPage.steps.switchToEditTab();
145
+ textEntryMathPage.steps.clearAnswerInputFieldSpecifyCorrectAnswer(0);
146
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(0);
147
+ textEntryMathPage.steps.selectEquationEditorOptionFromCKEditorToolbar();
148
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'keypad', symbolName: ['six'] }, { categoryName: 'greek', symbolName: ['pi'] }]);
149
+ equationEditorFlyout.steps.clickOnOkButton();
150
+ textEntryMathPage.steps.switchToPreviewTab();
151
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
152
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'keypad', symbolName: ['six'] }, { categoryName: 'greek', symbolName: ['pi'] }]);
153
+ equationEditorFlyout.steps.clickOnOkButton();
154
+ textEntryMathPage.steps.switchToGradingView();
155
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
156
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
157
+ });
158
+
159
+ it('When the user enters a factored equation in \'Specify correct answer\' response field and then the user enters the same equation in expanded form then it should be treated as incorrect', () => {
160
+ textEntryMathPage.steps.resetQuestionPreview();
161
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
162
+ textEntryMathPage.steps.enterTextInPreviewInputField('3*3.14')
163
+ equationEditorFlyout.steps.clickOnOkButton();
164
+ textEntryMathPage.steps.switchToGradingView();
165
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
166
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
167
+ });
168
+
169
+ it('When the user enters a factored equation in \'Specify correct answer\' response field and then the user enters the same equation in expanded form then it should be treated as incorrect', () => {
170
+ textEntryMathPage.steps.resetQuestionPreview();
171
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
172
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'keypad', symbolName: ['six'] }, { categoryName: 'basic', symbolName: ['dotMultiplier'] }, { categoryName: 'greek', symbolName: ['pi'] }]);
173
+ equationEditorFlyout.steps.clickOnOkButton();
174
+ textEntryMathPage.steps.switchToGradingView();
175
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
176
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
177
+ });
178
+
179
+ it('When the user enters a equation with parenthesis equation with epsilon in \'Specify correct answer\' response field and then the user enters the exact same equation then it should be treated as correct', () => {
180
+ textEntryMathPage.steps.switchToEditTab();
181
+ textEntryMathPage.steps.clearAnswerInputFieldSpecifyCorrectAnswer(0);
182
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(0);
183
+ textEntryMathPage.steps.selectEquationEditorOptionFromCKEditorToolbar();
184
+ equationEditorFlyout.steps.enterTextInPreviewInputField('100,000')
185
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'basic', symbolName: ['dotMultiplier'] }]);
186
+ equationEditorFlyout.steps.enterTextInPreviewInputField('((1.3)^10)^')
187
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'calculus', symbolName: ['epsilon'] }]);
188
+ equationEditorFlyout.steps.clickOnOkButton();
189
+ textEntryMathPage.steps.switchToPreviewTab();
190
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
191
+ equationEditorFlyout.steps.enterTextInPreviewInputField('100,000')
192
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'basic', symbolName: ['dotMultiplier'] }]);
193
+ equationEditorFlyout.steps.enterTextInPreviewInputField('((1.3)^10)^')
194
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'calculus', symbolName: ['epsilon'] }]);
195
+ equationEditorFlyout.steps.clickOnOkButton();
196
+ textEntryMathPage.steps.switchToGradingView();
197
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
198
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
199
+ });
200
+
201
+ it('When the user enters a equation using epsilon in \'Specify correct answer\' response field and then the user enters the same value but different parenthesis then it should be treated as incorrect', () => {
202
+ textEntryMathPage.steps.resetQuestionPreview();
203
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
204
+ equationEditorFlyout.steps.enterTextInPreviewInputField('100,000')
205
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'basic', symbolName: ['dotMultiplier'] }]);
206
+ equationEditorFlyout.steps.enterTextInPreviewInputField('(1.3)^10')
207
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'calculus', symbolName: ['epsilon'] }]);
208
+ equationEditorFlyout.steps.clickOnOkButton();
209
+ textEntryMathPage.steps.switchToGradingView();
210
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
211
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
212
+ });
213
+
214
+ it('When the user enters equation using epsilon in \'Specify correct answer\' response field and then the user enters the same value but different form then it should be treated as incorrect', () => {
215
+ textEntryMathPage.steps.resetQuestionPreview();
216
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
217
+ equationEditorFlyout.steps.enterTextInPreviewInputField('100000')
218
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'basic', symbolName: ['multiply'] }]);
219
+ equationEditorFlyout.steps.enterTextInPreviewInputField('((1.3)^10)^')
220
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'calculus', symbolName: ['epsilon'] }]);
221
+ equationEditorFlyout.steps.clickOnOkButton();
222
+ textEntryMathPage.steps.switchToGradingView();
223
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
224
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
225
+ });
226
+
227
+ it('When the user enters a trigonometric equation in \'Specify correct answer\' response field and then the user enters the exact same equation then it should be treated as correct', () => {
228
+ textEntryMathPage.steps.switchToEditTab();
229
+ textEntryMathPage.steps.clearAnswerInputFieldSpecifyCorrectAnswer(0);
230
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(0);
231
+ textEntryMathPage.steps.selectEquationEditorOptionFromCKEditorToolbar();
232
+ equationEditorFlyout.steps.enterTextInPreviewInputField('-150');
233
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'trigonometry', symbolName: ['sin'] }, { categoryName: 'delimiters', symbolName: ['groupInParathesis'] }, { categoryName: 'greek', symbolName: ['theta'] }, { categoryName: 'basic', symbolName: ['add', 'fraction'] }, { categoryName: 'greek', symbolName: ['pi'] }]);
234
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['2']);
235
+ equationEditorFlyout.steps.enterTextInPreviewInputField('+260');
236
+ equationEditorFlyout.steps.clickOnOkButton();
237
+ textEntryMathPage.steps.switchToPreviewTab();
238
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
239
+ equationEditorFlyout.steps.enterTextInPreviewInputField('-150')
240
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'trigonometry', symbolName: ['sin'] }, { categoryName: 'delimiters', symbolName: ['groupInParathesis'] }, { categoryName: 'greek', symbolName: ['theta'] }, { categoryName: 'basic', symbolName: ['add', 'fraction'] }, { categoryName: 'greek', symbolName: ['pi'] }]);
241
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['2']);
242
+ equationEditorFlyout.steps.enterTextInPreviewInputField('+260');
243
+ equationEditorFlyout.steps.clickOnOkButton();
244
+ textEntryMathPage.steps.switchToGradingView();
245
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
246
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
247
+ });
248
+
249
+ it('When the user enters a trigonometric equation in \'Specify correct answer\' response field and then the user enters the same equation in different form then it should be treated as incorrect', () => {
250
+ textEntryMathPage.steps.resetQuestionPreview();
251
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
252
+ equationEditorFlyout.steps.enterTextInPreviewInputField('-150');
253
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'trigonometry', symbolName: ['sin'] }, { categoryName: 'delimiters', symbolName: ['groupInParathesis'] }, { categoryName: 'basic', symbolName: ['fraction'] }, { categoryName: 'greek', symbolName: ['pi'] }]);
254
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['2']);
255
+ equationEditorFlyout.steps.enterTextInPreviewInputField('+')
256
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'greek', symbolName: ['theta'] }])
257
+ equationEditorFlyout.steps.enterTextInPreviewInputField('+260');
258
+ equationEditorFlyout.steps.clickOnOkButton();
259
+ textEntryMathPage.steps.switchToGradingView();
260
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
261
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
262
+ });
263
+
264
+ it('When the user enters a equation with parenthesis equation with epsilon in \'Specify correct answer\' response field and then the user enters the same equation in different form then it should be treated as incorrect', () => {
265
+ textEntryMathPage.steps.resetQuestionPreview();
266
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
267
+ equationEditorFlyout.steps.enterTextInPreviewInputField('-150');
268
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'trigonometry', symbolName: ['sin'] }, { categoryName: 'delimiters', symbolName: ['groupInParathesis'] }, { categoryName: 'greek', symbolName: ['theta'] }, { categoryName: 'keypad', symbolName: ['add', 'nine', 'zero'] }]);
269
+ equationEditorFlyout.steps.enterTextInPreviewInputField('+260');
270
+ equationEditorFlyout.steps.clickOnOkButton();
271
+ textEntryMathPage.steps.switchToGradingView();
272
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
273
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
274
+ });
275
+
276
+ it('When the user enters a equation with iota in \'Specify correct answer\' response field and then the user enters the exact same equation then it should be treated as correct', () => {
277
+ textEntryMathPage.steps.switchToEditTab();
278
+ textEntryMathPage.steps.clearAnswerInputFieldSpecifyCorrectAnswer(0);
279
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(0);
280
+ textEntryMathPage.steps.addInputToResponseAnswerInputFieldSpecifyCorrectAnswer(0, '-38-9i');
281
+ textEntryMathPage.steps.switchToPreviewTab();
282
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
283
+ equationEditorFlyout.steps.enterTextInPreviewInputField('-38-9i');
284
+ equationEditorFlyout.steps.clickOnOkButton();
285
+ textEntryMathPage.steps.switchToGradingView();
286
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
287
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
288
+ });
289
+
290
+ it('When the user enters a equation with iota in \'Specify correct answer\' response field and then the user enters the same equation but in a different format then it should be treated as incorrect', () => {
291
+ textEntryMathPage.steps.resetQuestionPreview();
292
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
293
+ equationEditorFlyout.steps.enterTextInPreviewInputField('-(38+9i)');
294
+ equationEditorFlyout.steps.clickOnOkButton();
295
+ textEntryMathPage.steps.switchToGradingView();
296
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
297
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
298
+ });
299
+
300
+ it('When the user enters a equation using derivatives in \'Specify correct answer\' and the user enters the exact same equation then it should be treated as correct', () => {
301
+ textEntryMathPage.steps.switchToEditTab();
302
+ textEntryMathPage.steps.clearAnswerInputFieldSpecifyCorrectAnswer(0);
303
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(0);
304
+ textEntryMathPage.steps.selectEquationEditorOptionFromCKEditorToolbar();
305
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'calculus', symbolName: ['derivative'] }, { categoryName: 'basic', symbolName: ['x', 'square'] }]);
306
+ equationEditorFlyout.steps.clickOnOkButton();
307
+ textEntryMathPage.steps.switchToPreviewTab();
308
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
309
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'calculus', symbolName: ['derivative'] }, { categoryName: 'basic', symbolName: ['x', 'square'] }]);
310
+ equationEditorFlyout.steps.clickOnOkButton();
311
+ textEntryMathPage.steps.switchToGradingView();
312
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
313
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
314
+ });
315
+
316
+ it('When the user enters a equation using derivatives in \'Specify correct answer\' and the user enters the same equation but different format then it should be treated as incorrect', () => {
317
+ textEntryMathPage.steps.resetQuestionPreview();
318
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
319
+ equationEditorFlyout.steps.enterTextInPreviewInputField('2x');
320
+ equationEditorFlyout.steps.clickOnOkButton();
321
+ textEntryMathPage.steps.switchToGradingView();
322
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
323
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
324
+ });
325
+
326
+ it('When the user enters a equation using integration in \'Specify correct answer\' and the user enters the exact same equation then it should be treated as correct', () => {
327
+ textEntryMathPage.steps.switchToEditTab();
328
+ textEntryMathPage.steps.clearAnswerInputFieldSpecifyCorrectAnswer(0);
329
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(0);
330
+ textEntryMathPage.steps.selectEquationEditorOptionFromCKEditorToolbar();
331
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'calculus', symbolName: ['integral'] }, { categoryName: 'basic', symbolName: ['x'] }]);
332
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['1', '0']);
333
+ equationEditorFlyout.steps.clickOnOkButton();
334
+ textEntryMathPage.steps.switchToPreviewTab();
335
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
336
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'calculus', symbolName: ['integral'] }, { categoryName: 'basic', symbolName: ['x'] }]);
337
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['1', '0']);
338
+ equationEditorFlyout.steps.clickOnOkButton();
339
+ textEntryMathPage.steps.switchToGradingView();
340
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
341
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
342
+ });
343
+
344
+ it('When the user enters a equation using integration in \'Specify correct answer\' and the user enters the result of the equation then it should be treated as incorrect', () => {
345
+ textEntryMathPage.steps.resetQuestionPreview();
346
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
347
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'basic', symbolName: ['fraction'] }, { categoryName: 'keypad', symbolName: ['one'] }]);
348
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['2']);
349
+ equationEditorFlyout.steps.clickOnOkButton();
350
+ textEntryMathPage.steps.switchToGradingView();
351
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
352
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
353
+ });
354
+
355
+ it('When the user enters a equation using polynomial quadratic equations in \'Specify correct answer\' and the user enters the exact same equation then it should be treated as correct', () => {
356
+ textEntryMathPage.steps.switchToEditTab();
357
+ textEntryMathPage.steps.clearAnswerInputFieldSpecifyCorrectAnswer(0);
358
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(0);
359
+ textEntryMathPage.steps.selectEquationEditorOptionFromCKEditorToolbar();
360
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'keypad', symbolName: ['two'] }, { categoryName: 'basic', symbolName: ['x', 'square', 'y', 'square', 'add'] }, { categoryName: 'keypad', symbolName: ['four'] }, { categoryName: 'basic', symbolName: ['y', 'x', 'add'] }, { categoryName: 'keypad', symbolName: ['four'] }]);
361
+ equationEditorFlyout.steps.clickOnOkButton();
362
+ textEntryMathPage.steps.switchToPreviewTab();
363
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
364
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'keypad', symbolName: ['two'] }, { categoryName: 'basic', symbolName: ['x', 'square', 'y', 'square', 'add'] }, { categoryName: 'keypad', symbolName: ['four'] }, { categoryName: 'basic', symbolName: ['y', 'x', 'add'] }, { categoryName: 'keypad', symbolName: ['four'] }]);
365
+ equationEditorFlyout.steps.clickOnOkButton();
366
+ textEntryMathPage.steps.switchToGradingView();
367
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
368
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
369
+ });
370
+
371
+ it('When the user enters polynomial quadratic equations in \'Specify correct answer\' and the user enters the same equation in different form then it should be treated as incorrect', () => {
372
+ textEntryMathPage.steps.resetQuestionPreview();
373
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
374
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'basic', symbolName: ['x', 'square', 'y', 'square', 'add'] }, { categoryName: 'keypad', symbolName: ['two'] }, { categoryName: 'basic', symbolName: ['y', 'x', 'add'] }, { categoryName: 'keypad', symbolName: ['two'] }]);
375
+ equationEditorFlyout.steps.clickOnOkButton();
376
+ textEntryMathPage.steps.switchToGradingView();
377
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
378
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
379
+ });
380
+
381
+ it('When the user enters a equation using matrices in \'Specify correct answer\' and the user enters the exact same equation then it should be treated as correct', () => {
382
+ textEntryMathPage.steps.switchToEditTab();
383
+ textEntryMathPage.steps.clearAnswerInputFieldSpecifyCorrectAnswer(0);
384
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(0);
385
+ textEntryMathPage.steps.selectEquationEditorOptionFromCKEditorToolbar();
386
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'matrices', symbolName: ['twoByTwoMatrixBoundedBrackets'] }]);
387
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['2', '1', '0', '3']);
388
+ equationEditorFlyout.steps.enterTextInPreviewInputField('+')
389
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'matrices', symbolName: ['twoByTwoMatrixBoundedBrackets'] }]);
390
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['3', '1', '2', '4']);
391
+ equationEditorFlyout.steps.clickOnOkButton();
392
+ textEntryMathPage.steps.switchToPreviewTab();
393
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
394
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'matrices', symbolName: ['twoByTwoMatrixBoundedBrackets'] }]);
395
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['2', '1', '0', '3']);
396
+ equationEditorFlyout.steps.enterTextInPreviewInputField('+')
397
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'matrices', symbolName: ['twoByTwoMatrixBoundedBrackets'] }]);
398
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['3', '1', '2', '4']);
399
+ equationEditorFlyout.steps.clickOnOkButton();
400
+ textEntryMathPage.steps.switchToGradingView();
401
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
402
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
403
+ });
404
+
405
+ it('When the user enters a equation using matrices in \'Specify correct answer\' and the user enters the same equation but in different form then it should be treated as correct', () => {
406
+ textEntryMathPage.steps.resetQuestionPreview();
407
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
408
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'matrices', symbolName: ['twoByTwoMatrixBoundedBrackets'] }]);
409
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['3', '1', '2', '4']);
410
+ equationEditorFlyout.steps.enterTextInPreviewInputField('+')
411
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'matrices', symbolName: ['twoByTwoMatrixBoundedBrackets'] }]);
412
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['2', '1', '0', '3']);
413
+ equationEditorFlyout.steps.clickOnOkButton();
414
+ textEntryMathPage.steps.switchToGradingView();
415
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
416
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
417
+ });
418
+ });
419
+ });