itemengine-cypress-automation 1.0.206-12thJuneFixesAndRepoUpdate-5fe2304.0 → 1.0.207-18thJuneRepoUpdate-460e9c8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. package/cypress/e2e/ILC/ChartsBar/Scoring/addAndDeleteBarAllOrNothingScoring.js +1 -1
  2. package/cypress/e2e/ILC/ChartsBar/gridSettings.js +3 -3
  3. package/cypress/e2e/ILC/ChartsBar/labelOptionsSection.js +2 -0
  4. package/cypress/e2e/ILC/ChartsBar/previewContentsForAllViews.smoke.js +17 -17
  5. package/cypress/e2e/ILC/ChartsBar/selectChartTypeSection.js +747 -0
  6. package/cypress/e2e/ILC/ChartsBar/specifyCorrectAnswerSection.js +1 -1
  7. package/cypress/e2e/ILC/ChartsLine/previewContentsForAllViews.smoke.js +7 -7
  8. package/cypress/e2e/ILC/EssayResponse/additionalSettings.js +257 -0
  9. package/cypress/e2e/ILC/EssayResponse/toolSettings.js +73 -0
  10. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/Scoring/manuallyAndNonScored.js +1 -1
  11. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/additionalSettingsBasic.js +2 -2
  12. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/additionalSettingsForDropdowns.js +1 -1
  13. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editTabBasicSection.js +3 -3
  14. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/previewContentsForAllViews.smoke.js +1 -1
  15. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/specifyCorrectAnswerSection.js +2 -2
  16. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/backgroundImageAndCanvasProperties.js +1 -0
  17. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/studentViewSettings.js +2 -2
  18. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +1 -1
  19. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/specifyCorrectAnswerSection.js +3 -2
  20. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/styleAndLayoutCutomization.js +2 -2
  21. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +1 -1
  22. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/allOrNothingForAllViews.smoke.js +1 -1
  23. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/backgroundImageAndCanvasProperties.js +4 -3
  24. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/styleAndLayoutCustomization.js +29 -26
  25. package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/manuallyAndNonScored.js +1 -1
  26. package/cypress/e2e/ILC/FillInTheGapsTextNew/additionalSettingsForAnswerInputFields.js +1 -1
  27. package/cypress/e2e/ILC/FillInTheGapsTextNew/allOrNothingForAllViews.smoke.js +1 -1
  28. package/cypress/e2e/ILC/FillInTheGapsTextNew/editTabBasicSection.js +3 -3
  29. package/cypress/e2e/ILC/FillInTheGapsTextNew/previewContentsForAllViews.smoke.js +1 -1
  30. package/cypress/e2e/ILC/ImageHighlight/customiseHighlightStyle.js +707 -0
  31. package/cypress/e2e/ILC/ImageHighlight/imageHighlightStyle.js +4 -3
  32. package/cypress/pages/chartsBarPage.js +212 -35
  33. package/cypress/pages/chartsDotPlotPage.js +10 -25
  34. package/cypress/pages/components/barAndLineChartComponent.js +54 -5
  35. package/cypress/pages/components/chartsCommonComponent.js +16 -1
  36. package/cypress/pages/components/createQuestionBasePage.js +1 -1
  37. package/cypress/pages/components/figCommonStyleAndLayoutComponent.js +1 -1
  38. package/cypress/pages/components/imageCanvasComponent.js +3 -3
  39. package/cypress/pages/essayResponsePage.js +152 -2
  40. package/cypress/pages/imageHighlightPage.js +398 -15
  41. package/cypress/pages/matchingPage.js +1 -0
  42. package/package.json +1 -1
@@ -61,7 +61,7 @@ describe('Create Item page - Charts - Bar chart: Specify correct answer, Alterna
61
61
 
62
62
  it('Locked dot column should be displayed in alternative accordion', () => {
63
63
  chartsBarPage.steps.verifyLockedBarInSpecifyCorrectAnswer({ barIndex: 0, barValue: 2, range: 10 });
64
- chartsBarPage.steps.verifyLockedBarIsUneditableInSpecifyCorrectAnswer(0);
64
+ chartsBarPage.steps.verifyLockedBarIsNotEditableInSpecifyCorrectAnswer(0);
65
65
  });
66
66
 
67
67
  it('User should be able to add another alternative answer for the question using \'Add alternative answer\' button and the label for this new accordion should be \'Alternative 2\'', () => {
@@ -70,8 +70,8 @@ describe('Create item page: Charts - Line - Preview contents in all views', () =
70
70
  });
71
71
 
72
72
  it('The toolbar options - Add point, Undo, Redo and Reset should be displayed in the preview tab and only Add point button should be enabled', () => {
73
- utilities.verifyElementVisibilityState(chartsLinePage.previewTabToolsAddBarOrPointButton(), 'visible');
74
- utilities.verifyElementNotDisabled(chartsLinePage.previewTabToolsAddBarOrPointButton());
73
+ utilities.verifyElementVisibilityState(chartsLinePage.previewTabToolsAddBarOrPointButton('Add point'), 'visible');
74
+ utilities.verifyElementNotDisabled(chartsLinePage.previewTabToolsAddBarOrPointButton('Add point'));
75
75
  utilities.verifyElementVisibilityState(chartsLinePage.previewTabToolsUndoButton(), 'visible');
76
76
  utilities.verifyElementDisabled(chartsLinePage.previewTabToolsUndoButton());
77
77
  utilities.verifyElementVisibilityState(chartsLinePage.previewTabToolsRedoButton(), 'visible');
@@ -147,7 +147,7 @@ describe('Create item page: Charts - Line - Preview contents in all views', () =
147
147
  });
148
148
 
149
149
  it('CSS of preview tab contents', { tags: 'css' }, () => {
150
- utilities.verifyCSS(chartsLinePage.previewTabToolsAddBarOrPointButton(), {
150
+ utilities.verifyCSS(chartsLinePage.previewTabToolsAddBarOrPointButton('Add point'), {
151
151
  'background-color': css.color.activeButtons
152
152
  });
153
153
  utilities.verifyCSS(chartsLinePage.previewTabGraphTitle(), {
@@ -237,12 +237,12 @@ describe('Create item page: Charts - Line - Preview contents in all views', () =
237
237
  });
238
238
 
239
239
  it('When user hovers on the enabled add point button, then tooltip \'Add point\' should be displayed', () => {
240
- chartsLinePage.previewTabToolsAddBarOrPointButton()
240
+ chartsLinePage.previewTabToolsAddBarOrPointButton('Add point')
241
241
  .verifyTooltip('Add point');
242
242
  });
243
243
 
244
244
  it('CSS of the tooltip text', { tags: 'css' }, () => {
245
- utilities.hoverOverElement(chartsLinePage.previewTabToolsAddBarOrPointButton());
245
+ utilities.hoverOverElement(chartsLinePage.previewTabToolsAddBarOrPointButton('Add point'));
246
246
  utilities.verifyCSS(chartsLinePage.tooltipText(), {
247
247
  'color': css.color.whiteText,
248
248
  'font-size': css.fontSize.small,
@@ -253,7 +253,7 @@ describe('Create item page: Charts - Line - Preview contents in all views', () =
253
253
  });
254
254
 
255
255
  it('Accessibility of the tooltip text', { tags: 'a11y' }, () => {
256
- utilities.hoverOverElement(chartsLinePage.previewTabToolsAddBarOrPointButton());
256
+ utilities.hoverOverElement(chartsLinePage.previewTabToolsAddBarOrPointButton('Add point'));
257
257
  utilities.verifyElementVisibilityState(chartsLinePage.tooltipText(), 'visible');
258
258
  cy.checkAccessibility(chartsLinePage.tooltipText().parents('[role="tooltip"]'));
259
259
  utilities.hoverAwayFromElement();
@@ -564,7 +564,7 @@ describe('Create item page: Charts - Line - Preview contents in all views', () =
564
564
  it('When the user clicks on Reset button and confirms reset, then all the chart actions should be reverted and chart should be reverted to default state', () => {
565
565
  chartsLinePage.steps.clickOnResetButtonPreviewTab();
566
566
  chartsLinePage.steps.confirmReset();
567
- utilities.verifyElementNotDisabled(chartsLinePage.previewTabToolsAddBarOrPointButton());
567
+ utilities.verifyElementNotDisabled(chartsLinePage.previewTabToolsAddBarOrPointButton('Add point'));
568
568
  utilities.verifyElementVisibilityState(chartsLinePage.previewTabToolsUndoButton(), 'visible');
569
569
  utilities.verifyElementDisabled(chartsLinePage.previewTabToolsUndoButton());
570
570
  utilities.verifyElementVisibilityState(chartsLinePage.previewTabToolsRedoButton(), 'visible');
@@ -0,0 +1,257 @@
1
+ import { essayResponsePage } from "../../../pages";
2
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
3
+ import utilities from "../../../support/helpers/utilities";
4
+ const css = Cypress.env('css');
5
+
6
+ const clipboardFunctions = ['Cut', 'Copy', 'Paste'];
7
+
8
+ describe('Create item - Essay response - Additional settings - Student response area and layout', () => {
9
+ before(() => {
10
+ cy.loginAs('admin');
11
+ });
12
+
13
+ describe('Additional Settings: Student response area and layout label and css', () => {
14
+ abortEarlySetup();
15
+ before(() => {
16
+ essayResponsePage.steps.navigateToCreateQuestion('essay response');
17
+ essayResponsePage.steps.expandAdditionalSettings();
18
+ });
19
+
20
+ it('When user opens the additional settings accordian then a \'Student response area and layout\' label should be displayed', () => {
21
+ utilities.verifyElementVisibilityState(essayResponsePage.studentResponseAreaAndLayoutLabel(), 'visible');
22
+ utilities.verifyInnerText(essayResponsePage.studentResponseAreaAndLayoutLabel(), 'Student response area and layout');
23
+ });
24
+
25
+ it('CSS of \'Student response area and layout\' section', { tags: 'css' }, () => {
26
+ utilities.verifyCSS(essayResponsePage.studentResponseAreaAndLayoutLabel(), {
27
+ 'color': css.color.sectionHeading,
28
+ 'font-size': css.fontSize.default,
29
+ 'font-weight': css.fontWeight.semibold
30
+ });
31
+ });
32
+
33
+ it('Accessibility of \'Student response area and layout\' section', { tags: 'a11y' }, () => {
34
+ cy.checkAccessibility(essayResponsePage.studentResponseAreaAndLayoutLabel().parent('[class*="MuiAccordionDetails-root"]'));
35
+ });
36
+ });
37
+
38
+ describe('Additional Settings: Placeholder text content css and functionality', () => {
39
+ abortEarlySetup();
40
+ before(() => {
41
+ essayResponsePage.steps.navigateToCreateQuestion('essay response');
42
+ essayResponsePage.steps.expandAdditionalSettings();
43
+ });
44
+
45
+ it('\'Placeholder text\' label and input field should be displayed and by default the input field should be empty', () => {
46
+ utilities.verifyElementVisibilityState(essayResponsePage.placeholderTextLabel(), 'visible');
47
+ utilities.verifyInnerText(essayResponsePage.placeholderTextLabel(), 'Placeholder text');
48
+ utilities.verifyElementVisibilityState(essayResponsePage.placeholderTextInputField(), 'visible');
49
+ essayResponsePage.steps.verifyPlaceholderInputFieldIsEmpty();
50
+ });
51
+
52
+ it('CSS of \'Placeholder text\' section', { tags: 'css' }, () => {
53
+ utilities.verifyCSS(essayResponsePage.placeholderTextLabel(), {
54
+ 'color': css.color.labels,
55
+ 'font-size': css.fontSize.normal,
56
+ 'font-weight': css.fontWeight.semibold
57
+ });
58
+ utilities.verifyCSS(essayResponsePage.placeholderTextInputField(), {
59
+ 'color': css.color.text,
60
+ 'font-size': css.fontSize.default,
61
+ 'font-weight': css.fontWeight.regular
62
+ });
63
+ });
64
+
65
+ it('Accessibility of \'Placeholder text\' section', { tags: 'a11y' }, () => {
66
+ cy.checkAccessibility(essayResponsePage.placeholderTextLabel().parent('[class*="StudentResponseAreaLayoutstyles__PlaceHolderWrapper"]'));
67
+ });
68
+
69
+ it('The user should be able to add \'Placeholder text\' and the \'Placeholder text\' added by the user should be displayed in the response field in the preview tab.', () => {
70
+ essayResponsePage.steps.typeAndVerifyPlaceholderInputText('Lorem Ipsum');
71
+ essayResponsePage.steps.switchToPreviewTab();
72
+ essayResponsePage.steps.verifyPlaceholderTextPreviewTab('Lorem Ipsum');
73
+ });
74
+
75
+ it('When the user starts typing in the response field in the preview tab, then the placeholder text should disappear', () => {
76
+ essayResponsePage.steps.enterTextInResponseField('dolor sit amet');
77
+ essayResponsePage.steps.verifyPlaceholderTextNotPresentInPreviewTab();
78
+ });
79
+
80
+ it('When the user clears the entered text in the response field, then the placeholder text should appear again', () => {
81
+ essayResponsePage.steps.clearResponseField();
82
+ essayResponsePage.steps.focusOutOfResponseField();
83
+ essayResponsePage.steps.verifyPlaceholderTextPreviewTab('Lorem Ipsum');
84
+ });
85
+ });
86
+
87
+ describe('Additional settings: Clipboard functions - contents, css and accessibility', () => {
88
+ abortEarlySetup();
89
+ before(() => {
90
+ essayResponsePage.steps.navigateToCreateQuestion('essay response');
91
+ essayResponsePage.steps.expandAdditionalSettings();
92
+ });
93
+
94
+ it('Clipboard functions label should be displayed', () => {
95
+ utilities.verifyInnerText(essayResponsePage.clipboardFunctionLabel(), 'Clipboard functions');
96
+ utilities.verifyElementVisibilityState(essayResponsePage.clipboardFunctionLabel(), 'visible');
97
+ });
98
+
99
+ it(`3 clipboard function buttons ${clipboardFunctions.join(', ')} should be displayed and by default all of them should be in selected`, () => {
100
+ for (var i = 0; i < clipboardFunctions.length; i++) {
101
+ essayResponsePage.steps.verifyClipBoardButton(i);
102
+ }
103
+ });
104
+
105
+ clipboardFunctions.forEach((functionName, index) => {
106
+ it(`When user hovers over '${functionName}' clipboard function button, then tooltip '${functionName}' should be displayed`, () => {
107
+ essayResponsePage.clipboardFunctionButton(index)
108
+ .verifyTooltip(functionName);
109
+ });
110
+ });
111
+
112
+ it('CSS of clipboard functions in selected state', { tags: 'css' }, () => {
113
+ for (var i = 0; i < clipboardFunctions.length; i++) {
114
+ utilities.verifyCSS(essayResponsePage.clipboardFunctionButton(i), {
115
+ 'background-color': css.color.activeButtons,
116
+ 'color': css.color.secondaryBtnBg,
117
+ 'font-size': css.fontSize.default,
118
+ 'font-weight': css.fontWeight.regular
119
+ });
120
+ }
121
+ });
122
+
123
+ it('User should be able to unselect all the buttons', () => {
124
+ for (var i = 0; i < clipboardFunctions.length; i++) {
125
+ essayResponsePage.steps.unselectClipboardFunctionButton(i);
126
+ }
127
+ });
128
+
129
+ it('CSS of clipborad functions in unselected state', { tags: 'css' }, () => {
130
+ for (var i = 0; i < clipboardFunctions.length; i++) {
131
+ utilities.verifyCSS(essayResponsePage.clipboardFunctionButton(i), {
132
+ 'background-color': css.color.secondaryBtnBg,
133
+ 'color': css.color.unselectedOptionText,
134
+ 'font-size': css.fontSize.default,
135
+ 'font-weight': css.fontWeight.regular
136
+ });
137
+ }
138
+ });
139
+
140
+ it('Accessibility of clipboard functions', { tags: 'a11y' }, () => {
141
+ cy.checkAccessibility(essayResponsePage.clipboardFunctionLabel().parents('[class*="ToggleButtonGroupMUIstyle__ToggleButtonWrapper"]'));
142
+ });
143
+ });
144
+
145
+ describe('Additional settings: Set input field (px) content css and functionality', () => {
146
+ abortEarlySetup();
147
+ before(() => {
148
+ essayResponsePage.steps.navigateToCreateQuestion('essay response');
149
+ essayResponsePage.steps.expandAdditionalSettings();
150
+ });
151
+
152
+ it('\'Set input field height (px)\' label should be displayed along with \'Set height\' and \'No scrolling\' toggle buttons and by default \'Set height\' should be selected', () => {
153
+ utilities.verifyElementVisibilityState(essayResponsePage.setInputFieldheightLabel(), 'visible');
154
+ utilities.verifyInnerText(essayResponsePage.setInputFieldheightLabel(), 'Set input field height (px)');
155
+ utilities.verifyElementCount(essayResponsePage.setInputFieldheightToggleButton(), 2);
156
+ utilities.verifyElementVisibilityState(essayResponsePage.setInputFieldheightToggleButton(), 'visible');
157
+ utilities.verifyInnerText(essayResponsePage.setInputFieldheightToggleButton('Set height'), 'Set height');
158
+ utilities.verifyInnerText(essayResponsePage.setInputFieldheightToggleButton('No scrolling'), 'No scrolling');
159
+ essayResponsePage.steps.selectSetHeightNoScrollingToggleButton('Set height');
160
+ });
161
+
162
+ it('CSS of \'Set input field height\'', { tags: 'css' }, () => {
163
+ utilities.verifyCSS(essayResponsePage.setInputFieldheightLabel(), {
164
+ 'color': css.color.labels,
165
+ 'font-size': css.fontSize.normal,
166
+ 'font-weight': css.fontWeight.semibold
167
+ });
168
+ utilities.verifyCSS(essayResponsePage.setInputFieldheightToggleButton('Set height'), {
169
+ 'background-color': css.color.activeButtons,
170
+ 'color': css.color.secondaryBtnBg,
171
+ 'font-size': css.fontSize.default,
172
+ 'font-weight': css.fontWeight.regular
173
+ });
174
+ utilities.verifyCSS(essayResponsePage.setInputFieldheightToggleButton('No scrolling'), {
175
+ 'background-color': css.color.secondaryBtnBg,
176
+ 'color': css.color.unselectedOptionText,
177
+ 'font-size': css.fontSize.default,
178
+ 'font-weight': css.fontWeight.regular
179
+ });
180
+ });
181
+
182
+ it('Accessibility of \'Set input field height\'', { tags: 'a11y' }, () => {
183
+ cy.checkAccessibility(essayResponsePage.setInputFieldheightToggleButton().parents('[class*="StudentResponseAreaLayoutstyles__InputHeightWrapper"]'));
184
+ });
185
+
186
+ it('When user selects \'No scrolling\' toggle option, then the \'Maximum input field height\' label and input field should not be visible', () => {
187
+ essayResponsePage.steps.selectSetHeightNoScrollingToggleButton('No scrolling');
188
+ utilities.verifyElementVisibilityState(essayResponsePage.maxHeightLabel(), 'notExist');
189
+ utilities.verifyElementVisibilityState(essayResponsePage.maxHeightInputField(), 'notExist');
190
+ });
191
+ });
192
+
193
+ describe('Additional Settings: Minimum and Maximum input field height', () => {
194
+ abortEarlySetup();
195
+ before(() => {
196
+ essayResponsePage.steps.navigateToCreateQuestion('essay response');
197
+ essayResponsePage.steps.expandAdditionalSettings();
198
+ });
199
+
200
+ it('\'Minimum input field height (px)\' and \'Maximum input field height (px)\' labels and input fields should be displayed and by default \'Minimum input field height (px)\' input filed should have value 100 and \'Maximum input field height (px)\' input field should be empty', () => {
201
+ utilities.verifyElementVisibilityState(essayResponsePage.minHeightLabel(), 'visible');
202
+ utilities.verifyInnerText(essayResponsePage.minHeightLabel(), 'Minimum input field height (px)');
203
+ utilities.verifyElementVisibilityState(essayResponsePage.maxHeightLabel(), 'visible');
204
+ utilities.verifyInnerText(essayResponsePage.maxHeightLabel(), 'Maximum input field height (px)');
205
+ utilities.verifyElementVisibilityState(essayResponsePage.minimumHeightInputField(), 'visible');
206
+ utilities.verifyElementVisibilityState(essayResponsePage.maximumHeightInputField(), 'visible');
207
+ essayResponsePage.steps.verifyMinHeightInputFieldValue('100');
208
+ essayResponsePage.steps.verifyMaxHeightInputFieldValue('');
209
+ });
210
+
211
+ it('CSS of \'Minimum input field height (px)\' and \'Maximum input field height (px)\' section', { tags: 'css' }, () => {
212
+ utilities.verifyCSS(essayResponsePage.minHeightLabel(), {
213
+ 'color': css.color.labels,
214
+ 'font-size': css.fontSize.normal,
215
+ 'font-weight': css.fontWeight.semibold
216
+ });
217
+ utilities.verifyCSS(essayResponsePage.minimumHeightInputField(), {
218
+ 'color': css.color.text,
219
+ 'font-size': css.fontSize.default,
220
+ 'font-weight': css.fontWeight.regular
221
+ });
222
+ utilities.verifyCSS(essayResponsePage.maxHeightLabel(), {
223
+ 'color': css.color.labels,
224
+ 'font-size': css.fontSize.normal,
225
+ 'font-weight': css.fontWeight.semibold
226
+ });
227
+ utilities.verifyCSS(essayResponsePage.maximumHeightInputField(), {
228
+ 'color': css.color.text,
229
+ 'font-size': css.fontSize.default,
230
+ 'font-weight': css.fontWeight.regular
231
+ });
232
+ });
233
+
234
+ it('Accessibility of \'Minimum input field height (px)\' and \'Maximum input field height (px)\' section', { tags: 'a11y' }, () => {
235
+ cy.checkAccessibility(essayResponsePage.minHeightLabel().parents('[class*="StudentResponseAreaLayoutstyles__SizeWrapper"]'));
236
+ });
237
+
238
+ it('When user switches to preview tab the height of response field should be should be 100px which is the default value of \'Minimum input field height (px)\'', () => {
239
+ essayResponsePage.steps.switchToPreviewTab();
240
+ essayResponsePage.steps.verifyMinHeightResponseField('100px');
241
+ });
242
+
243
+ it('When user updates the value of \'Minimum input field height (px)\' then the height of the response field in the preview tab should get updated accordingly', () => {
244
+ essayResponsePage.steps.switchToEditTab();
245
+ essayResponsePage.steps.setMinHeightInput('200');
246
+ essayResponsePage.steps.switchToPreviewTab();
247
+ essayResponsePage.steps.verifyMinHeightResponseField('200px');
248
+ });
249
+
250
+ it('When user updates the value of \'Maximum input field height (px)\' then the height of the response field in the preview tab should get updated accordingly', () => {
251
+ essayResponsePage.steps.switchToEditTab();
252
+ essayResponsePage.steps.setMaxHeightInput('400');
253
+ essayResponsePage.steps.switchToPreviewTab();
254
+ essayResponsePage.steps.verifyMaxHeightResponseField('400px');
255
+ });
256
+ });
257
+ });
@@ -0,0 +1,73 @@
1
+ import { toolSettingsComponent } from "../../../pages/components";
2
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
3
+ import utilities from "../../../support/helpers/utilities";
4
+ import { dialogBoxBase, essayResponsePage, rulerPage } from "../../../pages";
5
+
6
+ const css = Cypress.env('css');
7
+
8
+ describe('Create Item page: Tool settings', () => {
9
+ before(() => {
10
+ cy.loginAs('admin');
11
+ });
12
+
13
+ describe('Tool settings: Contents', () => {
14
+ abortEarlySetup();
15
+ before(() => {
16
+ essayResponsePage.steps.navigateToCreateQuestion('essay response');
17
+ });
18
+
19
+ toolSettingsComponent.tests.verifyToolSettingsContent();
20
+ });
21
+
22
+ describe('Tool settings: Edit tool settings', () => {
23
+ abortEarlySetup();
24
+ before(() => {
25
+ essayResponsePage.steps.navigateToCreateQuestion('essay response');
26
+ toolSettingsComponent.steps.expandToolSettingsAccordion();
27
+ });
28
+
29
+ it('When user clicks on edit icon for ruler tool, then popup for ruler tool settings should be displayed', () => {
30
+ toolSettingsComponent.steps.clickOnToolEditIcon(0);
31
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
32
+ });
33
+
34
+ it('When user modifies the settings for the ruler tool and clicks the \'Ok\' button, then ruler tool should enter selected state.', () => {
35
+ rulerPage.steps.expandUnitOfMeasurementDropdown();
36
+ rulerPage.steps.selectOptionFromUnitOfMeasurementDropdown('Inch');
37
+ rulerPage.steps.selectOptionFromLengthOfRulerOptions('12 in');
38
+ rulerPage.steps.selectColorBlock(1);
39
+ rulerPage.steps.expandRotationDropdown();
40
+ rulerPage.steps.selectOptionFromRotationDropdown('Allow rotation and display angle');
41
+ rulerPage.steps.enterInputToOpacityInputField(60);
42
+ rulerPage.steps.checkAddShowHideButtonCheckbox();
43
+ toolSettingsComponent.steps.clickOnOkButton();
44
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'notExist');
45
+ toolSettingsComponent.steps.verifyToolSelectedState(0);
46
+ });
47
+
48
+ it('When user has made changes for ruler tool in edit tab then changes should be reflected in the ruler tool in the preview tab', () => {
49
+ cy.log('Switching to Preview Tab');
50
+ rulerPage.steps.switchToPreviewTab();
51
+ rulerPage.steps.verifyPreviewTabRulerVisibilityButtonLabel('Show');
52
+ rulerPage.steps.clickOnRulerVisibilityButton();
53
+ utilities.verifyElementVisibilityState(rulerPage.rulerPreviewTab(), 'visible');
54
+ rulerPage.steps.verifyLengthOfRulerInPreview('12in');
55
+ rulerPage.steps.verifyColorOfRulerInPreview(1);
56
+ rulerPage.steps.verifyRulerOpacityInPreview('0.6');
57
+ rulerPage.steps.verifyRotationButtonWithDegreeVisible();
58
+ });
59
+
60
+ it('CSS of the \'Hide ruler\' button', { tags: 'css' }, () => {
61
+ utilities.verifyCSS(rulerPage.rulerVisibilityButtonPreviewTab(), {
62
+ 'border': `1px solid ${css.color.activeButtons}`,
63
+ 'background-color': css.color.defaultBackground,
64
+ 'font-size': css.fontSize.normal,
65
+ 'font-weight': css.fontWeight.semibold
66
+ });
67
+ });
68
+
69
+ it('Accessibility of \'Hide ruler\' button', { tags: 'a11y' }, () => {
70
+ cy.checkAccessibility(rulerPage.rulerVisibilityButtonPreviewTab().parents('[class*="ItemEnginestyles__MainWrapper"]'));
71
+ });
72
+ });
73
+ });
@@ -25,7 +25,7 @@ describe('Create Item page - Fill in the gaps with dropdown: Manually and non sc
25
25
 
26
26
  it('Question instructions, question preview and response areas should be displayed in the preview tab', () => {
27
27
  fillInTheGapsDropdownPage.steps.verifyQuestionInstructionsTextPreviewTab('fill in the gaps');
28
- utilities.verifyInnerText(fillInTheGapsDropdownPage.questionContainerPreviewTab(), 'Lorem ipsum dolor sit amet, \n​\n​\nonsectetur adipiscing elit. Ut pellentesque tinciduntornare. Integer porttitor est quis urna porttitor, eget tempus tellus dapibus \n​\n​')
28
+ utilities.verifyInnerText(fillInTheGapsDropdownPage.questionContainerPreviewTab(), 'Lorem ipsum dolor sit amet, \n​\n​\n onsectetur adipiscing elit. Ut pellentesque tinciduntornare. Integer porttitor est quis urna porttitor, eget tempus tellus dapibus \n​\n​')
29
29
  utilities.verifyElementCount(fillInTheGapsDropdownPage.dropdownPreviewTab(), 2);
30
30
  fillInTheGapsDropdownPage.steps.verifyTextInDropdownsInPreviewTab([{ dropdownIndex: 0, dropdownText: '​' }, { dropdownIndex: 1, dropdownText: '​' }]);
31
31
  });
@@ -88,7 +88,7 @@ describe('Fill In the gaps with dropdown - Additional settings', () => {
88
88
  'font-size': fontSizes[option]
89
89
  });
90
90
  fillInTheGapsDropdownPage.steps.expandDropdownInPreviewTab(0);
91
- utilities.verifyCSS(fillInTheGapsDropdownPage.dropdownTextLabel(), {
91
+ utilities.verifyCSS(fillInTheGapsDropdownPage.dropdownListOptions().find('.dropdown-label-text'), {
92
92
  'font-size': fontSizes[option]
93
93
  });
94
94
  fillInTheGapsDropdownPage.steps.selectOptionFromDropdownList(correctAnswerArray[0]);
@@ -124,7 +124,7 @@ describe('Fill In the gaps with dropdown - Additional settings', () => {
124
124
 
125
125
  fillInTheGapsDropdownPage.tests.verifyAdditionalSettingsAccessibilitySection();
126
126
  });
127
-
127
+
128
128
  describe('Additional Settings: Details section', () => {
129
129
  abortEarlySetup();
130
130
  before(() => {
@@ -212,7 +212,7 @@ describe('Fill In the gaps with dropdown - Additional settings : Placeholder tex
212
212
  fillInTheGapsDropdownPage.steps.selectEnumerationType('without enumeration');
213
213
  fillInTheGapsDropdownPage.steps.switchToPreviewTab();
214
214
  fillInTheGapsDropdownPage.steps.switchToGradingView();
215
- utilities.verifyInnerText(fillInTheGapsDropdownPage.correctAnswerSectionWithoutEnumerationWrapper(), 'Lorem ipsum dolor sit amet, \nFlower\n​\nonsectetur adipiscing elit. Ut pellentesque tinciduntornare. Integer porttitor est quis urna porttitor, eget tempus tellus dapibus \nLeaf\n​');
215
+ utilities.verifyInnerText(fillInTheGapsDropdownPage.correctAnswerSectionWithoutEnumerationWrapper(), 'Lorem ipsum dolor sit amet, \nFlower\n​\n onsectetur adipiscing elit. Ut pellentesque tinciduntornare. Integer porttitor est quis urna porttitor, eget tempus tellus dapibus \nLeaf\n​');
216
216
  fillInTheGapsDropdownPage.steps.verifyCorrectAnswerResponsesWithoutEnumeration(['Flower', 'Leaf']);
217
217
  fillInTheGapsDropdownPage.steps.verifyDropdownNumerationNotExistsPreviewTab();
218
218
  utilities.verifyElementVisibilityState(fillInTheGapsDropdownPage.correctAnswerResponseNumeration(), 'notExist');
@@ -40,7 +40,7 @@ describe('Create item page - Fill in the gaps: Question instructions, Options se
40
40
 
41
41
  it('\'Question\' label and input field should be displayed and by default in the question input field, sample \'Lorem Ipsum\' text along with two dropdowns should be present', () => {
42
42
  utilities.verifyInnerText(fillInTheGapsDropdownPage.questionLabel(), 'Question');
43
- utilities.verifyInnerText(fillInTheGapsDropdownPage.questionInputField(), 'Lorem ipsum dolor sit amet, \n1\nclose\nonsectetur adipiscing elit. Ut pellentesque tinciduntornare. Integer porttitor est quis urna porttitor, eget tempus tellus dapibus \n2\nclose');
43
+ utilities.verifyInnerText(fillInTheGapsDropdownPage.questionInputField(), 'Lorem ipsum dolor sit amet, \n1\nclose\n onsectetur adipiscing elit. Ut pellentesque tinciduntornare. Integer porttitor est quis urna porttitor, eget tempus tellus dapibus \n2\nclose');
44
44
  utilities.verifyElementCount(fillInTheGapsDropdownPage.responseArea(), 2);
45
45
  });
46
46
 
@@ -131,14 +131,14 @@ describe('Create item page - Fill in the gaps: Question instructions, Options se
131
131
  fillInTheGapsDropdownPage.steps.switchToEditTab();
132
132
  fillInTheGapsDropdownPage.steps.addInputToQuestionInputField('Lorem ipsum');
133
133
  fillInTheGapsDropdownPage.steps.switchToPreviewTab();
134
- utilities.verifyInnerText(fillInTheGapsDropdownPage.questionContainerPreviewTab(), 'Lorem ipsum dolor sit amet, \n​\n​\nonsectetur adipiscing elit. Ut pellentesque tinciduntornare. Integer porttitor est quis urna porttitor, eget tempus tellus dapibus \n​\n​\n​\n​\nLorem ipsum');
134
+ utilities.verifyInnerText(fillInTheGapsDropdownPage.questionContainerPreviewTab(), 'Lorem ipsum dolor sit amet, \n​\n​\n onsectetur adipiscing elit. Ut pellentesque tinciduntornare. Integer porttitor est quis urna porttitor, eget tempus tellus dapibus \n​\n​\n​\n​\nLorem ipsum');
135
135
  });
136
136
 
137
137
  it('When the user deletes a dropdown, it should get deleted from the question preview', () => {
138
138
  fillInTheGapsDropdownPage.steps.switchToEditTab();
139
139
  fillInTheGapsDropdownPage.steps.deleteAResponseArea(2);
140
140
  fillInTheGapsDropdownPage.steps.switchToPreviewTab();
141
- utilities.verifyInnerText(fillInTheGapsDropdownPage.questionContainerPreviewTab(), 'Lorem ipsum dolor sit amet, \n​\n​\nonsectetur adipiscing elit. Ut pellentesque tinciduntornare. Integer porttitor est quis urna porttitor, eget tempus tellus dapibus \n​\n​\nLorem ipsum');
141
+ utilities.verifyInnerText(fillInTheGapsDropdownPage.questionContainerPreviewTab(), 'Lorem ipsum dolor sit amet, \n​\n​\n onsectetur adipiscing elit. Ut pellentesque tinciduntornare. Integer porttitor est quis urna porttitor, eget tempus tellus dapibus \n​\n​\nLorem ipsum');
142
142
  });
143
143
  });
144
144
  });
@@ -72,7 +72,7 @@ describe('Create item page - Fill in the gaps with dropdown - Preview contents i
72
72
  if (view !== 'Grading view' && view !== 'Correct answer view') {
73
73
  it('The sample \'Lorem Ipsum\' text along with two response dropdowns should be displayed', () => {
74
74
  utilities.verifyElementCount(fillInTheGapsDropdownPage.dropdownPreviewTab(), 2);
75
- utilities.verifyInnerText(fillInTheGapsDropdownPage.questionContainerPreviewTab(), 'Lorem ipsum dolor sit amet, \n​\n​\nonsectetur adipiscing elit. Ut pellentesque tinciduntornare. Integer porttitor est quis urna porttitor, eget tempus tellus dapibus \n​\n​');
75
+ utilities.verifyInnerText(fillInTheGapsDropdownPage.questionContainerPreviewTab(), 'Lorem ipsum dolor sit amet, \n​\n​\n onsectetur adipiscing elit. Ut pellentesque tinciduntornare. Integer porttitor est quis urna porttitor, eget tempus tellus dapibus \n​\n​');
76
76
  });
77
77
 
78
78
  it('User should be able to select an option from the dropdown', () => {
@@ -63,11 +63,11 @@ describe('Create Item page - Fill in the gaps with dropdown: Specify correct ans
63
63
  fillInTheGapsDropdownPage.steps.allotPoints(5);
64
64
  fillInTheGapsDropdownPage.steps.deleteAlternativeAnswerAccordion(1);
65
65
  fillInTheGapsDropdownPage.steps.verifyAlternativeAnswerAccordionNotExists(2);
66
- fillInTheGapsDropdownPage.steps.verifyAlternativeAnswerAccordionLabel(1);
66
+ fillInTheGapsDropdownPage.steps.verifyAlternativeAnswerAccordionLabel(0);
67
67
  });
68
68
 
69
69
  it('When the user deletes an option assigned as correct in the correct accordion then the correct accordion should be in the expanded state and an error icon should appear on correct accordion', () => {
70
- fillInTheGapsDropdownPage.steps.deleteOption(0);
70
+ fillInTheGapsDropdownPage.steps.deleteOption(1);
71
71
  fillInTheGapsDropdownPage.steps.verifyCorrectAnswerAccordionIsExpanded();
72
72
  fillInTheGapsDropdownPage.steps.verifySpecifyCorrectAnswerErrorIconIsVisible();
73
73
  });
@@ -263,6 +263,7 @@ describe('Create item page - Fill in the gaps: Question instructions, Options se
263
263
 
264
264
  it('When user selects a dropzone and changes dropzone pointer style in edit tab, then changes in dropzone pointer should be reflected in preview tab', () => {
265
265
  fillInTheGapsOverImageDragAndDropPage.steps.switchToEditTab();
266
+ fillInTheGapsOverImageDragAndDropPage.steps.selectCanvasMenuButton('Select dropzone');
266
267
  fillInTheGapsOverImageDragAndDropPage.steps.selectResponseArea(0);
267
268
  fillInTheGapsOverImageDragAndDropPage.steps.selectResponseAreaPointerStyle(dropzonePointerStyles[5]);
268
269
  fillInTheGapsOverImageDragAndDropPage.steps.switchToPreviewTab();
@@ -442,7 +442,7 @@ describe('Create Item page - Fill in the gaps over image - drag and drop: Studen
442
442
  fillInTheGapsOverImageDragAndDropPage.steps.expandMaxCapacityPerDropzoneDropdown();
443
443
  fillInTheGapsOverImageDragAndDropPage.steps.selectOptionFromMaxCapacityPerDropzoneDropdown('2');
444
444
  fillInTheGapsOverImageDragAndDropPage.steps.clickAndDropOptionInDropzoneSpecifyCorrectAnswerSection({ 'Branch': 0, 'Roots': 0, 'Petals': 0 });
445
- fillInTheGapsOverImageDragAndDropPage.steps.verifyDraggableOptionInSpecifyCorrectAnswerSection(0, ['Branch', 'Roots']);
445
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyDraggableOptionInSpecifyCorrectAnswerSection(0, ['Roots', 'Petals']);
446
446
  });
447
447
 
448
448
  it('\'Show students the dropzone limits\' label and checkbox should be displayed. By default the checkbox should be unchecked', () => {
@@ -509,7 +509,7 @@ describe('Create Item page - Fill in the gaps over image - drag and drop: Studen
509
509
  fillInTheGapsOverImageDragAndDropPage.steps.selectOptionFromMaxCapacityPerDropzoneDropdown('2');
510
510
  fillInTheGapsOverImageDragAndDropPage.steps.switchToPreviewTab();
511
511
  fillInTheGapsOverImageDragAndDropPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Leaves': 0, 'Petals': 0, 'Seeds': 0 });
512
- fillInTheGapsOverImageDragAndDropPage.steps.verifyDraggableOptionInDropzoneOfPreviewTab(0, ['Leaves', 'Petals']);
512
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyDraggableOptionInDropzoneOfPreviewTab(0, ['Petals', 'Seeds']);
513
513
  });
514
514
 
515
515
  it('When \'Show students the dropzone limits\' checkbox is in unchecked state, no help text should be displayed in the preview tab', () => {
@@ -38,7 +38,7 @@ describe('Create item page - Fill in the gaps over image with dropdown: Partial
38
38
  fillInTheGapsOverImageDropdownPage.steps.selectResponseFromDropdownSpecifyCorrectAnswerSection(2, alternateAnswerArray[2]);
39
39
  fillInTheGapsOverImageDropdownPage.steps.allotPoints(15);
40
40
  fillInTheGapsOverImageDropdownPage.steps.selectAutoScoredScoringSubtype('Partial equal weights');
41
- //fillInTheGapsOverImageDropdownPage.steps.checkAllowStudentToCheckAnswerCheckbox();
41
+ //fillInTheGapsOverImageDropdownPage.steps.checkAllowStudentToCheckAnswerCheckbox();
42
42
  fillInTheGapsOverImageDropdownPage.steps.switchToPreviewTab();
43
43
  });
44
44
 
@@ -37,6 +37,7 @@ describe('Create Item page - Fill in the gaps over image - dropdown: Specify cor
37
37
  fillInTheGapsOverImageDropdownPage.steps.insertResponseArea(10);
38
38
  fillInTheGapsOverImageDropdownPage.steps.insertResponseArea(30);
39
39
  fillInTheGapsOverImageDropdownPage.steps.addInputToDropdownOptionFields(0, optionsForDropdown);
40
+ fillInTheGapsOverImageDropdownPage.steps.addInputToDropdownOptionFields(1, optionsForDropdown);
40
41
  });
41
42
 
42
43
  fillInTheGapsOverImageDropdownPage.tests.verifyAutoScoredAddAlternativeAnswerButtonAndValidation();
@@ -50,7 +51,7 @@ describe('Create Item page - Fill in the gaps over image - dropdown: Specify cor
50
51
 
51
52
  it('When user has added an alternate answer accordion, then the newly added alternate answer accordion should be in expanded state and the correct answer accordion should be in collapsed state', () => {
52
53
  fillInTheGapsOverImageDropdownPage.steps.verifyCorrectAnswerAccordionIsCollapsed();
53
- fillInTheGapsOverImageDropdownPage.steps.verifyAlternateAnswerAccordionIsExpanded(1);
54
+ fillInTheGapsOverImageDropdownPage.steps.verifyAlternateAnswerAccordionIsExpanded(0);
54
55
  });
55
56
 
56
57
  fillInTheGapsOverImageDropdownPage.tests.verifySpecifyCorrectAnswerAccordionContentsAndFunctionality('Alternative');
@@ -67,7 +68,7 @@ describe('Create Item page - Fill in the gaps over image - dropdown: Specify cor
67
68
  fillInTheGapsOverImageDropdownPage.steps.allotPoints(5);
68
69
  fillInTheGapsOverImageDropdownPage.steps.deleteAlternativeAnswerAccordion(1);
69
70
  fillInTheGapsOverImageDropdownPage.steps.verifyAlternativeAnswerAccordionNotExists(2);
70
- fillInTheGapsOverImageDropdownPage.steps.verifyAlternativeAnswerAccordionLabel(1);
71
+ fillInTheGapsOverImageDropdownPage.steps.verifyAlternativeAnswerAccordionLabel(0);
71
72
  });
72
73
 
73
74
  it('When correct answers and points are set in alternate answer and user clicks on correct answer accordion, then correct answer accordion should be expanded and the alternate answer accordion should be collapsed', () => {
@@ -289,7 +289,7 @@ describe('Create Item page - Fill in the gaps over image with text: Style and la
289
289
  });
290
290
 
291
291
  it('When the "Dashed" border style is in selected state, then the border style of the text containers in the preview tab should be "Dashed"', () => {
292
- fillInTheGapsOverImageDropdownPage.steps.verifyResponseAreaOverImageBorderStyle(0, 'solid');
292
+ fillInTheGapsOverImageDropdownPage.steps.verifyDropdownBorderStyle(0, 'solid');
293
293
  });
294
294
 
295
295
  borderStyles.forEach((style) => {
@@ -297,7 +297,7 @@ describe('Create Item page - Fill in the gaps over image with text: Style and la
297
297
  fillInTheGapsOverImageDropdownPage.steps.switchToEditTab();
298
298
  fillInTheGapsOverImageDropdownPage.steps.selectBorderStyleToggleButton(style);
299
299
  fillInTheGapsOverImageDropdownPage.steps.switchToPreviewTab();
300
- fillInTheGapsOverImageDropdownPage.steps.verifyResponseAreaOverImageBorderStyle(0, style);
300
+ fillInTheGapsOverImageDropdownPage.steps.verifyDropdownBorderStyle(0, style);
301
301
  });
302
302
  })
303
303
  });
@@ -207,7 +207,7 @@ describe('Create item page - Fill in the gaps over image with text: Partial diff
207
207
  fillInTheGapsOverImageTextPage.steps.verifyIncorrectOptionIcon(1);
208
208
  fillInTheGapsOverImageTextPage.steps.verifyCorrectOptionIcon(2);
209
209
  fillInTheGapsOverImageTextPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
210
- fillInTheGapsOverImageTextPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount(['Petals', 'Leaves', 'Stem']);
210
+ fillInTheGapsOverImageTextPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount(['Petals', 'Leaves', 'Branch']);
211
211
  fillInTheGapsOverImageTextPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
212
212
  /*cy.log('When the user attempts the question with more number of correct responses from the correct accordion than the alternative accordion but the score of the individual response selected from the alternative accordion overpowers the combined score of the correct accordion answers and clicks on the \'Check answer\' button, correct icon icons should be displayed beside the correct responses from the correct accordion, incorrect icons should be displayed beside the incorrectly answered responses, correct/incorrect answer label and its border, correct answer container should not be displayed')
213
213
  fillInTheGapsOverImageTextPage.steps.checkAnswer();
@@ -108,7 +108,7 @@ describe('Create item page - Fill in the gaps over image - text: All or nothing
108
108
  fillInTheGapsOverImageTextPage.steps.verifyPreviewTabPointsBackgroundForIncorrectOrPartiallyCorrectAnswer();
109
109
  };
110
110
  fillInTheGapsOverImageTextPage.steps.verifyResponseAreaNumeration();
111
- utilities.verifyInnerText(fillInTheGapsOverImageTextPage.correctAnswersLabel(), 'Correct answers:');
111
+ utilities.verifyInnerText(fillInTheGapsOverImageTextPage.correctAnswersLabel(), 'Correct answers');
112
112
  fillInTheGapsOverImageTextPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount(['Flower', 'Leaf', 'Stem']);
113
113
  });
114
114
 
@@ -146,6 +146,7 @@ describe('Create item page - Fill in the gaps: Question instructions, Options se
146
146
 
147
147
  it('When user selects a text container and changes text container pointer style in edit tab, then changes in text container pointer should be reflected in preview tab', () => {
148
148
  fillInTheGapsOverImageTextPage.steps.switchToEditTab();
149
+ fillInTheGapsOverImageTextPage.steps.selectCanvasMenuButton('Select text container');
149
150
  fillInTheGapsOverImageTextPage.steps.selectResponseArea(0);
150
151
  fillInTheGapsOverImageTextPage.steps.selectResponseAreaPointerStyle(textContainerPointerStyles[1]);
151
152
  fillInTheGapsOverImageTextPage.steps.selectResponseArea(1);
@@ -228,9 +229,9 @@ describe('Create item page - Fill in the gaps: Question instructions, Options se
228
229
  fillInTheGapsOverImageTextPage.steps.verifyResponseAreaPointerStyle(textContainerPointerStyles[0], 0);
229
230
  });
230
231
 
231
- it(`When the user chooses ${textContainerPointerStyles[5]}, then selected text containers should have the specified effect applied, and the other drop zones should remain unaffected.`, () => {
232
- fillInTheGapsOverImageTextPage.steps.selectResponseAreaPointerStyle(textContainerPointerStyles[5]);
233
- fillInTheGapsOverImageTextPage.steps.verifyResponseAreaPointerStyle(textContainerPointerStyles[5], 1);
232
+ it(`When the user chooses ${textContainerPointerStyles[7]}, then selected text containers should have the specified effect applied, and the other drop zones should remain unaffected.`, () => {
233
+ fillInTheGapsOverImageTextPage.steps.selectResponseAreaPointerStyle(textContainerPointerStyles[7]);
234
+ fillInTheGapsOverImageTextPage.steps.verifyResponseAreaPointerStyle(textContainerPointerStyles[7], 1);
234
235
  fillInTheGapsOverImageTextPage.steps.verifyResponseAreaPointerStyle(textContainerPointerStyles[0], 0);
235
236
  });
236
237
  });