itemengine-cypress-automation 1.0.131 → 1.0.133-7thMarchFixes-0e78080.0
Sign up to get free protection for your applications and to get access to all the features.
- package/cypress/e2e/ILC/AudioResponseNew/barRecorderStyle.smoke.js +1 -2
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/additionalSettings.js +154 -0
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/dropzoneAlternateAnswerPopup.js +170 -0
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/dropzoneSettings.js +335 -0
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/editTabBasicSection.js +142 -0
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/headerSection.js +76 -0
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +194 -0
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViews.smoke.js +8 -8
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/studentViewSettings.js +341 -0
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/studentViewSettingsForGroupedLayout.js +241 -0
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/allOrNothingForAllView.smoke.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/studentViewSettingsForGroupedLayout.js +3 -3
- package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +350 -0
- package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToCorrectPoints.js +356 -0
- package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +402 -0
- package/cypress/e2e/ILC/Graphing/previewContentsForAllViews.smoke.js +4 -4
- package/cypress/e2e/ILC/SimpleCalculator/editTabFunctionality.js +242 -0
- package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViews.smoke.js +11 -16
- package/cypress/e2e/ILC/TextEntryMath/checkAnswerFunctionalityForAllViews.smoke.js +4 -6
- package/cypress/e2e/ILC/TextEntryMath/previewContentsForAllViews.smoke.js +3 -4
- package/cypress/fixtures/theme/ilc.json +2 -0
- package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +1 -1
- package/cypress/pages/components/correctIncorrectAnswerLabelComponent.js +1 -1
- package/cypress/pages/components/fillInTheGapsDragAndDropCommonComponents.js +35 -5
- package/cypress/pages/components/imageCanvasComponent.js +1 -1
- package/cypress/pages/components/index.js +2 -1
- package/cypress/pages/components/questionInputFieldComponent.js +31 -0
- package/cypress/pages/components/responseAreaSettingsPopupComponent.js +74 -0
- package/cypress/pages/drawingResponsePage.js +1 -1
- package/cypress/pages/fillInTheGapsDragAndDropPage.js +318 -62
- package/cypress/pages/fillInTheGapsOverImageDragAndDropPage.js +2 -26
- package/cypress/pages/fillInTheGapsOverImageDropdownPage.js +24 -1
- package/cypress/pages/simpleCalculatorPage.js +140 -10
- package/cypress/pages/textEntryMathPage.js +3 -2
- 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, '
|
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, '
|
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, '
|
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(['
|
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(['
|
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('
|
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(['
|
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('
|
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(['
|
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('
|
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, '
|
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, '
|
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('
|
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('
|
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('
|
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, '
|
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('
|
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, '
|
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)",
|
@@ -33,7 +33,7 @@ const steps = {
|
|
33
33
|
*/
|
34
34
|
addAlternativeAnswerAccordion: (accordionIndex) => {
|
35
35
|
autoScoredSpecifyCorrectAnswerSection.steps.clickOnAddAlternativeAnswerButton();
|
36
|
-
utilities.verifyInnerText(
|
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(), '
|
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
|
-
|
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
|
-
|
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
|
-
|
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*="
|
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
|
|