itemengine-cypress-automation 1.0.131-updateILCrepo6March-02c78d1.0 → 1.0.132

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. package/cypress/e2e/ILC/AudioResponseNew/barRecorderStyle.smoke.js +3 -6
  2. package/cypress/e2e/ILC/AudioResponseNew/compactRecorderStyle.smoke.js +2 -4
  3. package/cypress/e2e/ILC/AudioResponseNew/standardRecorderStyle.smoke.js +3 -7
  4. package/cypress/e2e/ILC/EssayResponse/essayResponseCustomizeFormattingOptions1.smoke.js +2 -0
  5. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/additionalSettings.js +154 -0
  6. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/dropzoneAlternateAnswerPopup.js +170 -0
  7. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/dropzoneSettings.js +335 -0
  8. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/editTabBasicSection.js +142 -0
  9. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/headerSection.js +76 -0
  10. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +194 -0
  11. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViews.smoke.js +8 -8
  12. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/studentViewSettings.js +341 -0
  13. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/studentViewSettingsForGroupedLayout.js +241 -0
  14. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/allOrNothingForAllView.smoke.js +1 -1
  15. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/studentViewSettingsForGroupedLayout.js +3 -3
  16. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +350 -0
  17. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToCorrectPoints.js +356 -0
  18. package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +402 -0
  19. package/cypress/e2e/ILC/Graphing/previewContentsForAllViews.smoke.js +4 -4
  20. package/cypress/e2e/ILC/SimpleCalculator/editTabFunctionality.js +242 -0
  21. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViews.smoke.js +11 -16
  22. package/cypress/e2e/ILC/TextEntryMath/checkAnswerFunctionalityForAllViews.smoke.js +4 -6
  23. package/cypress/e2e/ILC/TextEntryMath/previewContentsForAllViews.smoke.js +3 -4
  24. package/cypress/fixtures/theme/ilc.json +2 -0
  25. package/cypress/pages/audioResponsePage.js +1 -1
  26. package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +1 -1
  27. package/cypress/pages/components/correctIncorrectAnswerLabelComponent.js +1 -1
  28. package/cypress/pages/components/fillInTheGapsDragAndDropCommonComponents.js +35 -5
  29. package/cypress/pages/components/imageCanvasComponent.js +1 -1
  30. package/cypress/pages/components/index.js +2 -1
  31. package/cypress/pages/components/questionInputFieldComponent.js +31 -0
  32. package/cypress/pages/components/responseAreaSettingsPopupComponent.js +74 -0
  33. package/cypress/pages/drawingResponsePage.js +1 -1
  34. package/cypress/pages/fillInTheGapsDragAndDropPage.js +318 -62
  35. package/cypress/pages/fillInTheGapsOverImageDragAndDropPage.js +2 -26
  36. package/cypress/pages/fillInTheGapsOverImageDropdownPage.js +24 -1
  37. package/cypress/pages/simpleCalculatorPage.js +140 -10
  38. package/cypress/pages/textEntryMathPage.js +3 -2
  39. package/package.json +2 -2
@@ -0,0 +1,242 @@
1
+ import { simpleCalculatorPage } from "../../../pages";
2
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
3
+ import utilities from "../../../support/helpers/utilities";
4
+ const css = Cypress.env('css');
5
+ const customizeCalculatorSettingsButtons = ['History', 'Undo/Redo', 'Parentheses', 'Pi', 'Square', 'Reciprocal', 'Percentage', 'Square root', 'Exponent', 'Sign change']
6
+ describe('Simple calculator - Customize calculator settings, show calculator visibility', () => {
7
+ before(() => {
8
+ cy.loginAs('admin');
9
+ });
10
+
11
+ describe('Simple calculator: Customize calculator settings - Edit tab', () => {
12
+ abortEarlySetup();
13
+ before(() => {
14
+ simpleCalculatorPage.steps.navigateToCreateResource('simple calculator');
15
+ });
16
+
17
+ it('"Customize calculator settings" label should be displayed', () => {
18
+ utilities.verifyInnerText(simpleCalculatorPage.customizeCalculatorSettingsLabel(), 'Customize calculator settings');
19
+ });
20
+
21
+ it(`In the "Customize calculator settings" section, a list of ${customizeCalculatorSettingsButtons.length} settings should be displayed. Out of ${customizeCalculatorSettingsButtons.join(', ')} settings, History and Undo/Redo settings should be in selected state by default`, () => {
22
+ utilities.verifyElementVisibilityState(simpleCalculatorPage.customizeCalculatorSettingsHistoryButton(), 'visible');
23
+ utilities.verifyElementVisibilityState(simpleCalculatorPage.customizeCalculatorSettingsUndoRedoButton(), 'visible');
24
+ utilities.verifyElementVisibilityState(simpleCalculatorPage.customizeCalculatorSettingsParenthesesButton(), 'visible');
25
+ utilities.verifyElementVisibilityState(simpleCalculatorPage.customizeCalculatorSettingsPiButton(), 'visible');
26
+ utilities.verifyElementVisibilityState(simpleCalculatorPage.customizeCalculatorSettingsSquareButton(), 'visible');
27
+ utilities.verifyElementVisibilityState(simpleCalculatorPage.customizeCalculatorSettingsReciprocalButton(), 'visible');
28
+ utilities.verifyElementVisibilityState(simpleCalculatorPage.customizeCalculatorSettingsPercentageButton(), 'visible');
29
+ utilities.verifyElementVisibilityState(simpleCalculatorPage.customizeCalculatorSettingsSquareRootButton(), 'visible');
30
+ utilities.verifyElementVisibilityState(simpleCalculatorPage.customizeCalculatorSettingsExponentButton(), 'visible');
31
+ utilities.verifyElementVisibilityState(simpleCalculatorPage.customizeCalculatorSettingsSignChangeButton(), 'visible');
32
+ simpleCalculatorPage.steps.verifyCustomizeCalculatorSettingsHistoryButtonSelectedState();
33
+ simpleCalculatorPage.steps.verifyCustomizeCalculatorSettingsUndoRedoButtonSelectedState();
34
+ customizeCalculatorSettingsButtons.forEach((button, index) => {
35
+ utilities.verifyInnerText(utilities.getNthElement(simpleCalculatorPage.customizeCalculatorSettingsButtonLabel(), index), button);
36
+ });
37
+ });
38
+
39
+ it('The user should be able to select/deselect any settings toggle button', () => {
40
+ simpleCalculatorPage.steps.deselectCustomizeCalculatorSettingsHistoryButton();
41
+ simpleCalculatorPage.steps.selectCustomizeCalculatorSettingsPercentageButton();
42
+ });
43
+
44
+ it('When the user selects "Sign change" button, then the "Parentheses" button should automatically get selected and be in a disabled state', () => {
45
+ simpleCalculatorPage.steps.selectCustomizeCalculatorSettingsSignChangeButton();
46
+ utilities.verifyElementDisabledClass(simpleCalculatorPage.customizeCalculatorSettingsParenthesesButton());
47
+ simpleCalculatorPage.steps.verifyCustomizeCalculatorSettingsParenthesesButtonSelectedState();
48
+ });
49
+
50
+ it('When the user deselects "Sign change" button, then the "Parentheses" button should get enabled and continue to stay in selected state', () => {
51
+ simpleCalculatorPage.steps.deselectCustomizeCalculatorSettingsSignChangeButton();
52
+ utilities.verifyElementNotDisabled(simpleCalculatorPage.customizeCalculatorSettingsParenthesesButton());
53
+ simpleCalculatorPage.steps.verifyCustomizeCalculatorSettingsParenthesesButtonSelectedState();
54
+ });
55
+
56
+ it('When the user selects "Square root" button, then the "Parentheses" button should automatically get selected and be in a disabled state', () => {
57
+ simpleCalculatorPage.steps.selectCustomizeCalculatorSettingsSquareRootButton();
58
+ utilities.verifyElementDisabledClass(simpleCalculatorPage.customizeCalculatorSettingsParenthesesButton());
59
+ simpleCalculatorPage.steps.verifyCustomizeCalculatorSettingsParenthesesButtonSelectedState();
60
+ });
61
+
62
+ it('When the user deselects "Square root" button, then the "Parentheses" button should get enabled and continue to stay in selected state', () => {
63
+ simpleCalculatorPage.steps.deselectCustomizeCalculatorSettingsSquareRootButton();
64
+ utilities.verifyElementNotDisabled(simpleCalculatorPage.customizeCalculatorSettingsParenthesesButton());
65
+ simpleCalculatorPage.steps.verifyCustomizeCalculatorSettingsParenthesesButtonSelectedState();
66
+ });
67
+
68
+ it('When the user selects the "Parentheses" button, the "Sign change" and "Square root" buttons should continue to stay in deselected state', () => {
69
+ simpleCalculatorPage.steps.selectCustomizeCalculatorSettingsParenthesesButton();
70
+ simpleCalculatorPage.steps.verifyCustomizeCalculatorSettingsSignChangeButtonDeselectedState();
71
+ simpleCalculatorPage.steps.verifyCustomizeCalculatorSettingsSquareRootButtonDeselectedState();
72
+ });
73
+
74
+ it('CSS of customize calculator settings', { tags: 'css' }, () => {
75
+ utilities.verifyCSS(simpleCalculatorPage.customizeCalculatorSettingsLabel(), {
76
+ 'color': css.color.labels,
77
+ 'font-size': css.fontSize.default,
78
+ 'font-weight': css.fontWeight.regular
79
+ });
80
+ cy.log('CSS of unselected button')
81
+ utilities.verifyCSS(simpleCalculatorPage.customizeCalculatorSettingsPiButton().find('[class*="CalculatorStyleIconLabelWrapper"]'), {
82
+ 'background-color': css.color.secondaryBtnBg
83
+ });
84
+ utilities.verifyCSS(utilities.getNthElement(simpleCalculatorPage.customizeCalculatorSettingsLabel(), 3), {
85
+ 'color': css.color.secondaryBtn,
86
+ 'font-size': css.fontSize.normal,
87
+ 'font-weight': css.fontWeight.regular
88
+ });
89
+ utilities.verifyCSS(simpleCalculatorPage.customizeCalculatorSettingsPiButton().find('svg path'), {
90
+ 'fill': css.color.secondaryBtn
91
+ });
92
+ cy.log('CSS of selected button')
93
+ utilities.verifyCSS(simpleCalculatorPage.customizeCalculatorSettingsPiButton().find('[class*="CalculatorStyleIconLabelWrapper"]'), {
94
+ 'background-color': css.color.primaryBtnBg
95
+ });
96
+ utilities.verifyCSS(utilities.getNthElement(simpleCalculatorPage.customizeCalculatorSettingsLabel(), 3), {
97
+ 'color': css.color.primaryBtn,
98
+ 'font-size': css.fontSize.normal,
99
+ 'font-weight': css.fontWeight.regular
100
+ });
101
+ utilities.verifyCSS(simpleCalculatorPage.customizeCalculatorSettingsHistoryButton().find('svg path'), {
102
+ 'fill': css.color.defaultBackground
103
+ });
104
+ utilities.verifyCSS(simpleCalculatorPage.tickIcon(), {
105
+ 'fill': css.color.activeButtons
106
+ });
107
+ });
108
+
109
+ it('Accessibility of customize calculator settings', { tags: 'a11y' }, () => {
110
+ cy.checkAccessibility(simpleCalculatorPage.customizeCalculatorSettingsLabel().parents('[class*="CustomizeCalculatorSettingsWrapper"]'));
111
+ });
112
+ });
113
+
114
+ describe('Simple calculator: Customize calculator settings - Preview tab', () => {
115
+ abortEarlySetup();
116
+ before(() => {
117
+ simpleCalculatorPage.steps.navigateToCreateResource('simple calculator');
118
+ });
119
+
120
+ it('When the user modifies the options in customize calculator settings section, then the calculator buttons should be updated accordingly in the preview tab', () => {
121
+ simpleCalculatorPage.steps.deselectCustomizeCalculatorSettingsHistoryButton();
122
+ simpleCalculatorPage.steps.selectCustomizeCalculatorSettingsPercentageButton();
123
+ simpleCalculatorPage.steps.switchToPreviewTab();
124
+ utilities.verifyElementVisibilityState(simpleCalculatorPage.checkHistoryButton(), 'notExist');
125
+ utilities.verifyElementVisibilityState(simpleCalculatorPage.percentageButton(), 'visible');
126
+ });
127
+ });
128
+
129
+ describe('\'Simple calculator visibility\' section - Edit tab', () => {
130
+ abortEarlySetup();
131
+ before(() => {
132
+ simpleCalculatorPage.steps.navigateToCreateResource('simple calculator');
133
+ });
134
+
135
+ it('\'Simple calculator visibility\' label should be displayed', () => {
136
+ utilities.verifyInnerText(simpleCalculatorPage.calculatorVisibilityLabel(), 'Simple calculator visibility');
137
+ });
138
+
139
+ it('\'Add show/hide button\' label and checkbox should be displayed and by default the checkbox should be unchecked', () => {
140
+ simpleCalculatorPage.steps.verifyAddShowHideButtonLabel();
141
+ simpleCalculatorPage.steps.verifyAddShowHideButtonCheckboxUnchecked();
142
+ });
143
+
144
+ it('CSS of \'Simple calculator visibility\' section', { tags: 'css' }, () => {
145
+ utilities.verifyCSS(simpleCalculatorPage.calculatorVisibilityLabel(), {
146
+ 'color': css.color.labels,
147
+ 'font-size': css.fontSize.default,
148
+ 'font-weight': css.fontWeight.semibold
149
+ });
150
+ utilities.verifyCSS(simpleCalculatorPage.addShowHideButtonLabel(), {
151
+ 'color': css.color.labelText,
152
+ 'font-size': css.fontSize.normal,
153
+ 'font-weight': css.fontWeight.regular
154
+ });
155
+ utilities.verifyCSS(simpleCalculatorPage.addShowHideButtonCheckbox().parent().find('svg'), {
156
+ 'fill': css.color.uncheckedCheckbox
157
+ });
158
+ });
159
+
160
+ it('When user checks \'Add show/hide button\' checkbox, then \'Launch the simple calculator by default\' label and checkbox should be displayed and by default the checkbox should be unchecked', () => {
161
+ simpleCalculatorPage.steps.checkAddShowHideButtonCheckbox();
162
+ simpleCalculatorPage.steps.verifyLaunchToolByDefaultLabel('simple calculator');
163
+ simpleCalculatorPage.steps.verifyLaunchToolByDefaultCheckboxUnchecked();
164
+ });
165
+
166
+ it('User should be able to check \'Launch the simple calculator by default\' checkbox', () => {
167
+ simpleCalculatorPage.steps.checkLaunchToolByDefaultCheckbox();
168
+ });
169
+
170
+ it('CSS of \'Simple calculator visibility\' section', { tags: 'css' }, () => {
171
+ utilities.verifyCSS(simpleCalculatorPage.launchToolByDefaultLabel(), {
172
+ 'color': css.color.labelText,
173
+ 'font-size': css.fontSize.normal,
174
+ 'font-weight': css.fontWeight.regular
175
+ });
176
+ utilities.verifyCSS(simpleCalculatorPage.addShowHideButtonCheckbox().parents('.icon-checkbox-selected').find('.checkbox-icon-border-rect'), {
177
+ 'fill': css.color.activeButtons
178
+ });
179
+ utilities.verifyCSS(simpleCalculatorPage.launchToolByDefaultCheckbox().parents('.icon-checkbox-selected').find('.checkbox-icon-border-rect'), {
180
+ 'fill': css.color.activeButtons
181
+ });
182
+ });
183
+ });
184
+
185
+ describe('\'Simple calculator visibility\' section - Preview tab', () => {
186
+ abortEarlySetup();
187
+ before(() => {
188
+ simpleCalculatorPage.steps.navigateToCreateResource('simple calculator');
189
+ });
190
+
191
+ it('When \'Add show/hide button\' checkbox is unchecked in the edit tab, then \'Show simple calculator\' button should not be displayed in preview tab', () => {
192
+ simpleCalculatorPage.steps.switchToPreviewTab();
193
+ utilities.verifyElementVisibilityState(simpleCalculatorPage.calculatorVisibilityButton(), 'notExist');
194
+ });
195
+
196
+ it('When user checks \'Add show/hide button\' checkbox in the edit tab, then \'Show simple calculator\' button should be displayed and the simple calculator should not be displayed in preview tab', () => {
197
+ simpleCalculatorPage.steps.switchToEditTab();
198
+ simpleCalculatorPage.steps.checkAddShowHideButtonCheckbox();
199
+ simpleCalculatorPage.steps.switchToPreviewTab();
200
+ simpleCalculatorPage.steps.verifyCalculatorVisibilityButtonLabel('Show');
201
+ simpleCalculatorPage.steps.verifyCalculatorNotExists();
202
+ });
203
+
204
+ it('When user clicks on \'Show simple calculator\' button, simple calculator should be displayed and \'Show simple calculator\' button should change to \'Hide button\' ', () => {
205
+ simpleCalculatorPage.steps.clickOnCalculatorVisibilityButton();
206
+ simpleCalculatorPage.steps.verifyCalculatorVisibilityButtonLabel('Hide');
207
+ simpleCalculatorPage.steps.verifyCalculatorIsVisible();
208
+ });
209
+
210
+ it('If the user selects the \'Launch simple calculator by default\' checkbox in the edit tab, then \'Hide simple calculator\' button should become visible, and the simple calculator should be displayed by default in the preview tab', () => {
211
+ simpleCalculatorPage.steps.switchToEditTab();
212
+ simpleCalculatorPage.steps.checkLaunchToolByDefaultCheckbox();
213
+ simpleCalculatorPage.steps.switchToPreviewTab();
214
+ simpleCalculatorPage.steps.verifyCalculatorVisibilityButtonLabel('Hide');
215
+ simpleCalculatorPage.steps.verifyCalculatorIsVisible();
216
+ });
217
+
218
+ it('When the user selects \'Hide simple calculator\' button then simple calculator should not be displayed and the button should change to \'Show simple calculator\'', () => {
219
+ simpleCalculatorPage.steps.clickOnCalculatorVisibilityButton();
220
+ simpleCalculatorPage.steps.verifyCalculatorVisibilityButtonLabel('Show');
221
+ simpleCalculatorPage.steps.verifyCalculatorNotExists();
222
+ });
223
+
224
+ it('When the calculator is shown, a close button should also be displayed on the calculator', () => {
225
+ simpleCalculatorPage.steps.clickOnCalculatorVisibilityButton();
226
+ simpleCalculatorPage.steps.verifyCalculatorVisibilityButtonLabel('Hide');
227
+ utilities.verifyElementVisibilityState(simpleCalculatorPage.closeCalculatorButton(), 'visible');
228
+ });
229
+
230
+ it('When the user clicks on the "close calculator" button, the calculator should disappear and the visibility button label should change to "Show calculator"', () =>{
231
+ simpleCalculatorPage.steps.clickOnCloseCalculatorButton();
232
+ simpleCalculatorPage.steps.verifyCalculatorVisibilityButtonLabel('Show');
233
+ simpleCalculatorPage.steps.verifyCalculatorNotExists();
234
+ });
235
+
236
+ it('On clicking on the "Show calculator" button, the calculator should be displayed again', () => {
237
+ simpleCalculatorPage.steps.clickOnCalculatorVisibilityButton();
238
+ simpleCalculatorPage.steps.verifyCalculatorVisibilityButtonLabel('Hide');
239
+ utilities.verifyElementVisibilityState(simpleCalculatorPage.closeCalculatorButton(), 'visible');
240
+ });
241
+ });
242
+ });
@@ -29,10 +29,9 @@ describe('Create Item page - Text entry math: All or nothing ', () => {
29
29
  it('When the user sets correct answer responses and allots points, then the alloted points should be displayed in the preview tab', () => {
30
30
  textEntryMathPage.steps.switchToEditTab();
31
31
  textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(0);
32
- textEntryMathPage.steps.addInputToResponseAnswerInputFieldSpecifyCorrectAnswer(0, 'Correctanswer1');
32
+ textEntryMathPage.steps.addInputToResponseAnswerInputFieldSpecifyCorrectAnswer(0, 'Correct1');
33
33
  textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(1);
34
34
  textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(1);
35
- textEntryMathPage.steps.selectEquationEditorOptionFromCKEditorToolbar();
36
35
  equationEditorFlyout.steps.enterQuadraticEquation();
37
36
  textEntryMathPage.steps.allotPoints(20);
38
37
  textEntryMathPage.steps.switchToPreviewTab();
@@ -41,7 +40,7 @@ describe('Create Item page - Text entry math: All or nothing ', () => {
41
40
 
42
41
  it('When the user attempts question in preview tab and switches to edit tab, then on re-switching to the preview tab, users response should not persist', () => {
43
42
  textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
44
- equationEditorFlyout.steps.enterTextInPreviewInputField(0, 'Correctanswer1');
43
+ equationEditorFlyout.steps.enterTextInPreviewInputField(0, 'Correct1');
45
44
  equationEditorFlyout.steps.clickOnOkButton();
46
45
  textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(1);
47
46
  equationEditorFlyout.steps.enterQuadraticEquation();
@@ -66,14 +65,12 @@ describe('Create Item page - Text entry math: All or nothing ', () => {
66
65
  textEntryMathPage.steps.addResponseToken();
67
66
  textEntryMathPage.steps.addResponseToken();
68
67
  textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(0);
69
- textEntryMathPage.steps.addInputToResponseAnswerInputFieldSpecifyCorrectAnswer(0, 'Correctanswer1');
68
+ textEntryMathPage.steps.addInputToResponseAnswerInputFieldSpecifyCorrectAnswer(0, 'Correct1');
70
69
  textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(1);
71
70
  textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(1);
72
- textEntryMathPage.steps.selectEquationEditorOptionFromCKEditorToolbar();
73
71
  equationEditorFlyout.steps.enterQuadraticEquation();
74
72
  textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(2);
75
73
  textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(2);
76
- textEntryMathPage.steps.selectEquationEditorOptionFromCKEditorToolbar();
77
74
  equationEditorFlyout.steps.enterEquationUsingPiSymbol();
78
75
  textEntryMathPage.steps.allotPoints(20);
79
76
  textEntryMathPage.steps.switchToPreviewTab();
@@ -124,7 +121,7 @@ describe('Create Item page - Text entry math: All or nothing ', () => {
124
121
  textEntryMathPage.steps.verifyPreviewScore(0, 20);
125
122
  }
126
123
  textEntryMathPage.steps.verifyResponseFieldNumerationPreviewTab();
127
- textEntryMathPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount(['Correctanswer1', '2x2y2+4xy+4', '6×π']);
124
+ textEntryMathPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount(['Correct1', '2x2y2+4xy+4', '6×π']);
128
125
  textEntryMathPage.steps.verifyCorrectAnswerResponsesAriaLabel(1, '2 x squared y squared plus 4 x y plus 4');
129
126
  textEntryMathPage.steps.verifyCorrectAnswerResponsesAriaLabel(2, '6 times pi');
130
127
  textEntryMathPage.steps.verifyCorrectIncorrectIconNotExist(0);
@@ -157,7 +154,7 @@ describe('Create Item page - Text entry math: All or nothing ', () => {
157
154
  textEntryMathPage.steps.verifyIncorrectResponseIcon(1);
158
155
  textEntryMathPage.steps.verifyIncorrectResponseIcon(2);
159
156
  textEntryMathPage.steps.verifyResponseFieldNumerationPreviewTab();
160
- textEntryMathPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount(['Correctanswer1', '2x2y2+4xy+4', '6×π']);
157
+ textEntryMathPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount(['Correct1', '2x2y2+4xy+4', '6×π']);
161
158
  textEntryMathPage.steps.verifyCorrectAnswerResponsesAriaLabel(1, '2 x squared y squared plus 4 x y plus 4');
162
159
  textEntryMathPage.steps.verifyCorrectAnswerResponsesAriaLabel(2, '6 times pi');
163
160
  textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
@@ -168,7 +165,7 @@ describe('Create Item page - Text entry math: All or nothing ', () => {
168
165
  studentViewPage.steps.clearResponses();
169
166
  }
170
167
  textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
171
- equationEditorFlyout.steps.enterTextInPreviewInputField('Correctanswer1');
168
+ equationEditorFlyout.steps.enterTextInPreviewInputField('Correct1');
172
169
  equationEditorFlyout.steps.clickOnOkButton();
173
170
  textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(1);
174
171
  equationEditorFlyout.steps.enterQuadraticEquation();
@@ -189,7 +186,7 @@ describe('Create Item page - Text entry math: All or nothing ', () => {
189
186
  textEntryMathPage.steps.verifyCorrectResponseIcon(1);
190
187
  textEntryMathPage.steps.verifyIncorrectResponseIcon(2);
191
188
  textEntryMathPage.steps.verifyResponseFieldNumerationPreviewTab();
192
- textEntryMathPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount(['Correctanswer1', '2x2y2+4xy+4', '6×π']);
189
+ textEntryMathPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount(['Correct1', '2x2y2+4xy+4', '6×π']);
193
190
  textEntryMathPage.steps.verifyCorrectAnswerResponsesAriaLabel(1, '2 x squared y squared plus 4 x y plus 4');
194
191
  textEntryMathPage.steps.verifyCorrectAnswerResponsesAriaLabel(2, '6 times pi');
195
192
  textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
@@ -200,7 +197,7 @@ describe('Create Item page - Text entry math: All or nothing ', () => {
200
197
  studentViewPage.steps.clearResponses();
201
198
  }
202
199
  textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
203
- equationEditorFlyout.steps.enterTextInPreviewInputField('Correctanswer1');
200
+ equationEditorFlyout.steps.enterTextInPreviewInputField('Correct1');
204
201
  equationEditorFlyout.steps.clickOnOkButton();
205
202
  textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(1);
206
203
  equationEditorFlyout.steps.enterQuadraticEquation();
@@ -218,7 +215,7 @@ describe('Create Item page - Text entry math: All or nothing ', () => {
218
215
  textEntryMathPage.steps.verifyCorrectResponseIcon(1);
219
216
  textEntryMathPage.steps.verifyCorrectIncorrectIconNotExist(2);
220
217
  textEntryMathPage.steps.verifyResponseFieldNumerationPreviewTab();
221
- textEntryMathPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount(['Correctanswer1', '2x2y2+4xy+4', '6×π']);
218
+ textEntryMathPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount(['Correct1', '2x2y2+4xy+4', '6×π']);
222
219
  textEntryMathPage.steps.verifyCorrectAnswerResponsesAriaLabel(1, '2 x squared y squared plus 4 x y plus 4');
223
220
  textEntryMathPage.steps.verifyCorrectAnswerResponsesAriaLabel(2, '6 times pi');
224
221
  textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
@@ -229,7 +226,7 @@ describe('Create Item page - Text entry math: All or nothing ', () => {
229
226
  studentViewPage.steps.clearResponses();
230
227
  }
231
228
  textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
232
- equationEditorFlyout.steps.enterTextInPreviewInputField('Correctanswer1');
229
+ equationEditorFlyout.steps.enterTextInPreviewInputField('Correct1');
233
230
  equationEditorFlyout.steps.clickOnOkButton();
234
231
  textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(1);
235
232
  equationEditorFlyout.steps.enterQuadraticEquation();
@@ -265,14 +262,12 @@ describe('Create Item page - Text entry math: All or nothing ', () => {
265
262
  textEntryMathPage.steps.addResponseToken();
266
263
  textEntryMathPage.steps.addResponseToken();
267
264
  textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(0);
268
- textEntryMathPage.steps.addInputToResponseAnswerInputFieldSpecifyCorrectAnswer(0, 'Correctanswer1');
265
+ textEntryMathPage.steps.addInputToResponseAnswerInputFieldSpecifyCorrectAnswer(0, 'Correct1');
269
266
  textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(1);
270
267
  textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(1);
271
- textEntryMathPage.steps.selectEquationEditorOptionFromCKEditorToolbar();
272
268
  equationEditorFlyout.steps.enterQuadraticEquation();
273
269
  textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(2);
274
270
  textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(2);
275
- textEntryMathPage.steps.selectEquationEditorOptionFromCKEditorToolbar();
276
271
  equationEditorFlyout.steps.enterEquationUsingPiSymbol();
277
272
  textEntryMathPage.steps.allotPoints(20);
278
273
  });
@@ -38,14 +38,12 @@ describe('Create item page - Text entry math - Check answer functionality', () =
38
38
  textEntryMathPage.steps.addResponseToken();
39
39
  textEntryMathPage.steps.addResponseToken();
40
40
  textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(0);
41
- textEntryMathPage.steps.addInputToResponseAnswerInputFieldSpecifyCorrectAnswer(0, 'Correct answer 1');
41
+ textEntryMathPage.steps.addInputToResponseAnswerInputFieldSpecifyCorrectAnswer(0, 'Correct1');
42
42
  textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(1);
43
43
  textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(1);
44
- textEntryMathPage.steps.selectEquationEditorOptionFromCKEditorToolbar();
45
44
  equationEditorFlyout.steps.enterQuadraticEquation();
46
45
  textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(2);
47
46
  textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(2);
48
- textEntryMathPage.steps.selectEquationEditorOptionFromCKEditorToolbar();
49
47
  equationEditorFlyout.steps.enterEquationUsingPiSymbol();
50
48
  textEntryMathPage.steps.allotPoints(20);
51
49
  textEntryMathPage.steps.checkAllowStudentToCheckAnswerCheckbox();
@@ -114,7 +112,7 @@ describe('Create item page - Text entry math - Check answer functionality', () =
114
112
 
115
113
  it('When the user attempts the question partially correct, then on clicking Check answer button, correct icons should be displayed beside the correct responses, incorrect icons should be displayed beside the incorrect responses, and \'Your answer is incorrect\' should be displayed', () => {
116
114
  textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
117
- equationEditorFlyout.steps.enterTextInPreviewInputField('Correct answer 1');
115
+ equationEditorFlyout.steps.enterTextInPreviewInputField('Correct1');
118
116
  equationEditorFlyout.steps.clickOnOkButton();
119
117
  textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(1);
120
118
  equationEditorFlyout.steps.enterQuadraticEquation();
@@ -131,7 +129,7 @@ describe('Create item page - Text entry math - Check answer functionality', () =
131
129
 
132
130
  it('When the user attempts the question partially correct with a incomplete response, then on clicking Check answer button, incorrect icons should be displayed beside the incorrect responses, no icons should be displayed beside unattempted responses and \'Your answer is incorrect\' should be displayed', () => {
133
131
  textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
134
- equationEditorFlyout.steps.enterTextInPreviewInputField('Correct answer 1');
132
+ equationEditorFlyout.steps.enterTextInPreviewInputField('Correct1');
135
133
  equationEditorFlyout.steps.clickOnOkButton();
136
134
  textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(1);
137
135
  equationEditorFlyout.steps.enterQuadraticEquation();
@@ -145,7 +143,7 @@ describe('Create item page - Text entry math - Check answer functionality', () =
145
143
 
146
144
  it('When user attempts the question correctly, then on clicking Check answer button, then correct icons should be displayed beside all the responses, and \'Your answer is correct\' should be displayed', () => {
147
145
  textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
148
- equationEditorFlyout.steps.enterTextInPreviewInputField('Correct answer 1');
146
+ equationEditorFlyout.steps.enterTextInPreviewInputField('Correct1');
149
147
  equationEditorFlyout.steps.clickOnOkButton();
150
148
  textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(1)
151
149
  equationEditorFlyout.steps.enterQuadraticEquation();
@@ -24,10 +24,9 @@ describe('Create item page - Text entry math: Preview contents', () => {
24
24
  textEntryMathPage.steps.addResponseToken();
25
25
  textEntryMathPage.steps.addResponseToken();
26
26
  textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(0);
27
- textEntryMathPage.steps.addInputToResponseAnswerInputFieldSpecifyCorrectAnswer(0, 'Correct answer 1');
27
+ textEntryMathPage.steps.addInputToResponseAnswerInputFieldSpecifyCorrectAnswer(0, 'Correct1');
28
28
  textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(1);
29
29
  textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(1);
30
- textEntryMathPage.steps.selectEquationEditorOptionFromCKEditorToolbar();
31
30
  equationEditorFlyout.steps.enterQuadraticEquation();
32
31
  textEntryMathPage.steps.allotPoints(10);
33
32
  textEntryMathPage.steps.switchToPreviewTab();
@@ -79,7 +78,7 @@ describe('Create item page - Text entry math: Preview contents', () => {
79
78
 
80
79
  it(`User should able to enter answers in the response fields for ${view}`, () => {
81
80
  textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
82
- equationEditorFlyout.steps.enterTextInPreviewInputField('Correct answer 1');
81
+ equationEditorFlyout.steps.enterTextInPreviewInputField('Correct1');
83
82
  equationEditorFlyout.steps.clickOnOkButton();
84
83
  textEntryMathPage.steps.verifyResponseAreaTextContentPreviewTab(0, 'Correct answer 1');
85
84
  textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(1);
@@ -97,7 +96,7 @@ describe('Create item page - Text entry math: Preview contents', () => {
97
96
  });
98
97
  } else {
99
98
  it(`The response input fields should be displayed filled with correct answers`, () => {
100
- textEntryMathPage.steps.verifyResponseAreaTextContentPreviewTab(0, 'Correct answer 1');
99
+ textEntryMathPage.steps.verifyResponseAreaTextContentPreviewTab(0, 'Correct1');
101
100
  textEntryMathPage.steps.verifyResponseAreaTextContentPreviewTab(1, '2x2y2+4xy+4');
102
101
  textEntryMathPage.steps.verifyResponseFieldEquationAriaLabel(1, '2 x squared y squared plus 4 x y plus 4');
103
102
  });
@@ -112,6 +112,8 @@
112
112
  "playerButtonBorder": "rgb(107, 139, 255)",
113
113
  "toggleButtonSelectedBg": "rgb(81, 0, 255)",
114
114
  "UnselectedToggleButton": "rgb(68, 68, 97)",
115
+ "alternateAnswerCount": "rgb(102, 102, 102)",
116
+ "unselectedOptionText": "rgb(0, 0, 124)",
115
117
  "darkThemeBg": "rgb(0, 0, 97)",
116
118
  "darkThemeBtnBg": "rgb(28, 28, 155)",
117
119
  "darkThemeBtnBorder": "rgb(117, 51, 255)",
@@ -857,7 +857,7 @@ const tests = {
857
857
  'font-size': css.fontSize.heading,
858
858
  'font-weight': css.fontWeight.semibold
859
859
  });
860
- utilities.verifyCSS(dialogBoxBase.dialogBoxContent().find('.retake-popup-content'), {
860
+ utilities.verifyCSS(audioResponsePage.retakePopupContent(), {
861
861
  'border-top': `1px solid ${css.color.secondaryBtnBorder}`,
862
862
  'color': css.color.labels,
863
863
  'font-size': css.fontSize.default,
@@ -33,7 +33,7 @@ const steps = {
33
33
  */
34
34
  addAlternativeAnswerAccordion: (accordionIndex) => {
35
35
  autoScoredSpecifyCorrectAnswerSection.steps.clickOnAddAlternativeAnswerButton();
36
- utilities.verifyInnerText(utilities.getNthElement(autoScoredSpecifyCorrectAnswerSection.alternativeAnswerAccordion(), accordionIndex), `Alternative ${accordionIndex}`);
36
+ utilities.verifyInnerText(autoScoredSpecifyCorrectAnswerSection.alternativeAnswerAccordion(), `Alternative ${accordionIndex}`);
37
37
  },
38
38
 
39
39
  verifySpecifyCorrectAnswerErrorIconNotExists: () => {
@@ -18,7 +18,7 @@ const steps = {
18
18
  * otherwise, it verifies the visibility of the incorrect icon.
19
19
  */
20
20
  verifyCorrectIncorrectAnswerLabel: (answerStatus) => {
21
- utilities.verifyElementVisibilityState(correctIncorrectAnswerLabelComponent.correctIncorrectAnswerBlock(), 'visible');
21
+ utilities.verifyElementVisibilityState(correctIncorrectAnswerLabelComponent.correctIncorrectAnswerBlock(), 'exist');
22
22
  utilities.verifyInnerText(correctIncorrectAnswerLabelComponent.correctIncorrectStatusMessageText(), `Your answer is\n${answerStatus}`)
23
23
  if (answerStatus === 'correct') {
24
24
  utilities.verifyElementVisibilityState(autoScoredScoringPreviewTab.correctIcon(), 'visible');
@@ -1,9 +1,11 @@
1
1
  import utilities from "../../support/helpers/utilities";
2
2
  import { autoScoredScoringSectionMultiResponseType } from "./autoScoredScoringSectionMultiResponseType";
3
+ import { draggableOptionsSectionComponent } from "./draggableOptionsSectionComponent";
4
+ import { optionsWrapperComponent } from "./optionsWrapperComponent";
3
5
 
4
6
  const selectors = {
5
7
  dropzoneLabelSpecifyCorrectAnswerSection: () => cy.get('[class*="ResponseLabel"].title-casing'),
6
-
8
+ dropzoneOptionTooltip: () => cy.get('.question-text-popover .question-text-wrapper'),
7
9
  //Penalty points
8
10
  penaltyPointsForEachIncorrectDropzoneInputField: () => cy.get('input[aria-label="Penalty points for each incorrect dropzone"]'),
9
11
  specifyPointsForEachIncorrectDropzoneRadioButton: () => cy.get('input[aria-label*="Specify points for each incorrect"]'),
@@ -14,6 +16,9 @@ const selectors = {
14
16
  tickIconWrapper: () => cy.get('.tick-icon-wrapper'),
15
17
  correctAnswerContainer: () => cy.get('.dnd-correct-answer-wrapper'),
16
18
  correctIncorrectAnswerLabel: () => cy.get('[class*="CorrectIncorrectLabel"]'),
19
+
20
+ //additional settings
21
+ enterAriaLabelInputField: () => cy.get('input[aria-label*="Enter ARIA label"]')
17
22
  }
18
23
 
19
24
  const steps = {
@@ -50,7 +55,7 @@ const steps = {
50
55
  * @param {number} points - The expected penalty points value for each incorrect dropzone.
51
56
  */
52
57
  verifyPenaltyPointsForEachIncorrectDropzoneValue: (points) => {
53
- fillInTheGapsOverImageDragAndDropPage.penaltyPointsForEachIncorrectDropzoneInputField()
58
+ fillInTheGapsDragAndDropCommonComponents.penaltyPointsForEachIncorrectDropzoneInputField()
54
59
  .should('have.value', points);
55
60
  },
56
61
 
@@ -59,7 +64,7 @@ const steps = {
59
64
  * @param {number} points - The penalty points to be allotted for each dropzone.
60
65
  */
61
66
  allotPenaltyPointsForEachIncorrectDropzone: (points) => {
62
- fillInTheGapsOverImageDragAndDropPage.penaltyPointsForEachIncorrectDropzoneInputField()
67
+ fillInTheGapsDragAndDropCommonComponents.penaltyPointsForEachIncorrectDropzoneInputField()
63
68
  .clear()
64
69
  .type(`${points}`)
65
70
  .should('have.value', points)
@@ -67,9 +72,34 @@ const steps = {
67
72
  },
68
73
 
69
74
  selectPenaltyPointsForEachIncorrectDropzone: () => {
70
- fillInTheGapsOverImageDragAndDropPage.specifyPointsForEachIncorrectDropzoneRadioButton()
75
+ fillInTheGapsDragAndDropCommonComponents.specifyPointsForEachIncorrectDropzoneRadioButton()
71
76
  .click();
72
- }
77
+ },
78
+
79
+ /**
80
+ * @description verify the displayed penalty points for each incorrect dropzone
81
+ * @param {number} penaltyPoints displayed penalty points
82
+ */
83
+ verifyPenaltyPointsForEachIncorrectDropzone: (penaltyPoints) => {
84
+ utilities.verifyInnerText(autoScoredScoringSectionMultiResponseType.penaltyPointsDetailsSectionAllottedPointsLabel(), `Penalty points for each incorrect dropzone: ${penaltyPoints}`);
85
+ },
86
+
87
+ setGroupedOptions: () => {
88
+ let flowers = [['Flower', 'Petals', 'Seed', 'Pollen'],
89
+ ['Leaflet', 'Leaves', 'Leaf', 'Green'],
90
+ ['Stem', 'Branch', 'Trunk', 'Tree'],
91
+ ['Rose', 'Lily', 'Orchid', 'Petals']
92
+ ];
93
+ let groupTitles = ['Group A', 'Group B', 'Group C', 'Group D'];
94
+ draggableOptionsSectionComponent.steps.expandDraggableOptionsLayoutDropdown()
95
+ draggableOptionsSectionComponent.steps.selectOptionFromDraggableOptionsLayoutDropdown('Grouped')
96
+ draggableOptionsSectionComponent.steps.addGroupTitle(groupTitles[0]);
97
+ optionsWrapperComponent.steps.addMultipleOptionFields(2);
98
+ optionsWrapperComponent.steps.addInputToOptionsInputField(flowers[0]);
99
+ draggableOptionsSectionComponent.steps.addGroupWithTitleAndOptionsInDraggableOptionsSection(groupTitles[1], flowers[1]);
100
+ draggableOptionsSectionComponent.steps.addGroupWithTitleAndOptionsInDraggableOptionsSection(groupTitles[2], flowers[2]);
101
+ draggableOptionsSectionComponent.steps.addGroupWithTitleAndOptionsInDraggableOptionsSection(groupTitles[3], flowers[3]);
102
+ },
73
103
  }
74
104
 
75
105
  export const fillInTheGapsDragAndDropCommonComponents = {
@@ -38,7 +38,7 @@ const selectors = {
38
38
  },
39
39
  textResponse: () => cy.get('[class*="Canvasstyle__TextBoxContainer"] textarea'),
40
40
  canvasImage: () => cy.get('.canvas-image').eq(0),
41
- canvasImageInPreviewTab: () => cy.get('[class*="PreviewTabstyles"] [class*="ImageWrapper"] img'),
41
+ canvasImageInPreviewTab: () => cy.get('[class*="question-preview-wrapper"] [class*="ImageWrapper"] img'),
42
42
  imagePropertiesLabel: () => cy.get('[class*="ImagePropertiesstyles__SectionLabel"]'),
43
43
  fillImageToCanvasLabel: () => cy.get('[data-ngie-testid="fill-image-to-canvas-checkbox"] .MuiFormControlLabel-label'),
44
44
  fillImageToCanvasCheckbox: () => cy.get('[data-ngie-testid="fill-image-to-canvas-checkbox"] input'),
@@ -53,4 +53,5 @@ export * from './opacityComponent';
53
53
  export * from './imageActionsComponent';
54
54
  export * from './createCustomCategoryFlyout';
55
55
  export * from './customizeMathCharacterComponent';
56
- export * from './fillInTheGapsDragAndDropCommonComponents';
56
+ export * from './fillInTheGapsDragAndDropCommonComponents';
57
+ export * from './responseAreaSettingsPopupComponent';
@@ -98,6 +98,37 @@ const steps = {
98
98
  questionInputFieldComponent.addResponseAreaButton()
99
99
  .parent()
100
100
  .should('not.have.class', 'disabled');
101
+ },
102
+
103
+ /**
104
+ * Click on response area settings button
105
+ * @param {number} responseAreaIndex Index of response area in question input field
106
+ */
107
+ clickOnResponseAreaSettingsButton: (responseAreaIndex) => {
108
+ utilities.getNthElement(questionInputFieldComponent.responseAreaSettingsButton(), responseAreaIndex)
109
+ .click();
110
+ },
111
+
112
+ /**
113
+ * @description Verify width of response area in question input field
114
+ * @param {number} responseAreaIndex index of response area
115
+ * @param {string} width Width of response area in px
116
+ */
117
+ verifyResponseAreaWidth: (responseAreaIndex, width) => {
118
+ utilities.getNthElement(questionInputFieldComponent.responseArea(), responseAreaIndex)
119
+ .find('.add_response_element')
120
+ .should('have.css', 'width', width);
121
+ },
122
+
123
+ /**
124
+ * @description Verify height of response area in question input field
125
+ * @param {number} responseAreaIndex index of response area
126
+ * @param {string} height Height of response area in px
127
+ */
128
+ verifyResponseAreaHeight: (responseAreaIndex, height) => {
129
+ utilities.getNthElement(questionInputFieldComponent.responseArea(), responseAreaIndex)
130
+ .find('.add_response_element')
131
+ .should('have.css', 'height', height);
101
132
  }
102
133
  }
103
134