itemengine-cypress-automation 1.0.143-migrationScripts-d059d60.0 → 1.0.144-21MatchRepoUpdate-0ab2c79.0
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,368 +1,117 @@
|
|
1
|
-
import
|
2
|
-
import {
|
3
|
-
import { studentResponseAndLayoutComponent } from "./components/studentResponseAreaAndLayoutComponent";
|
1
|
+
import utilities from "../support/helpers/utilities";
|
2
|
+
import { createQuestionBasePage, questionInstructionsComponent, gridQuestionCommonComponent, scoringSectionBaseEditTab, ckEditorToolbar, equationEditorFlyout, autoScoredScoringPreviewTab, correctIncorrectAnswerLabelComponent } from "./components";
|
4
3
|
const css = Cypress.env('css');
|
5
4
|
|
6
5
|
const selectors = {
|
7
6
|
...questionInstructionsComponent,
|
8
|
-
...
|
9
|
-
...
|
10
|
-
...
|
11
|
-
...
|
12
|
-
|
13
|
-
...previewScoringAndShowCorrectAnswerComponent,
|
14
|
-
...autoScoredPreviewBase,
|
15
|
-
...createQuestionBasePage,
|
16
|
-
...gridCommonComponents,
|
17
|
-
...additionalSettingsPanel,
|
18
|
-
optionNumeration: () => cy.get('[class*="SingleOptionstyle__AdornmentWrapper"]'),
|
19
|
-
//Options section
|
20
|
-
optionsSectionWrapper: () => cy.get('.edit-mcq-options-wrapper.single-selection-grid'),
|
21
|
-
//Set correct answer section
|
22
|
-
optionsRadioButton: () => cy.get('.choice-option-radio-button [type="radio"]'),
|
23
|
-
pointsWrapper: () => cy.get('.single-selection-grid-points-wrapper'),
|
24
|
-
randomizeOptionsCheckbox: () => cy.get('[data-ngie-testid="randomize-options-checkbox"] input'),
|
25
|
-
randomizeOptionsCheckboxLabel: () => cy.get('[data-ngie-testid="randomize-options-checkbox"] .MuiFormControlLabel-label'),
|
26
|
-
//Preview tab
|
27
|
-
radioButtonWrapper: () => cy.get('.choice-option-radio-button'),
|
28
|
-
previewTabRadioButtonWrapper: () => cy.get('.edit-question-preview-wrapper .choice-option-radio-button'),
|
29
|
-
//Scoring
|
30
|
-
pointsPerResponseLabel: () => cy.get('[class*="indexstyles__PartialDifferentPointsHeader"]'),
|
31
|
-
partialEqualWeightsPointsPerResponseScore: () => cy.get('.partial-different-points-wrapper [aria-label*="Points per response"]'),
|
32
|
-
partialDifferentWeightsPointsInputField: () => cy.get('.partial-different-points-wrapper .points-input-field input[type="text"]'),
|
33
|
-
correctIncorrectIconWrapper: () => cy.get('.tick-icon-wrapper'),
|
34
|
-
correctIncorrectAnswerBorder: () => cy.get('.edit-question-preview-wrapper [class*="indexstyles__CorrectIncorrectBorderWrapper"]')
|
35
|
-
};
|
7
|
+
...gridQuestionCommonComponent,
|
8
|
+
...ckEditorToolbar,
|
9
|
+
...autoScoredScoringPreviewTab,
|
10
|
+
...correctIncorrectAnswerLabelComponent,
|
11
|
+
}
|
36
12
|
|
37
13
|
const steps = {
|
38
14
|
...createQuestionBasePage.steps,
|
39
15
|
...questionInstructionsComponent.steps,
|
40
|
-
...
|
41
|
-
...
|
42
|
-
...
|
43
|
-
...
|
44
|
-
...
|
45
|
-
...
|
46
|
-
...autoScoredPreviewBase.steps,
|
47
|
-
...autoScoredAdditionalSettings.steps,
|
48
|
-
...gridCommonComponents.steps,
|
49
|
-
...autoScoredScoringSection.steps,
|
50
|
-
//Set correct section
|
16
|
+
...gridQuestionCommonComponent.steps,
|
17
|
+
...scoringSectionBaseEditTab.steps,
|
18
|
+
...ckEditorToolbar.steps,
|
19
|
+
...equationEditorFlyout.steps,
|
20
|
+
...autoScoredScoringPreviewTab.steps,
|
21
|
+
...correctIncorrectAnswerLabelComponent.steps,
|
51
22
|
/**
|
52
|
-
*
|
53
|
-
* @param {
|
54
|
-
* @
|
23
|
+
* Modifies the property of an option cell in the grid for radio button settings.
|
24
|
+
* @param {Object} position - The position of the option cell.
|
25
|
+
* @param {number} position.row - The row index (zero-based) of the option cell.
|
26
|
+
* @param {number} position.column - The column index (zero-based) of the option cell.
|
27
|
+
* @param {('Radio button', 'Radio button with text', 'No radio button')} listOption - The option to select from the list.
|
28
|
+
* @throws {Error} Thrown if the listOption is invalid.
|
55
29
|
*/
|
56
|
-
|
57
|
-
|
58
|
-
.
|
59
|
-
|
60
|
-
|
61
|
-
.eq(optionIndex)
|
62
|
-
.click()
|
63
|
-
.should('be.checked');
|
64
|
-
});
|
65
|
-
},
|
66
|
-
|
67
|
-
/**
|
68
|
-
* @param {array} optionIndexInQuestionStemRow array of options to be selected for all question stems
|
69
|
-
* @description This function checkmarks all the options in the set correct answer table
|
70
|
-
*/
|
71
|
-
selectOptionForAllQuestionStemsInSetCorrectAnswerTable: (optionIndexInQuestionStemRow) => {
|
72
|
-
optionIndexInQuestionStemRow.forEach((options, optionIndex) => {
|
73
|
-
singleSelectionGridPage.setCorrectAnswerTableRow()
|
74
|
-
.eq(optionIndex)
|
75
|
-
.within(() => {
|
76
|
-
singleSelectionGridPage.optionsRadioButton()
|
77
|
-
.eq(options)
|
78
|
-
.click()
|
79
|
-
.should('be.checked');
|
80
|
-
});
|
30
|
+
modifyTableCellPropertyForOptionCells: ({ row, column }, listOption) => {
|
31
|
+
utilities.getNthElement(gridQuestionCommonComponent.editCellPropertyRow(), row).within(() => {
|
32
|
+
utilities.getNthElement(gridQuestionCommonComponent.editCellPropertyButton(), column)
|
33
|
+
.scrollIntoView()
|
34
|
+
.click();
|
81
35
|
});
|
36
|
+
utilities.verifyElementVisibilityState(gridQuestionCommonComponent.editCellPropertyList(), 'visible');
|
37
|
+
switch (listOption) {
|
38
|
+
case 'Radio button':
|
39
|
+
utilities.getNthElement(gridQuestionCommonComponent.editCellPropertyListOption(), 0)
|
40
|
+
.click();
|
41
|
+
break;
|
42
|
+
case 'Radio button with text':
|
43
|
+
utilities.getNthElement(gridQuestionCommonComponent.editCellPropertyListOption(), 1)
|
44
|
+
.click();
|
45
|
+
break;
|
46
|
+
case 'No radio button':
|
47
|
+
utilities.getNthElement(gridQuestionCommonComponent.editCellPropertyListOption(), 2)
|
48
|
+
.click();
|
49
|
+
break;
|
50
|
+
default:
|
51
|
+
throw new Error('Invalid list option');
|
52
|
+
}
|
82
53
|
},
|
83
54
|
|
84
55
|
/**
|
85
|
-
*
|
86
|
-
* @param {
|
87
|
-
* @
|
56
|
+
* Verifies that an option button with a radio button is in the selected state in the preview tab.
|
57
|
+
* @param {Object} position - The position of the option button.
|
58
|
+
* @param {number} position.row - The row index (zero-based) in the preview tab.
|
59
|
+
* @param {number} position.column - The column index (zero-based) of the option button in the preview tab.
|
88
60
|
*/
|
89
|
-
|
90
|
-
|
91
|
-
.eq(rowIndex)
|
61
|
+
verifyOptionWithRadioButtonSelectedState: ({ row, column }) => {
|
62
|
+
gridQuestionCommonComponent.gridPreviewTab()
|
92
63
|
.within(() => {
|
93
|
-
|
94
|
-
.
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
* @param {number} rowIndex index of the row
|
100
|
-
* @description this function verifies disabled radio button
|
101
|
-
*/
|
102
|
-
verifyDisabledTableRowRadioButtonsInSetCorrectAnswerTable: (rowIndex) => {
|
103
|
-
singleSelectionGridPage.setCorrectAnswerTableRow()
|
104
|
-
.eq(rowIndex)
|
105
|
-
.within(() => {
|
106
|
-
singleSelectionGridPage.optionsRadioButton()
|
107
|
-
.each(($el) => {
|
108
|
-
cy.wrap($el)
|
109
|
-
.should('be.disabled');
|
110
|
-
});
|
111
|
-
});
|
112
|
-
},
|
113
|
-
|
114
|
-
/**
|
115
|
-
* @param {number} rowIndex index of the row
|
116
|
-
* @description this function verifies enabled and unchecked radio button
|
117
|
-
*/
|
118
|
-
verifyEnabledUncheckedTableRowRadioButtonsInSetCorrectAnswerTable: (rowIndex) => {
|
119
|
-
singleSelectionGridPage.setCorrectAnswerTableRow()
|
120
|
-
.eq(rowIndex)
|
121
|
-
.within(() => {
|
122
|
-
singleSelectionGridPage.optionsRadioButton()
|
123
|
-
.each(($el) => {
|
124
|
-
cy.wrap($el)
|
125
|
-
.should('be.enabled')
|
126
|
-
.and('not.be.checked');
|
127
|
-
});
|
64
|
+
utilities.getNthElement(gridQuestionCommonComponent.tableRow(), row).within(() => {
|
65
|
+
utilities.getNthElement(gridQuestionCommonComponent.optionsButton(), column)
|
66
|
+
.should('have.class', 'selected')
|
67
|
+
.find('svg')
|
68
|
+
.should('have.class', 'radio-btn-checked');
|
69
|
+
});
|
128
70
|
});
|
129
71
|
},
|
130
72
|
|
131
|
-
//Preview tab
|
132
73
|
/**
|
133
|
-
*
|
134
|
-
* @param {
|
135
|
-
* @
|
74
|
+
* Verifies that an option button with a radio button is in the unselected state in the preview tab.
|
75
|
+
* @param {Object} position - The position of the option button.
|
76
|
+
* @param {number} position.row - The row index (zero-based) in the preview tab.
|
77
|
+
* @param {number} position.column - The column index (zero-based) of the option button in the preview tab.
|
136
78
|
*/
|
137
|
-
|
138
|
-
|
139
|
-
.eq(rowIndex)
|
79
|
+
verifyOptionWithRadioButtonUnselectedState: ({ row, column }) => {
|
80
|
+
gridQuestionCommonComponent.gridPreviewTab()
|
140
81
|
.within(() => {
|
141
|
-
|
142
|
-
.
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
/**
|
147
|
-
* @param {number[]} optionIndexInQuestionStemRow array of options to be selected to each question stem
|
148
|
-
* @description This function selects the options for all the question stems
|
149
|
-
*/
|
150
|
-
selectOptionForAllQuestionStemsInPreviewTabAnswerTable: (optionIndexInQuestionStemRow) => {
|
151
|
-
optionIndexInQuestionStemRow.forEach((options, optionIndex) => {
|
152
|
-
singleSelectionGridPage.previewTabAnswerTableRow()
|
153
|
-
.eq(optionIndex)
|
154
|
-
.within(() => {
|
155
|
-
singleSelectionGridPage.optionsRadioButton()
|
156
|
-
.eq(options)
|
157
|
-
.click()
|
158
|
-
.should('be.checked');
|
82
|
+
utilities.getNthElement(gridQuestionCommonComponent.tableRow(), row).within(() => {
|
83
|
+
utilities.getNthElement(gridQuestionCommonComponent.optionsButton(), column)
|
84
|
+
.should('not.have.class', 'selected')
|
85
|
+
.find('svg')
|
86
|
+
.should('have.class', 'radio-btn-unChecked');
|
159
87
|
});
|
160
|
-
});
|
161
|
-
},
|
162
|
-
|
163
|
-
verifyRadioButtonsUncheckedInPreviewTabAnswerTable: () => {
|
164
|
-
singleSelectionGridPage.previewTabAnswerTable()
|
165
|
-
.within(() => {
|
166
|
-
singleSelectionGridPage.optionsRadioButton()
|
167
|
-
.each(($el) => {
|
168
|
-
cy.wrap($el)
|
169
|
-
.should('not.be.checked')
|
170
|
-
});
|
171
88
|
});
|
172
89
|
},
|
173
90
|
|
174
|
-
//Scoring
|
175
91
|
/**
|
176
|
-
*
|
177
|
-
* @param {
|
178
|
-
* @
|
92
|
+
* Verifies that an option button without a radio button is in the selected state in the preview tab.
|
93
|
+
* @param {Object} position - The position of the option button.
|
94
|
+
* @param {number} position.row - The row index (zero-based) in the preview tab.
|
95
|
+
* @param {number} position.column - The column index (zero-based) of the option button in the preview tab.
|
179
96
|
*/
|
180
|
-
|
181
|
-
|
182
|
-
.eq(rowIndex)
|
97
|
+
verifyOptionWithoutRadioButtonSelectedState: ({ row, column }) => {
|
98
|
+
gridQuestionCommonComponent.gridPreviewTab()
|
183
99
|
.within(() => {
|
184
|
-
|
185
|
-
.
|
186
|
-
|
187
|
-
|
188
|
-
.should('have.class', 'icon-incorrect')
|
189
|
-
.and('be.visible');
|
190
|
-
});
|
191
|
-
});
|
192
|
-
},
|
193
|
-
|
194
|
-
/**
|
195
|
-
* @param {number} rowIndex index of the row
|
196
|
-
* @param {number} optionIndex index of the option to be selected within the row
|
197
|
-
* @description This function verifies the correct icon in the preview tab table
|
198
|
-
*/
|
199
|
-
verifyCorrectOptionCheckmarkIcon: (rowIndex, optionIndex) => {
|
200
|
-
singleSelectionGridPage.previewTabAnswerTableRow()
|
201
|
-
.eq(rowIndex)
|
202
|
-
.within(() => {
|
203
|
-
singleSelectionGridPage.radioButtonWrapper()
|
204
|
-
.eq(optionIndex)
|
205
|
-
.within(() => {
|
206
|
-
singleSelectionGridPage.correctIncorrectIconWrapper()
|
207
|
-
.should('have.class', 'icon-correct')
|
208
|
-
.and('be.visible');
|
209
|
-
});
|
100
|
+
utilities.getNthElement(gridQuestionCommonComponent.tableRow(), row).within(() => {
|
101
|
+
utilities.getNthElement(gridQuestionCommonComponent.optionsButton(), column)
|
102
|
+
.should('have.class', 'selected');
|
103
|
+
});
|
210
104
|
});
|
211
105
|
},
|
212
|
-
|
213
|
-
/**
|
214
|
-
* @param {number[]} incorrectOptionsArray the array of incorrect answer options
|
215
|
-
* @description this function verifies the crossmark icon beside the options for all question stems
|
216
|
-
*/
|
217
|
-
verifyIncorrectOptionCrossmarkIconForAllQuestionStems: (incorrectOptionsArray) => {
|
218
|
-
incorrectOptionsArray.forEach((incorrectOptionsIndex, rowIndex) => {
|
219
|
-
steps.verifyIncorrectOptionCrossmarkIcon(rowIndex, incorrectOptionsIndex)
|
220
|
-
});
|
221
|
-
},
|
222
|
-
|
223
|
-
/**
|
224
|
-
* @param {number[]} correctOptionsArray the array of correct answer options
|
225
|
-
* @description this function verifies the checkmark icon beside the options for all question stems
|
226
|
-
*/
|
227
|
-
verifyCorrectOptionCheckmarkIconForAllQuestionStems: (correctOptionsArray) => {
|
228
|
-
correctOptionsArray.forEach((correctOptionsIndex, rowIndex) => {
|
229
|
-
steps.verifyCorrectOptionCheckmarkIcon(rowIndex, correctOptionsIndex)
|
230
|
-
});
|
231
|
-
},
|
232
|
-
|
233
|
-
//TODO: Make all border related changes once https://redmine.zeuslearning.com/issues/518498 is resolved
|
234
|
-
verifyCorrectAttemptBorder: () => {
|
235
|
-
singleSelectionGridPage.correctIncorrectAnswerBorder()
|
236
|
-
.should('have.css', 'border', `1px solid ${css.color.correctAnswer}`);
|
237
|
-
},
|
238
|
-
|
239
|
-
verifyIncorrectAttemptBorder: () => {
|
240
|
-
singleSelectionGridPage.correctIncorrectAnswerBorder()
|
241
|
-
.should('have.css', 'border', `1px solid ${css.color.incorrectAnswer}`);
|
242
|
-
},
|
243
|
-
|
244
|
-
verifyCorrectIncorrectBorderNotVisible: () => {
|
245
|
-
singleSelectionGridPage.correctIncorrectAnswerBorder()
|
246
|
-
.should('have.css', 'border')
|
247
|
-
.and('match', /0px none/);
|
248
|
-
},
|
249
|
-
};
|
106
|
+
}
|
250
107
|
|
251
108
|
const tests = {
|
252
|
-
...createQuestionBasePage.tests,
|
253
109
|
...questionInstructionsComponent.tests,
|
254
|
-
...
|
255
|
-
|
256
|
-
...scoringSectionBase.tests,
|
257
|
-
...commonComponents.tests,
|
258
|
-
...previewScoringAndShowCorrectAnswerComponent.tests,
|
259
|
-
...gridCommonComponents.tests,
|
260
|
-
...additionalSettingsPanel.tests,
|
261
|
-
...autoScoredAdditionalSettings.tests,
|
262
|
-
...studentResponseAndLayoutComponent.tests,
|
263
|
-
/**
|
264
|
-
* @param {string} scoringType the type of scoring selected by the user
|
265
|
-
* @param {string[]} questionStemsArray the array of question stems to be verified in the set correct answer table
|
266
|
-
* @param {string[]} optionsArray the array of options to be verified in the set correct answer table
|
267
|
-
* @description this function is used to verify the contents of the set correct answer table when a scoring type is selected
|
268
|
-
*/
|
269
|
-
verifyAllContentsOfSetCorrectAnswerTableForScoringType: (scoringType, questionStemsArray, optionsArray) => {
|
270
|
-
it(`When user has selected ${scoringType} scoring type then added question stems, options and enabled radio buttons should be displayed`, () => {
|
271
|
-
singleSelectionGridPage.steps.verifyQuestionStemsInSetCorrectAnswerTable(questionStemsArray);
|
272
|
-
singleSelectionGridPage.steps.verifyTableHeaderContentsInSetCorrectAnswerTable(optionsArray);
|
273
|
-
for (let index = 0; index < 4; index++) {
|
274
|
-
singleSelectionGridPage.steps.verifyEnabledUncheckedTableRowRadioButtonsInSetCorrectAnswerTable(index);
|
275
|
-
}
|
276
|
-
});
|
277
|
-
},
|
278
|
-
|
279
|
-
/**
|
280
|
-
* @param {number} totalPoints the maximum points that can be scored by the user
|
281
|
-
* @description this function verifies the functionality of minimum points when penalty points are not set and user attempts incorrect answer
|
282
|
-
*/
|
283
|
-
verifyMinimumScoreAwardedIfAttemptedFunctionalityForIncorrectAnswer: (totalPoints) => {
|
284
|
-
it('When user has provided minimum score awarded (if attempted) points, then in Preview tab on entering incorrect answer, minimum score should be provided for the question', () => {
|
285
|
-
cy.log('Switch to edit tab and set minimum score if attempted points')
|
286
|
-
createQuestionBasePage.steps.switchToEditTab();
|
287
|
-
scoringSectionBase.steps.allotMinimumScoreAwardedIfAttempted('1')
|
288
|
-
createQuestionBasePage.steps.switchToPreviewTab()
|
289
|
-
singleSelectionGridPage.steps.selectOptionForAllQuestionStemsInPreviewTabAnswerTable([1, 0, 1, 0]);
|
290
|
-
singleSelectionGridPage.previewScoreText()
|
291
|
-
.verifyInnerText(`1/${totalPoints}`);
|
292
|
-
});
|
293
|
-
|
294
|
-
it('When user removes minimum score awarded (if attempted) points, then in Preview tab on selecting any options other than correct answers, points should not be provided', () => {
|
295
|
-
cy.log('Switch to edit tab and remove minimum score if attempted points')
|
296
|
-
createQuestionBasePage.steps.switchToEditTab();
|
297
|
-
singleSelectionGridPage.steps.clearMinimumScoreIfAttemptedPointsField();
|
298
|
-
createQuestionBasePage.steps.switchToPreviewTab()
|
299
|
-
singleSelectionGridPage.steps.selectOptionForAllQuestionStemsInPreviewTabAnswerTable([1, 0, 1, 0]);
|
300
|
-
singleSelectionGridPage.previewScoreText()
|
301
|
-
.verifyInnerText(`0/${totalPoints}`);
|
302
|
-
});
|
303
|
-
},
|
304
|
-
|
305
|
-
/**
|
306
|
-
*
|
307
|
-
* @param {number} scoredPoints the points scored by the user
|
308
|
-
* @param {number} totalPoints the maximum points that can be scored by the user
|
309
|
-
* @description this function verifies the functionality of Penalty points when minimum points are not set and user attempts incorrect answer
|
310
|
-
*/
|
311
|
-
verifyPenaltyPointsFunctionalityForIncorrectAnswer: (scoredPoints, totalPoints) => {
|
312
|
-
it('When user has defined penalty points', () => {
|
313
|
-
cy.log('Pre-step: Switch to edit tab and set penalty points');
|
314
|
-
createQuestionBasePage.steps.switchToEditTab();
|
315
|
-
singleSelectionGridPage.steps.allotPenaltyPoints('3')
|
316
|
-
|
317
|
-
cy.log('After switching to preview tab, when user adds an incorrect answer input, then 0 points should be awarded(no negative points)');
|
318
|
-
createQuestionBasePage.steps.switchToPreviewTab();
|
319
|
-
singleSelectionGridPage.steps.selectOptionForAllQuestionStemsInPreviewTabAnswerTable([1, 0, 1, 0]);
|
320
|
-
singleSelectionGridPage.previewScoreText()
|
321
|
-
.verifyInnerText(`0/${totalPoints}`);
|
322
|
-
|
323
|
-
cy.log('When user adds a partially correct answer input, the points should be updated accordingly with deducted penalty points');
|
324
|
-
singleSelectionGridPage.steps.selectOptionForAllQuestionStemsInPreviewTabAnswerTable([0, 1, 1, 1]);
|
325
|
-
singleSelectionGridPage.previewScoreText()
|
326
|
-
.verifyInnerText(`${scoredPoints}/${totalPoints}`);
|
327
|
-
});
|
328
|
-
},
|
329
|
-
/**
|
330
|
-
* @param {number} scoredPoints the points scored by the user
|
331
|
-
* @param {number} totalPoints the maximum points that can be scored by the user
|
332
|
-
* @description this function verifies the functionality of Minimum score if attempted points when penalty points are set and user attempts incorrect answer
|
333
|
-
*/
|
334
|
-
verifyMinimumScoreIfAttemptedAndPenaltyPointsFunctionalityForIncorrectAnswer: (scoredPoints, totalPoints) => {
|
335
|
-
it('When user has defined both penalty points and minimum score awarded (if attempted) points', () => {
|
336
|
-
cy.log('Pre-step: Switch to edit tab and set minimum score awarded (if attempted) points');
|
337
|
-
createQuestionBasePage.steps.switchToEditTab();
|
338
|
-
scoringSectionBase.steps.allotMinimumScoreAwardedIfAttempted('1');
|
339
|
-
|
340
|
-
cy.log('Switch to preview tab and give incorrect answer input to check that minimum points are displayed');
|
341
|
-
createQuestionBasePage.steps.switchToPreviewTab();
|
342
|
-
singleSelectionGridPage.steps.selectOptionForAllQuestionStemsInPreviewTabAnswerTable([1, 0, 1, 0]);
|
343
|
-
singleSelectionGridPage.previewScoreText()
|
344
|
-
.verifyInnerText(`1/${totalPoints}`);
|
345
|
-
|
346
|
-
cy.log('When user adds a partially correct answer such that the points of the attempt(with penalty points deducted) is more than the minimum score awarded(if attempted) points');
|
347
|
-
singleSelectionGridPage.steps.selectOptionForAllQuestionStemsInPreviewTabAnswerTable([0, 1, 1, 1]);
|
348
|
-
singleSelectionGridPage.previewScoreText()
|
349
|
-
.verifyInnerText(`${scoredPoints}/${totalPoints}`);
|
350
|
-
|
351
|
-
cy.log('When user switches to edit tab and increases the minimum score awarded (if attempted) points to check the case for an attempt in which points of the attempt is less than minimum score awarded (if attempted) points, then the minimum score awarded (if attempted) points should be displayed to the user');
|
352
|
-
createQuestionBasePage.steps.switchToEditTab();
|
353
|
-
singleSelectionGridPage.steps.clearMinimumScoreIfAttemptedPointsField()
|
354
|
-
scoringSectionBase.steps.allotMinimumScoreAwardedIfAttempted('6')
|
355
|
-
cy.log('Switching to preview tab');
|
356
|
-
createQuestionBasePage.steps.switchToPreviewTab();
|
357
|
-
singleSelectionGridPage.steps.selectOptionForAllQuestionStemsInPreviewTabAnswerTable([0, 0, 1, 0]);
|
358
|
-
singleSelectionGridPage.previewScoreText()
|
359
|
-
.verifyInnerText(`6/${totalPoints}`);
|
360
|
-
});
|
361
|
-
}
|
362
|
-
};
|
110
|
+
...autoScoredScoringPreviewTab.tests
|
111
|
+
}
|
363
112
|
|
364
113
|
export const singleSelectionGridPage = {
|
365
114
|
...selectors,
|
366
115
|
steps,
|
367
116
|
tests
|
368
|
-
}
|
117
|
+
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import constants from "../fixtures/constants";
|
2
2
|
import utilities from "../support/helpers/utilities";
|
3
|
-
import { additionalSettingsPanel, createQuestionBasePage, mcqAdditionalSettingsBase, scoringSectionBaseEditTab, autoScoredSpecifyCorrectAnswerSection, optionsWrapperComponent, commonComponents, autoScoredScoringPreviewTab, autoScoredStudentViewSettings, ckEditorToolbar, equationEditorFlyout, randomizeOptionsComponent, lockUnlockOptionComponent, questionInstructionsComponent } from "./components";
|
3
|
+
import { additionalSettingsPanel, createQuestionBasePage, mcqAdditionalSettingsBase, scoringSectionBaseEditTab, autoScoredSpecifyCorrectAnswerSection, optionsWrapperComponent, commonComponents, autoScoredScoringPreviewTab, autoScoredStudentViewSettings, ckEditorToolbar, equationEditorFlyout, randomizeOptionsComponent, lockUnlockOptionComponent, questionInstructionsComponent, additionalSettingsAccessibilitySectionComponent } from "./components";
|
4
4
|
const css = Cypress.env('css');
|
5
5
|
|
6
6
|
const options = ['Pollution caused by treating chemical waste', 'Pollution caused by cement production', 'Pollution caused by methane production', 'Pollution caused by cement and methane production'];
|
@@ -455,6 +455,7 @@ const tests = {
|
|
455
455
|
...optionsWrapperComponent.tests,
|
456
456
|
...commonComponents.tests,
|
457
457
|
...autoScoredStudentViewSettings.tests,
|
458
|
+
...additionalSettingsAccessibilitySectionComponent.tests,
|
458
459
|
verifyContentsOfSpecifyCorrectAnswerSection: () => {
|
459
460
|
it('In the \'Correct\' accordion, all options with checkboxes should be displayed', () => {
|
460
461
|
utilities.verifyElementCount(singleSelectionPage.optionWrapperSpecifyCorrectAnswerSection(), 4);
|
@@ -79,15 +79,22 @@ const selectors = {
|
|
79
79
|
//Additional settings
|
80
80
|
textContainersAriaLabelInputField: () => cy.get('[class*="ClozeMathstyle__SingleAriaLabelContainer"]'),
|
81
81
|
textContainersAriaLabelInputFieldNumeration: () => cy.get('[class*="ClozeMathstyle__Numeration"]'),
|
82
|
+
equationEditorCategories: (ariaLabel) => {
|
83
|
+
if (ariaLabel) {
|
84
|
+
return cy.get(`cy.get('[class*="EquationEditorCategoriesSelectionstyles"] .icon-button-custom-format[aria-label*="${ariaLabel}"]`).eq(0)
|
85
|
+
} else {
|
86
|
+
return cy.get('[class*="EquationEditorCategoriesSelectionstyles"] .icon-button-custom-format')
|
87
|
+
}
|
88
|
+
},
|
82
89
|
|
83
90
|
//Preview tab
|
84
|
-
responseFieldPreviewTab: () => cy.get('.preview-question-text-wrapper .
|
91
|
+
responseFieldPreviewTab: () => cy.get('.preview-question-text-wrapper .equation-input-without-andornment'),
|
85
92
|
responseFieldWrapperPreviewTab: () => cy.get('.cloze-response-wrapper'),
|
86
93
|
responseFieldNumerationPreviewTab: () => cy.get('.preview-question-text-wrapper .response-input-adornment'),
|
87
94
|
questionContainerPreviewTab: () => cy.get('[class*="ClozeWithTextPreviewstyle__QuestionPreviewWrapper"]'),
|
88
95
|
tickIcon: () => cy.get('.tick-icon-wrapper'),
|
89
|
-
correctAnswersContainerResponse: () => cy.get('.cloze-
|
90
|
-
correctAnswersContainerResponseNumeration: () => cy.get('.cloze-
|
96
|
+
correctAnswersContainerResponse: () => cy.get('.cloze-math-correct-answer-wrapper .question-text-wrapper'),
|
97
|
+
correctAnswersContainerResponseNumeration: () => cy.get('.cloze-math-correct-answer-wrapper .answer-numeration-number-box'),
|
91
98
|
correctAnswersLabel: () => cy.get('.cloze-with-text-correct-answer-label'),
|
92
99
|
correctIncorrectStatusMessageText: () => cy.get('[class*="AnswerLabelText"]'),
|
93
100
|
correctAnswersContainer: () => cy.get('[class*="__AnswerLabelWrapper"]')
|
@@ -201,7 +208,8 @@ const steps = {
|
|
201
208
|
*/
|
202
209
|
addInputToResponseAnswerInputFieldSpecifyCorrectAnswer: (answerFieldIndex, input) => {
|
203
210
|
utilities.getNthElement(textEntryMathPage.responseAccordionAnswerInputField(), answerFieldIndex)
|
204
|
-
.
|
211
|
+
.click();
|
212
|
+
equationEditorFlyout.steps.enterTextInPreviewInputField(`${input}`);
|
205
213
|
equationEditorFlyout.steps.clickOnOkButton();
|
206
214
|
utilities.verifyInnerText(utilities.getNthElement(textEntryMathPage.responseAccordionAnswerInputField(), answerFieldIndex), `${input}`);
|
207
215
|
},
|
@@ -662,8 +670,8 @@ const steps = {
|
|
662
670
|
verifyCorrectAnswerResponsesAriaLabel: (index, correctAnswerAriaLabel) => {
|
663
671
|
textEntryMathPage.correctAnswersContainerResponse()
|
664
672
|
.eq(index)
|
665
|
-
.
|
666
|
-
.should('
|
673
|
+
.find('[role="math"]')
|
674
|
+
.should('have.attr', 'aria-label', correctAnswerAriaLabel);
|
667
675
|
},
|
668
676
|
|
669
677
|
verifyResponseFieldNumerationPreviewTab: () => {
|
@@ -769,7 +777,17 @@ const steps = {
|
|
769
777
|
|
770
778
|
verifyAlternativeAnswerAccordionNotExists: () => {
|
771
779
|
utilities.verifyElementVisibilityState(textEntryMathPage.alternativeAnswerAccordion().contains('Alternative 2'), 'notExist');
|
780
|
+
},
|
781
|
+
|
782
|
+
//Additional settings
|
783
|
+
selectEquationEditorSectionCategories: (categoriesArray) => {
|
784
|
+
categoriesArray.forEach((categoryName) => {
|
785
|
+
textEntryMathPage.equationEditorCategories()
|
786
|
+
.contains(categoryName, { matchCase: false })
|
787
|
+
.click();
|
788
|
+
});
|
772
789
|
}
|
790
|
+
|
773
791
|
}
|
774
792
|
|
775
793
|
const tests = {
|
@@ -11,7 +11,7 @@ const selectors = {
|
|
11
11
|
...dialogBoxBase,
|
12
12
|
|
13
13
|
addBackgroundButton: () => cy.get('[data-ngie-testid="add-background-tab"]'),
|
14
|
-
responseFieldPreviewTab: () => cy.get('.
|
14
|
+
responseFieldPreviewTab: () => cy.get('.cloze-math-background-preview .equation-input-without-andornment'),
|
15
15
|
canvasInPreviewTab: () => cy.get('[class*="PreviewTabstyles__ContentWrapper"] .image-container'),
|
16
16
|
textAreaPreviewTab: () => cy.get('.label-image-with-text-preview [class*="TextBoxContainer"]'),
|
17
17
|
tickIcon: () => cy.get('.tick-icon-wrapper [data-name*="Rectangle"]'),
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { commonComponents, questionInstructionsComponent, scoringSectionBaseEditTab, createQuestionBasePage, additionalSettingsPanel, autoScoredScoringPreviewTab, studentViewSettingsLabelComponent } from "./components";
|
1
|
+
import { commonComponents, questionInstructionsComponent, scoringSectionBaseEditTab, createQuestionBasePage, additionalSettingsPanel, autoScoredScoringPreviewTab, studentViewSettingsLabelComponent, additionalSettingsAccessibilitySectionComponent } from "./components";
|
2
2
|
import { dialogBoxBase } from ".";
|
3
3
|
import utilities from "../support/helpers/utilities";
|
4
4
|
import { supportedFileType } from "../fixtures/uploadResponseFileType";
|
@@ -14,7 +14,7 @@ const selectors = {
|
|
14
14
|
...questionInstructionsComponent,
|
15
15
|
...commonComponents,
|
16
16
|
...dialogBoxBase,
|
17
|
-
|
17
|
+
|
18
18
|
maximumNumberOfFilesInputField: () => cy.get('.input-stepper-textfield'),
|
19
19
|
maximumNumberOfFilesLabel: () => cy.get('.input-stepper-label'),
|
20
20
|
maximumNumberOfFilesIncreaseButton: () => cy.get('[aria-label="Increase count"]'),
|
@@ -544,7 +544,7 @@ const steps = {
|
|
544
544
|
verifyMaximumFileSizePreviewTab: (size) => {
|
545
545
|
utilities.verifyInnerText(uploadResponsePage.maximumFileSize(), `Maximum file size: ${size}`);
|
546
546
|
},
|
547
|
-
|
547
|
+
|
548
548
|
uncheckDisplayPerFileSizeLimitToStudentCheckbox: () => {
|
549
549
|
uploadResponsePage.displayPerFileSizeLimitToStudentCheckbox()
|
550
550
|
.click()
|
@@ -601,6 +601,7 @@ const tests = {
|
|
601
601
|
...scoringSectionBaseEditTab.tests,
|
602
602
|
...autoScoredScoringPreviewTab.tests,
|
603
603
|
...commonComponents.tests,
|
604
|
+
...additionalSettingsAccessibilitySectionComponent.tests,
|
604
605
|
verifyWarningMessageDisappear: () => {
|
605
606
|
it('The error message should disappear if the user clicks anywhere in the upload file content wrapper', () => {
|
606
607
|
uploadResponsePage.inputTypeFile()
|
package/package.json
CHANGED
@@ -1,43 +0,0 @@
|
|
1
|
-
import { fillInTheGapsOverImageDragAndDropPage } from "../../../pages";
|
2
|
-
import abortEarlySetup from "../../../support/helpers/abortEarly";
|
3
|
-
|
4
|
-
describe('Create Item page - Fill in the gaps over image - drag and drop: Additional settings', () => {
|
5
|
-
before(() => {
|
6
|
-
cy.loginAs('admin');
|
7
|
-
});
|
8
|
-
|
9
|
-
describe('Additional Settings accordion', () => {
|
10
|
-
abortEarlySetup();
|
11
|
-
before(() => {
|
12
|
-
cy.log('Navigating to fill in the gaps over image - drag and drop question type');
|
13
|
-
fillInTheGapsOverImageDragAndDropPage.steps.navigateToCreateQuestion('fill in the gaps over image with drag and drop');
|
14
|
-
cy.barsPreLoaderWait();
|
15
|
-
});
|
16
|
-
|
17
|
-
fillInTheGapsOverImageDragAndDropPage.tests.verifyAdditonalSettingsAccordionProperties();
|
18
|
-
});
|
19
|
-
|
20
|
-
describe('Additional settings: Font size contents', () => {
|
21
|
-
abortEarlySetup();
|
22
|
-
before(() => {
|
23
|
-
cy.log('Navigating to Highlight question type');
|
24
|
-
fillInTheGapsOverImageDragAndDropPage.steps.navigateToCreateQuestion('fill in the gaps over image with drag and drop');
|
25
|
-
cy.barsPreLoaderWait();
|
26
|
-
fillInTheGapsOverImageDragAndDropPage.steps.expandAdditonalSettings();
|
27
|
-
});
|
28
|
-
|
29
|
-
fillInTheGapsOverImageDragAndDropPage.tests.verifyFontSizeSectionContents();
|
30
|
-
});
|
31
|
-
|
32
|
-
describe('Additional Settings: Details section', () => {
|
33
|
-
abortEarlySetup();
|
34
|
-
before(() => {
|
35
|
-
cy.log('Navigating to fill in the gaps over image - drag and drop question type');
|
36
|
-
fillInTheGapsOverImageDragAndDropPage.steps.navigateToCreateQuestion('fill in the gaps over image with drag and drop');
|
37
|
-
cy.barsPreLoaderWait();
|
38
|
-
fillInTheGapsOverImageDragAndDropPage.steps.expandAdditonalSettings();
|
39
|
-
});
|
40
|
-
|
41
|
-
fillInTheGapsOverImageDragAndDropPage.tests.verifyDetailsSection();
|
42
|
-
});
|
43
|
-
});
|