itemengine-cypress-automation 1.0.142 → 1.0.143
Sign up to get free protection for your applications and to get access to all the features.
- package/cypress/e2e/ILC/AudioResponseNew/additionalSettingsBasic.js +104 -0
- package/cypress/e2e/ILC/ContentBlocks/additionalSection.js +92 -0
- package/cypress/e2e/ILC/ContentBlocks/editTabBasics.js +11 -1
- package/cypress/e2e/ILC/ContentBlocks/previewTab.js +91 -0
- package/cypress/e2e/ILC/ContentBlocks/styleAndLayoutCustomizationSection.js +3 -3
- package/cypress/e2e/ILC/Desmos/desmosFourFunctionCalculatorEditTabBasicSection.js +2 -1
- package/cypress/e2e/ILC/Desmos/desmosFourFunctionCalculatorPreviewContents.smoke.js +2 -1
- package/cypress/e2e/ILC/Desmos/desmosGeometryToolEditTabBasicSection.js +1 -0
- package/cypress/e2e/ILC/Desmos/desmosGeometryToolPreviewContents.smoke.js +2 -1
- package/cypress/e2e/ILC/Desmos/desmosGraphingCalculatorEditTabBasicSection.js +1 -0
- package/cypress/e2e/ILC/Desmos/desmosGraphingCalculatorPreviewContents.smoke.js +2 -1
- package/cypress/e2e/ILC/Desmos/desmosMatrixCalculatorEditTabBasicSection.js +2 -2
- package/cypress/e2e/ILC/Desmos/desmosMatrixCalculatorPreviewContents.smoke.js +2 -1
- package/cypress/e2e/ILC/Desmos/desmosScientificCalculatorEditTabBasicSection.js +3 -2
- package/cypress/e2e/ILC/Desmos/desmosScientificCalculatorPreviewContents.smoke.js +2 -1
- package/cypress/e2e/ILC/DesmosGraphing/additionalSettings.js +0 -5
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/additionalSettingsBasic.js +124 -0
- package/cypress/e2e/ILC/DrawingResponse/drawingResponseAdditionalSettings.js +0 -9
- package/cypress/e2e/ILC/DrawingResponse/drawingResponsePreviewTabContents.smoke.js +17 -17
- package/cypress/e2e/ILC/EssayResponse/additionalSettingsBasic.js +83 -0
- package/cypress/e2e/ILC/EssayResponse/createCustomCategory.smoke.js +32 -30
- package/cypress/e2e/ILC/EssayResponse/editCategoryFlyout.js +25 -21
- package/cypress/e2e/ILC/EssayResponse/equationEditor.smoke.js +40 -41
- package/cypress/e2e/ILC/EssayResponse/equationEditorCategories1.js +249 -99
- package/cypress/e2e/ILC/EssayResponse/equationEditorCategories2.js +118 -187
- package/cypress/e2e/ILC/EssayResponseBasic/previewContentsForAllViews.smoke.js +1 -1
- package/cypress/e2e/ILC/EssayResponseMath/mathCharacters.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/additionalSettings.js +11 -11
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/dropzoneSettings.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViews.smoke.js +1 -3
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/additionalSettingsBasic.js +138 -0
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/additionalSettingsForDropdowns.js +309 -0
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/dropdownSettings.js +181 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/additionalSettingsBasic.js +132 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/additionalSettingsBasic.js +143 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/additionalSettingsForDropdowns.js +345 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +194 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/supportedFileTypes.js +49 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/additionalSettingsBasic.js +25 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/additionalSettingsForAnswerInputFields.js +251 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/supportedFileTypes.js +49 -0
- package/cypress/e2e/ILC/FillInTheGapsTextNew/additionalSettingsBasic.js +93 -0
- package/cypress/e2e/ILC/FillInTheGapsTextNew/additionalSettingsForAnswerInputFields.js +215 -0
- package/cypress/e2e/ILC/FillInTheGapsTextNew/editTabBasicSection.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsTextNew/textContainerSettings.js +219 -0
- package/cypress/e2e/ILC/GeoGebraTools/3DGraphingCalculatorEditTabBasicSection.js +96 -0
- package/cypress/e2e/ILC/GeoGebraTools/3DGraphingCalculatorPreviewTabContents.smoke.js +75 -0
- package/cypress/e2e/ILC/GeoGebraTools/casCalculatorEditTabBasicSection.js +96 -0
- package/cypress/e2e/ILC/GeoGebraTools/casCalculatorPreviewTabContents.smoke.js +75 -0
- package/cypress/e2e/ILC/GeoGebraTools/geometryCalculatorEditTabBasicSection.js +96 -0
- package/cypress/e2e/ILC/GeoGebraTools/geometryCalculatorPreviewTabContents.smoke.js +76 -0
- package/cypress/e2e/ILC/GeoGebraTools/graphingCalculatorEditTabBasicSection.js +96 -0
- package/cypress/e2e/ILC/GeoGebraTools/graphingCalculatorPreviewTabContents.smoke.js +73 -0
- package/cypress/e2e/ILC/GeoGebraTools/probablityCalculatorEditTabBasicSection.js +96 -0
- package/cypress/e2e/ILC/GeoGebraTools/probablityCalculatorPreviewTabContents.smoke.js +75 -0
- package/cypress/e2e/ILC/GeoGebraTools/scientificCalculatorEditTabBasicSection.js +96 -0
- package/cypress/e2e/ILC/GeoGebraTools/scientificCalculatorPreviewTabContents.smoke.js +75 -0
- package/cypress/e2e/ILC/GeogebraActivity/additionalSettings.js +10 -8
- package/cypress/e2e/ILC/GeogebraActivity/gradingViewAndCorrectAnswerViewContents.smoke.js +3 -2
- package/cypress/e2e/ILC/GeogebraActivity/headerSection.js +2 -1
- package/cypress/e2e/ILC/GeogebraActivity/insertResourceLink.js +318 -0
- package/cypress/e2e/ILC/GeogebraActivity/previewTabContent.smoke.js +2 -1
- package/cypress/e2e/ILC/Graphing/additionalSettingsBasic.js +15 -4
- package/cypress/e2e/ILC/GridFill/allOrNothingBasicForAllViews.smoke.js +280 -0
- package/cypress/e2e/ILC/GridFill/checkAnswerFunctionalityForAllViews.smoke.js +136 -0
- package/cypress/e2e/ILC/GridFill/editTabScoringSection.js +205 -0
- package/cypress/e2e/ILC/GridFill/previewContentsForAllViews.smoke.js +213 -0
- package/cypress/e2e/ILC/GridFill/scoring/manuallyAndNonScored.js +106 -0
- package/cypress/e2e/ILC/GridFill/specifyCorrectAnswerSection.js +79 -0
- package/cypress/e2e/ILC/MultipleSelection/additionalSettingsBasic.js +108 -0
- package/cypress/e2e/ILC/MultipleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +251 -0
- package/cypress/e2e/ILC/MultipleSelectionGridNew/previewContentsForAllViews.smoke.js +180 -0
- package/cypress/e2e/ILC/ShortTextResponseNew/additionalSettings.js +48 -56
- package/cypress/e2e/ILC/SingleSelection/additionalSettingsBasic.js +107 -0
- package/cypress/e2e/ILC/SingleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +251 -0
- package/cypress/e2e/ILC/SingleSelectionGridNew/previewContentsForAllViews.smoke.js +180 -0
- package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViews.smoke.js +12 -3
- package/cypress/e2e/ILC/TextEntryMath/checkAnswerFunctionalityForAllViews.smoke.js +4 -1
- package/cypress/e2e/ILC/TextEntryMath/evaluationMethodEquivalentStructures.js +93 -68
- package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchExact.js +59 -52
- package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchValue.js +59 -52
- package/cypress/e2e/ILC/TextEntryMath/evaluationMethodSymbolsAreEquivalent.js +61 -50
- package/cypress/e2e/ILC/TextEntryMath/evaluationMethodValueIsEquivalent.js +65 -51
- package/cypress/e2e/ILC/TextEntryMath/evaluationMethodsWithoutSetResponse.js +55 -46
- package/cypress/e2e/ILC/TextEntryMath/previewContentsForAllViews.smoke.js +6 -3
- package/cypress/e2e/ILC/TextEntryMathWithImage/allOrNothingScoringForAllViews.smoke.js +11 -9
- package/cypress/e2e/ILC/TextEntryMathWithImage/checkAnswerFunctionalityForAllViews.smoke.js +4 -3
- package/cypress/e2e/ILC/TextEntryMathWithImage/previewTabContentsForAllViews.smoke.js +4 -2
- package/cypress/e2e/ILC/UploadResponse/additionalSettingsBasic.js +85 -0
- package/cypress/e2e/ILC/UploadResponse/editTabScoringSection.js +12 -12
- package/cypress/e2e/ILC/UploadResponse/uploadResponseEditTabBasicSections.js +1 -1
- package/cypress/fixtures/constants.js +2 -0
- package/cypress/fixtures/equationEditorCategoriesAndSymbols .js +1114 -1511
- package/cypress/fixtures/theme/ilc.json +7 -1
- package/cypress/pages/audioResponsePage.js +26 -2
- package/cypress/pages/components/additionalSettingsAccessibilitySectionComponent.js +1 -0
- package/cypress/pages/components/additionalSettingsPanel.js +3 -10
- package/cypress/pages/components/ariaLabelSectionComponent.js +84 -0
- package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +5 -2
- package/cypress/pages/components/autoScoredStudentViewSettings.js +1 -1
- package/cypress/pages/components/commonComponents.js +1 -1
- package/cypress/pages/components/createCustomCategoryFlyout.js +2 -2
- package/cypress/pages/components/createQuestionBasePage.js +1 -1
- package/cypress/pages/components/desmosToolComponent.js +1 -0
- package/cypress/pages/components/draggableOptionContainer.js +1 -1
- package/cypress/pages/components/editCategoryFlyout.js +9 -10
- package/cypress/pages/components/equationEditorFlyout.js +20 -11
- package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +167 -3
- package/cypress/pages/components/fillInTheGapsTextCommonComponent.js +149 -6
- package/cypress/pages/components/gradingViewEnumerationComponent.js +151 -0
- package/cypress/pages/components/gridQuestionCommonComponent.js +390 -0
- package/cypress/pages/components/imageCanvasComponent.js +25 -1
- package/cypress/pages/components/index.js +5 -1
- package/cypress/pages/components/placeholderTextSectionComponent.js +110 -0
- package/cypress/pages/components/responseAreaSettingsPopupComponent.js +2 -2
- package/cypress/pages/contentBlocksPage.js +60 -1
- package/cypress/pages/dragAndDropIntoCategoriesPage.js +4 -17
- package/cypress/pages/essayResponsePage.js +14 -11
- package/cypress/pages/fillInTheGapsDragAndDropPage.js +15 -0
- package/cypress/pages/fillInTheGapsDropdownPage.js +121 -2
- package/cypress/pages/fillInTheGapsOverImageDragAndDropPage.js +3 -1
- package/cypress/pages/fillInTheGapsOverImageDropdownPage.js +70 -3
- package/cypress/pages/fillInTheGapsOverImageTextPage.js +33 -3
- package/cypress/pages/fillInTheGapsTextPage.js +81 -4
- package/cypress/pages/geoGebraActivityPage.js +75 -11
- package/cypress/pages/geoGebraToolsPage.js +292 -0
- package/cypress/pages/graphingPage.js +2 -1
- package/cypress/pages/gridFillPage.js +713 -0
- package/cypress/pages/index.js +3 -1
- package/cypress/pages/multipleSelectionGridPage.js +71 -317
- package/cypress/pages/multipleSelectionPage.js +2 -1
- package/cypress/pages/selectQuestionResourceToolPage.js +13 -2
- package/cypress/pages/singleSelectionGridPage.js +78 -329
- package/cypress/pages/singleSelectionPage.js +2 -1
- package/cypress/pages/textEntryMathPage.js +24 -6
- package/cypress/pages/textEntryMathWithImagePage.js +1 -1
- package/cypress/pages/uploadResponsePage.js +4 -3
- package/package.json +1 -1
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/additionalSettings.js +0 -43
- package/cypress/pages/components/fillInTheGapsCommonComponents.js +0 -642
@@ -1,4 +1,4 @@
|
|
1
|
-
import { optionsWrapperComponent, createQuestionBasePage, autoScoredSpecifyCorrectAnswerSection, scoringSectionBaseEditTab, autoScoredScoringSectionMultiResponseType, questionInstructionsComponent, autoScoredStudentViewSettings, autoScoredScoringPreviewTab, commonComponents, ckEditorToolbar, equationEditorFlyout, randomizeOptionsComponent, allowMultipleInstancesOfSameDraggableOptionComponent, studentViewSettingsLabelComponent, additionalSettingsPanel, draggableOptionContainer, draggableOptionsSectionComponent, maximumCapacityPerDropzoneComponent, enableOuterBorderComponent } from "./components";
|
1
|
+
import { optionsWrapperComponent, createQuestionBasePage, autoScoredSpecifyCorrectAnswerSection, scoringSectionBaseEditTab, autoScoredScoringSectionMultiResponseType, questionInstructionsComponent, autoScoredStudentViewSettings, autoScoredScoringPreviewTab, commonComponents, ckEditorToolbar, equationEditorFlyout, randomizeOptionsComponent, allowMultipleInstancesOfSameDraggableOptionComponent, studentViewSettingsLabelComponent, additionalSettingsPanel, draggableOptionContainer, draggableOptionsSectionComponent, maximumCapacityPerDropzoneComponent, enableOuterBorderComponent, additionalSettingsAccessibilitySectionComponent } from "./components";
|
2
2
|
import utilities from "../support/helpers/utilities";
|
3
3
|
import constants from "../fixtures/constants";
|
4
4
|
const css = Cypress.env('css');
|
@@ -19,6 +19,7 @@ const selectors = {
|
|
19
19
|
...optionsWrapperComponent,
|
20
20
|
...draggableOptionsSectionComponent,
|
21
21
|
...enableOuterBorderComponent,
|
22
|
+
...additionalSettingsPanel,
|
22
23
|
editCellPropertyButton: () => cy.get('button[aria-label="More Action"]'),
|
23
24
|
editCellPropertyList: () => cy.get('.ngie-action-cell-container [role="menu"]'),
|
24
25
|
editCellPropertyListOption: () => cy.get('[class*="MuiMenuItem"][role="menuitem"]'),
|
@@ -696,22 +697,6 @@ const steps = {
|
|
696
697
|
});
|
697
698
|
},
|
698
699
|
|
699
|
-
/**
|
700
|
-
* @description Verifies that the equation text in the Preview tab is correct.
|
701
|
-
* @param {number} optionIndex - The index of the option in the Preview tab.
|
702
|
-
*/
|
703
|
-
verifyDraggableOptionWithEquationTextInPreviewTab: (optionIndex) => {
|
704
|
-
dragAndDropIntoCategoriesPage.optionsContainerPreviewTab()
|
705
|
-
.within(() => {
|
706
|
-
dragAndDropIntoCategoriesPage.draggableOption()
|
707
|
-
.eq(optionIndex)
|
708
|
-
.find('[role="math"]')
|
709
|
-
.should('have.attr', 'aria-label', constants.CKEditorInputFieldEnteredEquationAriaLabel)
|
710
|
-
.contains(constants.CKEditorInputFieldEnteredEquationText);
|
711
|
-
utilities.verifyElementVisibilityState(utilities.getNthElement(draggableOptionContainer.draggableOptionDragIcon(), optionIndex), 'exist');
|
712
|
-
});
|
713
|
-
},
|
714
|
-
|
715
700
|
verifyDraggableOptionPreviewTab: (optionIndex, optionText) => {
|
716
701
|
dragAndDropIntoCategoriesPage.optionsContainerPreviewTab()
|
717
702
|
.within(() => {
|
@@ -1420,6 +1405,8 @@ const tests = {
|
|
1420
1405
|
...autoScoredScoringSectionMultiResponseType.tests,
|
1421
1406
|
...enableOuterBorderComponent.tests,
|
1422
1407
|
...createQuestionBasePage.tests,
|
1408
|
+
...additionalSettingsPanel.tests,
|
1409
|
+
...additionalSettingsAccessibilitySectionComponent.tests,
|
1423
1410
|
verifyContentsOfSpecifyCorrectAnswerSection: (scoringType) => {
|
1424
1411
|
it(`When the user selects ${scoringType} from scoring type dropdown then the specify correct answer sections should be displayed`, () => {
|
1425
1412
|
dragAndDropIntoCategoriesPage.steps.verifyTableCellPropertySpecifyCorrectAnswer(0, 'None');
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { equationEditorCategoriesAndSymbols } from "../fixtures/equationEditorCategoriesAndSymbols ";
|
2
|
-
import { questionInstructionsComponent, scoringSectionBaseEditTab, createQuestionBasePage, additionalSettingsPanel, autoScoredScoringPreviewTab, commonComponents, createCustomCategoryFlyout, customizeSpecialCharacterComponent } from "./components";
|
2
|
+
import { questionInstructionsComponent, scoringSectionBaseEditTab, createQuestionBasePage, additionalSettingsPanel, autoScoredScoringPreviewTab, commonComponents, createCustomCategoryFlyout, customizeSpecialCharacterComponent, additionalSettingsAccessibilitySectionComponent } from "./components";
|
3
3
|
import { equationEditorFlyout } from "./components/equationEditorFlyout";
|
4
4
|
import { dialogBoxBase } from "../pages/dialogBoxBase";
|
5
5
|
import { essayResponseCommonComponents } from "./components/essayResponseCommonComponents";
|
@@ -50,7 +50,7 @@ const selectors = {
|
|
50
50
|
equationEditorSectionHelperText: () => cy.get('.equation-editor-description-text'),
|
51
51
|
equationEditorSectionCategoriesDragIcon: () => cy.get('.drag-icon-equation-editor-button'),
|
52
52
|
equationEditorSectionCategoriesEditIcon: () => cy.get('.edit-icon-button button'),
|
53
|
-
equationEditorSectionTickIcon: () => cy.get('
|
53
|
+
equationEditorSectionTickIcon: () => cy.get('.tick-icon-wrapper'),
|
54
54
|
selectACategoryErrorMessage: () => cy.get('[class*="ErrorBlock"]'),
|
55
55
|
equationEditorSectionCategoryIcon: () => cy.get('.equation-editor-icon'),
|
56
56
|
equationEditorSectionDeleteCustomCategoryIcon: () => cy.get('.delete-button-icon button'),
|
@@ -229,8 +229,8 @@ const steps = {
|
|
229
229
|
createCustomCategoryWithMultipleCategoryCharacters: () => {
|
230
230
|
cy.log('Creating a custom category by selecting \'Keypad\' category, partially selecting \'Basic\' and \'Greek\' categories')
|
231
231
|
createCustomCategoryFlyout.steps.openCreateCustomCategoryFlyout();
|
232
|
-
createCustomCategoryFlyout.steps.checkCategoryAccordionCheckbox(`${equationEditorCategoriesAndSymbols['
|
233
|
-
createCustomCategoryFlyout.steps.verifyPartiallyCheckedStateOfCategoryAccordionCheckbox(`${equationEditorCategoriesAndSymbols['
|
232
|
+
createCustomCategoryFlyout.steps.checkCategoryAccordionCheckbox(`${equationEditorCategoriesAndSymbols['numPad'].displayName}`);
|
233
|
+
createCustomCategoryFlyout.steps.verifyPartiallyCheckedStateOfCategoryAccordionCheckbox(`${equationEditorCategoriesAndSymbols['matrices'].displayName}`);
|
234
234
|
createCustomCategoryFlyout.steps.expandCategoryAccordion(`${equationEditorCategoriesAndSymbols['greek'].displayName}`);
|
235
235
|
createCustomCategoryFlyout.steps.selectASymbolInCreateCustomCategoryFlyout(`${equationEditorCategoriesAndSymbols['greek'].displayName}`, `${equationEditorCategoriesAndSymbols.greek.symbols.gamma.ariaLabel}`);
|
236
236
|
createCustomCategoryFlyout.steps.selectASymbolInCreateCustomCategoryFlyout(`${equationEditorCategoriesAndSymbols['greek'].displayName}`, `${equationEditorCategoriesAndSymbols.greek.symbols.delta.ariaLabel}`);
|
@@ -248,8 +248,8 @@ const steps = {
|
|
248
248
|
.contains(`${customCategoryName}`)
|
249
249
|
.parents('[id*="DraggableItem"]')
|
250
250
|
.within(() => {
|
251
|
-
utilities.verifyElementVisibilityState(essayResponsePage.equationEditorSectionCategoriesEditIcon,
|
252
|
-
utilities.verifyElementVisibilityState(essayResponsePage.equationEditorSectionDeleteCustomCategoryIcon,
|
251
|
+
utilities.verifyElementVisibilityState(essayResponsePage.equationEditorSectionCategoriesEditIcon(), 'visible');
|
252
|
+
utilities.verifyElementVisibilityState(essayResponsePage.equationEditorSectionDeleteCustomCategoryIcon(), 'visible');
|
253
253
|
});
|
254
254
|
},
|
255
255
|
|
@@ -957,6 +957,7 @@ const tests = {
|
|
957
957
|
...commonComponents.tests,
|
958
958
|
...customizeSpecialCharacterComponent.tests,
|
959
959
|
...essayResponseCommonComponents.tests,
|
960
|
+
...additionalSettingsAccessibilitySectionComponent.tests,
|
960
961
|
|
961
962
|
/**
|
962
963
|
* insert equation and verify input field content and word count
|
@@ -967,7 +968,7 @@ const tests = {
|
|
967
968
|
it(`On clicking the Ok button the symbols/equation entered should be displayed in the preview tab input field and the Word count should increase to ${wordCount}`, () => {
|
968
969
|
equationEditorFlyout.steps.clickOnOkButton()
|
969
970
|
utilities.verifyTextContent(essayResponsePage.responseField().find('.ngie_latex'), `${expectedOutput}`);
|
970
|
-
essayResponsePage.steps.
|
971
|
+
essayResponsePage.steps.verifyWordCount(wordCount);
|
971
972
|
});
|
972
973
|
},
|
973
974
|
|
@@ -984,12 +985,14 @@ const tests = {
|
|
984
985
|
.click();
|
985
986
|
}
|
986
987
|
});
|
987
|
-
//The equation editor input Field equation is not checked.
|
988
988
|
});
|
989
989
|
equationEditorFlyout.tests.verifyCSSAnda11yOfEquationEditorInputField(categoryName);
|
990
|
-
if (categoryName === '
|
991
|
-
essayResponsePage.tests.insertEquationAndVerifyInputFieldContentsAndWordCount(
|
992
|
-
} else {
|
990
|
+
if (categoryName === 'setNotation') {
|
991
|
+
essayResponsePage.tests.insertEquationAndVerifyInputFieldContentsAndWordCount('∈∉∋∌⊂⊃⊆⊇⊄⊅∅∪∩!,:\\/≺≻≼≽({[(])})', wordCount);
|
992
|
+
} else if (categoryName === 'otherSymbols') {
|
993
|
+
essayResponsePage.tests.insertEquationAndVerifyInputFieldContentsAndWordCount(')ℝ|∝•ababc∀ι∞°/', wordCount);
|
994
|
+
}
|
995
|
+
else {
|
993
996
|
essayResponsePage.tests.insertEquationAndVerifyInputFieldContentsAndWordCount(mappedArr.toString().replaceAll(',', ''), wordCount)
|
994
997
|
}
|
995
998
|
}
|
@@ -227,6 +227,21 @@ const steps = {
|
|
227
227
|
utilities.verifyElementDisabled(fillInTheGapsDragAndDropPage.dropzonePreviewTab().eq(dropzoneIndex));
|
228
228
|
},
|
229
229
|
|
230
|
+
verifyDropzoneIsNotEditableInGradingView: () => {
|
231
|
+
utilities.getNthElement(fillInTheGapsDragAndDropPage.dropzonePreviewTab(), 0)
|
232
|
+
.click();
|
233
|
+
utilities.getNthElement(fillInTheGapsDragAndDropPage.dropzonePreviewTab(), 1)
|
234
|
+
.click();
|
235
|
+
utilities.getNthElement(fillInTheGapsDragAndDropPage.dropzonePreviewTab(), 1)
|
236
|
+
.click();
|
237
|
+
utilities.getNthElement(fillInTheGapsDragAndDropPage.dropzonePreviewTab(), 2)
|
238
|
+
.click();
|
239
|
+
fillInTheGapsDragAndDropPage.steps.verifyDropzoneTextPreviewTab(2, '3\nPetals');
|
240
|
+
fillInTheGapsDragAndDropPage.steps.verifyDropzoneWithImageInPreviewTab(2);
|
241
|
+
fillInTheGapsDragAndDropPage.steps.verifyDropzoneTextPreviewTab(0, '1\nThis is a bold option');
|
242
|
+
fillInTheGapsDragAndDropPage.steps.verifyDropzoneWithEquationTextInPreviewTab(1);
|
243
|
+
},
|
244
|
+
|
230
245
|
/**
|
231
246
|
* @description Verifies the text content of a specific preview tab dropzone element.
|
232
247
|
* @param {number} count - The index of the preview tab dropzone element to verify (zero-based).
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import utilities from "../support/helpers/utilities";
|
2
|
-
import { autoScoredScoringPreviewTab, createQuestionBasePage, scoringSectionBaseEditTab, questionInstructionsComponent, correctIncorrectAnswerLabelComponent, autoScoredStudentViewSettings, autoScoredSpecifyCorrectAnswerSection, autoScoredScoringSectionMultiResponseType, fillInTheGapsDropdownCommonComponent, questionInputFieldComponent, commonComponents, additionalSettingsPanel, optionsWrapperComponent, randomizeOptionsComponent, studentViewSettingsLabelComponent } from "./components";
|
2
|
+
import { autoScoredScoringPreviewTab, createQuestionBasePage, scoringSectionBaseEditTab, questionInstructionsComponent, correctIncorrectAnswerLabelComponent, autoScoredStudentViewSettings, autoScoredSpecifyCorrectAnswerSection, autoScoredScoringSectionMultiResponseType, fillInTheGapsDropdownCommonComponent, questionInputFieldComponent, commonComponents, additionalSettingsPanel, optionsWrapperComponent, randomizeOptionsComponent, studentViewSettingsLabelComponent, responseAreaSettingsPopupComponent, gradingViewEnumerationComponent, additionalSettingsAccessibilitySectionComponent, ariaLabelSectionComponent, placeholderTextSectionComponent } from "./components";
|
3
3
|
const css = Cypress.env('css');
|
4
4
|
|
5
5
|
const selectors = {
|
@@ -14,10 +14,20 @@ const selectors = {
|
|
14
14
|
...autoScoredSpecifyCorrectAnswerSection,
|
15
15
|
...randomizeOptionsComponent,
|
16
16
|
...studentViewSettingsLabelComponent,
|
17
|
+
...responseAreaSettingsPopupComponent,
|
18
|
+
...additionalSettingsPanel,
|
19
|
+
...placeholderTextSectionComponent,
|
20
|
+
...gradingViewEnumerationComponent,
|
21
|
+
...ariaLabelSectionComponent,
|
22
|
+
...additionalSettingsAccessibilitySectionComponent,
|
17
23
|
dropdownWrapperPreviewTab: () => cy.get('.cloze-with-text-answer-status-response-preview-wrapper'),
|
18
24
|
correctAnswerSectionWrapper: () => cy.get('.cloze-with-text-correct-answer-wrapper'),
|
19
25
|
correctAnswerResponseWrapper: () => cy.get('.answer-block'),
|
20
26
|
correctAnswerResponse: () => cy.get('.numeration-wrapper'),
|
27
|
+
setForAllDropdownsLabel: () => cy.get('[data-ngie-testid="set-for-all-dropdowns-checkbox"] .MuiFormControlLabel-label'),
|
28
|
+
setForAllDropdownsCheckbox: () => cy.get('[data-ngie-testid="set-for-all-dropdowns-checkbox"] input'),
|
29
|
+
correctAnswerSectionWithoutEnumerationWrapper: () => cy.get('.cloze-with-text-correct-answer-wrapper .preview-question-text-wrapper'),
|
30
|
+
correctAnswersLabel: () => cy.get('.cloze-with-text-correct-answer-label')
|
21
31
|
}
|
22
32
|
|
23
33
|
const steps = {
|
@@ -35,6 +45,12 @@ const steps = {
|
|
35
45
|
...additionalSettingsPanel.steps,
|
36
46
|
...optionsWrapperComponent.steps,
|
37
47
|
...randomizeOptionsComponent.steps,
|
48
|
+
...responseAreaSettingsPopupComponent.steps,
|
49
|
+
...additionalSettingsPanel.steps,
|
50
|
+
...placeholderTextSectionComponent.steps,
|
51
|
+
...gradingViewEnumerationComponent.steps,
|
52
|
+
...ariaLabelSectionComponent.steps,
|
53
|
+
...additionalSettingsAccessibilitySectionComponent.steps,
|
38
54
|
/**
|
39
55
|
* Verify that the correct option icon is is displayed for a specific dropdown.
|
40
56
|
* @param {number} dropdownIndex - The index of the dropdown.
|
@@ -99,6 +115,104 @@ const steps = {
|
|
99
115
|
verifyCorrectAnswerSectionNotExists: () => {
|
100
116
|
utilities.verifyElementVisibilityState(fillInTheGapsDropdownPage.correctAnswerSectionWrapper(), 'notExist');
|
101
117
|
},
|
118
|
+
|
119
|
+
verifySetForAllDropdownsCheckboxChecked: () => {
|
120
|
+
fillInTheGapsDropdownPage.setForAllDropdownsCheckbox()
|
121
|
+
.should('be.checked');
|
122
|
+
},
|
123
|
+
|
124
|
+
verifySetForAllDropdownsCheckboxUnchecked: () => {
|
125
|
+
fillInTheGapsDropdownPage.setForAllDropdownsCheckbox()
|
126
|
+
.should('not.be.checked');
|
127
|
+
},
|
128
|
+
|
129
|
+
checkSetForAllDropdownsCheckbox: () => {
|
130
|
+
fillInTheGapsDropdownPage.setForAllDropdownsCheckbox()
|
131
|
+
.click()
|
132
|
+
.should('be.checked');
|
133
|
+
},
|
134
|
+
|
135
|
+
uncheckSetForAllDropdownsCheckbox: () => {
|
136
|
+
fillInTheGapsDropdownPage.setForAllDropdownsCheckbox()
|
137
|
+
.click()
|
138
|
+
.should('not.be.checked');
|
139
|
+
},
|
140
|
+
|
141
|
+
verifyMinimumValueOfWidthInputField: () => {
|
142
|
+
responseAreaSettingsPopupComponent.responseAreaSettingsWidthInputField()
|
143
|
+
.parent()
|
144
|
+
.should('have.attr', 'minallowed', '120');
|
145
|
+
},
|
146
|
+
|
147
|
+
/**
|
148
|
+
* @description Verify width of dropdown in preview tab
|
149
|
+
* @param {number} dropdownIndex index of dropdown
|
150
|
+
* @param {string} width Width of dropdown in px
|
151
|
+
*/
|
152
|
+
verifyDropdownWidthPreviewTab: (dropdownIndex, width) => {
|
153
|
+
utilities.getNthElement(fillInTheGapsDropdownCommonComponent.dropdownWrapperPreviewTab(), dropdownIndex)
|
154
|
+
.should('have.css', 'width', width);
|
155
|
+
},
|
156
|
+
|
157
|
+
/**
|
158
|
+
* @description Verify width of dropdown in specify correct answer section
|
159
|
+
* @param {number} dropdownIndex index of dropdown
|
160
|
+
* @param {string} width Width of dropdown in px
|
161
|
+
*/
|
162
|
+
verifyDropdownWidthSpecifyCorrectAnswerSection: (dropdownIndex, width) => {
|
163
|
+
utilities.getNthElement(fillInTheGapsDropdownCommonComponent.dropdownWrapperSpecifyCorrectAnswerSection(), dropdownIndex)
|
164
|
+
.should('have.css', 'width', width);
|
165
|
+
},
|
166
|
+
|
167
|
+
/**
|
168
|
+
* Verifies the correct answer dropdown enumeration.
|
169
|
+
* @param {string[]} enumerationArray - An array of enumeration values to verify.
|
170
|
+
* @returns {void}
|
171
|
+
*/
|
172
|
+
verifyCorrectAnswerDropdownEnumeration: (enumerationArray) => {
|
173
|
+
utilities.verifyElementCount(fillInTheGapsDropdownPage.correctAnswerResponseWrapper(), enumerationArray.length);
|
174
|
+
enumerationArray.forEach((option, index) => {
|
175
|
+
fillInTheGapsDropdownPage.correctAnswerResponseWrapper()
|
176
|
+
.eq(index)
|
177
|
+
.within(() => {
|
178
|
+
utilities.verifyInnerText(fillInTheGapsDropdownPage.correctAnswerResponseNumeration(), `${option}`);
|
179
|
+
});
|
180
|
+
});
|
181
|
+
},
|
182
|
+
|
183
|
+
/**
|
184
|
+
* Verifies the correct answer responses without enumeration.
|
185
|
+
* @param {string[]} correctAnswerArray - An array of correct answer responses to verify.
|
186
|
+
* @returns {void}
|
187
|
+
*/
|
188
|
+
verifyCorrectAnswerResponsesWithoutEnumeration: (correctAnswerArray) => {
|
189
|
+
fillInTheGapsDropdownPage.correctAnswerSectionWithoutEnumerationWrapper()
|
190
|
+
.within(() => {
|
191
|
+
utilities.verifyElementCount(fillInTheGapsDropdownCommonComponent.correctAnswerResponseWrapperWithoutEnumeration(), correctAnswerArray.length);
|
192
|
+
correctAnswerArray.forEach((correctAnswer, index) => {
|
193
|
+
fillInTheGapsDropdownCommonComponent.correctAnswerResponseWrapperWithoutEnumeration()
|
194
|
+
.eq(index)
|
195
|
+
.should('have.attr', 'value', correctAnswer);
|
196
|
+
});
|
197
|
+
});
|
198
|
+
},
|
199
|
+
|
200
|
+
/**
|
201
|
+
* Verifies the dropdown enumeration in the preview tab.
|
202
|
+
* @param {string[]} enumerationArray - An array of enumeration values to verify.
|
203
|
+
* @returns {void}
|
204
|
+
*/
|
205
|
+
verifyDropdownEnumeration: (enumerationArray) => {
|
206
|
+
utilities.verifyElementCount(fillInTheGapsDropdownCommonComponent.dropdownPreviewTab(), enumerationArray.length);
|
207
|
+
enumerationArray.forEach((option, index) => {
|
208
|
+
fillInTheGapsDropdownCommonComponent.dropdownWrapperPreviewTab()
|
209
|
+
.eq(index)
|
210
|
+
.parents('.cloze-with-dropdown-response-wrapper')
|
211
|
+
.within(() => {
|
212
|
+
utilities.verifyTextContent(fillInTheGapsDropdownCommonComponent.dropdownNumerationPreviewTab(), `${option}`);
|
213
|
+
});
|
214
|
+
});
|
215
|
+
},
|
102
216
|
}
|
103
217
|
|
104
218
|
const tests = {
|
@@ -115,7 +229,12 @@ const tests = {
|
|
115
229
|
...autoScoredStudentViewSettings.tests,
|
116
230
|
...randomizeOptionsComponent.tests,
|
117
231
|
...studentViewSettingsLabelComponent.tests,
|
118
|
-
...createQuestionBasePage.tests
|
232
|
+
...createQuestionBasePage.tests,
|
233
|
+
...additionalSettingsPanel.tests,
|
234
|
+
...gradingViewEnumerationComponent.tests,
|
235
|
+
...additionalSettingsAccessibilitySectionComponent.tests,
|
236
|
+
...ariaLabelSectionComponent.tests,
|
237
|
+
...placeholderTextSectionComponent.tests
|
119
238
|
}
|
120
239
|
|
121
240
|
export const fillInTheGapsDropdownPage = {
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import constants from "../fixtures/constants";
|
2
2
|
import utilities from "../support/helpers/utilities";
|
3
|
-
import { createQuestionBasePage, questionInstructionsComponent, uploadImageSectionComponent, scoringSectionBaseEditTab, optionsWrapperComponent, equationEditorFlyout, ckEditorToolbar, commonComponents, autoScoredScoringPreviewTab, autoScoredStudentViewSettings, maximumCapacityPerDropzoneComponent, autoScoredSpecifyCorrectAnswerSection, autoScoredScoringSectionMultiResponseType, imageCanvasComponent, backgroundImageUploadComponent, correctIncorrectAnswerLabelComponent, draggableOptionsSectionComponent, draggableOptionContainer, studentViewSettingsLabelComponent, randomizeOptionsComponent, enableOuterBorderComponent, allowMultipleInstancesOfSameDraggableOptionComponent, additionalSettingsPanel, opacityComponent, imageActionsComponent, colorPopupComponent, fillInTheGapsDragAndDropCommonComponents } from "./components";
|
3
|
+
import { createQuestionBasePage, questionInstructionsComponent, uploadImageSectionComponent, scoringSectionBaseEditTab, optionsWrapperComponent, equationEditorFlyout, ckEditorToolbar, commonComponents, autoScoredScoringPreviewTab, autoScoredStudentViewSettings, maximumCapacityPerDropzoneComponent, autoScoredSpecifyCorrectAnswerSection, autoScoredScoringSectionMultiResponseType, imageCanvasComponent, backgroundImageUploadComponent, correctIncorrectAnswerLabelComponent, draggableOptionsSectionComponent, draggableOptionContainer, studentViewSettingsLabelComponent, randomizeOptionsComponent, enableOuterBorderComponent, allowMultipleInstancesOfSameDraggableOptionComponent, additionalSettingsPanel, opacityComponent, imageActionsComponent, colorPopupComponent, fillInTheGapsDragAndDropCommonComponents, additionalSettingsAccessibilitySectionComponent } from "./components";
|
4
4
|
import { dialogBoxBase } from "./dialogBoxBase";
|
5
5
|
const css = Cypress.env('css');
|
6
6
|
|
@@ -30,6 +30,7 @@ const selectors = {
|
|
30
30
|
...imageActionsComponent,
|
31
31
|
...colorPopupComponent,
|
32
32
|
...fillInTheGapsDragAndDropCommonComponents,
|
33
|
+
...additionalSettingsPanel,
|
33
34
|
dropzonePreviewTab: () => cy.get('.drag-and-drop-canvas [class*="__DraggableWrapper"]'),
|
34
35
|
dropzoneContainerPreviewTab: () => cy.get('[class*="Canvasstyle__DropzoneWrapper"]'),
|
35
36
|
optionContainerOptionsPreviewTab: () => cy.get('.item-list .draggable-options-item:visible'),
|
@@ -556,6 +557,7 @@ const tests = {
|
|
556
557
|
...opacityComponent.tests,
|
557
558
|
...backgroundImageUploadComponent.tests,
|
558
559
|
...imageCanvasComponent.tests,
|
560
|
+
...additionalSettingsAccessibilitySectionComponent.tests,
|
559
561
|
|
560
562
|
verifyContentsOfSpecifyCorrectAnswerSection: () => {
|
561
563
|
it('When user selects a scoring type then in the \'Correct\' accordion, all the contents should be displayed', () => {
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import utilities from "../support/helpers/utilities";
|
2
|
-
import { imageCanvasComponent, autoScoredScoringPreviewTab, createQuestionBasePage, backgroundImageUploadComponent, scoringSectionBaseEditTab, questionInstructionsComponent, correctIncorrectAnswerLabelComponent, autoScoredStudentViewSettings, autoScoredSpecifyCorrectAnswerSection, autoScoredScoringSectionMultiResponseType, fillInTheGapsDropdownCommonComponent, randomizeOptionsComponent, optionsWrapperComponent, studentViewSettingsLabelComponent, additionalSettingsPanel } from "./components";
|
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
5
|
const optionsForDropdown = ['Flower', 'Petal', 'Stem', 'Branch'];
|
@@ -14,10 +14,16 @@ const selectors = {
|
|
14
14
|
...randomizeOptionsComponent,
|
15
15
|
...backgroundImageUploadComponent,
|
16
16
|
...autoScoredScoringSectionMultiResponseType,
|
17
|
-
|
17
|
+
...placeholderTextSectionComponent,
|
18
|
+
...gradingViewEnumerationComponent,
|
19
|
+
...ariaLabelSectionComponent,
|
20
|
+
...commonComponents,
|
21
|
+
...additionalSettingsPanel,
|
22
|
+
dropdownWrapperPreviewTab: () => cy.get('[class*="Canvasstyle__DropzoneWrapper"]'),
|
18
23
|
correctAnswerResponseWrapper: () => cy.get('[class*="LabelImageWithDropdownPreviewstyles__AnswerCell"]'),
|
19
24
|
correctAnswerResponse: () => cy.get('[class*="LabelImageWithDropdownPreviewstyles__AnswerWrapper"]'),
|
20
25
|
correctAnswerSectionWrapper: () => cy.get('.dnd-correct-answer-wrapper'),
|
26
|
+
correctAnswersLabel: () => cy.get('[class*="question-preview-wrapper"] [class*="correct-answers-label"]'),
|
21
27
|
}
|
22
28
|
|
23
29
|
const steps = {
|
@@ -35,6 +41,10 @@ const steps = {
|
|
35
41
|
...additionalSettingsPanel.steps,
|
36
42
|
...optionsWrapperComponent.steps,
|
37
43
|
...randomizeOptionsComponent.steps,
|
44
|
+
...gradingViewEnumerationComponent.steps,
|
45
|
+
...placeholderTextSectionComponent.steps,
|
46
|
+
...ariaLabelSectionComponent.steps,
|
47
|
+
...commonComponents.steps,
|
38
48
|
/**
|
39
49
|
* Verify that the correct option icon is is displayed for a specific dropdown.
|
40
50
|
* @param {number} dropdownIndex - The index of the dropdown.
|
@@ -178,6 +188,57 @@ const steps = {
|
|
178
188
|
verifyCorrectAnswerSectionNotExists: () => {
|
179
189
|
utilities.verifyElementVisibilityState(fillInTheGapsOverImageDropdownPage.correctAnswerSectionWrapper(), 'notExist');
|
180
190
|
},
|
191
|
+
|
192
|
+
/**
|
193
|
+
* Verifies the correct answer responses without enumeration.
|
194
|
+
* @param {string[]} correctAnswerArray - An array of correct answer responses to verify.
|
195
|
+
* @returns {void}
|
196
|
+
*/
|
197
|
+
verifyCorrectAnswerResponsesWithoutEnumeration: (correctAnswerArray) => {
|
198
|
+
fillInTheGapsOverImageDropdownPage.correctAnswerSectionWrapper()
|
199
|
+
.within(() => {
|
200
|
+
utilities.verifyElementCount(fillInTheGapsDropdownCommonComponent.correctAnswerResponseWrapperWithoutEnumeration(), correctAnswerArray.length);
|
201
|
+
correctAnswerArray.forEach((correctAnswer, index) => {
|
202
|
+
fillInTheGapsDropdownCommonComponent.correctAnswerResponseWrapperWithoutEnumeration()
|
203
|
+
.eq(index)
|
204
|
+
.should('have.attr', 'value', correctAnswer);
|
205
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyCorrectOptionIcon(index)
|
206
|
+
});
|
207
|
+
});
|
208
|
+
},
|
209
|
+
|
210
|
+
/**
|
211
|
+
* Verifies the correct answer dropdown enumeration.
|
212
|
+
* @param {string[]} enumerationArray - An array of enumeration values to verify.
|
213
|
+
* @returns {void}
|
214
|
+
*/
|
215
|
+
verifyCorrectAnswerDropdownEnumeration: (enumerationArray) => {
|
216
|
+
utilities.verifyElementCount(fillInTheGapsOverImageDropdownPage.correctAnswerResponseWrapper(), enumerationArray.length);
|
217
|
+
enumerationArray.forEach((option, index) => {
|
218
|
+
fillInTheGapsOverImageDropdownPage.correctAnswerResponseWrapper()
|
219
|
+
.eq(index)
|
220
|
+
.within(() => {
|
221
|
+
utilities.verifyInnerText(fillInTheGapsOverImageDropdownPage.correctAnswerResponseNumeration(), `${option}`);
|
222
|
+
});
|
223
|
+
});
|
224
|
+
},
|
225
|
+
|
226
|
+
/**
|
227
|
+
* Verifies the dropdown enumeration in the preview tab.
|
228
|
+
* @param {string[]} enumerationArray - An array of enumeration values to verify.
|
229
|
+
* @returns {void}
|
230
|
+
*/
|
231
|
+
verifyDropdownEnumeration: (enumerationArray) => {
|
232
|
+
utilities.verifyElementCount(fillInTheGapsDropdownCommonComponent.dropdownPreviewTab(), enumerationArray.length);
|
233
|
+
enumerationArray.forEach((option, index) => {
|
234
|
+
fillInTheGapsDropdownCommonComponent.dropdownWrapperPreviewTab()
|
235
|
+
.eq(index)
|
236
|
+
.parents('[class*="DropzoneWrapper"]')
|
237
|
+
.within(() => {
|
238
|
+
utilities.verifyTextContent(fillInTheGapsDropdownCommonComponent.dropdownNumerationPreviewTab(), `${option}`);
|
239
|
+
});
|
240
|
+
});
|
241
|
+
},
|
181
242
|
}
|
182
243
|
|
183
244
|
const tests = {
|
@@ -193,7 +254,13 @@ const tests = {
|
|
193
254
|
...imageCanvasComponent.tests,
|
194
255
|
...studentViewSettingsLabelComponent.tests,
|
195
256
|
...createQuestionBasePage.tests,
|
196
|
-
...fillInTheGapsDropdownCommonComponent.tests
|
257
|
+
...fillInTheGapsDropdownCommonComponent.tests,
|
258
|
+
...placeholderTextSectionComponent.tests,
|
259
|
+
...gradingViewEnumerationComponent.tests,
|
260
|
+
...ariaLabelSectionComponent.tests,
|
261
|
+
...commonComponents.tests,
|
262
|
+
...additionalSettingsPanel.tests,
|
263
|
+
...additionalSettingsAccessibilitySectionComponent.tests
|
197
264
|
}
|
198
265
|
|
199
266
|
export const fillInTheGapsOverImageDropdownPage = {
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import utilities from "../support/helpers/utilities";
|
2
|
-
import { questionInstructionsComponent, scoringSectionBaseEditTab, createQuestionBasePage, commonComponents, autoScoredScoringPreviewTab, autoScoredSpecifyCorrectAnswerSection, autoScoredScoringSectionMultiResponseType, backgroundImageUploadComponent, optionsWrapperComponent, imageCanvasComponent, correctIncorrectAnswerLabelComponent, autoScoredStudentViewSettings, acceptedStudentInputComponent, customizeSpecialCharacterComponent, fillInTheGapsTextCommonComponent, additionalSettingsPanel } from "./components";
|
2
|
+
import { questionInstructionsComponent, scoringSectionBaseEditTab, createQuestionBasePage, commonComponents, autoScoredScoringPreviewTab, autoScoredSpecifyCorrectAnswerSection, autoScoredScoringSectionMultiResponseType, backgroundImageUploadComponent, optionsWrapperComponent, imageCanvasComponent, correctIncorrectAnswerLabelComponent, autoScoredStudentViewSettings, acceptedStudentInputComponent, customizeSpecialCharacterComponent, fillInTheGapsTextCommonComponent, additionalSettingsPanel, gradingViewEnumerationComponent, additionalSettingsAccessibilitySectionComponent, ariaLabelSectionComponent, placeholderTextSectionComponent } from "./components";
|
3
3
|
import { dialogBoxBase } from "./dialogBoxBase";
|
4
4
|
const css = Cypress.env('css');
|
5
5
|
|
@@ -16,7 +16,10 @@ const selectors = {
|
|
16
16
|
...backgroundImageUploadComponent,
|
17
17
|
...fillInTheGapsTextCommonComponent,
|
18
18
|
...additionalSettingsPanel,
|
19
|
-
|
19
|
+
...gradingViewEnumerationComponent,
|
20
|
+
...additionalSettingsAccessibilitySectionComponent,
|
21
|
+
...ariaLabelSectionComponent,
|
22
|
+
...placeholderTextSectionComponent,
|
20
23
|
//TODO: Update below selectors after https://redmine.zeuslearning.com/issues/557945 is resolved
|
21
24
|
|
22
25
|
responseContainerInPreviewTab: () => cy.get('[class*="AddTextResponseOnImagestyles__DraggableInput"]'),
|
@@ -25,6 +28,7 @@ const selectors = {
|
|
25
28
|
limitReachedWarningMessageContainer: () => cy.get('.disabled-wrapper-cls'),
|
26
29
|
correctAnswerResponseWrapper: () => cy.get('.label-image-with-text-correct-response-wrapper [class*="ClozeWithTextResponsestyles__AnswerCell"]'),
|
27
30
|
tickIconWrapper: () => cy.get('.tick-icon-wrapper [data-name*="Rectangle"]'),
|
31
|
+
correctAnswerSectionWithoutEnumerationWrapper: () => cy.get('.label-image-with-text-correct-answer-wrapper')
|
28
32
|
}
|
29
33
|
|
30
34
|
const steps = {
|
@@ -45,6 +49,10 @@ const steps = {
|
|
45
49
|
...autoScoredStudentViewSettings.steps,
|
46
50
|
...fillInTheGapsTextCommonComponent.steps,
|
47
51
|
...additionalSettingsPanel.steps,
|
52
|
+
...gradingViewEnumerationComponent.steps,
|
53
|
+
...additionalSettingsAccessibilitySectionComponent.steps,
|
54
|
+
...ariaLabelSectionComponent.steps,
|
55
|
+
...placeholderTextSectionComponent.steps,
|
48
56
|
/**
|
49
57
|
* Verify that the incorrect option icon is displayed for a specific answer input field.
|
50
58
|
* @param {number} inputFieldIndex - The index of the answer input field to verify.
|
@@ -238,6 +246,24 @@ const steps = {
|
|
238
246
|
fillInTheGapsOverImageTextPage.canvasInPreviewTab()
|
239
247
|
.should('have.css', 'height', `${height}px`);
|
240
248
|
},
|
249
|
+
|
250
|
+
/**
|
251
|
+
* Verifies the correct answer responses without enumeration.
|
252
|
+
* @param {string[]} correctAnswerArray - An array of correct answer responses to verify.
|
253
|
+
* @returns {void}
|
254
|
+
*/
|
255
|
+
verifyCorrectAnswerResponsesWithoutEnumeration: (correctAnswerArray) => {
|
256
|
+
fillInTheGapsOverImageTextPage.correctAnswerSectionWithoutEnumerationWrapper()
|
257
|
+
.within(() => {
|
258
|
+
utilities.verifyElementCount(fillInTheGapsTextCommonComponent.correctAnswerResponseWrapperWithoutEnumeration(), correctAnswerArray.length);
|
259
|
+
correctAnswerArray.forEach((correctAnswer, index) => {
|
260
|
+
fillInTheGapsTextCommonComponent.correctAnswerResponseWrapperWithoutEnumeration()
|
261
|
+
.eq(index)
|
262
|
+
.should('have.attr', 'value', correctAnswer);
|
263
|
+
fillInTheGapsOverImageTextPage.steps.verifyCorrectOptionIcon(index)
|
264
|
+
});
|
265
|
+
});
|
266
|
+
},
|
241
267
|
}
|
242
268
|
|
243
269
|
const tests = {
|
@@ -253,7 +279,11 @@ const tests = {
|
|
253
279
|
...questionInstructionsComponent.tests,
|
254
280
|
...fillInTheGapsTextCommonComponent.tests,
|
255
281
|
...customizeSpecialCharacterComponent.tests,
|
256
|
-
...additionalSettingsPanel.tests
|
282
|
+
...additionalSettingsPanel.tests,
|
283
|
+
...gradingViewEnumerationComponent.tests,
|
284
|
+
...additionalSettingsAccessibilitySectionComponent.tests,
|
285
|
+
...ariaLabelSectionComponent.tests,
|
286
|
+
...placeholderTextSectionComponent.tests
|
257
287
|
}
|
258
288
|
|
259
289
|
export const fillInTheGapsOverImageTextPage = {
|
@@ -1,6 +1,5 @@
|
|
1
1
|
import utilities from "../support/helpers/utilities";
|
2
|
-
import { questionInstructionsComponent, scoringSectionBaseEditTab, createQuestionBasePage, commonComponents, autoScoredScoringPreviewTab, autoScoredSpecifyCorrectAnswerSection, autoScoredScoringSectionMultiResponseType, correctIncorrectAnswerLabelComponent, autoScoredStudentViewSettings, acceptedStudentInputComponent, customizeSpecialCharacterComponent, fillInTheGapsTextCommonComponent, questionInputFieldComponent, additionalSettingsPanel } from "./components";
|
3
|
-
const css = Cypress.env('css');
|
2
|
+
import { questionInstructionsComponent, scoringSectionBaseEditTab, createQuestionBasePage, commonComponents, autoScoredScoringPreviewTab, autoScoredSpecifyCorrectAnswerSection, autoScoredScoringSectionMultiResponseType, correctIncorrectAnswerLabelComponent, autoScoredStudentViewSettings, acceptedStudentInputComponent, customizeSpecialCharacterComponent, fillInTheGapsTextCommonComponent, questionInputFieldComponent, additionalSettingsPanel, responseAreaSettingsPopupComponent, gradingViewEnumerationComponent, additionalSettingsAccessibilitySectionComponent, ariaLabelSectionComponent, placeholderTextSectionComponent } from "./components";
|
4
3
|
|
5
4
|
const selectors = {
|
6
5
|
...questionInstructionsComponent,
|
@@ -13,6 +12,15 @@ const selectors = {
|
|
13
12
|
...autoScoredScoringPreviewTab,
|
14
13
|
...fillInTheGapsTextCommonComponent,
|
15
14
|
...questionInputFieldComponent,
|
15
|
+
...responseAreaSettingsPopupComponent,
|
16
|
+
...additionalSettingsPanel,
|
17
|
+
...gradingViewEnumerationComponent,
|
18
|
+
...additionalSettingsAccessibilitySectionComponent,
|
19
|
+
...ariaLabelSectionComponent,
|
20
|
+
...placeholderTextSectionComponent,
|
21
|
+
setForAllTextContainersLabel: () => cy.get('[data-ngie-testid="set-for-all-text-containers-checkbox"] .MuiFormControlLabel-label'),
|
22
|
+
setForAllTextContainersCheckbox: () => cy.get('[data-ngie-testid="set-for-all-text-containers-checkbox"] input'),
|
23
|
+
correctAnswerSectionWithoutEnumerationWrapper: () => cy.get('.no-numeration-correct-answers-wrapper .preview-question-text-wrapper')
|
16
24
|
}
|
17
25
|
|
18
26
|
const steps = {
|
@@ -30,8 +38,13 @@ const steps = {
|
|
30
38
|
...autoScoredStudentViewSettings.steps,
|
31
39
|
...fillInTheGapsTextCommonComponent.steps,
|
32
40
|
...questionInputFieldComponent.steps,
|
33
|
-
...additionalSettingsPanel.steps,
|
34
41
|
...customizeSpecialCharacterComponent.steps,
|
42
|
+
...responseAreaSettingsPopupComponent.steps,
|
43
|
+
...additionalSettingsPanel.steps,
|
44
|
+
...gradingViewEnumerationComponent.steps,
|
45
|
+
...additionalSettingsAccessibilitySectionComponent.steps,
|
46
|
+
...ariaLabelSectionComponent.steps,
|
47
|
+
...placeholderTextSectionComponent.steps,
|
35
48
|
/**
|
36
49
|
* Verify that the incorrect option icon is displayed for a specific answer input field.
|
37
50
|
* @param {number} inputFieldIndex - The index of the answer input field to verify.
|
@@ -64,6 +77,65 @@ const steps = {
|
|
64
77
|
utilities.verifyElementVisibilityState(autoScoredScoringPreviewTab.correctIcon(), 'notExist');
|
65
78
|
utilities.verifyElementVisibilityState(autoScoredScoringPreviewTab.incorrectIcon(), 'notExist');
|
66
79
|
});
|
80
|
+
},
|
81
|
+
|
82
|
+
verifySetForAllTextContainersCheckboxChecked: () => {
|
83
|
+
fillInTheGapsTextPage.setForAllTextContainersCheckbox()
|
84
|
+
.should('be.checked');
|
85
|
+
},
|
86
|
+
|
87
|
+
verifySetForAllTextContainersCheckboxUnchecked: () => {
|
88
|
+
fillInTheGapsTextPage.setForAllTextContainersCheckbox()
|
89
|
+
.should('not.be.checked');
|
90
|
+
},
|
91
|
+
|
92
|
+
checkSetForAllTextContainersCheckbox: () => {
|
93
|
+
fillInTheGapsTextPage.setForAllTextContainersCheckbox()
|
94
|
+
.click()
|
95
|
+
.should('be.checked');
|
96
|
+
},
|
97
|
+
|
98
|
+
uncheckSetForAllTextContainersCheckbox: () => {
|
99
|
+
fillInTheGapsTextPage.setForAllTextContainersCheckbox()
|
100
|
+
.click()
|
101
|
+
.should('not.be.checked');
|
102
|
+
},
|
103
|
+
|
104
|
+
/**
|
105
|
+
* @description Verify width of answer input field in preview tab
|
106
|
+
* @param {number} answerInputFieldIndex index of answer input field
|
107
|
+
* @param {string} width Width of answer input field in px
|
108
|
+
*/
|
109
|
+
verifyAnswerInputFieldWidthPreviewTab: (answerInputFieldIndex, width) => {
|
110
|
+
utilities.getNthElement(fillInTheGapsTextCommonComponent.answerInputFieldWrapperPreviewTab(), answerInputFieldIndex)
|
111
|
+
.should('have.css', 'width', width);
|
112
|
+
},
|
113
|
+
|
114
|
+
/**
|
115
|
+
* @description Verify height of answer input field in preview tab
|
116
|
+
* @param {number} answerInputFieldIndex index of answer input field
|
117
|
+
* @param {string} height Height of answer input field in px
|
118
|
+
*/
|
119
|
+
verifyAnswerInputFieldHeightPreviewTab: (answerInputFieldIndex, height) => {
|
120
|
+
utilities.getNthElement(fillInTheGapsTextCommonComponent.answerInputFieldWrapperPreviewTab(), answerInputFieldIndex)
|
121
|
+
.should('have.css', 'height', height);
|
122
|
+
},
|
123
|
+
|
124
|
+
/**
|
125
|
+
* Verifies the correct answer responses without enumeration.
|
126
|
+
* @param {string[]} correctAnswerArray - An array of correct answer responses to verify.
|
127
|
+
* @returns {void}
|
128
|
+
*/
|
129
|
+
verifyCorrectAnswerResponsesWithoutEnumeration: (correctAnswerArray) => {
|
130
|
+
fillInTheGapsTextPage.correctAnswerSectionWithoutEnumerationWrapper()
|
131
|
+
.within(() => {
|
132
|
+
utilities.verifyElementCount(fillInTheGapsTextCommonComponent.correctAnswerResponseWrapperWithoutEnumeration(), correctAnswerArray.length);
|
133
|
+
correctAnswerArray.forEach((correctAnswer, index) => {
|
134
|
+
fillInTheGapsTextCommonComponent.correctAnswerResponseWrapperWithoutEnumeration()
|
135
|
+
.eq(index)
|
136
|
+
.should('have.attr', 'value', correctAnswer);
|
137
|
+
});
|
138
|
+
});
|
67
139
|
}
|
68
140
|
}
|
69
141
|
|
@@ -78,7 +150,12 @@ const tests = {
|
|
78
150
|
...scoringSectionBaseEditTab.tests,
|
79
151
|
...autoScoredScoringSectionMultiResponseType.tests,
|
80
152
|
...autoScoredStudentViewSettings.tests,
|
81
|
-
...createQuestionBasePage.tests
|
153
|
+
...createQuestionBasePage.tests,
|
154
|
+
...additionalSettingsPanel.tests,
|
155
|
+
...gradingViewEnumerationComponent.tests,
|
156
|
+
...additionalSettingsAccessibilitySectionComponent.tests,
|
157
|
+
...ariaLabelSectionComponent.tests,
|
158
|
+
...placeholderTextSectionComponent.tests,
|
82
159
|
}
|
83
160
|
|
84
161
|
export const fillInTheGapsTextPage = {
|