itemengine-cypress-automation 1.0.119 → 1.0.121
Sign up to get free protection for your applications and to get access to all the features.
- package/cypress/e2e/ILC/AudioResponseNew/editTabBasicSection.js +13 -1
- package/cypress/e2e/ILC/AudioResponseNew/gradingViewAndCorrectAnswerViewContents.smoke.js +2 -0
- package/cypress/e2e/ILC/AudioResponseNew/previewContentsForAllViews.smoke.js +1 -0
- package/cypress/e2e/ILC/AudioResponseNew/standardRecorderStyle.smoke.js +2 -0
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +1 -1
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/clickAndDrop.js +2 -2
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/studentViewSettings.js +1 -4
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/allOrNothingForAllViews.smoke.js +273 -0
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/checkAnswerFunctionalityForAllViews.smoke.js +116 -0
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViews.smoke.js +136 -0
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/allOrNothingForAllView.smoke.js +224 -0
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/checkAnswerFunctionalityForAllViews.smoke.js +120 -0
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/previewContentsForAllViews.smoke.js +158 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/backgroundImageAndCanvasProperties.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/studentViewSettings.js +1 -4
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/dropdownAndDropdownMenuSection.js +246 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/dropdownOptionsSection.js +332 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editTabBasicSection.js +409 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/headerSection.js +80 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/studentViewSettings.js +213 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/HeaderSection.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialDifferentWeightsBasic.js +2 -2
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialEqualWeightsBasic.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/allOrNothingForAllViews.smoke.js +2 -2
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/backgroundImageAndCanvasProperties.js +68 -68
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/editTabScoringSection.js +6 -6
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/previewContentsForAllViews.smoke.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/setLimitSection.js +3 -289
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/specialCharactersSection.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/specifyCorrectAnswerSection.js +2 -2
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/studentViewSettings.js +2 -23
- package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +191 -0
- package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +190 -0
- package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +284 -0
- package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/allOrNothingPenaltyScoring.js +52 -0
- package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/manuallyAndNonScored.js +113 -0
- package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +217 -0
- package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialDifferentWeightsBasic.js +234 -0
- package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +217 -0
- package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +217 -0
- package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialEqualWeightsBasic.js +136 -0
- package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +197 -0
- package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +169 -0
- package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +197 -0
- package/cypress/e2e/ILC/FillInTheGapsTextNew/allOrNothingForAllViews.smoke.js +219 -0
- package/cypress/e2e/ILC/FillInTheGapsTextNew/checkAnswerFunctionalityForAllViews.smoke.js +115 -0
- package/cypress/e2e/ILC/FillInTheGapsTextNew/editTabBasicSection.js +142 -0
- package/cypress/e2e/ILC/FillInTheGapsTextNew/previewContentsForAllViews.smoke.js +152 -0
- package/cypress/e2e/ILC/FillInTheGapsTextNew/setLimitSection.js +39 -0
- package/cypress/e2e/ILC/MultipleSelection/studentViewSettings.js +2 -12
- package/cypress/e2e/ILC/ShortTextResponseNew/conditionalCheckboxes.js +497 -0
- package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +503 -0
- package/cypress/e2e/ILC/ShortTextResponseNew/responseAnswersAndAcceptedStudentInput.js +233 -0
- package/cypress/e2e/ILC/ShortTextResponseNew/specialCharactersSection.js +291 -0
- package/cypress/e2e/ILC/ShortTextResponseNew/studentViewSettings.js +332 -0
- package/cypress/e2e/ILC/SingleSelection/studentViewSettings.js +2 -12
- package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +9 -8
- package/cypress/e2e/ILC/TextEntryMath/editTabScoringSection.js +4 -4
- package/cypress/e2e/ILC/TextEntryMath/minimumScoringPenaltyPointsAndRoundingDropdown.js +8 -2
- package/cypress/e2e/ILC/TextEntryMath/specifyCorrectAnswerSection.js +5 -2
- package/cypress/e2e/ILC/TextEntryMathWithImage/allOrNothingScoringForAllViews.smoke.js +334 -0
- package/cypress/e2e/ILC/TextEntryMathWithImage/backgroundImageAndCanvasProperties.js +419 -0
- package/cypress/e2e/ILC/TextEntryMathWithImage/checkAnswerFunctionalityForAllViews.smoke.js +166 -0
- package/cypress/e2e/ILC/TextEntryMathWithImage/previewTabContentsForAllViews.smoke.js +166 -0
- package/cypress/e2e/ILC/UploadResponse/editTabScoringSection.js +51 -0
- package/cypress/e2e/ILC/UploadResponse/gradingViewAndCorrectAnswerViewContents.smoke.js +99 -0
- package/cypress/e2e/ILC/UploadResponse/manuallyAndNonScoredScoring.js +71 -0
- package/cypress/e2e/ILC/UploadResponse/previewContentsForAllViews.smoke.js +155 -0
- package/cypress/e2e/ILC/UploadResponse/uploadResponseHeaderSection.js +66 -0
- package/cypress/e2e/migration/migration.js +6 -5
- package/cypress/e2e/migration/migration2.js +4 -3
- package/cypress/e2e/migration/migration3.js +4 -3
- package/cypress/e2e/migration/migration4.js +4 -3
- package/cypress/e2e/migration/migration5.js +4 -3
- package/cypress/fixtures/theme/ilc.json +3 -1
- package/cypress/pages/audioResponsePage.js +2 -1
- package/cypress/pages/components/additionalSettingsPanel.js +27 -0
- package/cypress/pages/components/autoScoredPreviewBase.js +1 -1
- package/cypress/pages/components/autoScoredScoringSection.js +1 -1
- package/cypress/pages/components/autoScoredScoringSectionMultipleResponsesType.js +1 -1
- package/cypress/pages/components/autoScoredSetCorrectAnswerSection.js +1 -1
- package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +2 -2
- package/cypress/pages/components/autoScoredStudentViewSettings.js +8 -1
- package/cypress/pages/components/backgroundImageUploadComponent.js +5 -5
- package/cypress/pages/components/createQuestionBasePage.js +8 -2
- package/cypress/pages/components/essayResponseCommonComponents.js +6 -0
- package/cypress/pages/components/fillInTheGapsCommonComponents.js +13 -0
- package/cypress/pages/components/fillInTheGapsDragAndDropCommonComponents.js +40 -0
- package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +422 -314
- package/cypress/pages/components/fillInTheGapsTextCommonComponent.js +438 -710
- package/cypress/pages/components/{figOverImageCanvasComponent.js → imageCanvasComponent.js} +274 -272
- package/cypress/pages/components/index.js +3 -3
- package/cypress/pages/components/maximumRecorderLengthComponent.js +55 -11
- package/cypress/pages/components/previewScoringAndShowCorrectAnswerComponent.js +1 -1
- package/cypress/pages/components/questionInputFieldComponent.js +49 -23
- package/cypress/pages/components/scoringSectionBase.js +1 -1
- package/cypress/pages/createItemPage.js +67 -2
- package/cypress/pages/fillInTheGapsDragAndDropPage.js +172 -711
- package/cypress/pages/fillInTheGapsDropdownPage.js +75 -72
- package/cypress/pages/fillInTheGapsOverImageDragAndDropPage.js +4 -4
- package/cypress/pages/fillInTheGapsOverImageDropdownPage.js +109 -273
- package/cypress/pages/fillInTheGapsOverImageTextPage.js +49 -291
- package/cypress/pages/fillInTheGapsTextPage.js +52 -199
- package/cypress/pages/index.js +5 -5
- package/cypress/pages/multipleSelectionPage.js +1 -0
- package/cypress/pages/shortTextResponsePage.js +575 -33
- package/cypress/pages/singleSelectionGridPage.js +1 -2
- package/cypress/pages/singleSelectionPage.js +5 -6
- package/cypress/pages/textEntryMathPage.js +46 -22
- package/cypress/pages/textEntryMathWithImagePage.js +212 -0
- package/cypress/pages/uploadResponsePage.js +74 -21
- package/cypress/support/migrationHelpers/extractLrnQuestionData.js +73 -2
- package/cypress/support/migrationHelpers/lrnQestionTypesENUM.js +1 -0
- package/cypress/support/migrationHelpers/verifyIeQuestionData.js +49 -2
- package/package.json +1 -1
- package/cypress/e2e/ILC/AudioResponseNew/minimalRecorderStyle.js +0 -482
- package/cypress/e2e/ILC/EssayResponse/essayResponseEquationEditor.smoke.js +0 -412
- package/cypress/pages/components/figOverImageCommonComponent.js +0 -1113
- package/cypress/pages/dragAndDropIntoCategoriesAllOrNothingScoring.js +0 -1155
- package/cypress/pages/dragAndDropIntoCategoriesCellsScoring.js +0 -1561
- package/cypress/pages/dragAndDropIntoCategoriesResponseScoring.js +0 -1396
- package/cypress/pages/fillInTheGapsScoring.js +0 -5872
- package/cypress/pages/fillInTheGapsSetCorrectAnswerSection.js +0 -260
@@ -0,0 +1,409 @@
|
|
1
|
+
import { dialogBoxBase, fillInTheGapsOverImageDropdownPage } from "../../../pages";
|
2
|
+
import utilities from "../../../support/helpers/utilities";
|
3
|
+
import abortEarlySetup from "../../../support/helpers/abortEarly";
|
4
|
+
const css = Cypress.env('css');
|
5
|
+
|
6
|
+
const dropdownPointerStyles = ['none', 'bottom', 'bottom right', 'right', 'top right', 'top', 'top left', 'left', 'bottom left'];
|
7
|
+
|
8
|
+
describe('Create item page - Fill in the gaps: Question instructions, Options section', () => {
|
9
|
+
before(() => {
|
10
|
+
cy.loginAs('admin');
|
11
|
+
});
|
12
|
+
|
13
|
+
describe('Question instructions input field - Edit tab', () => {
|
14
|
+
abortEarlySetup();
|
15
|
+
before(() => {
|
16
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
17
|
+
cy.barsPreLoaderWait();
|
18
|
+
});
|
19
|
+
|
20
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyQuestionInstructionsInputFieldEditTab();
|
21
|
+
});
|
22
|
+
|
23
|
+
describe('Question instructions input field - Preview tab', () => {
|
24
|
+
abortEarlySetup();
|
25
|
+
before(() => {
|
26
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
27
|
+
cy.barsPreLoaderWait();
|
28
|
+
});
|
29
|
+
|
30
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyQuestionInstructionsInputFieldPreviewTab();
|
31
|
+
});
|
32
|
+
|
33
|
+
describe('Background image section - Edit tab', () => {
|
34
|
+
abortEarlySetup();
|
35
|
+
before(() => {
|
36
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
37
|
+
cy.barsPreLoaderWait();
|
38
|
+
});
|
39
|
+
|
40
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyBackgroundImageSectionContentWithCSSAndA11y();
|
41
|
+
|
42
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyDeleteImagePopupContentAndFunctionality();
|
43
|
+
});
|
44
|
+
|
45
|
+
describe('Canvas section - Edit tab', () => {
|
46
|
+
abortEarlySetup();
|
47
|
+
before(() => {
|
48
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
49
|
+
cy.barsPreLoaderWait();
|
50
|
+
});
|
51
|
+
|
52
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyCanvasLabelAndCanvas();
|
53
|
+
|
54
|
+
it('Select dropdown, Insert dropdown and Insert text buttons should be displayed.', () => {
|
55
|
+
utilities.verifyElementVisibilityState(fillInTheGapsOverImageDropdownPage.selectResponseAreaButton(), 'visible');
|
56
|
+
utilities.verifyElementVisibilityState(fillInTheGapsOverImageDropdownPage.insertResponseAreaButton(), 'visible');
|
57
|
+
utilities.verifyElementVisibilityState(fillInTheGapsOverImageDropdownPage.insertTextAreaButton(), 'visible');
|
58
|
+
});
|
59
|
+
|
60
|
+
it('When \'Insert dropdown\' button is selected, then \'Insert dropdown\' label should be displayed inside canvas', () => {
|
61
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyCanvasMenuButtonSelected('Insert dropdown');
|
62
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyCanvasSelectedMenuText('Insert dropdown');
|
63
|
+
});
|
64
|
+
|
65
|
+
it('When user hovers over select dropdown button, then \'Select dropdown\' tooltip should be displayed', () => {
|
66
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyTooltipInnerText(fillInTheGapsOverImageDropdownPage.selectResponseAreaButton, 'Select dropdown');
|
67
|
+
});
|
68
|
+
|
69
|
+
it('When user hovers over insert dropdown button, then \'Insert dropdown\' tooltip should be displayed', () => {
|
70
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyTooltipInnerText(fillInTheGapsOverImageDropdownPage.insertResponseAreaButton, 'Insert dropdown');
|
71
|
+
});
|
72
|
+
|
73
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyInsertTextTooltip();
|
74
|
+
|
75
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyUndoRedoClearAllButtons();
|
76
|
+
});
|
77
|
+
|
78
|
+
describe('Canvas : Insert dropdown, Delete, Undo, Redo - Specify correct answer section', () => {
|
79
|
+
abortEarlySetup();
|
80
|
+
before(() => {
|
81
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
82
|
+
cy.barsPreLoaderWait();
|
83
|
+
fillInTheGapsOverImageDropdownPage.steps.uploadFile('highlightImage.jpg');
|
84
|
+
});
|
85
|
+
|
86
|
+
it('When user inserts dropdowns in canvas, then dropdowns should be added in specify correct answer section', () => {
|
87
|
+
fillInTheGapsOverImageDropdownPage.steps.insertResponseArea(60);
|
88
|
+
fillInTheGapsOverImageDropdownPage.steps.insertResponseArea(80);
|
89
|
+
fillInTheGapsOverImageDropdownPage.steps.insertResponseArea(10);
|
90
|
+
utilities.verifyElementCount(fillInTheGapsOverImageDropdownPage.dropdownSpecifyCorrectAnswerSection(), 3);
|
91
|
+
});
|
92
|
+
|
93
|
+
it('When user deletes a dropdown in canvas, then dropdown should be removed from specify correct answer section and remaining dropdowns should be numbered appropriately', () => {
|
94
|
+
fillInTheGapsOverImageDropdownPage.steps.removeResponseArea(1);
|
95
|
+
utilities.verifyElementCount(fillInTheGapsOverImageDropdownPage.dropdownSpecifyCorrectAnswerSection(), 2);
|
96
|
+
for (let i = 0; i < 2; i++) {
|
97
|
+
utilities.verifyInnerText(utilities.getNthElement(fillInTheGapsOverImageDropdownPage.dropdownLabelSpecifyCorrectAnswerSection(), i), `Dropdown ${i + 1}`);
|
98
|
+
}
|
99
|
+
});
|
100
|
+
|
101
|
+
it('When user clicks on undo button in canvas section, then previous action should be reversed and previously deleted dropdown should be added in specify correct answer section', () => {
|
102
|
+
fillInTheGapsOverImageDropdownPage.steps.undoAction();
|
103
|
+
utilities.verifyElementCount(fillInTheGapsOverImageDropdownPage.dropdownSpecifyCorrectAnswerSection(), 3);
|
104
|
+
});
|
105
|
+
|
106
|
+
it('When the user clicks on the redo button after performing an undo action in canvas section, then the previously added dropdown should be deleted again in specify correct answer section', () => {
|
107
|
+
fillInTheGapsOverImageDropdownPage.steps.redoAction();
|
108
|
+
utilities.verifyElementCount(fillInTheGapsOverImageDropdownPage.dropdownSpecifyCorrectAnswerSection(), 2);
|
109
|
+
});
|
110
|
+
|
111
|
+
it('When the user reaches the initial state by performing undo actions in canvas section, then specify correct answer section should not have dropdown', () => {
|
112
|
+
for (var i = 0; i < 4; i++) {
|
113
|
+
fillInTheGapsOverImageDropdownPage.steps.undoAction();
|
114
|
+
};
|
115
|
+
utilities.verifyElementVisibilityState(fillInTheGapsOverImageDropdownPage.dropdownSpecifyCorrectAnswerSection(), 'notExist');
|
116
|
+
});
|
117
|
+
|
118
|
+
it('When the user reaches the latest state by performing redo actions in canvas section, then 3 dropdowns should be visible in specify correct answer section', () => {
|
119
|
+
for (var i = 0; i < 4; i++) {
|
120
|
+
fillInTheGapsOverImageDropdownPage.steps.redoAction();
|
121
|
+
};
|
122
|
+
utilities.verifyElementCount(fillInTheGapsOverImageDropdownPage.dropdownSpecifyCorrectAnswerSection(), 2);
|
123
|
+
});
|
124
|
+
|
125
|
+
it('When user clicks on clear all in canvas, then dropdowns in specify correct answer should disappear', () => {
|
126
|
+
fillInTheGapsOverImageDropdownPage.steps.clearAll();
|
127
|
+
utilities.verifyElementVisibilityState(fillInTheGapsOverImageDropdownPage.dropdownSpecifyCorrectAnswerSection(), 'notExist');
|
128
|
+
});
|
129
|
+
});
|
130
|
+
|
131
|
+
describe('Canvas : Select dropdown - Edit tab canvas section functionality', () => {
|
132
|
+
abortEarlySetup();
|
133
|
+
before(() => {
|
134
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
135
|
+
cy.barsPreLoaderWait();
|
136
|
+
fillInTheGapsOverImageDropdownPage.steps.uploadFile('highlightImage.jpg');
|
137
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyImageIsUploaded();
|
138
|
+
fillInTheGapsOverImageDropdownPage.steps.insertResponseArea(20);
|
139
|
+
fillInTheGapsOverImageDropdownPage.steps.insertResponseArea(30);
|
140
|
+
});
|
141
|
+
|
142
|
+
it('When user clicks on \'Select dropdown\' button is selected, then \'Select\' label should be displayed inside canvas', () => {
|
143
|
+
fillInTheGapsOverImageDropdownPage.steps.selectCanvasMenuButton('Select dropdown');
|
144
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyCanvasSelectedMenuText('Select');
|
145
|
+
});
|
146
|
+
|
147
|
+
it(`When user selects dropdown, then 9 options ${dropdownPointerStyles} should be displayed and by default ${dropdownPointerStyles[7]} should be selected`, () => {
|
148
|
+
fillInTheGapsOverImageDropdownPage.steps.selectResponseArea(1);
|
149
|
+
utilities.verifyElementCount(fillInTheGapsOverImageDropdownPage.responseAreaStyle(), 9);
|
150
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyResponseAreaPointerStyle(dropdownPointerStyles[7], 1);
|
151
|
+
});
|
152
|
+
|
153
|
+
it('CSS of dropdowns', { tags: 'css' }, () => {
|
154
|
+
utilities.verifyCSS(utilities.getNthElement(fillInTheGapsOverImageDropdownPage.responseArea(), 1), {
|
155
|
+
'border': `2px solid ${css.color.activeComponentBorder}`
|
156
|
+
});
|
157
|
+
utilities.verifyCSS(utilities.getNthElement(fillInTheGapsOverImageDropdownPage.responseArea(), 0), {
|
158
|
+
'border': `2px dashed ${css.color.activeComponentBorder}`
|
159
|
+
});
|
160
|
+
});
|
161
|
+
|
162
|
+
it(`When user hovers over the pointer styles, then ${dropdownPointerStyles} tooltip should be displayed`, () => {
|
163
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyPointerStyleTooltip();
|
164
|
+
});
|
165
|
+
|
166
|
+
it(`When the user has selected a dropdown and chooses ${dropdownPointerStyles[0]}, then selected drop zone should have the specified effect applied, and the other drop zones should remain unaffected.`, () => {
|
167
|
+
fillInTheGapsOverImageDropdownPage.steps.selectResponseAreaPointerStyle(dropdownPointerStyles[0]);
|
168
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyResponseAreaPointerStyle(dropdownPointerStyles[0], 1);
|
169
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyResponseAreaPointerStyle(dropdownPointerStyles[7], 0);
|
170
|
+
});
|
171
|
+
|
172
|
+
it(`When the user chooses ${dropdownPointerStyles[1]}, then selected drop zone should have the specified effect applied, and the other drop zones should remain unaffected.`, () => {
|
173
|
+
fillInTheGapsOverImageDropdownPage.steps.selectResponseAreaPointerStyle(dropdownPointerStyles[1]);
|
174
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyResponseAreaPointerStyle(dropdownPointerStyles[1], 1);
|
175
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyResponseAreaPointerStyle(dropdownPointerStyles[7], 0);
|
176
|
+
});
|
177
|
+
});
|
178
|
+
|
179
|
+
describe('Canvas : Insert and delete dropdown - Edit tab canvas section functionality', () => {
|
180
|
+
abortEarlySetup();
|
181
|
+
before(() => {
|
182
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
183
|
+
cy.barsPreLoaderWait();
|
184
|
+
fillInTheGapsOverImageDropdownPage.steps.uploadFile('highlightImage.jpg');
|
185
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyImageIsUploaded();
|
186
|
+
});
|
187
|
+
|
188
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyCanvasResponseAreaContents();
|
189
|
+
|
190
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyInsertAndDeleteResponseAreaFunctionality('dropdown');
|
191
|
+
});
|
192
|
+
|
193
|
+
describe('Canvas : Undo, Redo, Clear all - Edit tab canvas section functionality', () => {
|
194
|
+
abortEarlySetup();
|
195
|
+
before(() => {
|
196
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
197
|
+
cy.barsPreLoaderWait();
|
198
|
+
fillInTheGapsOverImageDropdownPage.steps.uploadFile('highlightImage.jpg');
|
199
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyImageIsUploaded();
|
200
|
+
});
|
201
|
+
|
202
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyUndoRedoClearAllButtonFunctionality('dropdown');
|
203
|
+
});
|
204
|
+
|
205
|
+
describe('Canvas : Insert text - Edit tab canvas section functionality', () => {
|
206
|
+
abortEarlySetup();
|
207
|
+
before(() => {
|
208
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
209
|
+
cy.barsPreLoaderWait();
|
210
|
+
fillInTheGapsOverImageDropdownPage.steps.uploadFile('highlightImage.jpg');
|
211
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyImageIsUploaded();
|
212
|
+
});
|
213
|
+
|
214
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyInsertTextAndTextColorButton();
|
215
|
+
|
216
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyTextColorPopupFunctionality();
|
217
|
+
|
218
|
+
it('When the user clicks on the \'Edit color\' present in an \'Text color\' popup, then a select color popup should be displayed', () => {
|
219
|
+
fillInTheGapsOverImageDropdownPage.steps.clickOnEditColorButton();
|
220
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyColorPopupIsDisplayed();
|
221
|
+
});
|
222
|
+
|
223
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyColorPopupSelectColorTitle();
|
224
|
+
|
225
|
+
fillInTheGapsOverImageDropdownPage.tests.verifySaturationAndOpacityGradientPalette('rgb(0, 0, 46)');
|
226
|
+
|
227
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyColorHuePaletteAndHexInputField('rgb(0, 0, 255)', '#00002E');
|
228
|
+
|
229
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyColorPopupFunctionality();
|
230
|
+
|
231
|
+
it('When the user has modified the selected color in the color popup and clicks on \'Ok\' button, then the popup should close, the color block should change to the new selected color and the modifications in the color popup should persist', () => {
|
232
|
+
fillInTheGapsOverImageDropdownPage.steps.clickOnOkButton();
|
233
|
+
utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'notExist');
|
234
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyTextColorOfTextBox('rgba(255, 0, 0, 0.5)');
|
235
|
+
});
|
236
|
+
|
237
|
+
it('When the user modifies the selected color in the color popup and clicks on \'Cancel\' button, then the popup should close, the color block should not change and the modifications in the color popup should not persist', () => {
|
238
|
+
fillInTheGapsOverImageDropdownPage.steps.clickOnTextColorButton();
|
239
|
+
fillInTheGapsOverImageDropdownPage.steps.clickOnEditColorButton()
|
240
|
+
fillInTheGapsOverImageDropdownPage.steps.addInputToHexInputField('#00002E');
|
241
|
+
fillInTheGapsOverImageDropdownPage.steps.clickOnCancelButton();
|
242
|
+
utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'notExist');
|
243
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyTextColorOfTextBox('rgba(255, 0, 0, 0.5)');
|
244
|
+
});
|
245
|
+
});
|
246
|
+
|
247
|
+
describe('Canvas : Select dropdown, Insert dropdown, Insert text, Undo, Redo and Clear all - Preview tab functionality', () => {
|
248
|
+
abortEarlySetup();
|
249
|
+
before(() => {
|
250
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
251
|
+
cy.barsPreLoaderWait();
|
252
|
+
fillInTheGapsOverImageDropdownPage.steps.uploadFile('highlightImage.jpg');
|
253
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyImageIsUploaded();
|
254
|
+
});
|
255
|
+
|
256
|
+
it('When user insert dropdown in edit tab, then dropdown should be visible in preview tab', () => {
|
257
|
+
fillInTheGapsOverImageDropdownPage.steps.insertResponseArea(20);
|
258
|
+
fillInTheGapsOverImageDropdownPage.steps.insertResponseArea(90);
|
259
|
+
fillInTheGapsOverImageDropdownPage.steps.switchToPreviewTab();
|
260
|
+
utilities.verifyElementVisibilityState(fillInTheGapsOverImageDropdownPage.dropdownPreviewTab(), 'visible');
|
261
|
+
utilities.verifyElementCount(fillInTheGapsOverImageDropdownPage.dropdownPreviewTab(), '2');
|
262
|
+
});
|
263
|
+
|
264
|
+
it('When user selects a dropdown and changes dropdown pointer style in edit tab, then changes in dropdown pointer should be reflected in preview tab', () => {
|
265
|
+
fillInTheGapsOverImageDropdownPage.steps.switchToEditTab();
|
266
|
+
fillInTheGapsOverImageDropdownPage.steps.selectResponseArea(0);
|
267
|
+
fillInTheGapsOverImageDropdownPage.steps.selectResponseAreaPointerStyle(dropdownPointerStyles[1]);
|
268
|
+
fillInTheGapsOverImageDropdownPage.steps.switchToPreviewTab();
|
269
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyDropdownPointerStyleInPreviewTab(dropdownPointerStyles[1], 0);
|
270
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyDropdownPointerStyleInPreviewTab(dropdownPointerStyles[8], 1);
|
271
|
+
});
|
272
|
+
|
273
|
+
it('When user insert text and changes color for text in edit tab, then inserted text should be displayed in canvas in preview tab', () => {
|
274
|
+
fillInTheGapsOverImageDropdownPage.steps.switchToEditTab();
|
275
|
+
fillInTheGapsOverImageDropdownPage.steps.insertTextArea(60, 'Inserted text');
|
276
|
+
fillInTheGapsOverImageDropdownPage.steps.switchToPreviewTab();
|
277
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyTextBoxExistInPreviewTab();
|
278
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyTextColorOfTextBoxInPreviewTab('rgb(0, 0, 46)');
|
279
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyTextOfTextBoxInPreviewTab('Inserted text');
|
280
|
+
});
|
281
|
+
|
282
|
+
it('When the user clicks on the undo button in edit tab, then previous action should be reversed and same should reflect in preview tab', () => {
|
283
|
+
fillInTheGapsOverImageDropdownPage.steps.switchToEditTab();
|
284
|
+
fillInTheGapsOverImageDropdownPage.steps.undoAction();
|
285
|
+
fillInTheGapsOverImageDropdownPage.steps.switchToPreviewTab();
|
286
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyTextOfTextBoxInPreviewTab('');
|
287
|
+
});
|
288
|
+
|
289
|
+
it('When the user clicks on the redo button in edit tab, then previous action should be reinstated and same should reflect in preview tab', () => {
|
290
|
+
fillInTheGapsOverImageDropdownPage.steps.switchToEditTab();
|
291
|
+
fillInTheGapsOverImageDropdownPage.steps.redoAction();
|
292
|
+
fillInTheGapsOverImageDropdownPage.steps.switchToPreviewTab();
|
293
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyTextBoxExistInPreviewTab();
|
294
|
+
});
|
295
|
+
|
296
|
+
it('When user clicks on \'Clear all\' button, then all dropdowns should be deleted in preview tab', () => {
|
297
|
+
fillInTheGapsOverImageDropdownPage.steps.switchToEditTab();
|
298
|
+
fillInTheGapsOverImageDropdownPage.steps.clearAll();
|
299
|
+
fillInTheGapsOverImageDropdownPage.steps.switchToPreviewTab();
|
300
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyTextBoxNotExistInPreviewTab();
|
301
|
+
utilities.verifyElementVisibilityState(fillInTheGapsOverImageDropdownPage.dropdownPreviewTab(), 'notExist');
|
302
|
+
});
|
303
|
+
});
|
304
|
+
|
305
|
+
describe('Image properties section - Edit tab', () => {
|
306
|
+
abortEarlySetup();
|
307
|
+
before(() => {
|
308
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
309
|
+
cy.barsPreLoaderWait();
|
310
|
+
fillInTheGapsOverImageDropdownPage.steps.uploadFile('highlightImage.jpg');
|
311
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyFileNameLabel('highlightImage.jpg');
|
312
|
+
});
|
313
|
+
|
314
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyImagePropertiesSectionContent();
|
315
|
+
});
|
316
|
+
|
317
|
+
describe('Image properties section - Edit tab canvas section functionality', () => {
|
318
|
+
abortEarlySetup();
|
319
|
+
before(() => {
|
320
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
321
|
+
cy.barsPreLoaderWait();
|
322
|
+
fillInTheGapsOverImageDropdownPage.steps.uploadFile('highlightImage.jpg');
|
323
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyFileNameLabel('highlightImage.jpg');
|
324
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyImageIsUploaded();
|
325
|
+
});
|
326
|
+
|
327
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyImageAlignmentEditTabFunctionality();
|
328
|
+
|
329
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyImageOpacityEditTabFunctionality();
|
330
|
+
|
331
|
+
//Failed due to https://redmine.zeuslearning.com/issues/560585
|
332
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyFillImageToCanvasEditTabFunctionality();
|
333
|
+
});
|
334
|
+
|
335
|
+
describe('Canvas width, Canvas height, Image alternative text - Edit tab canvas section functionality', () => {
|
336
|
+
abortEarlySetup();
|
337
|
+
before(() => {
|
338
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
339
|
+
cy.barsPreLoaderWait();
|
340
|
+
fillInTheGapsOverImageDropdownPage.steps.uploadFile('highlightImage.jpg');
|
341
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyFileNameLabel('highlightImage.jpg');
|
342
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyImageIsUploaded();
|
343
|
+
});
|
344
|
+
|
345
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyAspectRatioAndResetDimensionsButtonFunctionality();
|
346
|
+
|
347
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyImageAlternativeTextEditTabFunctionality();
|
348
|
+
});
|
349
|
+
|
350
|
+
describe('Image properties, Image alignment, Opacity section - Preview tab functionality', () => {
|
351
|
+
abortEarlySetup();
|
352
|
+
before(() => {
|
353
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
354
|
+
cy.barsPreLoaderWait();
|
355
|
+
fillInTheGapsOverImageDropdownPage.steps.uploadFile('highlightImage.jpg');
|
356
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyFileNameLabel('highlightImage.jpg');
|
357
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyImageIsUploaded();
|
358
|
+
});
|
359
|
+
|
360
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyImageAlignmentPreviewTabFunctionality();
|
361
|
+
|
362
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyImageOpacityPreviewTabFunctionality();
|
363
|
+
|
364
|
+
//failed due to https://redmine.zeuslearning.com/issues/560585
|
365
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyFillImageToCanvasPreviewTabFunctionality();
|
366
|
+
});
|
367
|
+
|
368
|
+
describe('Canvas width, Canvas height, Image alternative text - Preview tab functionality', () => {
|
369
|
+
abortEarlySetup();
|
370
|
+
before(() => {
|
371
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
372
|
+
cy.barsPreLoaderWait();
|
373
|
+
fillInTheGapsOverImageDropdownPage.steps.uploadFile('highlightImage.jpg');
|
374
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyFileNameLabel('highlightImage.jpg');
|
375
|
+
utilities.verifyElementVisibilityState(fillInTheGapsOverImageDropdownPage.uploadImageProgressBar(), 'visible');
|
376
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyImageIsUploaded();
|
377
|
+
});
|
378
|
+
|
379
|
+
it('When the user has uploaded canvas image, then switching to the preview tab should display canvas image with same dimensions', () => {
|
380
|
+
fillInTheGapsOverImageDropdownPage.steps.switchToPreviewTab();
|
381
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyImageIsUploadedInPreviewTab();
|
382
|
+
utilities.verifyElementVisibilityState(fillInTheGapsOverImageDropdownPage.canvasImageInPreviewTab(), 'visible');
|
383
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyCanvasWidthInPreviewTab(768);
|
384
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyCanvasHeightInPreviewTab(432);
|
385
|
+
});
|
386
|
+
|
387
|
+
it('When user updates width and height in edit tab, then updated changes should be reflected in preview tab', () => {
|
388
|
+
fillInTheGapsOverImageDropdownPage.steps.switchToEditTab();
|
389
|
+
fillInTheGapsOverImageDropdownPage.steps.unlockAspectRatio();
|
390
|
+
fillInTheGapsOverImageDropdownPage.steps.updateCanvasWidth(800);
|
391
|
+
fillInTheGapsOverImageDropdownPage.steps.updateCanvasHeight(450);
|
392
|
+
fillInTheGapsOverImageDropdownPage.steps.switchToPreviewTab();
|
393
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyCanvasWidthInPreviewTab(800);
|
394
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyCanvasHeightInPreviewTab(450);
|
395
|
+
});
|
396
|
+
|
397
|
+
it('When user resets image dimensions in edit tab, then updated changes should be reflected in preview tab', () => {
|
398
|
+
fillInTheGapsOverImageDropdownPage.steps.switchToEditTab();
|
399
|
+
fillInTheGapsOverImageDropdownPage.steps.resetDimensions();
|
400
|
+
fillInTheGapsOverImageDropdownPage.steps.switchToPreviewTab();
|
401
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyCanvasWidthInPreviewTab(768);
|
402
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyCanvasHeightInPreviewTab(432);
|
403
|
+
});
|
404
|
+
|
405
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyImageAlternativeTextPreviewTabFunctionality();
|
406
|
+
|
407
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyImageNotExistPreviewTab();
|
408
|
+
});
|
409
|
+
});
|
@@ -0,0 +1,80 @@
|
|
1
|
+
import abortEarlySetup from "../../../support/helpers/abortEarly";
|
2
|
+
import { dialogBoxBase, fillInTheGapsOverImageDropdownPage } from "../../../pages";
|
3
|
+
import utilities from "../../../support/helpers/utilities";
|
4
|
+
import { commonComponents } from "../../../pages/components";
|
5
|
+
const optionsForDropdown = ['Flower', 'Petal', 'Stem', 'Branch'];
|
6
|
+
|
7
|
+
describe('Create item page - Fill in the gaps over image - dropdown: Header section and Saving question', () => {
|
8
|
+
before(() => {
|
9
|
+
cy.loginAs('admin');
|
10
|
+
});
|
11
|
+
|
12
|
+
describe('Header section contents', () => {
|
13
|
+
abortEarlySetup();
|
14
|
+
before(() => {
|
15
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
16
|
+
});
|
17
|
+
|
18
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyCreateQuestionPageQuestionTypeHeader('Fill in the gaps over image with dropdown');
|
19
|
+
});
|
20
|
+
|
21
|
+
describe('Tabs section', () => {
|
22
|
+
abortEarlySetup();
|
23
|
+
before(() => {
|
24
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
25
|
+
});
|
26
|
+
|
27
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyTabsSection();
|
28
|
+
});
|
29
|
+
|
30
|
+
describe('Cancel button', () => {
|
31
|
+
abortEarlySetup();
|
32
|
+
before(() => {
|
33
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
34
|
+
});
|
35
|
+
|
36
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyCancelButton('fill in the gaps over image - dropdown')
|
37
|
+
});
|
38
|
+
|
39
|
+
describe('Save Question button', () => {
|
40
|
+
abortEarlySetup();
|
41
|
+
before(() => {
|
42
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
43
|
+
cy.barsPreLoaderWait();
|
44
|
+
});
|
45
|
+
|
46
|
+
describe('Validation error messages', () => {
|
47
|
+
dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton();
|
48
|
+
|
49
|
+
it('Validation error messages should be displayed below required input fields', () => {
|
50
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyQuestionInstructionsErrorMessage();
|
51
|
+
utilities.verifyInnerText(utilities.getNthElement(commonComponents.errorMessage(), 1), 'Error: Image is required.');
|
52
|
+
utilities.verifyInnerText(utilities.getNthElement(commonComponents.errorMessage(), 2), 'Error: Please insert a dropdown.');
|
53
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyPointsFieldErrorMessage();
|
54
|
+
fillInTheGapsOverImageDropdownPage.steps.verifySpecifyCorrectAnswerErrorIconIsVisible();
|
55
|
+
});
|
56
|
+
|
57
|
+
it('Validation error messages should disappear when required input fields are filled', () => {
|
58
|
+
fillInTheGapsOverImageDropdownPage.steps.addTextInQuestionInstructionsInputField('Select correct option from dropdown');
|
59
|
+
fillInTheGapsOverImageDropdownPage.steps.uploadFile('highlightImage.jpg');
|
60
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyImageIsUploaded();
|
61
|
+
fillInTheGapsOverImageDropdownPage.steps.insertResponseArea(10);
|
62
|
+
fillInTheGapsOverImageDropdownPage.steps.enterAndVerifyImageAlternativeTextInInputField('Image alternative text');
|
63
|
+
fillInTheGapsOverImageDropdownPage.steps.addInputToDropdownOptionFields(0, optionsForDropdown);
|
64
|
+
fillInTheGapsOverImageDropdownPage.steps.selectResponseFromDropdownSpecifyCorrectAnswerSection(0, optionsForDropdown[0]);
|
65
|
+
fillInTheGapsOverImageDropdownPage.steps.allotPoints(10);
|
66
|
+
commonComponents.steps.verifyErrorMessageIsNotDisplayed();
|
67
|
+
fillInTheGapsOverImageDropdownPage.steps.verifySpecifyCorrectAnswerErrorIconNotExists();
|
68
|
+
});
|
69
|
+
|
70
|
+
commonComponents.tests.verifyCreateItemWrapperContentsA11y();
|
71
|
+
});
|
72
|
+
|
73
|
+
describe('Saving a question', () => {
|
74
|
+
it('Clicking on Save Question button the question should get saved and a snackbar with text \'Saved successfully!\' should be displayed', () => {
|
75
|
+
fillInTheGapsOverImageDropdownPage.steps.saveAQuestionAndVerifySnackbar();
|
76
|
+
});
|
77
|
+
fillInTheGapsOverImageDropdownPage.tests.verifySavedSuccessfullySnackbarCSSAndA11y();
|
78
|
+
});
|
79
|
+
});
|
80
|
+
});
|