itemengine-cypress-automation 1.0.327-IEI-5098-RCA-for-FIG-text-and-short-text-7bbafe1.0 → 1.0.328-IEI-5491-3940644.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerHeaderSectionAndButtons.js +5 -4
- package/cypress/e2e/ILC/CkEditorInsertTable/updateTable.js +1 -0
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +100 -0
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/studentViewSettingsForGroupedLayout.js +1 -0
- package/cypress/e2e/ILC/DrawingResponse/drawingResponseBackground.js +12 -0
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/dropdownAndDropdownMenuSection.js +1 -0
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editQuestion.smoke.js +24 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/studentViewSettingsForGroupedLayout.js +5 -4
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/styleAndLayoutCustomization.js +4 -3
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/styleAndLayoutCustomizationDraggableOptionsPanel.js +1 -1
- package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/previewContentsForAllViews.smoke.js +1 -1
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/allOrNothingForAllViews.smoke.js +2 -1
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/previewContentsForAllViews.smoke.js +1 -1
- package/cypress/e2e/ILC/Matching/draggableOptions.js +29 -0
- package/cypress/e2e/ILC/Matching/styleAndLayoutCustomizationDropzoneConnectorStyle.js +52 -47
- package/cypress/e2e/ILC/Matching/styleAndLayoutCustomizationOptionAlignment.js +6 -4
- package/cypress/e2e/ILC/Matching/styleAndLayoutCustomizationOptionPlacement.js +60 -54
- package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +1 -1
- package/cypress/e2e/ILC/MultipleSelection/checkAddAlternativeButton.js +34 -0
- package/cypress/e2e/ILC/MultipleSelection/checkScoringLabelBannerAndCorrectAnswer.js +79 -0
- package/cypress/e2e/ILC/MultipleSelection/editQuestion.smoke.js +1 -1
- package/cypress/e2e/ILC/MultipleSelection/editTabBasicSection.js +31 -0
- package/cypress/e2e/ILC/MultipleSelection/headerSection.js +36 -7
- package/cypress/e2e/ILC/MultipleSelection/previewContentsForInCompleteAuthoring.js +98 -0
- package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/blankResponseScoring.js +5 -19
- package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswer.js +80 -0
- package/cypress/e2e/ILC/MultipleSelectionGridNew/checkAddAlternativeButton.js +38 -0
- package/cypress/e2e/ILC/MultipleSelectionGridNew/editTabBasicSection.js +35 -1
- package/cypress/e2e/ILC/MultipleSelectionGridNew/headerSection.js +36 -10
- package/cypress/e2e/ILC/MultipleSelectionGridNew/previewContentForAllViewsInIncompleteAuthoring.smoke.js +71 -0
- package/cypress/e2e/ILC/SingleSelection/checkAddAlternativeButton.js +34 -0
- package/cypress/e2e/ILC/SingleSelection/checkScoringLabelBannerAndCorrectAnswer.js +79 -0
- package/cypress/e2e/ILC/SingleSelection/editQuestion.smoke.js +72 -0
- package/cypress/e2e/ILC/SingleSelection/editTabBasicSection.js +31 -0
- package/cypress/e2e/ILC/SingleSelection/headerSection.js +36 -11
- package/cypress/e2e/ILC/SingleSelection/previewContentsForInCompleteAuthoring.js +92 -0
- package/cypress/e2e/ILC/SingleSelectionGridNew/Scoring/blankResponseScoring.js +4 -18
- package/cypress/e2e/ILC/SingleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +79 -0
- package/cypress/e2e/ILC/SingleSelectionGridNew/checkAddAlternativeButton.js +35 -0
- package/cypress/e2e/ILC/SingleSelectionGridNew/editTabBasicSection.js +34 -0
- package/cypress/e2e/ILC/SingleSelectionGridNew/headerSection.js +37 -10
- package/cypress/e2e/ILC/SingleSelectionGridNew/previewContentsForAllViewsInIncompleteAuthoring.smoke.js +69 -0
- package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +5 -6
- package/cypress/e2e/ILC/TextEntryMath/customSettings.js +1 -1
- package/cypress/e2e/ILC/TextEntryMath/previewContentsForAllViews.smoke.js +33 -0
- package/cypress/e2e/ILC/TextSelection/ScoringGeneric/basicScoringForAllTextSelectionTypes.smoke.js +7 -7
- package/cypress/e2e/ILC/TextSelection/editQuestion.smoke.js +3 -0
- package/cypress/e2e/ILC/TextSelection/previewContentsForAllViews.smoke.js +8 -8
- package/cypress/e2e/ILC/UploadResponse/editTabBasicSection.js +2 -3
- package/cypress/e2e/ILC/VideoResponseNew/compactRecorderStyle.smoke.js +3 -3
- package/cypress/e2e/ILC/VideoResponseNew/editTabBasicSection.js +6 -6
- package/cypress/pages/components/autoScoredScoringPreviewTab.js +0 -1
- package/cypress/pages/components/barAndLineChartComponent.js +1 -1
- package/cypress/pages/components/ckEditorInsertTableComponent.js +1 -1
- package/cypress/pages/components/ckEditorToolbar.js +1 -1
- package/cypress/pages/components/equationEditorSectionCommonComponent.js +2 -2
- package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +11 -0
- package/cypress/pages/components/gridQuestionCommonComponent.js +3 -4
- package/cypress/pages/components/imageCanvasComponent.js +2 -0
- package/cypress/pages/components/layoutSectionComponent.js +1 -1
- package/cypress/pages/components/maximumCapacityPerDropzoneComponent.js +1 -1
- package/cypress/pages/components/numberLineCommonComponent.js +3 -3
- package/cypress/pages/createItemPage.js +0 -7
- package/cypress/pages/dragAndDropIntoCategoriesPage.js +32 -0
- package/cypress/pages/drawingResponsePage.js +13 -3
- package/cypress/pages/fillInTheGapsOverImageDragAndDropPage.js +6 -5
- package/cypress/pages/fillInTheGapsOverImageTextPage.js +14 -4
- package/cypress/pages/graphingPage.js +12 -12
- package/cypress/pages/matchingPage.js +3 -3
- package/cypress/pages/multipleSelectionGridPage.js +4 -5
- package/cypress/pages/multipleSelectionPage.js +4 -6
- package/cypress/pages/shortTextResponsePage.js +1 -2
- package/cypress/pages/singleSelectionPage.js +2 -3
- package/cypress/pages/textEntryMathPage.js +13 -2
- package/cypress/pages/textEntryMathWithImagePage.js +2 -2
- package/cypress/pages/uploadResponsePage.js +1 -0
- package/package.json +1 -1
- package/cypress/e2e/ILC/ThinkSphere/dummyTest.js +0 -17
package/cypress/e2e/ILC/TextSelection/ScoringGeneric/basicScoringForAllTextSelectionTypes.smoke.js
CHANGED
@@ -250,7 +250,7 @@ describe('Create Item page - Text selection - Basic scoring for all text selecti
|
|
250
250
|
textSelectionPage.steps.switchToPreviewTab();
|
251
251
|
});
|
252
252
|
|
253
|
-
it('When the user selects
|
253
|
+
it('When the user selects "Grading" view without attempting the question, then correct/incorrect answer should not be displayed in the preview tab and correct answer section should be displayed with correct answers', () => {
|
254
254
|
textSelectionPage.steps.verifyPreviewScore(0, 20);
|
255
255
|
textSelectionPage.steps.switchToGradingView();
|
256
256
|
textSelectionPage.steps.verifyCorrectIncorrectIconForOptionNotExist(sentenceTextArray[0]);
|
@@ -260,7 +260,7 @@ describe('Create Item page - Text selection - Basic scoring for all text selecti
|
|
260
260
|
textSelectionPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
261
261
|
});
|
262
262
|
|
263
|
-
it('When the user attempts the question incorrectly, then the user should be awarded 0 points and on switching to
|
263
|
+
it('When the user attempts the question incorrectly, then the user should be awarded 0 points and on switching to "Grading" view, incorrect icons should be displayed besides all incorrect responses, a status message with text "Your answer is incorrect" and correct answer section with all correct answers should be displayed', () => {
|
264
264
|
textSelectionPage.steps.resetQuestionPreview();
|
265
265
|
textSelectionPage.steps.selectOptionInPreviewTab(sentenceTextArray[2]);
|
266
266
|
textSelectionPage.steps.selectOptionInPreviewTab(sentenceTextArray[3]);
|
@@ -274,7 +274,7 @@ describe('Create Item page - Text selection - Basic scoring for all text selecti
|
|
274
274
|
textSelectionPage.steps.verifyCorrectIconForOptionCorrectAnswerSection(sentenceTextArray[0]);
|
275
275
|
textSelectionPage.steps.verifyCorrectIconForOptionCorrectAnswerSection(sentenceTextArray[1]);
|
276
276
|
textSelectionPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
277
|
-
/*cy.log('When user clicks on Check answer button after attempting the question incorrectly, then incorrect icons should be displayed besides all incorrect responses, a status message with text
|
277
|
+
/*cy.log('When user clicks on Check answer button after attempting the question incorrectly, then incorrect icons should be displayed besides all incorrect responses, a status message with text "Your answer is incorrect" should be displayed and correct answer section should not be displayed')
|
278
278
|
textSelectionPage.steps.checkAnswer();
|
279
279
|
textSelectionPage.steps.verifyCorrectIncorrectIconForOptionNotExist(sentenceTextArray[0]);
|
280
280
|
textSelectionPage.steps.verifyCorrectIncorrectIconForOptionNotExist(sentenceTextArray[1]);
|
@@ -284,7 +284,7 @@ describe('Create Item page - Text selection - Basic scoring for all text selecti
|
|
284
284
|
textSelectionPage.steps.verifyCorrectAnswerSectionNotExists();*/
|
285
285
|
});
|
286
286
|
|
287
|
-
it('When the user attempts the question partially correct with some correct and some incorrect options, then the user should be awarded 0 points and on switching to
|
287
|
+
it('When the user attempts the question partially correct with some correct and some incorrect options, then the user should be awarded 0 points and on switching to "Grading" view, correct icon should be displayed besides the correct answer response, incorrect icon should be displayed besides the incorrect answer response, a status message with text "Your answer is incorrect" and correct answer section with all correct answers should be displayed', () => {
|
288
288
|
textSelectionPage.steps.resetQuestionPreview();
|
289
289
|
textSelectionPage.steps.selectOptionInPreviewTab(sentenceTextArray[0]);
|
290
290
|
textSelectionPage.steps.selectOptionInPreviewTab(sentenceTextArray[2]);
|
@@ -298,7 +298,7 @@ describe('Create Item page - Text selection - Basic scoring for all text selecti
|
|
298
298
|
textSelectionPage.steps.verifyCorrectIconForOptionCorrectAnswerSection(sentenceTextArray[0]);
|
299
299
|
textSelectionPage.steps.verifyCorrectIconForOptionCorrectAnswerSection(sentenceTextArray[1]);
|
300
300
|
textSelectionPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
301
|
-
/*cy.log('When user clicks on Check answer button after he attempts the question partially correct with some correct and some incorrect options, correct icon should be displayed besides the correct answer responses, incorrect icon should be displayed besides incorrect answer response, a status message with text
|
301
|
+
/*cy.log('When user clicks on Check answer button after he attempts the question partially correct with some correct and some incorrect options, correct icon should be displayed besides the correct answer responses, incorrect icon should be displayed besides incorrect answer response, a status message with text "Your answer is incorrect" should be displayed and correct answer section should not be displayed')
|
302
302
|
textSelectionPage.steps.checkAnswer();
|
303
303
|
textSelectionPage.steps.verifyCorrectIconForOption(sentenceTextArray[0]);
|
304
304
|
textSelectionPage.steps.verifyCorrectIncorrectIconForOptionNotExist(sentenceTextArray[1]);
|
@@ -308,7 +308,7 @@ describe('Create Item page - Text selection - Basic scoring for all text selecti
|
|
308
308
|
textSelectionPage.steps.verifyCorrectAnswerSectionNotExists();*/
|
309
309
|
});
|
310
310
|
|
311
|
-
it('When the user attempts the question correctly then the user should be awarded full points and on switching to
|
311
|
+
it('When the user attempts the question correctly then the user should be awarded full points and on switching to "Grading" view, correct icon should be displayed besides the correct answer responses, a status message with text "Your answer is correct" should be displayed and correct answer section should not be displayed', () => {
|
312
312
|
textSelectionPage.steps.resetQuestionPreview();
|
313
313
|
textSelectionPage.steps.selectOptionInPreviewTab(sentenceTextArray[0]);
|
314
314
|
textSelectionPage.steps.selectOptionInPreviewTab(sentenceTextArray[1]);
|
@@ -321,7 +321,7 @@ describe('Create Item page - Text selection - Basic scoring for all text selecti
|
|
321
321
|
textSelectionPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
|
322
322
|
textSelectionPage.steps.verifyCorrectAnswerSectionNotExists();
|
323
323
|
textSelectionPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
324
|
-
/*cy.log('When user clicks on Check answer button after he attempts the question correctly, then correct icon should be displayed besides the correct answer responses, a status message with text
|
324
|
+
/*cy.log('When user clicks on Check answer button after he attempts the question correctly, then correct icon should be displayed besides the correct answer responses, a status message with text "Your answer is correct" should be displayed and correct answer section should not be displayed')
|
325
325
|
textSelectionPage.steps.checkAnswer();
|
326
326
|
textSelectionPage.steps.verifyCorrectIconForOption(sentenceTextArray[0]);
|
327
327
|
textSelectionPage.steps.verifyCorrectIconForOption(sentenceTextArray[1]);
|
@@ -74,6 +74,9 @@ describe('Edit item - Text selection', () => {
|
|
74
74
|
textSelectionPage.steps.editItem();
|
75
75
|
textSelectionPage.steps.expandScoringTypeDropdown();
|
76
76
|
textSelectionPage.steps.selectOptionFromScoringTypeDropdown('Manually scored');
|
77
|
+
textSelectionPage.steps.switchToPreviewTab();
|
78
|
+
textSelectionPage.steps.selectOptionInPreviewTab(paragraphTextArray1[1]);
|
79
|
+
textSelectionPage.steps.selectOptionInPreviewTab(paragraphTextArray1[2]);
|
77
80
|
textSelectionPage.steps.saveAQuestionAndVerifySnackbar();
|
78
81
|
});
|
79
82
|
|
@@ -82,12 +82,12 @@ describe('Create item page - Text selection : Preview contents', () => {
|
|
82
82
|
});
|
83
83
|
});
|
84
84
|
|
85
|
-
it(
|
85
|
+
it(`Text selection - ${view} - The text which is not available as option should not be interactive in preview tab`, () => {
|
86
86
|
textSelectionPage.steps.verifyNonOptionTextIsNotInteractiveInPreviewTab(paragraphTextArray[3]);
|
87
87
|
});
|
88
88
|
|
89
89
|
if (view !== 'Grading view' && view !== 'Correct answer view') {
|
90
|
-
it(
|
90
|
+
it(`The selected options in specify possible options section should be displayed and by default all options should not be selected`, () => {
|
91
91
|
for (let index = 0; index < 3; index++) {
|
92
92
|
utilities.verifyInnerText(utilities.getNthElement(textSelectionPage.optionPreviewTab(), index), paragraphTextArray[index]);
|
93
93
|
utilities.verifyElementVisibilityState(utilities.getNthElement(textSelectionPage.optionPreviewTab(), index), 'visible');
|
@@ -96,34 +96,34 @@ describe('Create item page - Text selection : Preview contents', () => {
|
|
96
96
|
utilities.verifyElementCount(textSelectionPage.optionPreviewTab(), 3);
|
97
97
|
});
|
98
98
|
|
99
|
-
it(
|
99
|
+
it(`When user hovers on the available options, then those options should be displayed in hover state highlight`, () => {
|
100
100
|
for (let index = 0; index < 3; index++) {
|
101
101
|
textSelectionPage.steps.verifyHoverStateOfOptionInPreviewTab(paragraphTextArray[index], "blue");
|
102
102
|
};
|
103
103
|
});
|
104
104
|
|
105
|
-
it(
|
105
|
+
it(`When user selects an option, then that option should be displayed in selected state`, () => {
|
106
106
|
textSelectionPage.steps.selectOptionInPreviewTab(paragraphTextArray[0]);
|
107
107
|
textSelectionPage.steps.verifySelectedStateOptionInPreviewTab(paragraphTextArray[0], "blue");
|
108
108
|
textSelectionPage.steps.selectOptionInPreviewTab(paragraphTextArray[1]);
|
109
109
|
textSelectionPage.steps.verifySelectedStateOptionInPreviewTab(paragraphTextArray[1], "blue");
|
110
110
|
});
|
111
111
|
|
112
|
-
it(
|
112
|
+
it(`When user clicks on a selected option, then that option should be deselected`, () => {
|
113
113
|
textSelectionPage.steps.deselectOptionInPreviewTab(paragraphTextArray[0]);
|
114
114
|
textSelectionPage.steps.verifyStandardStateOptionInPreviewTab(paragraphTextArray[0]);
|
115
115
|
});
|
116
116
|
} else if (view === 'Grading view') {
|
117
|
-
it(
|
117
|
+
it(`The question text should be displayed with the selected correct options and status message 'Your answer is incorrect' should be displayed`, () => {
|
118
118
|
textSelectionPage.steps.verifyCorrectIconForOption(paragraphTextArray[1]);
|
119
119
|
textSelectionPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
120
120
|
});
|
121
121
|
|
122
|
-
it(
|
122
|
+
it(`The submitted answer options should not be editable`, () => {
|
123
123
|
textSelectionPage.steps.verifyAnswerSectionNotEditableInPreviewTab();
|
124
124
|
});
|
125
125
|
} else {
|
126
|
-
it(
|
126
|
+
it(`The question text should be displayed with the selected correct options`, () => {
|
127
127
|
for (let index = 0; index < 2; index++) {
|
128
128
|
textSelectionPage.steps.verifyCorrectIconForOption(paragraphTextArray[index]);
|
129
129
|
};
|
@@ -116,8 +116,7 @@ describe('Create question page - Upload Response: Question Instructions, Support
|
|
116
116
|
it('When the user deselects all the file types from the \'Supported file types\' accordion menu, then a validation text \'Error: Please select a file type.\' should not be displayed', () => {
|
117
117
|
cy.log('Deselecting all file types to get error message.');
|
118
118
|
uploadResponsePage.steps.uncheckDefaultSelectedFileTypes();
|
119
|
-
utilities.
|
120
|
-
utilities.verifyElementVisibilityState(uploadResponsePage.errorMessage(), 'visible');
|
119
|
+
utilities.verifyElementVisibilityState(uploadResponsePage.errorMessage(), 'notExist');
|
121
120
|
});
|
122
121
|
|
123
122
|
uploadResponsePage.tests.verifyErrorMessageCSSAndA11y();
|
@@ -226,7 +225,7 @@ describe('Create question page - Upload Response: Question Instructions, Support
|
|
226
225
|
|
227
226
|
it('User should be able to upload maximum 15 files and count in the file limit section should update accordingly', () => {
|
228
227
|
uploadResponsePage.steps.fileUploadAndVerify(['sample.csv', 'sample.xlsx', 'sample.gif', 'sample.jpg', 'sample.pdf', 'image.png', 'sample.ppt', 'sample.pub', 'sample.rtf', 'sample.txt', 'sample.doc', 'sample.xps', 'sample.zip', 'sample1.jpg', 'sample2.jpg']);
|
229
|
-
|
228
|
+
uploadResponsePage.steps.verifyUploadedFileLimitCount(15, 15);
|
230
229
|
});
|
231
230
|
|
232
231
|
it('When user updates \'Maximum number of files\' input field , then file limit should be updated in preview tab', () => {
|
@@ -19,7 +19,7 @@ describe('Preview of Video response for compact recorder style', () => {
|
|
19
19
|
videoResponsePage.steps.switchToPreviewTab();
|
20
20
|
});
|
21
21
|
|
22
|
-
it(
|
22
|
+
it(`Video response : If user selects \'Compact\' option from \'video recorder style\' toggle buttons, then \'Record\' button and \'Click the button to start recording...\' help text should be displayed in the preview tab`, () => {
|
23
23
|
utilities.verifyElementVisibilityState(videoResponsePage.recordButtonCompactPreview(), 'visible');
|
24
24
|
utilities.verifyInnerText(videoResponsePage.recordButtonCompactPreview(), 'Record');
|
25
25
|
utilities.verifyInnerText(videoResponsePage.recordingHelpTextCompactPreview(), 'Click the button to start recording...');
|
@@ -139,7 +139,7 @@ describe('Preview of Video response for compact recorder style', () => {
|
|
139
139
|
cy.checkAccessibility(videoResponsePage.previewTabQuestionWrapper());
|
140
140
|
});
|
141
141
|
|
142
|
-
it(
|
142
|
+
it(`Video response: When the recorder is in paused state and the user clicks on the \'Resume recording\' button the recording should get resumed from where it was paused. Resume recording button should update to Pause button and the help text should update to "Recording...". Resume icon button should get replaced with Pause icon button in the flyout, user should be able to view the duration of their recorded video in minutes, displayed as \'(min:secs / min:sec)\'. Stop button should be displayed in preview tab.`, () => {
|
143
143
|
videoResponsePage.steps.resumeRecordingCompactPreview();
|
144
144
|
utilities.verifyElementVisibilityState(videoResponsePage.resumeRecordingButtonCompactPreview(), 'notExist');
|
145
145
|
utilities.verifyElementVisibilityState(videoResponsePage.pauseRecordingButtonCompactPreview(), 'visible');
|
@@ -196,7 +196,7 @@ describe('Preview of Video response for compact recorder style', () => {
|
|
196
196
|
utilities.verifyElementVisibilityState(videoResponsePage.playPlaybackButtonCompactPreview(), 'visible');
|
197
197
|
});
|
198
198
|
|
199
|
-
it(
|
199
|
+
it(`Video response : When recording is inprogress, recording should stop at maximum recording duration and \'Stop\' button should get replaced with Retake button. Playback button should be displayed in enabled state.`, () => {
|
200
200
|
cy.log('Pre-step: Switch to edit tab and set maximum recording duration to 10 secs')
|
201
201
|
videoResponsePage.steps.switchToEditTab();
|
202
202
|
videoResponsePage.steps.setMaximumRecordingDuration(40);
|
@@ -117,7 +117,6 @@ describe('Create item page - Video response: Question instructions, Maximum reco
|
|
117
117
|
});
|
118
118
|
});
|
119
119
|
|
120
|
-
//Failing due to https://redmine.zeuslearning.com/issues/573549
|
121
120
|
describe('Maximum recording duration: Edit tab', () => {
|
122
121
|
abortEarlySetup();
|
123
122
|
before(() => {
|
@@ -162,8 +161,7 @@ describe('Create item page - Video response: Question instructions, Maximum reco
|
|
162
161
|
|
163
162
|
it('When the user focuses in and out of the empty \'Maximum recording duration\' input field, \'Error: Maximum recording duration is required.\' validation error should be displayed below the \'Maximum recording duration\' input field', () => {
|
164
163
|
videoResponsePage.steps.clearMaximumRecordingDurationInputField();
|
165
|
-
|
166
|
-
// utilities.verifyInnerText(videoResponsePage.errorMessage(), 'Error: Maximum recording duration is required.');
|
164
|
+
utilities.verifyInnerText(videoResponsePage.errorMessage(), 'Error: Maximum recording duration is required.');
|
167
165
|
utilities.verifyElementVisibilityState(videoResponsePage.errorMessage(), 'visible');
|
168
166
|
});
|
169
167
|
|
@@ -208,8 +206,9 @@ describe('Create item page - Video response: Question instructions, Maximum reco
|
|
208
206
|
|
209
207
|
it('When the user focuses in and out of the empty \'Maximum recording duration\' input field, \'Error: Maximum recording duration is required.\' validation error should be displayed below the \'Maximum recording duration\' input field', () => {
|
210
208
|
videoResponsePage.steps.clearMaximumRecordingDurationInputField();
|
211
|
-
|
212
|
-
|
209
|
+
videoResponsePage.steps.toggleMaximumRecordingDurationInputField('Secs');
|
210
|
+
videoResponsePage.steps.clearMaximumRecordingDurationInputField();
|
211
|
+
utilities.verifyInnerText(videoResponsePage.errorMessage(), 'Error: Maximum recording duration is required.');
|
213
212
|
utilities.verifyElementVisibilityState(videoResponsePage.errorMessage(), 'visible');
|
214
213
|
});
|
215
214
|
|
@@ -221,7 +220,7 @@ describe('Create item page - Video response: Question instructions, Maximum reco
|
|
221
220
|
});
|
222
221
|
|
223
222
|
it('When the user has set \'Maximum recording duration\' to \'0\' (zero), a validation message \'Error: Value must be greater than 0 mins.\' should be displayed', () => {
|
224
|
-
videoResponsePage.steps.
|
223
|
+
videoResponsePage.steps.setMaximumRecordingDurationNew(0);
|
225
224
|
videoResponsePage.steps.verifyMaximumRecordingDuration(0);
|
226
225
|
// Uncomment once https://redmine.zeuslearning.com/issues/583618 is resolved
|
227
226
|
// utilities.verifyInnerText(videoResponsePage.errorMessage(), 'Error: Value must be greater than 0 mins.');
|
@@ -233,6 +232,7 @@ describe('Create item page - Video response: Question instructions, Maximum reco
|
|
233
232
|
it('When the user updates the \'Maximum recording duration\' value, then the validation message \'Error: Value must be greater than 0 mins.\' should disappear', () => {
|
234
233
|
videoResponsePage.steps.setMaximumRecordingDuration(5);
|
235
234
|
videoResponsePage.steps.verifyErrorMessageIsNotDisplayed();
|
235
|
+
videoResponsePage.steps.toggleMaximumRecordingDurationInputField('Mins');
|
236
236
|
});
|
237
237
|
|
238
238
|
it('When user tries to add a value greater than 10 it should be automatically set back to 10 and should not allow to add greater than set value', () => {
|
@@ -153,7 +153,6 @@ const steps = {
|
|
153
153
|
}
|
154
154
|
|
155
155
|
const tests = {
|
156
|
-
//Note: need to fix this function once save as you go is available for all question types
|
157
156
|
verifyPreviewModesAndScoreWhenPointsAndCorrectAnswersIsNotSet: () => {
|
158
157
|
it('When the user has not set correct answer option(s) and alloted points, \'Student view\' radio button should be checked, \'Grading view\' button should not be checked, 0 points should be displayed and no correct or incorrect icons should be displayed in the preview tab', () => {
|
159
158
|
utilities.verifyInnerText(autoScoredScoringPreviewTab.studentViewRadioButtonLabel(), 'Student view');
|
@@ -37,7 +37,7 @@ const selectors = {
|
|
37
37
|
xAxisCheckbox: () => cy.get('[data-ngie-testid="x-axis-checkbox"] input'),
|
38
38
|
xAxisLabelSelectChartType: () => cy.get('[data-ngie-testid="x-axis-checkbox"] .MuiFormControlLabel-label'),
|
39
39
|
gridCellSelectChartType: () => cy.get('[class*="Chartsstyles__ChartsQuestionWrapper"] .grid-cell'),
|
40
|
-
gridSnappingLabel: () => cy.get('[
|
40
|
+
gridSnappingLabel: () => cy.get('[for="grid snapping"]'),
|
41
41
|
gridSnappingInputField: () => cy.get('input[id="grid snapping"]'),
|
42
42
|
|
43
43
|
//Specify correct answer section
|
@@ -312,7 +312,6 @@ const tests = {
|
|
312
312
|
equationEditorSectionCommonComponent.steps.focusInResponseAnswerInputFieldPreviewTab(0);
|
313
313
|
}
|
314
314
|
utilities.verifyElementVisibilityState(equationEditorFlyout.dialogBox(), 'visible');
|
315
|
-
cy.eyesCheckWindow('Equation Editor flyout in preview tab');
|
316
315
|
});
|
317
316
|
|
318
317
|
it(`In the equation editor flyout the ${allCategories[0].displayName} should be selected by default and the Equation editor input field should be prefilled with the added equation`, () => {
|
@@ -364,6 +363,7 @@ const tests = {
|
|
364
363
|
equationEditorSectionCommonComponent.steps.focusInResponseAnswerInputFieldPreviewTab(0);
|
365
364
|
}
|
366
365
|
utilities.verifyElementVisibilityState(equationEditorFlyout.dialogBox(), 'visible');
|
366
|
+
cy.eyesCheckWindow('Equation Editor flyout in preview tab');
|
367
367
|
});
|
368
368
|
|
369
369
|
it('\'Done\'button should be displayed at the bottom of the flyout', () => {
|
@@ -431,7 +431,7 @@ const tests = {
|
|
431
431
|
cy.checkAccessibility(equationEditorFlyout.dialogBox());
|
432
432
|
});
|
433
433
|
|
434
|
-
it(
|
434
|
+
it(`${questionType} Cancel button should be displayed in the flyout and when user clicks the 'Cancel' button then the flyout should close`, () => {
|
435
435
|
utilities.verifyElementVisibilityState(equationEditorFlyout.buttonCancel(), 'visible');
|
436
436
|
utilities.verifyInnerText(equationEditorFlyout.buttonCancel(), 'Cancel');
|
437
437
|
equationEditorFlyout.steps.clickOnEquationEditorCancelButton();
|
@@ -44,6 +44,7 @@ const selectors = {
|
|
44
44
|
|
45
45
|
//Preview tab
|
46
46
|
dropdownWrapperPreviewTab: () => cy.get('[class*="question-preview-wrapper"] .response-dropdown-wrapper'),
|
47
|
+
dropdownPreviewWrapper: () => cy.get('[class*="AnswerStatusIconAndResponseWrapper"]'),
|
47
48
|
dropdownPreviewTab: () => cy.get('[class*="question-preview-wrapper"] [aria-haspopup="listbox"]'),
|
48
49
|
dropdownPlaceholderText: () => cy.get('.cloze-with-dropdown-placeholder'),
|
49
50
|
dropdownTextLabel: () => cy.get('.dropdown-label-text'),
|
@@ -734,6 +735,16 @@ const steps = {
|
|
734
735
|
});
|
735
736
|
}
|
736
737
|
});
|
738
|
+
},
|
739
|
+
|
740
|
+
checkIfDropdownMenuOverflowForAutoScale: () => {
|
741
|
+
fillInTheGapsDropdownCommonComponent.dropdownPreviewWrapper()
|
742
|
+
.should('exist')
|
743
|
+
.then(($dropdown) => {
|
744
|
+
const scrollWidth = $dropdown[0].scrollWidth;
|
745
|
+
const clientWidth = $dropdown[0].clientWidth;
|
746
|
+
expect(scrollWidth).to.not.be.greaterThan(clientWidth);
|
747
|
+
});
|
737
748
|
}
|
738
749
|
}
|
739
750
|
|
@@ -8,6 +8,7 @@ import { autoScoredSpecifyCorrectAnswerSection } from "./autoScoredSpecifyCorrec
|
|
8
8
|
import { colorPopupComponent } from "./colorPopupComponent";
|
9
9
|
import { commonComponents } from "./commonComponents";
|
10
10
|
import { createQuestionBasePage } from "./createQuestionBasePage";
|
11
|
+
import { scoringSectionBaseEditTab } from "./scoringSectionBaseEditTab";
|
11
12
|
import { specifyRowsAndColumnsComponent } from "./specifyRowsAndColumnsComponent";
|
12
13
|
const css = Cypress.env('css');
|
13
14
|
|
@@ -105,7 +106,7 @@ const selectors = {
|
|
105
106
|
//Style and layout customization
|
106
107
|
layoutLabel: () => cy.get('[class*="Layoutstyles__SectionWrapper"]'),
|
107
108
|
rowSpacingDropdownLabel: () => cy.get('#Row-spacing-dropdown-label'),
|
108
|
-
rowSpacingDropdown: () => cy.get('[aria-labelledby*="Row-spacing-
|
109
|
+
rowSpacingDropdown: () => cy.get('[aria-labelledby*="Row-spacing-select"]').eq(0),
|
109
110
|
rowSpacingDropdownOptions: (ariaLabel = null) => {
|
110
111
|
if (ariaLabel) {
|
111
112
|
return cy.get(`[aria-labelledby*="Row-spacing-dropdown-label"] .dropdown-menu-item[aria-label*="${ariaLabel}"]`)
|
@@ -114,7 +115,7 @@ const selectors = {
|
|
114
115
|
}
|
115
116
|
},
|
116
117
|
columnSpacingDropdownLabel: () => cy.get('#Column-spacing-dropdown-label'),
|
117
|
-
columnSpacingDropdown: () => cy.get('[aria-labelledby*="Column-spacing-
|
118
|
+
columnSpacingDropdown: () => cy.get('[aria-labelledby*="Column-spacing-select"]'),
|
118
119
|
columnSpacingDropdownOptions: (ariaLabel = null) => {
|
119
120
|
if (ariaLabel) {
|
120
121
|
return cy.get(`[aria-labelledby*="Column-spacing-dropdown-label"] .dropdown-menu-item[aria-label*="${ariaLabel}"]`)
|
@@ -2052,7 +2053,6 @@ const steps = {
|
|
2052
2053
|
.within(() => {
|
2053
2054
|
utilities.verifyElementVisibilityState(commonComponents.warningIcon(), 'notExist');
|
2054
2055
|
});
|
2055
|
-
|
2056
2056
|
scoringSectionBaseEditTab.pointsWrapper()
|
2057
2057
|
.within(() => {
|
2058
2058
|
utilities.verifyElementVisibilityState(commonComponents.warningIcon(), 'notExist');
|
@@ -2071,7 +2071,6 @@ const steps = {
|
|
2071
2071
|
}
|
2072
2072
|
|
2073
2073
|
const tests = {
|
2074
|
-
//Note: need to remove this as change the global function once save as you go is available for all question types
|
2075
2074
|
verifyPreviewModesAndScoreWhenPointsAndCorrectAnswersIsNotSet: () => {
|
2076
2075
|
it('When the user has not set correct answer option(s) and alloted points, \'Student view\' radio button should be checked, \'Grading view\' button should not be checked, 0 points should be displayed and no correct or incorrect icons should be displayed in the preview tab', () => {
|
2077
2076
|
utilities.verifyInnerText(autoScoredScoringPreviewTab.studentViewRadioButtonLabel(), 'Student view');
|
@@ -1017,6 +1017,8 @@ const tests = {
|
|
1017
1017
|
});
|
1018
1018
|
|
1019
1019
|
it(`'Image alignment' section should have three options ${alignmentOptions} and ${alignmentOptions[0]} should be active selection by default`, () => {
|
1020
|
+
//Uncheck Fill image to canvas checkbox to verify image is left aligned in the canvas
|
1021
|
+
imageCanvasComponent.steps.uncheckFillImageToCanvasCheckbox();
|
1020
1022
|
utilities.verifyInnerText(imageCanvasComponent.topLeftAlignmentButton(), 'Top left');
|
1021
1023
|
utilities.verifyElementVisibilityState(imageCanvasComponent.topLeftAlignmentButton(), 'visible');
|
1022
1024
|
utilities.verifyInnerText(imageCanvasComponent.centerAlignmentButton(), 'Center');
|
@@ -23,7 +23,7 @@ const selectors = {
|
|
23
23
|
heightInputField: () => cy.get('.number-line-layout-options input[aria-label="Height (px)"]'),
|
24
24
|
marginLabel: () => cy.get('.margin-input-wrapper [for="Margin (px)"]'),
|
25
25
|
marginInputField: () => cy.get('.number-line-layout-options input[aria-label="Margin (px)"]'),
|
26
|
-
responseSpacingLabel: () => cy.get('.dropdown-wrapper [
|
26
|
+
responseSpacingLabel: () => cy.get('.dropdown-wrapper [for="Response Spacing"]'),
|
27
27
|
responseSpacingInputField: () => cy.get('.dropdown-wrapper input[aria-label="Response Spacing"]'),
|
28
28
|
makeResponsiveLabel: () => cy.get('.mobile-responsive-wrapper .MuiFormControlLabel-label'),
|
29
29
|
makeResponsiveCheckbox: () => cy.get('.mobile-responsive-wrapper input'),
|
@@ -26,7 +26,7 @@ const steps = {
|
|
26
26
|
*/
|
27
27
|
selectOptionFromMaxCapacityPerDropzoneDropdown: (listOption) => {
|
28
28
|
maximumCapacityPerDropzoneComponent.maxCapacityPerDropzoneDropdownListOptions(listOption)
|
29
|
-
.click();
|
29
|
+
.click({force: true});
|
30
30
|
},
|
31
31
|
|
32
32
|
verifyMaxCapacityPerDropzoneListOptions: (options) => {
|
@@ -20,9 +20,9 @@ const selectors = {
|
|
20
20
|
correctIncorrectAnswerTextWrapper: () => cy.get('[class*="CorrectIncorrectWrapper"]'),
|
21
21
|
warningMessage: () => cy.get('.disabled-wrapper-cls [class*="DisabledTextWrapper"]'),
|
22
22
|
warningMessageContainer: () => cy.get('.disabled-wrapper-cls'),
|
23
|
-
nodesOnNumberLineOfNumberLineSection: () => cy.get('[class*="LineGridSettingstyles__LineSettingWrapper"] .ngie-jxgbox [stroke-linecap="round"]'),
|
24
|
-
nodesOnNumberLineOfSpecifyCorrectAnswerSection: () => cy.get('[class*="AnswerAccordionstyles__AnswerPanel"] .ngie-jxgbox [stroke-linecap="round"]'),
|
25
|
-
nodesOnNumberLineInPreviewTab: () => cy.get('[class*="TabsComponentstyles__PreviewWrapper"] .ngie-jxgbox [stroke-linecap="round"]'),
|
23
|
+
nodesOnNumberLineOfNumberLineSection: () => cy.get('[class*="LineGridSettingstyles__LineSettingWrapper"] .ngie-jxgbox [id*="ticks"][stroke-linecap="round"]'),
|
24
|
+
nodesOnNumberLineOfSpecifyCorrectAnswerSection: () => cy.get('[class*="AnswerAccordionstyles__AnswerPanel"] .ngie-jxgbox [id*="ticks"][stroke-linecap="round"]'),
|
25
|
+
nodesOnNumberLineInPreviewTab: () => cy.get('[class*="TabsComponentstyles__PreviewWrapper"] .ngie-jxgbox [id*="ticks"][stroke-linecap="round"]'),
|
26
26
|
}
|
27
27
|
|
28
28
|
const steps = {
|
@@ -31,7 +31,6 @@ const selectors = {
|
|
31
31
|
sectionsNumber1Label: () => cy.get('.tablist-numbered-label').eq(0),
|
32
32
|
sectionsNumber2Label: () => cy.get('.tablist-numbered-label').eq(1),
|
33
33
|
noPreviewText: () => cy.get('[class*="__NoPreview"]'),
|
34
|
-
buttonEditItemTitle: () => cy.get('[data-at="edit-button"]'),
|
35
34
|
editItemButton: () => cy.get('.column-component-column .icon-pencil'),
|
36
35
|
pointsValue: () => cy.get('[class*="PreviewTabstyles__PointsValue"]'),
|
37
36
|
moreActionsButton: () => cy.get('[class*="MoreActionMenuButton"] [type="button"]'),
|
@@ -149,8 +148,6 @@ const steps = {
|
|
149
148
|
enterTitle: (value) => {
|
150
149
|
createItemPage.titleInputField()
|
151
150
|
.type(value);
|
152
|
-
createItemPage.titleInputField()
|
153
|
-
.blur();
|
154
151
|
},
|
155
152
|
|
156
153
|
clickOnSubmitButton: () => {
|
@@ -586,10 +583,6 @@ const steps = {
|
|
586
583
|
});
|
587
584
|
},
|
588
585
|
|
589
|
-
editItemTitle: () => {
|
590
|
-
createItemPage.buttonEditItemTitle()
|
591
|
-
},
|
592
|
-
|
593
586
|
/**
|
594
587
|
* @param {number} index of the question
|
595
588
|
* @description this function is used to click on edit item button
|
@@ -328,6 +328,38 @@ const steps = {
|
|
328
328
|
};
|
329
329
|
},
|
330
330
|
|
331
|
+
/**
|
332
|
+
* @param {number} cellIndex - Index of the table cell.
|
333
|
+
* @param {("Heading" | "Subheading" | "Text" | "Dropzone" | "None")} cellProperty - Type of property to verify.
|
334
|
+
* @description Verifies the appearance and content of a specific property in a table cell on the preview tab.
|
335
|
+
*/
|
336
|
+
verifyTableCellPropertyStudentView: (cellIndex, cellProperty) => {
|
337
|
+
switch (cellProperty) {
|
338
|
+
case 'Heading':
|
339
|
+
utilities.getNthElement(dragAndDropIntoCategoriesPage.cellContainerPreviewTab(), cellIndex)
|
340
|
+
.should('have.class', 'header-cell');
|
341
|
+
break;
|
342
|
+
case 'Subheading':
|
343
|
+
utilities.getNthElement(dragAndDropIntoCategoriesPage.cellContainerPreviewTab(), cellIndex)
|
344
|
+
.should('have.class', 'sub-header-cell');
|
345
|
+
break;
|
346
|
+
case 'Text':
|
347
|
+
utilities.getNthElement(dragAndDropIntoCategoriesPage.cellContainerPreviewTab(), cellIndex)
|
348
|
+
.should('have.class', 'text-cell');
|
349
|
+
break;
|
350
|
+
case 'Dropzone':
|
351
|
+
utilities.getNthElement(dragAndDropIntoCategoriesPage.cellContainerPreviewTab(), cellIndex)
|
352
|
+
.should('have.class', 'dropzone-cell');
|
353
|
+
break;
|
354
|
+
case 'None':
|
355
|
+
utilities.getNthElement(dragAndDropIntoCategoriesPage.cellContainerPreviewTab(), cellIndex)
|
356
|
+
.should('have.class', 'none-cell');
|
357
|
+
break;
|
358
|
+
default:
|
359
|
+
throw new Error('Invalid list option');
|
360
|
+
};
|
361
|
+
},
|
362
|
+
|
331
363
|
/**
|
332
364
|
* @param {number} cellIndex - Index of the table cell.
|
333
365
|
* @param {("Heading" | "Subheading" | "Text" | "Dropzone" | "None")} cellProperty - Type of property to verify.
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import utilities from "../support/helpers/utilities"
|
2
|
-
import { questionInstructionsComponent, createQuestionBasePage, commonComponents, additionalSettingsPanel, scoringSectionBaseEditTab, customizeSpecialCharacterComponent, customizeMathCharacterComponent } from "./components"
|
2
|
+
import { questionInstructionsComponent, createQuestionBasePage, commonComponents, additionalSettingsPanel, scoringSectionBaseEditTab, customizeSpecialCharacterComponent, customizeMathCharacterComponent, backgroundImageUploadComponent } from "./components"
|
3
3
|
import { createItemPage } from "./createItemPage";
|
4
4
|
import { dialogBoxBase } from "./dialogBoxBase";
|
5
5
|
|
@@ -15,6 +15,7 @@ const selectors = {
|
|
15
15
|
...createQuestionBasePage,
|
16
16
|
...customizeSpecialCharacterComponent,
|
17
17
|
...customizeMathCharacterComponent,
|
18
|
+
...backgroundImageUploadComponent,
|
18
19
|
//Customize toolbar options and controls
|
19
20
|
customizeToolbarOptionsAndControlsAccordion: () => cy.get('.drawing-response-accordion .ngie-accordion-summary'),
|
20
21
|
customizeToolbarOptionsAndControlsLabel: () => cy.get('.customized-options-label'),
|
@@ -116,9 +117,9 @@ const selectors = {
|
|
116
117
|
imageRadioButton: () => cy.get('input[aria-label="Image"]'),
|
117
118
|
patternLabel: () => cy.get('label[aria-label="Pattern"]'),
|
118
119
|
patternRadioButton: () => cy.get('input[aria-label="Pattern"]'),
|
119
|
-
canvasWidthLabel: () => cy.get('label[
|
120
|
+
canvasWidthLabel: () => cy.get('label[for="Canvas width (px)"]'),
|
120
121
|
canvasWidthInputField: () => cy.get('input[aria-label="Canvas width (px)"]'),
|
121
|
-
canvasHeightLabel: () => cy.get('label[
|
122
|
+
canvasHeightLabel: () => cy.get('label[for="Canvas height (px)"]'),
|
122
123
|
canvasHeightInputField: () => cy.get('input[aria-label="Canvas height (px)"]'),
|
123
124
|
aspectRatioButton: () => cy.get('.lock-reset-icon-wrapper button').eq(0),
|
124
125
|
resetDimensionsButton: () => cy.get('.lock-reset-icon-wrapper button').eq(1),
|
@@ -231,6 +232,7 @@ const steps = {
|
|
231
232
|
...customizeSpecialCharacterComponent.steps,
|
232
233
|
...customizeMathCharacterComponent.steps,
|
233
234
|
...createItemPage.steps,
|
235
|
+
...backgroundImageUploadComponent.steps,
|
234
236
|
/**
|
235
237
|
* @param {string[]} arrayOfToolbarOptions array of toolbar options to be selected
|
236
238
|
* @description this function selects toolbar options from edit tab
|
@@ -642,6 +644,14 @@ const steps = {
|
|
642
644
|
.attachFile(file);
|
643
645
|
},
|
644
646
|
|
647
|
+
/**
|
648
|
+
* @description this function deletes an uploaded file
|
649
|
+
*/
|
650
|
+
deleteUploadedFile: () => {
|
651
|
+
backgroundImageUploadComponent.steps.deleteImage();
|
652
|
+
backgroundImageUploadComponent.steps.clickOnDeleteButtonInDeleteImagePopup();
|
653
|
+
},
|
654
|
+
|
645
655
|
verifyImageContainerErrorMessage: (fileName) => {
|
646
656
|
drawingResponsePage.insertImageContainerErrorMessage()
|
647
657
|
.should('have.text', `The following files were rejected${fileName} is too large. The maximum file size is 5MB`)
|
@@ -76,9 +76,9 @@ const selectors = {
|
|
76
76
|
optionAlignmentInDropzoneOptions: (alignmentOption) => cy.get(`.option-alignment button[aria-label*="option alignment in dropzone ${alignmentOption}"]`),
|
77
77
|
setHeightAndWidthForAllDropzoneCheckboxLabel: () => cy.get('[data-ngie-testid="set-height-and-width-for-all-dropzones-checkbox"] .MuiFormControlLabel-label'),
|
78
78
|
setHeightAndWidthForAllDropzoneCheckbox: () => cy.get('[data-ngie-testid="set-height-and-width-for-all-dropzones-checkbox"] input'),
|
79
|
-
dropzoneHeightInputFieldLabel: () => cy.get('.dropzone-text-container-dimension [
|
79
|
+
dropzoneHeightInputFieldLabel: () => cy.get('.dropzone-text-container-dimension [for="Height (px)"]'),
|
80
80
|
dropzoneHeightInputField: () => cy.get('.dropzone-text-container-dimension [id="Height (px)"]'),
|
81
|
-
dropzoneWidthInputFieldLabel: () => cy.get('.dropzone-text-container-dimension [
|
81
|
+
dropzoneWidthInputFieldLabel: () => cy.get('.dropzone-text-container-dimension [for="Width (px)"]'),
|
82
82
|
dropzoneWidthInputField: () => cy.get('.dropzone-text-container-dimension [id="Width (px)"]'),
|
83
83
|
draggableOptionPanelPlacementLabel: () => cy.get('.draggable-option-panel-label'),
|
84
84
|
panelPlacementLabel: () => cy.get('.panel-placement-style .options-label'),
|
@@ -711,7 +711,7 @@ const steps = {
|
|
711
711
|
|
712
712
|
verifyNoImageAlternativeTextPresentInPreviewTab: () => {
|
713
713
|
imageCanvasComponent.canvasImageInPreviewTab()
|
714
|
-
.should('have.attr', 'alt', 'highlightImage
|
714
|
+
.should('have.attr', 'alt', 'highlightImage');
|
715
715
|
},
|
716
716
|
|
717
717
|
/**
|
@@ -765,10 +765,11 @@ const steps = {
|
|
765
765
|
|
766
766
|
checkBlockRadioButton: () => {
|
767
767
|
fillInTheGapsOverImageDragAndDropPage.blockRadioButton()
|
768
|
-
.click()
|
768
|
+
.click();
|
769
769
|
cy.wait(500);
|
770
770
|
fillInTheGapsOverImageDragAndDropPage.blockRadioButton()
|
771
|
-
.
|
771
|
+
.parents('[data-value="block"]')
|
772
|
+
.should('have.class', 'radio-option-checked');
|
772
773
|
},
|
773
774
|
|
774
775
|
verifyInlineOptionPlacementSpecifyCorrectAnswer: () => {
|
@@ -36,9 +36,9 @@ const selectors = {
|
|
36
36
|
correctAnswerSectionWithoutEnumerationWrapper: () => cy.get('.label-image-with-text-correct-answer-wrapper'),
|
37
37
|
setHeightAndWidthForAllTextContainersCheckboxLabel: () => cy.get('[data-ngie-testid="set-height-and-width-for-all-text-containers-checkbox"] .MuiFormControlLabel-label'),
|
38
38
|
setHeightAndWidthForAllTextContainersCheckbox: () => cy.get('[data-ngie-testid="set-height-and-width-for-all-text-containers-checkbox"] input'),
|
39
|
-
textContainerHeightInputFieldLabel: () => cy.get('.dropzone-text-container-dimension [
|
39
|
+
textContainerHeightInputFieldLabel: () => cy.get('.dropzone-text-container-dimension [for="Height (px)"]'),
|
40
40
|
textContainerHeightInputField: () => cy.get('.dropzone-text-container-dimension [id="Height (px)"]'),
|
41
|
-
textContainerWidthInputFieldLabel: () => cy.get('.dropzone-text-container-dimension [
|
41
|
+
textContainerWidthInputFieldLabel: () => cy.get('.dropzone-text-container-dimension [for="Width (px)"]'),
|
42
42
|
textContainerWidthInputField: () => cy.get('.dropzone-text-container-dimension [id="Width (px)"]'),
|
43
43
|
textContainerConnectorStyleLabel: () => cy.get('.dropzone-connector-style-label'),
|
44
44
|
responseArea: () => cy.get('.canvas-dropzone'),
|
@@ -69,7 +69,7 @@ const steps = {
|
|
69
69
|
...styleAndLayoutCustomizationAccordionComponent.steps,
|
70
70
|
...figCommonStyleAndLayoutComponent.steps,
|
71
71
|
...connectorStyleStyleAndLayoutCustomizationComponent.steps,
|
72
|
-
|
72
|
+
...createItemPage.steps,
|
73
73
|
/**
|
74
74
|
* Verify that the incorrect option icon is displayed for a specific answer input field.
|
75
75
|
* @param {number} inputFieldIndex - The index of the answer input field to verify.
|
@@ -316,7 +316,17 @@ const steps = {
|
|
316
316
|
*/
|
317
317
|
verifyTextContainerWidthInputFieldValue: (value) => {
|
318
318
|
utilities.verifyInputFieldValue(fillInTheGapsOverImageTextPage.textContainerWidthInputField(), value);
|
319
|
-
}
|
319
|
+
},
|
320
|
+
|
321
|
+
/**
|
322
|
+
* @param {string} file name of the file in fixtures/upload folder
|
323
|
+
] * @description this function uploads a file
|
324
|
+
*/
|
325
|
+
uploadFileWithoutVerification: (file) => {
|
326
|
+
fillInTheGapsOverImageTextPage.inputTypeFile()
|
327
|
+
.attachFile(file);
|
328
|
+
cy.wait(4000);
|
329
|
+
},
|
320
330
|
}
|
321
331
|
|
322
332
|
const tests = {
|