itemengine-cypress-automation 1.0.154 → 1.0.155
Sign up to get free protection for your applications and to get access to all the features.
- package/cypress/e2e/ILC/AudioResponseNew/studentViewSettings.js +1 -1
- package/cypress/e2e/ILC/DesmosGraphing/additionalSettings.js +5 -5
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/allOrNothingBasicForGroupedOptionsLayout.js +2 -2
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +4 -4
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perCorrectOptionAlternativePointsGreaterThanCorrectPoints.js +4 -4
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perCorrectOptionCorrectPointsEqualToAlternativePoints.js +1 -1
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perCorrectOptionMinimumAndPenaltyScoring.js +1 -1
- package/cypress/e2e/ILC/EssayResponse/previewEditTable.js +6 -6
- package/cypress/e2e/ILC/EssayResponse/previewHyperlink.js +2 -3
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialDifferentWeightsBasic.js +1 -0
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/clickAndDrop.js +34 -29
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/draggableOptions.js +2 -0
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/editTabBasicSection.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +1 -0
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/dropdownOptionsSection.js +4 -1
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editTabBasicSection.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/headerSection.js +2 -0
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/specifyCorrectAnswerSection.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/backgroundImageAndCanvasProperties.js +2 -2
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/editTabScoring.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/minimumScoringPenaltyPointsAndRoundingDropdown.js +2 -2
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/studentViewSettings.js +1 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/additionalSettingsForDropdowns.js +7 -7
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/allOrNothingForAllView.smoke.js +1 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/checkAnswerFunctionalityForAllViews.smoke.js +1 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/dropdownOptionsSection.js +20 -8
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editTabBasicSection.js +2 -2
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +4 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/specifyCorrectAnswerSection.js +1 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/backgroundImageAndCanvasProperties.js +3 -3
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/editTabScoringSection.js +5 -4
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +4 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/setLimitSection.js +5 -2
- package/cypress/e2e/ILC/FillInTheGapsTextNew/additionalSettingsForAnswerInputFields.js +2 -2
- package/cypress/e2e/ILC/FillInTheGapsTextNew/editTabBasicSection.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsTextNew/editTabScoringSection.js +4 -3
- package/cypress/e2e/ILC/FillInTheGapsTextNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +1 -0
- package/cypress/e2e/ILC/FillInTheGapsTextNew/specialCharactersSection.js +0 -8
- package/cypress/e2e/ILC/GeogebraActivity/additionalSettings.js +1 -1
- package/cypress/e2e/ILC/Graphing/addBackgroundShapesSection.js +39 -35
- package/cypress/e2e/ILC/Graphing/additionalSettingsBasic.js +1 -1
- package/cypress/e2e/ILC/Graphing/layoutAndGridOptions.js +8 -6
- package/cypress/e2e/ILC/GridFill/customizeLayoutFillColor.js +475 -0
- package/cypress/e2e/ILC/GridFill/customizeLayoutFillImageBackgroundImage.js +669 -0
- package/cypress/e2e/ILC/GridFill/customizeLayoutSectionShadeCellsGridBorders.js +1 -1
- package/cypress/e2e/ILC/GridFill/editTabScoringSection.js +0 -11
- package/cypress/e2e/ILC/GridFill/gridLayoutContents.js +204 -0
- package/cypress/e2e/ILC/GridFill/gridLayoutEditTabFunctionality.js +229 -0
- package/cypress/e2e/ILC/GridFill/gridLayoutPreviewTabFunctionality.js +219 -0
- package/cypress/e2e/ILC/GridFill/minimumScoringPenaltyPointsAndRoundingDropdown.js +2 -0
- package/cypress/e2e/ILC/GridFill/previewContentsForAllViews.smoke.js +2 -2
- package/cypress/e2e/ILC/GridFill/specifyCorrectAnswerSection.js +0 -2
- package/cypress/e2e/ILC/GridFill/studentViewSettingsSection.js +1 -1
- package/cypress/e2e/ILC/Matching/draggableOptions.js +1 -1
- package/cypress/e2e/ILC/Matching/headerSection.js +82 -0
- package/cypress/e2e/ILC/Matching/specifyCorrectAnswerSection.js +93 -0
- package/cypress/e2e/ILC/MultipleSelection/blockCreateItem.js +2 -2
- package/cypress/e2e/ILC/MultipleSelection/editTabScoringSection.js +3 -0
- package/cypress/e2e/ILC/MultipleSelection/minimumScoringPenaltyPointsAndRoundingDropdown.js +1 -1
- package/cypress/e2e/ILC/MultipleSelection/multipleSelectionBasicAccessibility.js +8 -10
- package/cypress/e2e/ILC/MultipleSelection/specifyCorrectAnswerSection.js +3 -3
- package/cypress/e2e/ILC/MultipleSelection/studentViewSettings.js +16 -25
- package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/manuallyAndNonScored.js +140 -0
- package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +403 -0
- package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +363 -0
- package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +393 -0
- package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +377 -0
- package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/partialEqualWeightsBasic.js +1 -1
- package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +341 -0
- package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +373 -0
- package/cypress/e2e/ILC/Ruler/rulerEditTabBasicsSection.js +0 -1
- package/cypress/e2e/ILC/ShortTextResponseNew/conditionalCheckboxes.js +27 -8
- package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +15 -34
- package/cypress/e2e/ILC/ShortTextResponseNew/responseAnswersAndAcceptedStudentInput.js +13 -15
- package/cypress/e2e/ILC/ShortTextResponseNew/specifyCorrectAnswerSection.js +4 -4
- package/cypress/e2e/ILC/SimpleCalculator/editTabFunctionality.js +4 -2
- package/cypress/e2e/ILC/SingleSelection/blockCreateItem.js +2 -2
- package/cypress/e2e/ILC/SingleSelection/specifyCorrectAnswerSection.js +3 -3
- package/cypress/e2e/ILC/SingleSelection/studentViewSettings.js +1 -1
- package/cypress/e2e/ILC/SingleSelectionGridNew/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +183 -0
- package/cypress/e2e/ILC/SingleSelectionGridNew/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +185 -0
- package/cypress/e2e/ILC/SingleSelectionGridNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +263 -0
- package/cypress/e2e/ILC/SingleSelectionGridNew/Scoring/manuallyAndNonScored.js +140 -0
- package/cypress/e2e/ILC/SingleSelectionGridNew/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +233 -0
- package/cypress/e2e/ILC/SingleSelectionGridNew/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +205 -0
- package/cypress/e2e/ILC/SingleSelectionGridNew/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +233 -0
- package/cypress/e2e/ILC/SingleSelectionGridNew/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +214 -0
- package/cypress/e2e/ILC/SingleSelectionGridNew/Scoring/partialEqualWeightsBasic.js +1 -1
- package/cypress/e2e/ILC/SingleSelectionGridNew/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +183 -0
- package/cypress/e2e/ILC/SingleSelectionGridNew/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +213 -0
- package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +21 -17
- package/cypress/e2e/ILC/TextEntryMath/editTabScoringSection.js +1 -1
- package/cypress/e2e/ILC/TextEntryMath/minimumScoringPenaltyPointsAndRoundingDropdown.js +25 -25
- package/cypress/e2e/ILC/TextEntryMath/responseEvaluationMethodsAndCustomSettings.js +20 -17
- package/cypress/e2e/ILC/TextEntryMathWithImage/backgroundImageAndCanvasProperties.js +2 -2
- package/cypress/e2e/ILC/UploadResponse/manuallyAndNonScoredScoring.js +2 -3
- package/cypress/e2e/ILC/UploadResponse/uploadResponseAdditionalSettings.js +3 -3
- package/cypress/e2e/ILC/UploadResponse/uplodResponsePreviewUploadedFileProperties.js +2 -2
- package/cypress/fixtures/fillColorDefaultProperties.js +35 -0
- package/cypress/fixtures/theme/ilc.json +2 -1
- package/cypress/fixtures/uploads/sampleVirus.zip +0 -0
- package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +3 -3
- package/cypress/pages/components/autoScoredStudentViewSettings.js +1 -1
- package/cypress/pages/components/backgroundImageUploadComponent.js +4 -1
- package/cypress/pages/components/colorPopupComponent.js +6 -3
- package/cypress/pages/components/commonComponents.js +1 -1
- package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +4 -3
- package/cypress/pages/components/fillInTheGapsTextCommonComponent.js +47 -12
- package/cypress/pages/components/gridQuestionCommonComponent.js +0 -81
- package/cypress/pages/components/imageCanvasComponent.js +10 -8
- package/cypress/pages/components/listSortingAndOrderingBase.js +1 -1
- package/cypress/pages/components/questionInputFieldComponent.js +1 -1
- package/cypress/pages/components/questionInstructionsComponent.js +1 -1
- package/cypress/pages/dragAndDropIntoCategoriesPage.js +1 -1
- package/cypress/pages/essayResponsePage.js +4 -4
- package/cypress/pages/fillInTheGapsDragAndDropPage.js +34 -23
- package/cypress/pages/fillInTheGapsOverImageDragAndDropPage.js +0 -1
- package/cypress/pages/fillInTheGapsOverImageDropdownPage.js +26 -4
- package/cypress/pages/fillInTheGapsOverImageTextPage.js +0 -29
- package/cypress/pages/graphingPage.js +26 -16
- package/cypress/pages/gridFillPage.js +1610 -90
- package/cypress/pages/matchingPage.js +164 -20
- package/cypress/pages/multipleSelectionGridPage.js +82 -2
- package/cypress/pages/multipleSelectionPage.js +7 -2
- package/cypress/pages/rulerPage.js +3 -8
- package/cypress/pages/shortTextResponsePage.js +13 -0
- package/cypress/pages/simpleCalculatorPage.js +8 -0
- package/cypress/pages/singleSelectionGridPage.js +58 -2
- package/cypress/pages/textEntryMathPage.js +58 -11
- package/cypress/pages/uploadResponsePage.js +4 -2
- package/package.json +1 -1
- package/cypress/e2e/ILC/MultipleSelection/multipleSelectionAdditionalSettings.js +0 -835
- package/cypress/e2e/ILC/SingleSelection/singleSelectionAdditionalSettings.js +0 -469
@@ -1,4 +1,5 @@
|
|
1
1
|
import utilities from "../../support/helpers/utilities";
|
2
|
+
import { dialogBoxBase } from "../dialogBoxBase";
|
2
3
|
import { acceptedStudentInputComponent } from "./acceptedStudentInputComponent";
|
3
4
|
import { autoScoredScoringSectionMultiResponseType } from "./autoScoredScoringSectionMultiResponseType";
|
4
5
|
import { autoScoredSpecifyCorrectAnswerSection } from "./autoScoredSpecifyCorrectAnswerSection";
|
@@ -343,7 +344,8 @@ const steps = {
|
|
343
344
|
*/
|
344
345
|
addTextInAnswerInputFieldsPreviewTab: (responseIndex, responseText) => {
|
345
346
|
utilities.getNthElement(fillInTheGapsTextCommonComponent.answerInputFieldPreviewTab(), responseIndex)
|
346
|
-
.type(responseText)
|
347
|
+
.type(responseText)
|
348
|
+
.blur();
|
347
349
|
},
|
348
350
|
|
349
351
|
verifyEnableSpecialCharactersCheckboxUnchecked: () => {
|
@@ -392,6 +394,34 @@ const steps = {
|
|
392
394
|
.click();
|
393
395
|
},
|
394
396
|
|
397
|
+
/**
|
398
|
+
* Verify custom special characters displayed in special characters popup in preview tab
|
399
|
+
* @param {string[]} customSpecialCharacters Array of custom special characters
|
400
|
+
*/
|
401
|
+
verifyCustomSpecialCharactersInSpecialCharactersPopupPreviewTab: (customSpecialCharacters) => {
|
402
|
+
dialogBoxBase.dialogBox()
|
403
|
+
.within(() => {
|
404
|
+
customSpecialCharacters.forEach((customSpecialCharacter, index) => {
|
405
|
+
utilities.verifyInnerText(fillInTheGapsTextCommonComponent.specialCharactersCustomSymbolsPreviewTab().eq(index), `${customSpecialCharacter}`);
|
406
|
+
utilities.verifyElementVisibilityState(fillInTheGapsTextCommonComponent.specialCharactersCustomSymbolsPreviewTab().eq(index), 'visible');
|
407
|
+
});
|
408
|
+
utilities.verifyElementCount(fillInTheGapsTextCommonComponent.specialCharactersCustomSymbolsPreviewTab(), `${customSpecialCharacters.length}`);
|
409
|
+
});
|
410
|
+
},
|
411
|
+
|
412
|
+
/**
|
413
|
+
* Click on custom special character symbol in special characters popup in preview tab
|
414
|
+
* @param {string} customSpecialCharacterSymbol custom special character symbol
|
415
|
+
*/
|
416
|
+
clickOnCustomSpecialCharacterSymbolInSpecialCharactersPopupPreviewTab: (customSpecialCharacterSymbol) => {
|
417
|
+
dialogBoxBase.dialogBox()
|
418
|
+
.within(() => {
|
419
|
+
fillInTheGapsTextCommonComponent.specialCharactersCustomSymbolsPreviewTab()
|
420
|
+
.contains(customSpecialCharacterSymbol)
|
421
|
+
.click();
|
422
|
+
});
|
423
|
+
},
|
424
|
+
|
395
425
|
/**
|
396
426
|
* @description Verify response accordion is collapsed in specify correct answer section
|
397
427
|
* @param {number} responseIndex index of response accordion
|
@@ -987,7 +1017,7 @@ const tests = {
|
|
987
1017
|
|
988
1018
|
verifyMaximumCharacterLimitWarningConditionsSpecifyCorrectAnswerSection: () => {
|
989
1019
|
it('When the user reaches the character limit, then the warning message \'Maximum 10 characters have been entered\' should be displayed', () => {
|
990
|
-
fillInTheGapsTextCommonComponent.steps.enterTextInAnswerInputFieldsSpecifyCorrectAnswerSection([{ responseIndex: 0, responseText: '
|
1020
|
+
fillInTheGapsTextCommonComponent.steps.enterTextInAnswerInputFieldsSpecifyCorrectAnswerSection([{ responseIndex: 0, responseText: 'Flowerpots' }]);
|
991
1021
|
fillInTheGapsTextCommonComponent.steps.verifyTextInResponseAccordionAnswerInputField([{ responseIndex: 0, responseText: 'Flowerpots' }])
|
992
1022
|
fillInTheGapsTextCommonComponent.steps.verifyLimitReachedWarningMessageExist('Maximum 10 characters have been entered.');
|
993
1023
|
});
|
@@ -1089,7 +1119,7 @@ const tests = {
|
|
1089
1119
|
});
|
1090
1120
|
|
1091
1121
|
it('The user should not be able to enter characters more than the maximum character limit and warning message should persist', () => {
|
1092
|
-
fillInTheGapsTextCommonComponent.steps.addTextInAnswerInputFieldsPreviewTab(
|
1122
|
+
fillInTheGapsTextCommonComponent.steps.addTextInAnswerInputFieldsPreviewTab(0, 'From');
|
1093
1123
|
fillInTheGapsTextCommonComponent.steps.verifyTextInAnswerInputFieldsPreviewTab([{ responseIndex: 0, responseText: 'Flowerpots' }])
|
1094
1124
|
fillInTheGapsTextCommonComponent.steps.verifyLimitReachedWarningMessageExist('Maximum 10 characters have been entered.');
|
1095
1125
|
});
|
@@ -1101,8 +1131,8 @@ const tests = {
|
|
1101
1131
|
});
|
1102
1132
|
|
1103
1133
|
it('When the user reaches the maximum character limit, then the warning message \'Maximum 10 characters have been entered\' should be displayed and on focusing out of the answer input field, the warning message should disappear', () => {
|
1104
|
-
fillInTheGapsTextCommonComponent.steps.addTextInAnswerInputFieldsPreviewTab('s');
|
1105
|
-
fillInTheGapsTextCommonComponent.steps.
|
1134
|
+
fillInTheGapsTextCommonComponent.steps.addTextInAnswerInputFieldsPreviewTab(0, 's');
|
1135
|
+
fillInTheGapsTextCommonComponent.steps.verifyTextInAnswerInputFieldsPreviewTab([{ responseIndex: 0, responseText: 'Flowerpots' }])
|
1106
1136
|
fillInTheGapsTextCommonComponent.steps.verifyLimitReachedWarningMessageExist('Maximum 10 characters have been entered.');
|
1107
1137
|
fillInTheGapsTextCommonComponent.steps.focusOutOfResponseAnswerInputFieldPreviewTab(0);
|
1108
1138
|
fillInTheGapsTextCommonComponent.steps.verifyLimitReachedWarningMessageNotExist();
|
@@ -1111,7 +1141,7 @@ const tests = {
|
|
1111
1141
|
|
1112
1142
|
verifyMinimumCharacterLimitWarningConditionsPreviewTab: () => {
|
1113
1143
|
it('When the minimum character limit is set as 0, then on focusing out of the answer input field, no warning message should be displayed', () => {
|
1114
|
-
fillInTheGapsTextCommonComponent.steps.focusInAndFocusOutOfResponseAnswerInputFieldPreviewTab();
|
1144
|
+
fillInTheGapsTextCommonComponent.steps.focusInAndFocusOutOfResponseAnswerInputFieldPreviewTab(0);
|
1115
1145
|
fillInTheGapsTextCommonComponent.steps.verifyLimitReachedWarningMessageNotExist();
|
1116
1146
|
});
|
1117
1147
|
|
@@ -1174,6 +1204,8 @@ const tests = {
|
|
1174
1204
|
commonComponents.steps.verifyErrorMessageIsNotDisplayed();
|
1175
1205
|
});
|
1176
1206
|
|
1207
|
+
autoScoredSpecifyCorrectAnswerSection.tests.verifyAutoScoredPointsErrorMessageWhenPointsFieldIsEmpty(accordionName);
|
1208
|
+
|
1177
1209
|
it('\'Accepted student input\' label, menu and its options - \'Text\', \'Number\', \'Integer\' should be displayed and \'Text\' option should be active', () => {
|
1178
1210
|
utilities.verifyInnerText(acceptedStudentInputComponent.acceptedStudentInputLabel(), 'Accepted student input');
|
1179
1211
|
utilities.verifyElementVisibilityState(acceptedStudentInputComponent.acceptedStudentInputLabel(), 'visible');
|
@@ -1185,8 +1217,6 @@ const tests = {
|
|
1185
1217
|
fillInTheGapsTextCommonComponent.steps.collapseResponseAccordionSpecifyCorrectAnswer(0);
|
1186
1218
|
});
|
1187
1219
|
|
1188
|
-
autoScoredSpecifyCorrectAnswerSection.tests.verifyAutoScoredPointsErrorMessageWhenPointsFieldIsEmpty(accordionName);
|
1189
|
-
|
1190
1220
|
it(`CSS of ${accordionName} accordion contents`, { tags: 'css' }, () => {
|
1191
1221
|
utilities.verifyCSS(utilities.getNthElement(fillInTheGapsTextCommonComponent.responseAccordionLabel(), 0), {
|
1192
1222
|
'color': css.color.text,
|
@@ -1426,8 +1456,10 @@ const tests = {
|
|
1426
1456
|
fillInTheGapsTextCommonComponent.steps.verifyTextInResponseAccordionAnswerInputField([{ responseIndex: 0, responseText: 'Hi23(^^)' }]);
|
1427
1457
|
});
|
1428
1458
|
|
1429
|
-
it('When user selects \'Number\' in accepted student input, then text inside the answer input field should
|
1459
|
+
it('When user selects \'Number\' in accepted student input, then text inside the answer input field should be removed and user should be able to include numbers in the input field', () => {
|
1430
1460
|
acceptedStudentInputComponent.steps.selectAcceptedStudentInputType(0, 'Number');
|
1461
|
+
fillInTheGapsTextCommonComponent.steps.verifyTextInResponseAccordionAnswerInputField([{ responseIndex: 0, responseText: '' }]);
|
1462
|
+
fillInTheGapsTextCommonComponent.steps.enterTextInAnswerInputFieldsSpecifyCorrectAnswerSection([{ responseIndex: 0, responseText: '23' }]);
|
1431
1463
|
fillInTheGapsTextCommonComponent.steps.verifyTextInResponseAccordionAnswerInputField([{ responseIndex: 0, responseText: '23' }]);
|
1432
1464
|
});
|
1433
1465
|
|
@@ -1451,8 +1483,10 @@ const tests = {
|
|
1451
1483
|
fillInTheGapsTextCommonComponent.steps.verifyTextInResponseAccordionAnswerInputField([{ responseIndex: 0, responseText: '29.54' }]);
|
1452
1484
|
});
|
1453
1485
|
|
1454
|
-
it('When user selects \'Integer\' in accepted student input, then text inside the answer input field should
|
1486
|
+
it('When user selects \'Integer\' in accepted student input, then text inside the answer input field should be removed and user should be able to include numbers', () => {
|
1455
1487
|
acceptedStudentInputComponent.steps.selectAcceptedStudentInputType(0, 'Integer');
|
1488
|
+
fillInTheGapsTextCommonComponent.steps.verifyTextInResponseAccordionAnswerInputField([{ responseIndex: 0, responseText: '' }]);
|
1489
|
+
fillInTheGapsTextCommonComponent.steps.enterTextInAnswerInputFieldsSpecifyCorrectAnswerSection([{ responseIndex: 0, responseText: '2954' }]);
|
1456
1490
|
fillInTheGapsTextCommonComponent.steps.verifyTextInResponseAccordionAnswerInputField([{ responseIndex: 0, responseText: '2954' }]);
|
1457
1491
|
});
|
1458
1492
|
|
@@ -1471,9 +1505,10 @@ const tests = {
|
|
1471
1505
|
fillInTheGapsTextCommonComponent.steps.verifyTextInResponseAccordionAnswerInputField([{ responseIndex: 0, responseText: '44' }]);
|
1472
1506
|
});
|
1473
1507
|
|
1474
|
-
it('When user selects \'Text\' in accepted student input again, then answer input field should
|
1508
|
+
it('When user selects \'Text\' in accepted student input again, then answer input field should be removed and user should be able to enter text in input field', () => {
|
1475
1509
|
acceptedStudentInputComponent.steps.selectAcceptedStudentInputType(0, 'Text');
|
1476
|
-
fillInTheGapsTextCommonComponent.steps.verifyTextInResponseAccordionAnswerInputField([{ responseIndex: 0, responseText: '
|
1510
|
+
fillInTheGapsTextCommonComponent.steps.verifyTextInResponseAccordionAnswerInputField([{ responseIndex: 0, responseText: '' }]);
|
1511
|
+
fillInTheGapsTextCommonComponent.steps.enterTextInAnswerInputFieldsSpecifyCorrectAnswerSection([{ responseIndex: 0, responseText: 'Text' }]);
|
1477
1512
|
});
|
1478
1513
|
|
1479
1514
|
it('When user adds alternate answer input field, then accepted student input should be applied on both the response answer input fields in the response accordion', () => {
|
@@ -677,87 +677,6 @@ const tests = {
|
|
677
677
|
|
678
678
|
});
|
679
679
|
},
|
680
|
-
|
681
|
-
/**
|
682
|
-
* Verifies the contents and functionality of the 'Specify correct answer' accordion for multiple selection questions.
|
683
|
-
* @param {{'Correct' | 'Alternative'}} accordionName - The name of the accordion to be used in the validation.
|
684
|
-
* @example - verifySpecifyCorrectAnswerAccordionContentsAndFunctionality('Correct');
|
685
|
-
*/
|
686
|
-
verifySpecifyCorrectAnswerAccordionContentsAndFunctionality: (accordionName) => {
|
687
|
-
it(`The user should be able to check an option in the ${accordionName} accordion`, () => {
|
688
|
-
gridQuestionCommonComponent.steps.setAnswerInSpecifyCorrectAnswerSection({ row: 1, column: 0 });
|
689
|
-
});
|
690
|
-
|
691
|
-
it(`When the user has unchecked all the options in the ${accordionName} accordion, \'Error: Please set a correct answer.\' error message should be thrown along with an error icon on the \'${accordionName}\' accordion`, () => {
|
692
|
-
gridQuestionCommonComponent.steps.uncheckOptionInSpecifyCorrectAnswerSection({ row: 1, column: 0 });
|
693
|
-
utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'visible')
|
694
|
-
utilities.verifyInnerText(commonComponents.errorMessage(), 'Error: Please set a correct answer.');
|
695
|
-
if (accordionName == 'Correct') {
|
696
|
-
autoScoredSpecifyCorrectAnswerSection.correctAnswerAccordion()
|
697
|
-
.within(() => {
|
698
|
-
utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'visible');
|
699
|
-
});
|
700
|
-
} else {
|
701
|
-
autoScoredSpecifyCorrectAnswerSection.alternativeAnswerAccordion()
|
702
|
-
.within(() => {
|
703
|
-
utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'visible');
|
704
|
-
});
|
705
|
-
};
|
706
|
-
});
|
707
|
-
|
708
|
-
autoScoredSpecifyCorrectAnswerSection.tests.verifyAutoScoredCorrectAnswerErrorMessageCSSAndA11y();
|
709
|
-
|
710
|
-
it('When the user checks an option in the question grid, the error message should disappear', () => {
|
711
|
-
gridQuestionCommonComponent.steps.setAnswersForAllQuestionStemsInSpecifyCorrectAnswerSection([{ row: 1, column: 0 }, { row: 2, column: 1 }, { row: 3, column: 0 }, { row: 4, column: 1 }]);
|
712
|
-
commonComponents.steps.verifyErrorMessageIsNotDisplayed();
|
713
|
-
});
|
714
|
-
|
715
|
-
autoScoredSpecifyCorrectAnswerSection.tests.verifyAutoScoredPointsErrorMessageWhenPointsFieldIsEmpty(accordionName);
|
716
|
-
|
717
|
-
it('CSS of \'Correct\' accordion contents', { tags: 'css' }, () => {
|
718
|
-
gridQuestionCommonComponent.gridSpecifyCorrectAnswerSection()
|
719
|
-
.within(() => {
|
720
|
-
utilities.verifyCSS(utilities.getNthElement(gridQuestionCommonComponent.tableCell().parent(), 1), {
|
721
|
-
'background-color': css.color.matrixHeadingCellBg,
|
722
|
-
'border-color': `${css.color.matrixCellBorder}`
|
723
|
-
});
|
724
|
-
utilities.verifyCSS(utilities.getNthElement(gridQuestionCommonComponent.tableCell().parent(), 6), {
|
725
|
-
'background-color': css.color.matrixSubheadingCellBg,
|
726
|
-
'border-color': `${css.color.matrixCellBorder}`
|
727
|
-
});
|
728
|
-
utilities.verifyCSS(utilities.getNthElement(gridQuestionCommonComponent.tableCell().parent(), 9), {
|
729
|
-
'background-color': css.color.defaultBackground,
|
730
|
-
'border-color': `${css.color.matrixCellBorder}`
|
731
|
-
});
|
732
|
-
utilities.verifyCSS(utilities.getNthElement(gridQuestionCommonComponent.optionsButton, 0), {
|
733
|
-
'background-color': css.color.matrixHeadingCellBg,
|
734
|
-
'color': `${css.color.matrixCellBorder}`
|
735
|
-
});
|
736
|
-
utilities.verifyCSS(utilities.getNthElement(gridQuestionCommonComponent.optionsButton, 0).find('svg'), {
|
737
|
-
'color': css.color.activeButtons
|
738
|
-
});
|
739
|
-
utilities.verifyCSS(utilities.getNthElement(gridQuestionCommonComponent.tableCell(), 1).find('.question-text-wrapper'), {
|
740
|
-
'color': css.color.text,
|
741
|
-
'font-size': css.fontSize.heading,
|
742
|
-
'font-weight': css.fontWeight.bold
|
743
|
-
});
|
744
|
-
utilities.verifyCSS(utilities.getNthElement(gridQuestionCommonComponent.tableCell(), 6).find('.question-text-wrapper'), {
|
745
|
-
'color': css.color.text,
|
746
|
-
'font-size': css.fontSize.default,
|
747
|
-
'font-weight': css.fontWeight.bold
|
748
|
-
});
|
749
|
-
utilities.verifyCSS(utilities.getNthElement(gridQuestionCommonComponent.tableCell(), 9).find('.question-text-wrapper'), {
|
750
|
-
'color': css.color.text,
|
751
|
-
'font-size': css.fontSize.default,
|
752
|
-
'font-weight': css.fontWeight.regular
|
753
|
-
});
|
754
|
-
});
|
755
|
-
});
|
756
|
-
|
757
|
-
it('Accessibility of \'Correct\' accordion contents', { tags: 'a11y' }, () => {
|
758
|
-
cy.checkAccessibility(gridQuestionCommonComponent.tableCell().parents('.correct-answer-accordion'));
|
759
|
-
});
|
760
|
-
},
|
761
680
|
}
|
762
681
|
|
763
682
|
export const gridQuestionCommonComponent = {
|
@@ -43,9 +43,9 @@ const selectors = {
|
|
43
43
|
fillImageToCanvasLabel: () => cy.get('[data-ngie-testid="fill-image-to-canvas-checkbox"] .MuiFormControlLabel-label'),
|
44
44
|
fillImageToCanvasCheckbox: () => cy.get('[data-ngie-testid="fill-image-to-canvas-checkbox"] input'),
|
45
45
|
imageAlignmentLabel: () => cy.get('.image-alignment-wrapper [class*="OptionsContainerstyles__LabelWrapper"]'),
|
46
|
-
topLeftAlignmentButton: () => cy.get('[data-ngie-testid="top-left-toggle-button"], [data-testid="top-left-toggle-button"]'),
|
47
|
-
centerAlignmentButton: () => cy.get('[data-ngie-testid="center-toggle-button"], [data-testid="center-toggle-button"]'),
|
48
|
-
topRightAlignmentButton: () => cy.get('[data-ngie-testid="top-right-toggle-button"], [data-testid="top-right-toggle-button"]'),
|
46
|
+
topLeftAlignmentButton: () => cy.get('.image-alignment-wrapper [data-ngie-testid="top-left-toggle-button"], [data-testid="top-left-toggle-button"]'),
|
47
|
+
centerAlignmentButton: () => cy.get('.image-alignment-wrapper [data-ngie-testid="center-toggle-button"], [data-testid="center-toggle-button"]'),
|
48
|
+
topRightAlignmentButton: () => cy.get('.image-alignment-wrapper [data-ngie-testid="top-right-toggle-button"], [data-testid="top-right-toggle-button"]'),
|
49
49
|
canvasWidthLabel: () => cy.get('.common-text-wrapper .additional-settings-label').eq(0),
|
50
50
|
canvasWidthInputField: () => cy.get('.common-text-wrapper .text-field').eq(0),
|
51
51
|
canvasHeightLabel: () => cy.get('.common-text-wrapper .additional-settings-label').eq(1),
|
@@ -385,7 +385,7 @@ const steps = {
|
|
385
385
|
.click();
|
386
386
|
},
|
387
387
|
|
388
|
-
|
388
|
+
clearAllCanvas: () => {
|
389
389
|
imageCanvasComponent.clearAllButton()
|
390
390
|
.click();
|
391
391
|
},
|
@@ -435,7 +435,7 @@ const steps = {
|
|
435
435
|
const getPosition = (option) => {
|
436
436
|
switch (option) {
|
437
437
|
case 'bottom':
|
438
|
-
return { top: '-
|
438
|
+
return { top: '-31px', left: '-35px' };
|
439
439
|
case 'bottom right':
|
440
440
|
return { top: '-25px', left: '-40px' };
|
441
441
|
case 'right':
|
@@ -450,6 +450,8 @@ const steps = {
|
|
450
450
|
return { bottom: '-20px', left: '-27px' };
|
451
451
|
case 'bottom left':
|
452
452
|
return { bottom: '-18px', left: '-32px' };
|
453
|
+
default:
|
454
|
+
return { top: '0', left: '0' };
|
453
455
|
}
|
454
456
|
}
|
455
457
|
const expectedPosition = getPosition(style);
|
@@ -736,7 +738,7 @@ const tests = {
|
|
736
738
|
});
|
737
739
|
|
738
740
|
it(`When user clicks on \'Clear all\' button, then all response container should be deleted and error message 'Error: Please insert a ${response}.' should be displayed`, () => {
|
739
|
-
imageCanvasComponent.steps.
|
741
|
+
imageCanvasComponent.steps.clearAllCanvas();
|
740
742
|
utilities.verifyElementVisibilityState(imageCanvasComponent.responseAreaWrapper(), 'notExist');
|
741
743
|
utilities.verifyInnerText(commonComponents.errorMessage(), `Error: Please insert a ${response}.`);
|
742
744
|
utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'visible');
|
@@ -977,7 +979,7 @@ const tests = {
|
|
977
979
|
|
978
980
|
it('When user clears text in the \'Alternative text\' input field, then default alternative text should be displayed for canvas image', () => {
|
979
981
|
imageCanvasComponent.steps.clearImageAlternativeTextInputFieldText();
|
980
|
-
imageCanvasComponent.steps.
|
982
|
+
imageCanvasComponent.steps.verifyNoImageAlternativeTextPresentInPreviewTab();
|
981
983
|
});
|
982
984
|
},
|
983
985
|
|
@@ -1039,7 +1041,7 @@ const tests = {
|
|
1039
1041
|
imageCanvasComponent.steps.switchToEditTab();
|
1040
1042
|
imageCanvasComponent.steps.clearImageAlternativeTextInputFieldText();
|
1041
1043
|
imageCanvasComponent.steps.switchToPreviewTab();
|
1042
|
-
imageCanvasComponent.steps.
|
1044
|
+
imageCanvasComponent.steps.verifyNoImageAlternativeTextPresentInPreviewTab();
|
1043
1045
|
});
|
1044
1046
|
},
|
1045
1047
|
|
@@ -362,7 +362,7 @@ const tests = {
|
|
362
362
|
utilities.verifyElementVisibilityState(listSortingAndOrderingBase.randomizeOptionsCheckbox(), 'notExist');
|
363
363
|
utilities.verifyElementVisibilityState(listSortingAndOrderingBase.hideDragHandleCheckbox(), 'notExist');
|
364
364
|
scoringSectionBase.steps.verifyDefaultMinimumScoreIfAttemptedLabelAndPointsField()
|
365
|
-
additionalSettingsPanel.steps.
|
365
|
+
additionalSettingsPanel.steps.expandAdditionalSettings()
|
366
366
|
utilities.verifyElementVisibilityState(autoScoredAdditionalSettings.checkAnswerLabel(), 'notExist');
|
367
367
|
utilities.verifyElementVisibilityState(autoScoredAdditionalSettings.allowStudentsToCheckAnswerLabel(), 'notExist');
|
368
368
|
});
|
@@ -138,7 +138,7 @@ const tests = {
|
|
138
138
|
questionInputFieldComponent.steps.clearQuestionInputField();
|
139
139
|
questionInputFieldComponent.steps.verifyQuestionInputFieldPlaceholder();
|
140
140
|
questionInputFieldComponent.steps.addInputToQuestionInputField('Lorem Ipsum');
|
141
|
-
utilities.verifyInnerText(questionInputFieldComponent.questionInputField(), '
|
141
|
+
utilities.verifyInnerText(questionInputFieldComponent.questionInputField(), 'Lorem Ipsum');
|
142
142
|
questionInputFieldComponent.steps.verifyQuestionInputFieldPlaceholderNotDisplayed();
|
143
143
|
});
|
144
144
|
},
|
@@ -6,7 +6,7 @@ const css = Cypress.env('css');
|
|
6
6
|
const selectors = {
|
7
7
|
questionInstructionsLabelEditTab: () => cy.get('.edit-question-instruction-label'),
|
8
8
|
questionInstructionsInputField: () => cy.get('[title="Question Instructions"]'),
|
9
|
-
questionInstructionsText: () => cy.get('.question-instruction'),
|
9
|
+
questionInstructionsText: () => cy.get('.question-instruction:visible'),
|
10
10
|
questionInstructionsWrapper: () => cy.get('.edit-question-instruction-wrapper')
|
11
11
|
}
|
12
12
|
|
@@ -1245,7 +1245,7 @@ const steps = {
|
|
1245
1245
|
let animals = [['Bat', 'Platypus', 'Panda', 'Zebra'],
|
1246
1246
|
['Peacock', 'Falcon', 'Eagle', 'Tiger'],
|
1247
1247
|
['Parrot', 'Lion', 'Whale', 'Elephant'],
|
1248
|
-
['Giraffe', '
|
1248
|
+
['Giraffe', 'Bat', 'Ostrich', 'Flying squirrel']
|
1249
1249
|
];
|
1250
1250
|
let groupTitles = ['Group A', 'Group B', 'Group C', 'Group D'];
|
1251
1251
|
draggableOptionsSectionComponent.steps.expandDraggableOptionsLayoutDropdown()
|
@@ -86,12 +86,12 @@ const tableDialogBox = {
|
|
86
86
|
previewInputFieldTable: () => cy.get('.ngcke_custom_table'),
|
87
87
|
//Edit Table Dialog Box
|
88
88
|
editTableDialogBox: () => cy.get('.cke_dialog_body'),
|
89
|
-
editTableDialogBoxTitle: () => cy.get('.cke_dialog_title')
|
90
|
-
editTableDialogBoxAddRowHeaderLabel: () => cy.get('.chk_box_add_header_row label')
|
89
|
+
editTableDialogBoxTitle: () => cy.get('.cke_dialog_title'),
|
90
|
+
editTableDialogBoxAddRowHeaderLabel: () => cy.get('.chk_box_add_header_row label'),
|
91
91
|
editTableDialogBoxHighlightFirstColumnLabel: () => cy.get('.chk_box_highlight_first_column label'),
|
92
|
-
editTableDialogBoxAddRowHeaderCheckbox: () => cy.get('.chk_box_add_header_row input')
|
92
|
+
editTableDialogBoxAddRowHeaderCheckbox: () => cy.get('.chk_box_add_header_row input'),
|
93
93
|
editTableDialogBoxHighlightFirstColumnCheckbox: () => cy.get('.chk_box_highlight_first_column input'),
|
94
|
-
editTableDialogBoxColumnsLabel: () => essayResponsePage.editTableDialogBox().find('.cke_dialog_ui_labeled_label')
|
94
|
+
editTableDialogBoxColumnsLabel: () => essayResponsePage.editTableDialogBox().find('.cke_dialog_ui_labeled_label'),
|
95
95
|
editTableDialogBoxRowsLabel: () => essayResponsePage.editTableDialogBox().find('.cke_dialog_ui_labeled_label').eq(1),
|
96
96
|
editTableDialogBoxInsertBeforeButton: () => cy.get('[title="Insert Before"]'),
|
97
97
|
editTableDialogBoxInsertAfterButton: () => cy.get('[title="Insert After"]'),
|
@@ -36,6 +36,9 @@ const selectors = {
|
|
36
36
|
alternateAnswerPopupOptions: () => cy.get('.option-container'),
|
37
37
|
alternateAnswerPopupCancelButton: () => cy.get('[class*="AlternateOptionstyle__ButtonWrapper"] button').eq(0),
|
38
38
|
alternateAnswerPopupSaveButton: () => cy.get('[class*="AlternateOptionstyle__ButtonWrapper"] button').eq(1),
|
39
|
+
dropzoneOptionSpecifyCorrectAnswerSection: () => cy.get('.item-content-container'),
|
40
|
+
partialEqualWeightsPointsPerResponseScore: () => cy.get('.alternate-points-points-per-value-span'),
|
41
|
+
pointsLabel: () => cy.get('.cloze-with-dropdown-partial-points-per-response-label'),
|
39
42
|
//Preview tab
|
40
43
|
questionBorderPreviewTab: () => cy.get('[class*="ClozeWithDragAndDropstyles__WrapperDiv"]'),
|
41
44
|
optionPreviewTab: () => cy.get('.draggable-selected-item'),
|
@@ -393,7 +396,7 @@ const steps = {
|
|
393
396
|
|
394
397
|
verifyInactiveStateOfAllDropzoneInSpecifyCorrectAnswerSection: () => {
|
395
398
|
fillInTheGapsDragAndDropPage.dropzoneSpecifyCorrectAnswerSection()
|
396
|
-
.should('not.have.
|
399
|
+
.should('not.have.attr', 'aria-describedby');
|
397
400
|
},
|
398
401
|
|
399
402
|
/**
|
@@ -405,8 +408,7 @@ const steps = {
|
|
405
408
|
.eq(dropzoneIndex)
|
406
409
|
.within(() => {
|
407
410
|
responseArray.forEach((response, count) => {
|
408
|
-
|
409
|
-
// draggableOptionContainer.draggableOption()
|
411
|
+
fillInTheGapsDragAndDropPage.dropzoneOptionSpecifyCorrectAnswerSection()
|
410
412
|
.eq(count)
|
411
413
|
.verifyInnerText(response);
|
412
414
|
});
|
@@ -414,14 +416,14 @@ const steps = {
|
|
414
416
|
},
|
415
417
|
|
416
418
|
/**
|
417
|
-
|
418
|
-
|
419
|
-
|
419
|
+
* @param {number} responseAreaIndex Index of the dropzone in specify correct answer section
|
420
|
+
* @description Verify drag handle is not visible in filled category cell in specify correct answer section
|
421
|
+
*/
|
420
422
|
verifyDragHandleNotVisibleInFilledDropzoneOfSpecifyCorrectAnswerSection: (responseAreaIndex) => {
|
421
423
|
fillInTheGapsDragAndDropPage.dropzoneSpecifyCorrectAnswerSection()
|
422
424
|
.eq(responseAreaIndex)
|
423
425
|
.within(() => {
|
424
|
-
utilities.verifyElementVisibilityState(draggableOptionContainer.draggableOptionDragIcon(), '
|
426
|
+
utilities.verifyElementVisibilityState(draggableOptionContainer.draggableOptionDragIcon(), 'notExist')
|
425
427
|
});
|
426
428
|
},
|
427
429
|
|
@@ -434,7 +436,7 @@ const steps = {
|
|
434
436
|
fillInTheGapsDragAndDropPage.dropzoneSpecifyCorrectAnswerSection()
|
435
437
|
.eq(dropzoneIndex)
|
436
438
|
.within(() => {
|
437
|
-
|
439
|
+
fillInTheGapsDragAndDropPage.dropzoneOptionSpecifyCorrectAnswerSection()
|
438
440
|
.contains(optionName)
|
439
441
|
.click();
|
440
442
|
});
|
@@ -452,7 +454,7 @@ const steps = {
|
|
452
454
|
|
453
455
|
verifyInactiveStateOfAllDropzoneInPreviewTab: () => {
|
454
456
|
fillInTheGapsDragAndDropPage.dropzonePreviewTab()
|
455
|
-
.should('not.have.
|
457
|
+
.should('not.have.attr', 'aria-describedby');
|
456
458
|
},
|
457
459
|
|
458
460
|
/**
|
@@ -477,7 +479,7 @@ const steps = {
|
|
477
479
|
fillInTheGapsDragAndDropPage.dropzonePreviewTab()
|
478
480
|
.eq(responseAreaIndex)
|
479
481
|
.within(() => {
|
480
|
-
utilities.verifyElementVisibilityState(draggableOptionContainer.draggableOptionDragIcon(), '
|
482
|
+
utilities.verifyElementVisibilityState(draggableOptionContainer.draggableOptionDragIcon(), 'notExist')
|
481
483
|
});
|
482
484
|
},
|
483
485
|
|
@@ -490,7 +492,7 @@ const steps = {
|
|
490
492
|
fillInTheGapsDragAndDropPage.dropzonePreviewTab()
|
491
493
|
.eq(dropzoneIndex)
|
492
494
|
.within(() => {
|
493
|
-
|
495
|
+
fillInTheGapsDragAndDropPage.dropzoneOptionSpecifyCorrectAnswerSection()
|
494
496
|
.contains(optionName)
|
495
497
|
.click();
|
496
498
|
});
|
@@ -641,16 +643,19 @@ const steps = {
|
|
641
643
|
},
|
642
644
|
|
643
645
|
verifyDropzoneHeightWhenLongTextIsDroppedInSpecifyCorrectAnswerSection: () => {
|
644
|
-
let originalDropzoneHeight
|
646
|
+
let originalDropzoneHeight;
|
645
647
|
utilities.getNthElement(fillInTheGapsDragAndDropPage.dropzoneSpecifyCorrectAnswerSection(), 1)
|
646
648
|
.then(($originalDropzoneHeight) => {
|
647
|
-
originalDropzoneHeight = $originalDropzoneHeight.
|
648
|
-
})
|
649
|
-
|
650
|
-
|
651
|
-
.then((
|
652
|
-
|
653
|
-
|
649
|
+
originalDropzoneHeight = $originalDropzoneHeight[0].offsetHeight; //Storing original dropzone height
|
650
|
+
}).then(() => {
|
651
|
+
fillInTheGapsDragAndDropPage.steps.clickAndDropOptionInDropzoneSpecifyCorrectAnswerSection({ 'Leaves grow on the branches of a plant which in turn grow on the stem': 1 });
|
652
|
+
})
|
653
|
+
.then(() => {
|
654
|
+
utilities.getNthElement(fillInTheGapsDragAndDropPage.dropzoneSpecifyCorrectAnswerSection(), 1)
|
655
|
+
.then(($modifiedDropzoneHeight) => {
|
656
|
+
const modifiedDropzoneHeight = $modifiedDropzoneHeight[0].offsetHeight; //Storing modified dropzone height
|
657
|
+
expect(modifiedDropzoneHeight).to.be.gt(originalDropzoneHeight);
|
658
|
+
});
|
654
659
|
});
|
655
660
|
},
|
656
661
|
|
@@ -705,7 +710,9 @@ const steps = {
|
|
705
710
|
* @param {string} tooltip Tooltip text
|
706
711
|
*/
|
707
712
|
verifyDropzoneOptionTooltipSpecifyCorrectAnswerSection: (dropzoneIndex, tooltip) => {
|
708
|
-
|
713
|
+
fillInTheGapsDragAndDropPage.dropzoneSpecifyCorrectAnswerSection()
|
714
|
+
.eq(dropzoneIndex)
|
715
|
+
.trigger('mouseover')
|
709
716
|
utilities.verifyTextContent(fillInTheGapsDragAndDropPage.dropzoneOptionTooltip(), tooltip);
|
710
717
|
utilities.hoverAwayFromElement();
|
711
718
|
},
|
@@ -716,10 +723,15 @@ const steps = {
|
|
716
723
|
* @param {string} tooltip Tooltip text
|
717
724
|
*/
|
718
725
|
verifyDropzoneOptionTooltipPreviewTab: (dropzoneIndex, tooltip) => {
|
719
|
-
utilities.hoverOverElement(utilities.getNthElement(fillInTheGapsDragAndDropPage.dropzonePreviewTab, dropzoneIndex));
|
726
|
+
utilities.hoverOverElement(utilities.getNthElement(fillInTheGapsDragAndDropPage.dropzonePreviewTab(), dropzoneIndex));
|
720
727
|
utilities.verifyTextContent(fillInTheGapsDragAndDropPage.dropzoneOptionTooltip(), tooltip);
|
721
728
|
utilities.hoverAwayFromElement();
|
722
|
-
}
|
729
|
+
},
|
730
|
+
|
731
|
+
verifyPartialEqualWeightsPointsPerResponseScore: (pointsPerResponse) => {
|
732
|
+
fillInTheGapsDragAndDropPage.partialEqualWeightsPointsPerResponseScore()
|
733
|
+
.should('have.text', pointsPerResponse);
|
734
|
+
},
|
723
735
|
}
|
724
736
|
|
725
737
|
const tests = {
|
@@ -771,7 +783,6 @@ const tests = {
|
|
771
783
|
});
|
772
784
|
} else {
|
773
785
|
autoScoredSpecifyCorrectAnswerSection.alternativeAnswerAccordion()
|
774
|
-
.eq(1)
|
775
786
|
.within(() => {
|
776
787
|
utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'visible');
|
777
788
|
});
|
@@ -589,7 +589,6 @@ const tests = {
|
|
589
589
|
});
|
590
590
|
} else {
|
591
591
|
autoScoredSpecifyCorrectAnswerSection.alternativeAnswerAccordion()
|
592
|
-
.eq(1)
|
593
592
|
.within(() => {
|
594
593
|
utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'visible');
|
595
594
|
});
|
@@ -2,8 +2,6 @@ import utilities from "../support/helpers/utilities";
|
|
2
2
|
import { imageCanvasComponent, autoScoredScoringPreviewTab, createQuestionBasePage, backgroundImageUploadComponent, scoringSectionBaseEditTab, questionInstructionsComponent, correctIncorrectAnswerLabelComponent, autoScoredStudentViewSettings, autoScoredSpecifyCorrectAnswerSection, autoScoredScoringSectionMultiResponseType, fillInTheGapsDropdownCommonComponent, randomizeOptionsComponent, optionsWrapperComponent, studentViewSettingsLabelComponent, additionalSettingsPanel, placeholderTextSectionComponent, gradingViewEnumerationComponent, ariaLabelSectionComponent, commonComponents, additionalSettingsAccessibilitySectionComponent } from "./components";
|
3
3
|
const css = Cypress.env('css');
|
4
4
|
|
5
|
-
const optionsForDropdown = ['Flower', 'Petal', 'Stem', 'Branch'];
|
6
|
-
|
7
5
|
const selectors = {
|
8
6
|
...questionInstructionsComponent,
|
9
7
|
...imageCanvasComponent,
|
@@ -19,6 +17,11 @@ const selectors = {
|
|
19
17
|
...ariaLabelSectionComponent,
|
20
18
|
...commonComponents,
|
21
19
|
...additionalSettingsPanel,
|
20
|
+
...autoScoredSpecifyCorrectAnswerSection,
|
21
|
+
|
22
|
+
optionsInputField: () => cy.get('[class*="TextFieldWrapper"] input'),
|
23
|
+
optionNumeration: () => cy.get('.MuiInputAdornment-positionStart'),
|
24
|
+
pointsLabel: () => cy.get('.cloze-with-text-partial-points-per-response-label'),
|
22
25
|
dropdownWrapperPreviewTab: () => cy.get('[class*="Canvasstyle__DropzoneWrapper"]'),
|
23
26
|
correctAnswerResponseWrapper: () => cy.get('[class*="LabelImageWithDropdownPreviewstyles__AnswerCell"]'),
|
24
27
|
correctAnswerResponse: () => cy.get('[class*="LabelImageWithDropdownPreviewstyles__AnswerWrapper"]'),
|
@@ -111,7 +114,7 @@ const steps = {
|
|
111
114
|
const getPosition = (option) => {
|
112
115
|
switch (option) {
|
113
116
|
case 'bottom':
|
114
|
-
return { top: '-
|
117
|
+
return { top: '-31px', left: '-35px' };
|
115
118
|
case 'bottom right':
|
116
119
|
return { top: '-25px', left: '-40px' };
|
117
120
|
case 'right':
|
@@ -222,7 +225,7 @@ const steps = {
|
|
222
225
|
});
|
223
226
|
});
|
224
227
|
},
|
225
|
-
|
228
|
+
|
226
229
|
/**
|
227
230
|
* Verifies the dropdown enumeration in the preview tab.
|
228
231
|
* @param {string[]} enumerationArray - An array of enumeration values to verify.
|
@@ -239,6 +242,25 @@ const steps = {
|
|
239
242
|
});
|
240
243
|
});
|
241
244
|
},
|
245
|
+
|
246
|
+
/**
|
247
|
+
* @param {number} index of the option
|
248
|
+
* @description verify the enter option input field, drag handle, delete button and option numeration
|
249
|
+
*/
|
250
|
+
verifyOptionsContents: (index) => {
|
251
|
+
optionsWrapperComponent.optionWrapper()
|
252
|
+
.eq(index)
|
253
|
+
.within(() => {
|
254
|
+
fillInTheGapsOverImageDropdownPage.optionsInputField()
|
255
|
+
.should('have.attr', 'placeholder', 'Enter option');
|
256
|
+
commonComponents.dragHandleButton()
|
257
|
+
.should('exist');
|
258
|
+
commonComponents.deleteButton()
|
259
|
+
.should('be.visible');
|
260
|
+
fillInTheGapsOverImageDropdownPage.optionNumeration()
|
261
|
+
.should('have.text', index + 1);
|
262
|
+
});
|
263
|
+
},
|
242
264
|
}
|
243
265
|
|
244
266
|
const tests = {
|
@@ -90,35 +90,6 @@ const steps = {
|
|
90
90
|
});
|
91
91
|
},
|
92
92
|
|
93
|
-
/**
|
94
|
-
* Verify custom special characters displayed in special characters popup in preview tab
|
95
|
-
* @param {string[]} customSpecialCharacters Array of custom special characters
|
96
|
-
*/
|
97
|
-
verifyCustomSpecialCharactersInSpecialCharactersPopupPreviewTab: (customSpecialCharacters) => {
|
98
|
-
dialogBoxBase.dialogBox()
|
99
|
-
.within(() => {
|
100
|
-
customSpecialCharacters.forEach((customSpecialCharacter, index) => {
|
101
|
-
utilities.verifyInnerText(fillInTheGapsOverImageTextPage.specialCharactersCustomSymbolsPreviewTab().eq(index), `${customSpecialCharacter}`);
|
102
|
-
utilities.verifyElementVisibilityState(fillInTheGapsOverImageTextPage.specialCharactersCustomSymbolsPreviewTab().eq(index), 'visible');
|
103
|
-
});
|
104
|
-
utilities.verifyElementCount(fillInTheGapsOverImageTextPage.specialCharactersCustomSymbolsPreviewTab(), `${customSpecialCharacters.length}`);
|
105
|
-
});
|
106
|
-
},
|
107
|
-
|
108
|
-
/**
|
109
|
-
* Click on custom special character symbol in special characters popup in preview tab
|
110
|
-
* @param {string} customSpecialCharacterSymbol custom special character symbol
|
111
|
-
*/
|
112
|
-
clickOnCustomSpecialCharacterSymbolInSpecialCharactersPopupPreviewTab: (customSpecialCharacterSymbol) => {
|
113
|
-
dialogBoxBase.dialogBox()
|
114
|
-
.within(() => {
|
115
|
-
fillInTheGapsOverImageTextPage.specialCharactersCustomSymbolsPreviewTab()
|
116
|
-
.contains(customSpecialCharacterSymbol)
|
117
|
-
.click();
|
118
|
-
});
|
119
|
-
},
|
120
|
-
|
121
|
-
|
122
93
|
/**
|
123
94
|
*@description Verify text in the answer input fields of the specify correct answer section.
|
124
95
|
* @param {Object[]} responses - An array of objects containing the responseIndex and responseText.
|