itemengine-cypress-automation 1.0.90 → 1.0.92

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/cypress/e2e/ILC/Desmos/desmosGeometryToolPreviewContents.smoke.js +1 -1
  2. package/cypress/e2e/ILC/DrawingResponse/drawingResponseGradingViewAndCorrectAnswerViewContents.smoke.js +3 -3
  3. package/cypress/e2e/ILC/EssayResponse/essayResponseEquationEditor.smoke.js +418 -0
  4. package/cypress/e2e/ILC/EssayResponse/previewContentsForAllViews.smoke.js +1 -1
  5. package/cypress/e2e/ILC/EssayResponseBasic/gradingViewAndCorrectAnswerViewContents.smoke.js +1 -1
  6. package/cypress/e2e/ILC/EssayResponseBasic/previewContentsForAllViews.smoke.js +1 -1
  7. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/previewContentsForAllViews.smoke.js +0 -1
  8. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/HeaderSection.js +79 -0
  9. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/conditionalCheckboxScoring.js +335 -0
  10. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/editTabScoringSection.js +64 -1
  11. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/setLimitSection.js +334 -0
  12. package/cypress/e2e/ILC/ReadingRuler/readingRulerEditTabBasicsSection.js +180 -0
  13. package/cypress/e2e/ILC/ReadingRuler/readingRulerHeaderSection.js +55 -0
  14. package/cypress/e2e/ILC/ReadingRuler/readingRulerPreviewTab.js +257 -0
  15. package/cypress/e2e/ILC/ReadingRuler/readingrulerPreviewContents.smoke.js +68 -0
  16. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodsWithoutSetResponse.js +773 -0
  17. package/cypress/e2e/ILC/TextEntryMath/responseEvaluationMethodsAndCustomSettings.js +1 -1
  18. package/cypress/fixtures/equationEditorCategoriesAndSymbols .js +50 -50
  19. package/cypress/fixtures/theme/ilc.json +1 -1
  20. package/cypress/pages/components/commonComponents.js +1 -1
  21. package/cypress/pages/components/desmosToolComponent.js +1 -1
  22. package/cypress/pages/components/equationEditorFlyout.js +118 -7
  23. package/cypress/pages/components/essayResponseCommonComponents.js +26 -1
  24. package/cypress/pages/components/figOverImageCanvasComponent.js +1 -1
  25. package/cypress/pages/drawingResponsePage.js +1 -1
  26. package/cypress/pages/essayResponsePage.js +106 -1
  27. package/cypress/pages/fillInTheGapsOverImageTextPage.js +270 -8
  28. package/cypress/pages/readingRulerPage.js +64 -5
  29. package/cypress/pages/textEntryMathPage.js +112 -8
  30. package/package.json +1 -1
  31. package/scripts/sorry-cypress.mjs +1 -1
@@ -0,0 +1,773 @@
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: All or nothing scoring', () => {
6
+ before(() => {
7
+ cy.loginAs('admin');
8
+ });
9
+
10
+ describe('Evaluation methods: Response is true', () => {
11
+ abortEarlySetup();
12
+ before(() => {
13
+ textEntryMathPage.steps.navigateToCreateQuestion('Text Entry Math');
14
+ cy.barsPreLoaderWait();
15
+ textEntryMathPage.steps.addTextInQuestionInstructionsInputField('Response is true: Response inputted needs to be a true equation / inequality to be marked correct');
16
+ textEntryMathPage.steps.clearQuestionInputField();
17
+ textEntryMathPage.steps.addInputToQuestionInputField('Compare the equations correctly')
18
+ textEntryMathPage.steps.addResponseToken();
19
+ textEntryMathPage.steps.allotPoints(20);
20
+ textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(0);
21
+ textEntryMathPage.steps.selectEvaluationMethod('Response is true')
22
+ textEntryMathPage.steps.switchToPreviewTab();
23
+ });
24
+
25
+ it('When the user attempts the question using correct equal to comparison then it should be treated as correct', () => {
26
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
27
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'basic', symbolName: ['cubeRoot'] }, { categoryName: 'keypad', symbolName: ['two', 'seven'] }]);
28
+ equationEditorFlyout.steps.enterTextInPreviewInputField('=3');
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 attempts the question using correct greater than comparison then it should be treated as correct', () => {
36
+ textEntryMathPage.steps.resetQuestionPreview();
37
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
38
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'basic', symbolName: ['fraction'] }, { categoryName: 'keypad', symbolName: ['four'] }]);
39
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['3']);
40
+ equationEditorFlyout.steps.enterTextInPreviewInputField('>')
41
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'basic', symbolName: ['fraction'] }, { categoryName: 'keypad', symbolName: ['one'] }]);
42
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['2']);
43
+ equationEditorFlyout.steps.clickOnOkButton();
44
+ textEntryMathPage.steps.switchToGradingView();
45
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
46
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
47
+ });
48
+
49
+ it('When the user attempts the question using two inequalities then it should be treated as correct', () => {
50
+ textEntryMathPage.steps.resetQuestionPreview();
51
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
52
+ equationEditorFlyout.steps.enterTextInPreviewInputField('4+1>4<6');
53
+ equationEditorFlyout.steps.clickOnOkButton();
54
+ textEntryMathPage.steps.switchToGradingView();
55
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
56
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
57
+ });
58
+
59
+ it('When the user attempts the question using incorrect comparison of decimals then it should be treated as incorrect', () => {
60
+ textEntryMathPage.steps.resetQuestionPreview();
61
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
62
+ equationEditorFlyout.steps.enterTextInPreviewInputField('12.03<12.00');
63
+ equationEditorFlyout.steps.clickOnOkButton();
64
+ textEntryMathPage.steps.switchToGradingView();
65
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
66
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
67
+ });
68
+
69
+ it('When the user attempts the question using correct equal to comparison for polynomials using mixed fractions and percentage then it should be treated as correct', () => {
70
+ textEntryMathPage.steps.resetQuestionPreview();
71
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
72
+ equationEditorFlyout.steps.enterTextInPreviewInputField('900%<10');
73
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'basic', symbolName: ['mixedFraction'] }]);
74
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['90', '9']);
75
+ equationEditorFlyout.steps.clickOnOkButton();
76
+ textEntryMathPage.steps.switchToGradingView();
77
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
78
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
79
+ });
80
+
81
+ it('When the user attempts the question using correct equal to comparison using square roots and quadratic equations then it should be treated as correct', () => {
82
+ textEntryMathPage.steps.resetQuestionPreview();
83
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
84
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'basic', symbolName: ['x', 'square'] }, { categoryName: 'relationships', symbolName: ['greaterThan'] }, { categoryName: 'basic', symbolName: ['sqrt'] }]);
85
+ equationEditorFlyout.steps.enterTextAtInputFieldCursor('4x');
86
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'basic', symbolName: ['square'] }]);
87
+ equationEditorFlyout.steps.clickOnOkButton();
88
+ textEntryMathPage.steps.switchToGradingView();
89
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
90
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
91
+ });
92
+
93
+ it('When the user attempts the question using correct less than comparison then it should be treated as correct', () => {
94
+ textEntryMathPage.steps.resetQuestionPreview();
95
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
96
+ equationEditorFlyout.steps.enterTextInPreviewInputField('2*3.14');
97
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'relationships', symbolName: ['lessThan'] }, { categoryName: 'keypad', symbolName: ['two'] }, { categoryName: 'greek', symbolName: ['pi'] }]);
98
+ equationEditorFlyout.steps.clickOnOkButton();
99
+ textEntryMathPage.steps.switchToGradingView();
100
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
101
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
102
+ });
103
+
104
+ it('When the user attempts the question using correct greater than comparison for polynomials using parenthesis then it should be treated as correct', () => {
105
+ textEntryMathPage.steps.resetQuestionPreview();
106
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
107
+ equationEditorFlyout.steps.enterTextInPreviewInputField('6i>i+2i');
108
+ equationEditorFlyout.steps.clickOnOkButton();
109
+ textEntryMathPage.steps.switchToGradingView();
110
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
111
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
112
+ });
113
+
114
+ it('When the user attempts the question using correct equal to comparison for polynomials then it should be treated as correct', () => {
115
+ textEntryMathPage.steps.resetQuestionPreview();
116
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
117
+ equationEditorFlyout.steps.enterTextInPreviewInputField('x+2y=y+x+y');
118
+ equationEditorFlyout.steps.clickOnOkButton();
119
+ textEntryMathPage.steps.switchToGradingView();
120
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
121
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
122
+ });
123
+
124
+ it('When the user attempts the question using correct equal to comparison for polynomials using parenthesis then it should be treated as correct', () => {
125
+ textEntryMathPage.steps.resetQuestionPreview();
126
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
127
+ equationEditorFlyout.steps.enterTextInPreviewInputField('2(3x)y');
128
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'relationships', symbolName: ['greaterThanEqual'] }]);
129
+ equationEditorFlyout.steps.enterTextInPreviewInputField('6xy');
130
+ equationEditorFlyout.steps.clickOnOkButton();
131
+ textEntryMathPage.steps.switchToGradingView();
132
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
133
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
134
+ });
135
+
136
+ it('When the user attempts the question using comparison of addition of matrix then it should be treated as incorrect', () => {
137
+ textEntryMathPage.steps.resetQuestionPreview();
138
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
139
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'matrices', symbolName: ['twoByTwoMatrixBoundedBrackets'] }]);
140
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['3', '1', '2', '5']);
141
+ equationEditorFlyout.steps.enterTextInPreviewInputField('+');
142
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'matrices', symbolName: ['twoByTwoMatrixBoundedBrackets'] }]);
143
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['2', '1', '0', '3']);
144
+ equationEditorFlyout.steps.enterTextInPreviewInputField('>');
145
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'matrices', symbolName: ['twoByTwoMatrixBoundedBrackets'] }]);
146
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['3', '1', '2', '4']);
147
+ equationEditorFlyout.steps.clickOnOkButton();
148
+ textEntryMathPage.steps.switchToGradingView();
149
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
150
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
151
+ });
152
+
153
+ it('When the user attempts the question using comparison of integration then it should be treated as incorrect', () => {
154
+ textEntryMathPage.steps.resetQuestionPreview();
155
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
156
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'calculus', symbolName: ['integral'] }, { categoryName: 'basic', symbolName: ['x'] }]);
157
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['1', '0']);
158
+ equationEditorFlyout.steps.enterTextInPreviewInputField('=');
159
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'basic', symbolName: ['fraction'] }, { categoryName: 'keypad', symbolName: ['one'] }]);
160
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['2']);
161
+ equationEditorFlyout.steps.clickOnOkButton();
162
+ textEntryMathPage.steps.switchToGradingView();
163
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
164
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
165
+ });
166
+
167
+ it('When the user attempts the question using derivatives then it should be treated as incorrect', () => {
168
+ textEntryMathPage.steps.resetQuestionPreview();
169
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
170
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'calculus', symbolName: ['derivative'] }, { categoryName: 'basic', symbolName: ['x', 'square', 'equalTo'] }]);
171
+ equationEditorFlyout.steps.enterTextInPreviewInputField('2x')
172
+ equationEditorFlyout.steps.clickOnOkButton();
173
+ textEntryMathPage.steps.switchToGradingView();
174
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
175
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
176
+ });
177
+
178
+ it('When the user attempts the question using epsilon then it should be treated as incorrect', () => {
179
+ textEntryMathPage.steps.resetQuestionPreview();
180
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
181
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'calculus', symbolName: ['epsilon'] }]);
182
+ equationEditorFlyout.steps.enterTextInPreviewInputField('^0.07')
183
+ equationEditorFlyout.steps.clickOnOkButton();
184
+ textEntryMathPage.steps.switchToGradingView();
185
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
186
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
187
+ });
188
+
189
+ it('When the user attempts the question using trigonometric functions then it should be treated as incorrect', () => {
190
+ textEntryMathPage.steps.resetQuestionPreview();
191
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
192
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'trigonometry', symbolName: ['sin'] }, { categoryName: 'basic', symbolName: ['square', 'x', 'add'] }, { categoryName: 'trigonometry', symbolName: ['cos'] }, { categoryName: 'basic', symbolName: ['square', 'x'] }]);
193
+ equationEditorFlyout.steps.enterTextInPreviewInputField('=1')
194
+ equationEditorFlyout.steps.clickOnOkButton();
195
+ textEntryMathPage.steps.switchToGradingView();
196
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
197
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
198
+ });
199
+ });
200
+
201
+ describe('Evaluation methods: Expanded form', () => {
202
+ abortEarlySetup();
203
+ before(() => {
204
+ textEntryMathPage.steps.navigateToCreateQuestion('Text Entry Math');
205
+ cy.barsPreLoaderWait();
206
+ textEntryMathPage.steps.addTextInQuestionInstructionsInputField('Expanded form: Response inputted needs to be in expanded form to be marked correct');
207
+ textEntryMathPage.steps.clearQuestionInputField();
208
+ textEntryMathPage.steps.addInputToQuestionInputField('Expand the following')
209
+ textEntryMathPage.steps.addResponseToken();
210
+ textEntryMathPage.steps.allotPoints(20);
211
+ textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(0);
212
+ textEntryMathPage.steps.selectEvaluationMethod('Expanded form')
213
+ textEntryMathPage.steps.switchToPreviewTab();
214
+ });
215
+
216
+ it('When the user attempts the question using arithmetic square operation then it should be treated as correct', () => {
217
+ textEntryMathPage.steps.resetQuestionPreview();
218
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
219
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'keypad', symbolName: ['three'] }, { categoryName: 'basic', symbolName: ['square'] }]);
220
+ equationEditorFlyout.steps.clickOnOkButton();
221
+ textEntryMathPage.steps.switchToGradingView();
222
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
223
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
224
+ });
225
+
226
+ it('When the user attempts the question using decimals then it should be treated as correct', () => {
227
+ textEntryMathPage.steps.resetQuestionPreview();
228
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
229
+ equationEditorFlyout.steps.enterTextInPreviewInputField('12.03');
230
+ equationEditorFlyout.steps.clickOnOkButton();
231
+ textEntryMathPage.steps.switchToGradingView();
232
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
233
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
234
+ });
235
+
236
+ it('When the user attempts the question using percentages then it should be treated as correct', () => {
237
+ textEntryMathPage.steps.resetQuestionPreview();
238
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
239
+ equationEditorFlyout.steps.enterTextInPreviewInputField('30%');
240
+ equationEditorFlyout.steps.clickOnOkButton();
241
+ textEntryMathPage.steps.switchToGradingView();
242
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
243
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
244
+ });
245
+
246
+ it('When the user attempts the question using fractions then it should be treated as incorrect', () => {
247
+ textEntryMathPage.steps.resetQuestionPreview();
248
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
249
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'basic', symbolName: ['fraction'] }, { categoryName: 'keypad', symbolName: ['two'] }]);
250
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['3']);
251
+ equationEditorFlyout.steps.clickOnOkButton();
252
+ textEntryMathPage.steps.switchToGradingView();
253
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
254
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
255
+ });
256
+
257
+ it('When the user attempts the question using mixed fractions then it should be treated as correct', () => {
258
+ textEntryMathPage.steps.resetQuestionPreview();
259
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
260
+ equationEditorFlyout.steps.enterTextInPreviewInputField('2');
261
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'basic', symbolName: ['mixedFraction'] }]);
262
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['3', '4']);
263
+ equationEditorFlyout.steps.clickOnOkButton();
264
+ textEntryMathPage.steps.switchToGradingView();
265
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
266
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
267
+ });
268
+
269
+ it('When the user attempts the question using expanded quadratic expressions then it should be treated as correct', () => {
270
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
271
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'keypad', symbolName: ['two'] }, { categoryName: 'basic', symbolName: ['x', 'square', 'add'] }, { categoryName: 'keypad', symbolName: ['four'] }, { categoryName: 'basic', symbolName: ['x', 'add'] }, { categoryName: 'keypad', symbolName: ['six'] }]);
272
+ equationEditorFlyout.steps.clickOnOkButton();
273
+ textEntryMathPage.steps.switchToGradingView();
274
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
275
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
276
+ });
277
+
278
+ it('When the user attempts the question using expanded form using polynomials then it should be treated as correct', () => {
279
+ textEntryMathPage.steps.resetQuestionPreview();
280
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
281
+ 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'] }]);
282
+ equationEditorFlyout.steps.clickOnOkButton();
283
+ textEntryMathPage.steps.switchToGradingView();
284
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
285
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
286
+ });
287
+
288
+ it('When the user attempts the question using factored form using polynomials then it should be treated as incorrect', () => {
289
+ textEntryMathPage.steps.resetQuestionPreview();
290
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
291
+ equationEditorFlyout.steps.enterTextInPreviewInputField('(x+3)(y-2)');
292
+ equationEditorFlyout.steps.clickOnOkButton();
293
+ textEntryMathPage.steps.switchToGradingView();
294
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
295
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
296
+ });
297
+
298
+ it('When the user attempts the question using factored equation then it should be treated as incorrect', () => {
299
+ textEntryMathPage.steps.resetQuestionPreview();
300
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
301
+ equationEditorFlyout.steps.enterTextInPreviewInputField('(x-3)(2x+1)(x+5)');
302
+ equationEditorFlyout.steps.clickOnOkButton();
303
+ textEntryMathPage.steps.switchToGradingView();
304
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
305
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
306
+ });
307
+
308
+ it('When the user attempts the question using simplified trigonometric functions then it should be treated as correct', () => {
309
+ textEntryMathPage.steps.resetQuestionPreview();
310
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
311
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'trigonometry', symbolName: ['sin'] }, { categoryName: 'basic', symbolName: ['square', 'x', 'add'] }, { categoryName: 'trigonometry', symbolName: ['cos'] }, { categoryName: 'basic', symbolName: ['square', 'x'] }]);
312
+ equationEditorFlyout.steps.clickOnOkButton();
313
+ textEntryMathPage.steps.switchToGradingView();
314
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
315
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
316
+ });
317
+
318
+ it('When the user attempts the question using special symbols like \'pi\' then it should be treated as correct', () => {
319
+ textEntryMathPage.steps.resetQuestionPreview();
320
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
321
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'keypad', symbolName: ['six'] }, { categoryName: 'greek', symbolName: ['pi'] }]);
322
+ equationEditorFlyout.steps.clickOnOkButton();
323
+ textEntryMathPage.steps.switchToGradingView();
324
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
325
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
326
+ });
327
+
328
+ it('When the user attempts the question using expanded equation using iota then it should be treated as correct', () => {
329
+ textEntryMathPage.steps.resetQuestionPreview();
330
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
331
+ equationEditorFlyout.steps.enterTextInPreviewInputField('3i')
332
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'basic', symbolName: ['square', 'add'] }, { categoryName: 'keypad', symbolName: ['two'] }, { categoryName: 'greek', symbolName: ['iota'] }, { categoryName: 'keypad', symbolName: ['add', 'six'] }]);
333
+ equationEditorFlyout.steps.clickOnOkButton();
334
+ textEntryMathPage.steps.switchToGradingView();
335
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
336
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
337
+ });
338
+
339
+ it('When the user attempts the question using factorized complex equation then it should be treated as incorrect', () => {
340
+ textEntryMathPage.steps.resetQuestionPreview();
341
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
342
+ equationEditorFlyout.steps.enterTextInPreviewInputField('(5+4i)(-3+2i)');
343
+ equationEditorFlyout.steps.clickOnOkButton();
344
+ textEntryMathPage.steps.switchToGradingView();
345
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
346
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
347
+ });
348
+
349
+ it('When the user attempts the question using addition of matrices then it should be treated as incorrect', () => {
350
+ textEntryMathPage.steps.resetQuestionPreview();
351
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
352
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'matrices', symbolName: ['twoByTwoMatrixBoundedBrackets'] }]);
353
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['2', '1', '0', '3']);
354
+ equationEditorFlyout.steps.enterTextInPreviewInputField('+')
355
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'matrices', symbolName: ['twoByTwoMatrixBoundedBrackets'] }]);
356
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['3', '1', '2', '4']);
357
+ equationEditorFlyout.steps.clickOnOkButton();
358
+ textEntryMathPage.steps.switchToGradingView();
359
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
360
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
361
+ });
362
+
363
+ it('When the user attempts the question using derivative then it should be treated as incorrect', () => {
364
+ textEntryMathPage.steps.resetQuestionPreview();
365
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
366
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'calculus', symbolName: ['derivative'] }, { categoryName: 'basic', symbolName: ['x', 'square'] }]);
367
+ equationEditorFlyout.steps.clickOnOkButton();
368
+ textEntryMathPage.steps.switchToGradingView();
369
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
370
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
371
+ });
372
+
373
+ it('When the user attempts the question using integration then it should be treated as correct', () => {
374
+ textEntryMathPage.steps.resetQuestionPreview();
375
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
376
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'calculus', symbolName: ['integral'] }, { categoryName: 'basic', symbolName: ['x'] }]);
377
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['1', '0'])
378
+ equationEditorFlyout.steps.clickOnOkButton();
379
+ textEntryMathPage.steps.switchToGradingView();
380
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
381
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
382
+ });
383
+
384
+ it('When the user attempts the question using epsilon correct icon should be displayed beside the response, a status message with text \'Your answer is correct\' should be displayed', () => {
385
+ textEntryMathPage.steps.resetQuestionPreview();
386
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
387
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'calculus', symbolName: ['epsilon'] }]);
388
+ equationEditorFlyout.steps.enterTextInPreviewInputField('^0.07')
389
+ equationEditorFlyout.steps.clickOnOkButton();
390
+ textEntryMathPage.steps.switchToGradingView();
391
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
392
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
393
+ });
394
+ });
395
+
396
+ describe('Evaluation methods: Factored form', () => {
397
+ abortEarlySetup();
398
+ before(() => {
399
+ textEntryMathPage.steps.navigateToCreateQuestion('Text Entry Math');
400
+ cy.barsPreLoaderWait();
401
+ textEntryMathPage.steps.addTextInQuestionInstructionsInputField('Factored form: Response inputted needs to be in factored form to be marked correct');
402
+ textEntryMathPage.steps.clearQuestionInputField();
403
+ textEntryMathPage.steps.addInputToQuestionInputField('Factorize the following')
404
+ textEntryMathPage.steps.addResponseToken();
405
+ textEntryMathPage.steps.allotPoints(20);
406
+ textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(0);
407
+ textEntryMathPage.steps.selectEvaluationMethod('Factored form')
408
+ textEntryMathPage.steps.switchToPreviewTab();
409
+ });
410
+
411
+ it('When the user attempts the question using arithmetic square operation in un-simplified format then it should be treated as correct', () => {
412
+ textEntryMathPage.steps.resetQuestionPreview();
413
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
414
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'keypad', symbolName: ['three'] }, { categoryName: 'basic', symbolName: ['square'] }]);
415
+ equationEditorFlyout.steps.clickOnOkButton();
416
+ textEntryMathPage.steps.switchToGradingView();
417
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
418
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
419
+ });
420
+
421
+ it('When the user attempts the question using decimals then it should be treated as correct', () => {
422
+ textEntryMathPage.steps.resetQuestionPreview();
423
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
424
+ equationEditorFlyout.steps.enterTextInPreviewInputField('12.03');
425
+ equationEditorFlyout.steps.clickOnOkButton();
426
+ textEntryMathPage.steps.switchToGradingView();
427
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
428
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
429
+ });
430
+
431
+ it('When the user attempts the question using percentages then it should be treated as correct', () => {
432
+ textEntryMathPage.steps.resetQuestionPreview();
433
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
434
+ equationEditorFlyout.steps.enterTextInPreviewInputField('30%');
435
+ equationEditorFlyout.steps.clickOnOkButton();
436
+ textEntryMathPage.steps.switchToGradingView();
437
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
438
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
439
+ });
440
+
441
+ it('When the user attempts the question using fractions in simplified format then it should be treated as correct', () => {
442
+ textEntryMathPage.steps.resetQuestionPreview();
443
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
444
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'basic', symbolName: ['fraction'] }, { categoryName: 'keypad', symbolName: ['two'] }]);
445
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['3']);
446
+ equationEditorFlyout.steps.clickOnOkButton();
447
+ textEntryMathPage.steps.switchToGradingView();
448
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
449
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
450
+ });
451
+
452
+ it('When the user attempts the question using mixed fractions then it should be treated as incorrect', () => {
453
+ textEntryMathPage.steps.resetQuestionPreview();
454
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
455
+ equationEditorFlyout.steps.enterTextInPreviewInputField('2');
456
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'basic', symbolName: ['mixedFraction'] }]);
457
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['3', '4']);
458
+ equationEditorFlyout.steps.clickOnOkButton();
459
+ textEntryMathPage.steps.switchToGradingView();
460
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
461
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
462
+ });
463
+
464
+ it('When the user attempts the question using quadratic equation then it should be treated as incorrect', () => {
465
+ textEntryMathPage.steps.resetQuestionPreview();
466
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
467
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'keypad', symbolName: ['two'] }, { categoryName: 'basic', symbolName: ['x', 'square', 'subtract'] }, { categoryName: 'keypad', symbolName: ['three'] }, { categoryName: 'basic', symbolName: ['x', 'add'] }, { categoryName: 'keypad', symbolName: ['one'] }]);
468
+ equationEditorFlyout.steps.clickOnOkButton();
469
+ textEntryMathPage.steps.switchToGradingView();
470
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
471
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
472
+ });
473
+
474
+ it('When the user attempts the question using polynomial equation using parenthesis then it should be treated as correct', () => {
475
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
476
+ equationEditorFlyout.steps.enterTextInPreviewInputField('(x+3)(y-2)');
477
+ equationEditorFlyout.steps.clickOnOkButton();
478
+ textEntryMathPage.steps.switchToGradingView();
479
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
480
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
481
+ });
482
+
483
+ it('When the user attempts the question using factorized equation then it should be treated as correct', () => {
484
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
485
+ equationEditorFlyout.steps.enterTextInPreviewInputField('(x-1)(2x-1)');
486
+ equationEditorFlyout.steps.clickOnOkButton();
487
+ textEntryMathPage.steps.switchToGradingView();
488
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
489
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
490
+ });
491
+
492
+ it('When the user attempts the question using factorized complex equation then it should be treated as correct', () => {
493
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
494
+ equationEditorFlyout.steps.enterTextInPreviewInputField('(5+4i)(-3+2i)');
495
+ equationEditorFlyout.steps.clickOnOkButton();
496
+ textEntryMathPage.steps.switchToGradingView();
497
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
498
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
499
+ });
500
+
501
+ it('When the user attempts the question using iota in simplified format then it should be treated as correct', () => {
502
+ textEntryMathPage.steps.resetQuestionPreview();
503
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
504
+ equationEditorFlyout.steps.enterTextInPreviewInputField('-6i');
505
+ equationEditorFlyout.steps.clickOnOkButton();
506
+ textEntryMathPage.steps.switchToGradingView();
507
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
508
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
509
+ });
510
+
511
+ it('When the user attempts the question using special symbols like \'pi\' along with numeric values then it should be treated as incorrect', () => {
512
+ textEntryMathPage.steps.resetQuestionPreview();
513
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
514
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'keypad', symbolName: ['three'] }, { categoryName: 'greek', symbolName: ['pi'] }]);
515
+ equationEditorFlyout.steps.clickOnOkButton();
516
+ textEntryMathPage.steps.switchToGradingView();
517
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
518
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
519
+ });
520
+
521
+ it('When the user attempts the question using simplified trigonometric functions then it should be treated as incorrect', () => {
522
+ textEntryMathPage.steps.resetQuestionPreview();
523
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
524
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'trigonometry', symbolName: ['sin'] }, { categoryName: 'basic', symbolName: ['square', 'x', 'add'] }, { categoryName: 'trigonometry', symbolName: ['cos'] }, { categoryName: 'basic', symbolName: ['square', 'x'] }]);
525
+ equationEditorFlyout.steps.clickOnOkButton();
526
+ textEntryMathPage.steps.switchToGradingView();
527
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
528
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
529
+ });
530
+
531
+ it('When the user attempts the question using identity matrix then it should be treated as correct', () => {
532
+ textEntryMathPage.steps.resetQuestionPreview();
533
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
534
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'matrices', symbolName: ['twoByTwoMatrixBoundedBrackets'] }]);
535
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['0', '1', '0', '1']);
536
+ equationEditorFlyout.steps.clickOnOkButton();
537
+ textEntryMathPage.steps.switchToGradingView();
538
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
539
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
540
+ });
541
+
542
+ it('When the user attempts the question using addition of matrices then it should be treated as correct', () => {
543
+ textEntryMathPage.steps.resetQuestionPreview();
544
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
545
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'matrices', symbolName: ['twoByTwoMatrixBoundedBrackets'] }]);
546
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['2', '1', '0', '3']);
547
+ equationEditorFlyout.steps.enterTextInPreviewInputField('+')
548
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'matrices', symbolName: ['twoByTwoMatrixBoundedBrackets'] }]);
549
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['3', '1', '2', '4']);
550
+ equationEditorFlyout.steps.clickOnOkButton();
551
+ textEntryMathPage.steps.switchToGradingView();
552
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
553
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
554
+ });
555
+
556
+ it('When the user attempts the question using percentages then it should be treated as correct', () => {
557
+ textEntryMathPage.steps.resetQuestionPreview();
558
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
559
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'calculus', symbolName: ['derivative'] }, { categoryName: 'basic', symbolName: ['x', 'square'] }]);
560
+ equationEditorFlyout.steps.clickOnOkButton();
561
+ textEntryMathPage.steps.switchToGradingView();
562
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
563
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
564
+ });
565
+
566
+ it('When the user attempts the question using integration then it should be treated as correct', () => {
567
+ textEntryMathPage.steps.resetQuestionPreview();
568
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
569
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'calculus', symbolName: ['integral'] }, { categoryName: 'basic', symbolName: ['x'] }]);
570
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['1', '0'])
571
+ equationEditorFlyout.steps.clickOnOkButton();
572
+ textEntryMathPage.steps.switchToGradingView();
573
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
574
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
575
+ });
576
+
577
+ it('When the user attempts the question using epsilon then it should be treated as correct', () => {
578
+ textEntryMathPage.steps.resetQuestionPreview();
579
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
580
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'calculus', symbolName: ['epsilon'] }]);
581
+ equationEditorFlyout.steps.enterTextInPreviewInputField('^0.07')
582
+ equationEditorFlyout.steps.clickOnOkButton();
583
+ textEntryMathPage.steps.switchToGradingView();
584
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
585
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
586
+ });
587
+ });
588
+
589
+ describe('Evaluation methods: Simplified version', () => {
590
+ abortEarlySetup();
591
+ before(() => {
592
+ textEntryMathPage.steps.navigateToCreateQuestion('Text Entry Math');
593
+ cy.barsPreLoaderWait();
594
+ textEntryMathPage.steps.addTextInQuestionInstructionsInputField('Simplified version: Response inputted needs to be in simplified form to be marked correct');
595
+ textEntryMathPage.steps.clearQuestionInputField();
596
+ textEntryMathPage.steps.addInputToQuestionInputField('Simplify the following')
597
+ textEntryMathPage.steps.addResponseToken();
598
+ textEntryMathPage.steps.allotPoints(20);
599
+ textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(0);
600
+ textEntryMathPage.steps.selectEvaluationMethod('Simplified version')
601
+ textEntryMathPage.steps.switchToPreviewTab();
602
+ });
603
+
604
+ it('When the user attempts the question using decimals then it should be treated as correct', () => {
605
+ textEntryMathPage.steps.resetQuestionPreview();
606
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
607
+ equationEditorFlyout.steps.enterTextInPreviewInputField('12.03');
608
+ equationEditorFlyout.steps.clickOnOkButton();
609
+ textEntryMathPage.steps.switchToGradingView();
610
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
611
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
612
+ });
613
+
614
+ it('When the user attempts the question using percentages then it should be treated as incorrect', () => {
615
+ textEntryMathPage.steps.resetQuestionPreview();
616
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
617
+ equationEditorFlyout.steps.enterTextInPreviewInputField('30%');
618
+ equationEditorFlyout.steps.clickOnOkButton();
619
+ textEntryMathPage.steps.switchToGradingView();
620
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
621
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
622
+ });
623
+
624
+ it('When the user attempts the question using arithmetic square operation in un-simplified format then it should be treated as incorrect', () => {
625
+ textEntryMathPage.steps.resetQuestionPreview();
626
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
627
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'keypad', symbolName: ['three'] }, { categoryName: 'basic', symbolName: ['square'] }]);
628
+ equationEditorFlyout.steps.clickOnOkButton();
629
+ textEntryMathPage.steps.switchToGradingView();
630
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
631
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
632
+ });
633
+
634
+ it('When the user attempts the question using fractions in simplified format then it should be treated as incorrect', () => {
635
+ textEntryMathPage.steps.resetQuestionPreview();
636
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
637
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'basic', symbolName: ['fraction'] }, { categoryName: 'keypad', symbolName: ['two'] }]);
638
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['3']);
639
+ equationEditorFlyout.steps.clickOnOkButton();
640
+ textEntryMathPage.steps.switchToGradingView();
641
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
642
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
643
+ });
644
+
645
+ it('When the user attempts the question using mixed fractions then it should be treated as incorrect', () => {
646
+ textEntryMathPage.steps.resetQuestionPreview();
647
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
648
+ equationEditorFlyout.steps.enterTextInPreviewInputField('2');
649
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'basic', symbolName: ['mixedFraction'] }]);
650
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['3', '4']);
651
+ equationEditorFlyout.steps.clickOnOkButton();
652
+ textEntryMathPage.steps.switchToGradingView();
653
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
654
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
655
+ });
656
+
657
+ it('When the user attempts the question using polynomial expressions then it should be treated as correct', () => {
658
+ textEntryMathPage.steps.resetQuestionPreview();
659
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
660
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'keypad', symbolName: ['two'] }, { categoryName: 'basic', symbolName: ['x', 'square', 'add'] }, { categoryName: 'keypad', symbolName: ['four'] }, { categoryName: 'basic', symbolName: ['x'] }]);
661
+ equationEditorFlyout.steps.clickOnOkButton();
662
+ textEntryMathPage.steps.switchToGradingView();
663
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
664
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
665
+ });
666
+
667
+ it('When the user attempts the question using parenthesis in simplified format then it should be treated as incorrect', () => {
668
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
669
+ equationEditorFlyout.steps.enterTextInPreviewInputField('(x+3)(y-2)');
670
+ equationEditorFlyout.steps.clickOnOkButton();
671
+ textEntryMathPage.steps.switchToGradingView();
672
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
673
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
674
+ });
675
+
676
+ it('When the user attempts the question using identity matrix then it should be treated as correct', () => {
677
+ textEntryMathPage.steps.resetQuestionPreview();
678
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
679
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'matrices', symbolName: ['twoByTwoMatrixBoundedBrackets'] }]);
680
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['0', '1', '0', '1']);
681
+ equationEditorFlyout.steps.clickOnOkButton();
682
+ textEntryMathPage.steps.switchToGradingView();
683
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
684
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
685
+ });
686
+
687
+ it('When the user attempts the question using iota in simplified format then it should be treated as correct', () => {
688
+ textEntryMathPage.steps.resetQuestionPreview();
689
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
690
+ equationEditorFlyout.steps.enterTextInPreviewInputField('-6i');
691
+ equationEditorFlyout.steps.clickOnOkButton();
692
+ textEntryMathPage.steps.switchToGradingView();
693
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
694
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
695
+ });
696
+
697
+ it('When the user attempts the question using iota in un-simplified format then it should be treated as incorrect', () => {
698
+ textEntryMathPage.steps.resetQuestionPreview();
699
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
700
+ equationEditorFlyout.steps.enterTextInPreviewInputField('-3i');
701
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'keypad', symbolName: ['dotMultiplier', 'two'] }]);
702
+ equationEditorFlyout.steps.clickOnOkButton();
703
+ textEntryMathPage.steps.switchToGradingView();
704
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
705
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
706
+ });
707
+
708
+ it('When the user attempts the question using special symbols like \'pi\' then it should be treated as correct', () => {
709
+ textEntryMathPage.steps.resetQuestionPreview();
710
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
711
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'greek', symbolName: ['pi'] }]);
712
+ equationEditorFlyout.steps.clickOnOkButton();
713
+ textEntryMathPage.steps.switchToGradingView();
714
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
715
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
716
+ });
717
+
718
+ it('When the user attempts the question using special symbols like \'pi\' along with numeric values then it should be treated as incorrect', () => {
719
+ textEntryMathPage.steps.resetQuestionPreview();
720
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
721
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'keypad', symbolName: ['three'] }, { categoryName: 'greek', symbolName: ['pi'] }]);
722
+ equationEditorFlyout.steps.clickOnOkButton();
723
+ textEntryMathPage.steps.switchToGradingView();
724
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
725
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
726
+ });
727
+
728
+ it('When the user attempts the question using simplified trigonometric functions then it should be treated as correct', () => {
729
+ textEntryMathPage.steps.resetQuestionPreview();
730
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
731
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'trigonometry', symbolName: ['sin'] }, { categoryName: 'basic', symbolName: ['square', 'x', 'add'] }, { categoryName: 'trigonometry', symbolName: ['cos'] }, { categoryName: 'basic', symbolName: ['square', 'x'] }]);
732
+ equationEditorFlyout.steps.clickOnOkButton();
733
+ textEntryMathPage.steps.switchToGradingView();
734
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
735
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
736
+ });
737
+
738
+ it('When the user attempts the question using addition of matrices then it should be treated as incorrect', () => {
739
+ textEntryMathPage.steps.resetQuestionPreview();
740
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
741
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'matrices', symbolName: ['twoByTwoMatrixBoundedBrackets'] }]);
742
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['2', '1', '0', '3']);
743
+ equationEditorFlyout.steps.enterTextInPreviewInputField('+')
744
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'matrices', symbolName: ['twoByTwoMatrixBoundedBrackets'] }]);
745
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['3', '1', '2', '4']);
746
+ equationEditorFlyout.steps.clickOnOkButton();
747
+ textEntryMathPage.steps.switchToGradingView();
748
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
749
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
750
+ });
751
+
752
+ it('When the user attempts the question using percentages then it should be treated as incorrect', () => {
753
+ textEntryMathPage.steps.resetQuestionPreview();
754
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
755
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'calculus', symbolName: ['derivative'] }, { categoryName: 'basic', symbolName: ['x', 'square'] }]);
756
+ equationEditorFlyout.steps.clickOnOkButton();
757
+ textEntryMathPage.steps.switchToGradingView();
758
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
759
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
760
+ });
761
+
762
+ it('When the user attempts the question using integration then it should be treated as incorrect', () => {
763
+ textEntryMathPage.steps.resetQuestionPreview();
764
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
765
+ equationEditorFlyout.steps.enterEquation([{ categoryName: 'calculus', symbolName: ['integral'] }, { categoryName: 'basic', symbolName: ['x'] }]);
766
+ equationEditorFlyout.steps.enterTextInFirstEmptyBox(['1', '0'])
767
+ equationEditorFlyout.steps.clickOnOkButton();
768
+ textEntryMathPage.steps.switchToGradingView();
769
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
770
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
771
+ });
772
+ });
773
+ });