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
@@ -119,8 +119,14 @@
|
|
119
119
|
"darkThemeBtnBorder": "rgb(117, 51, 255)",
|
120
120
|
"lightThemeBtnBg": "rgb(82, 0, 255)",
|
121
121
|
"lightThemeBtnBorder": "rgb(94, 110, 255)",
|
122
|
+
"geoGebraCanvasBorder": "rgb(102, 102, 102)",
|
123
|
+
"geoGebraHttpsBg": "rgb(233, 238, 255)",
|
122
124
|
"enabledSwitchBg": "rgb(48, 160, 79)",
|
123
|
-
"
|
125
|
+
"gridCellHoverStateBg": "rgba(186, 201, 255, 0.6)",
|
126
|
+
"gridCellDefaultStateBg": "rgba(186, 201, 255, 0.2)",
|
127
|
+
"gridCellSelectedStateBg": "rgba(107, 139, 255, 0.7)",
|
128
|
+
"gridCellCorrectAnswerBg": "rgba(43, 120, 74, 0.4)",
|
129
|
+
"gridCellIncorrectAnswerBg": "rgba(209, 51, 51, 0.4)"
|
124
130
|
},
|
125
131
|
"fontSize": {
|
126
132
|
"extraSmall": "10px",
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import utilities from "../support/helpers/utilities";
|
2
|
-
import { createQuestionBasePage, questionInstructionsComponent, scoringSectionBaseEditTab, maximumRecorderLengthComponent, commonComponents, playbackControlsBaseComponent, autoScoredScoringPreviewTab, studentViewSettingsLabelComponent, additionalSettingsPanel } from "./components"
|
2
|
+
import { createQuestionBasePage, questionInstructionsComponent, scoringSectionBaseEditTab, maximumRecorderLengthComponent, commonComponents, playbackControlsBaseComponent, autoScoredScoringPreviewTab, studentViewSettingsLabelComponent, additionalSettingsPanel, additionalSettingsAccessibilitySectionComponent } from "./components"
|
3
3
|
import { dialogBoxBase } from "./dialogBoxBase";
|
4
4
|
const css = Cypress.env('css');
|
5
5
|
|
@@ -11,6 +11,7 @@ const selectors = {
|
|
11
11
|
...maximumRecorderLengthComponent,
|
12
12
|
...playbackControlsBaseComponent,
|
13
13
|
...studentViewSettingsLabelComponent,
|
14
|
+
...additionalSettingsPanel,
|
14
15
|
recordedResponseHelpText: () => cy.get('[class*="preview-help-text"]'),
|
15
16
|
playbackWaveform: () => cy.get('.audio-wave-form'),
|
16
17
|
playbackWaveformTotalWidth: () => cy.get('.audio-wave-form wave wave canvas'),
|
@@ -107,7 +108,11 @@ const selectors = {
|
|
107
108
|
showStudentsTheRetakeLimitsOnTooltipCheckboxLabel: () => cy.get('[data-ngie-testid="show-students-the-retake-limits-on-tooltip-checkbox"] .MuiFormControlLabel-label'),
|
108
109
|
retakeLimitLabel: () => cy.get('.retake-limit-label'),
|
109
110
|
retakeLimitInputField: () => cy.get('.retake-limit-wrapper input'),
|
110
|
-
barPreviewPlaybackWrapper: () => cy.get('.audio-response-wrapper')
|
111
|
+
barPreviewPlaybackWrapper: () => cy.get('.audio-response-wrapper'),
|
112
|
+
|
113
|
+
//Additional settings
|
114
|
+
allowTeachersToDownloadStudentResponseLabel: () => cy.get('[data-ngie-testid="allow-teachers-to-download-student-response-checkbox"] [class*="label"]'),
|
115
|
+
allowTeachersToDownloadStudentResponseCheckbox: () => cy.get('[data-ngie-testid="allow-teachers-to-download-student-response-checkbox"] input')
|
111
116
|
}
|
112
117
|
|
113
118
|
const steps = {
|
@@ -835,6 +840,23 @@ const steps = {
|
|
835
840
|
clearRetakeLimitInputField: () => {
|
836
841
|
audioResponsePage.retakeLimitInputField()
|
837
842
|
.clear();
|
843
|
+
},
|
844
|
+
|
845
|
+
verifyAllowTeachersToDownloadStudentResponseCheckboxChecked: () => {
|
846
|
+
audioResponsePage.allowTeachersToDownloadStudentResponseCheckbox()
|
847
|
+
.should('be.checked');
|
848
|
+
},
|
849
|
+
|
850
|
+
uncheckAllowTeachersToDownloadStudentResponseCheckbox: () => {
|
851
|
+
audioResponsePage.allowTeachersToDownloadStudentResponseCheckbox()
|
852
|
+
.click()
|
853
|
+
.should('not.be.checked');
|
854
|
+
},
|
855
|
+
|
856
|
+
checkAllowTeachersToDownloadStudentResponseCheckbox: () => {
|
857
|
+
audioResponsePage.allowTeachersToDownloadStudentResponseCheckbox()
|
858
|
+
.click()
|
859
|
+
.should('be.checked');
|
838
860
|
}
|
839
861
|
}
|
840
862
|
|
@@ -846,6 +868,8 @@ const tests = {
|
|
846
868
|
...playbackControlsBaseComponent.tests,
|
847
869
|
...autoScoredScoringPreviewTab.tests,
|
848
870
|
...studentViewSettingsLabelComponent.tests,
|
871
|
+
...additionalSettingsPanel.tests,
|
872
|
+
...additionalSettingsAccessibilitySectionComponent.tests,
|
849
873
|
verifyRetakePopupCSSAndA11y: () => {
|
850
874
|
it('CSS of \'Retake\' popup', { tags: 'css' }, () => {
|
851
875
|
utilities.verifyCSS(dialogBoxBase.dialogBox(), {
|
@@ -30,7 +30,6 @@ const selectors = {
|
|
30
30
|
}
|
31
31
|
|
32
32
|
const steps = {
|
33
|
-
//Enhancement: Remove this step, (this has incorrect spelling)
|
34
33
|
expandAdditionalSettings: () => {
|
35
34
|
additionalSettingsPanel.additionalSettingsPanel()
|
36
35
|
.click()
|
@@ -65,12 +64,6 @@ const steps = {
|
|
65
64
|
.blur();
|
66
65
|
},
|
67
66
|
|
68
|
-
expandAdditionalSettings: () => {
|
69
|
-
additionalSettingsPanel.additionalSettingsPanel()
|
70
|
-
.click()
|
71
|
-
.should('have.attr', 'aria-expanded', 'true');
|
72
|
-
},
|
73
|
-
|
74
67
|
expandFontSizeDropdown: () => {
|
75
68
|
additionalSettingsPanel.fontSizeDropdown()
|
76
69
|
.click();
|
@@ -95,7 +88,7 @@ const tests = {
|
|
95
88
|
utilities.verifyTextContent(additionalSettingsPanel.additionalSettingsSampleAnswerInputField(), 'Sample answer');
|
96
89
|
});
|
97
90
|
|
98
|
-
it('\'Acknowledgements & reference\' label and input field should be displayed and user should be able to enter \'Acknowledgements\'', () => {
|
91
|
+
it('\'Acknowledgements & reference\' label and input field should be displayed and user should be able to enter \'Acknowledgements & reference\'', () => {
|
99
92
|
utilities.verifyInnerText(additionalSettingsPanel.additionalSettingsAcknowledgementsLabel(), 'Acknowledgements and references');
|
100
93
|
additionalSettingsPanel.steps.enterTextInAcknowledgementsInputField('Acknowledgements');
|
101
94
|
utilities.verifyTextContent(additionalSettingsPanel.additionalSettingsAcknowledgementsInputField(), 'Acknowledgements');
|
@@ -186,13 +179,13 @@ const tests = {
|
|
186
179
|
|
187
180
|
it('CSS of Font size dropdown - active state', { tags: 'css' }, () => {
|
188
181
|
additionalSettingsPanel.steps.expandFontSizeDropdown();
|
189
|
-
utilities.verifyCSS(additionalSettingsPanel.fontSizeListOptions(
|
182
|
+
utilities.verifyCSS(utilities.getNthElement(additionalSettingsPanel.fontSizeListOptions(), 2), {
|
190
183
|
'color': css.color.liText,
|
191
184
|
'font-size': css.fontSize.default,
|
192
185
|
'font-weight': css.fontWeight.regular,
|
193
186
|
'background-color': css.color.liTextSelectedBg
|
194
187
|
});
|
195
|
-
utilities.verifyCSS(additionalSettingsPanel.fontSizeListOptions(
|
188
|
+
utilities.verifyCSS(utilities.getNthElement(additionalSettingsPanel.fontSizeListOptions(), 1), {
|
196
189
|
'background-color': css.color.transparent
|
197
190
|
});
|
198
191
|
cy.log('Post step: Closing the Font size dropdown')
|
@@ -0,0 +1,84 @@
|
|
1
|
+
import utilities from "../../support/helpers/utilities";
|
2
|
+
const css = Cypress.env('css');
|
3
|
+
|
4
|
+
const selectors = {
|
5
|
+
ariaLabelInputField: () => cy.get('input[aria-label*="Enter ARIA label"]'),
|
6
|
+
inputFieldNumeration: () => cy.get('.MuiInputAdornment-root'),
|
7
|
+
ariaLabelSectionLabel: () => cy.get('[class*="AriaLabelTextFieldsstyles__LabelWrapper"]'),
|
8
|
+
}
|
9
|
+
|
10
|
+
const steps = {
|
11
|
+
/**
|
12
|
+
* Verifies the ARIA label text input fields.
|
13
|
+
* @param {number} inputFieldIndex - The index of the input field to verify.
|
14
|
+
*/
|
15
|
+
verifyAriaLabelTextInputFields: (inputFieldIndex) => {
|
16
|
+
ariaLabelSectionComponent.ariaLabelInputField()
|
17
|
+
.eq(inputFieldIndex)
|
18
|
+
.parents('.input-editable')
|
19
|
+
.within(() => {
|
20
|
+
utilities.verifyInnerText(ariaLabelSectionComponent.inputFieldNumeration(), `${inputFieldIndex + 1}`)
|
21
|
+
utilities.verifyInputFieldValue(ariaLabelSectionComponent.ariaLabelInputField(), '');
|
22
|
+
});
|
23
|
+
},
|
24
|
+
|
25
|
+
/**
|
26
|
+
* Enters text in the ARIA label input field.
|
27
|
+
* @param {number} inputFieldIndex - The index of the input field to enter text into.
|
28
|
+
* @param {string} text - The text to enter into the input field.
|
29
|
+
*/
|
30
|
+
enterTextInAriaLabelInputField: (inputFieldIndex, text) => {
|
31
|
+
ariaLabelSectionComponent.ariaLabelInputField()
|
32
|
+
.eq(inputFieldIndex)
|
33
|
+
.type(text)
|
34
|
+
.should('have.value', text)
|
35
|
+
},
|
36
|
+
|
37
|
+
/**
|
38
|
+
* Clears text in the ARIA label input field.
|
39
|
+
* @param {number} inputFieldIndex - The index of the input field to clear.
|
40
|
+
*/
|
41
|
+
clearTextInAriaLabelInputField: (inputFieldIndex) => {
|
42
|
+
ariaLabelSectionComponent.ariaLabelInputField()
|
43
|
+
.eq(inputFieldIndex)
|
44
|
+
.clear();
|
45
|
+
}
|
46
|
+
}
|
47
|
+
|
48
|
+
const tests = {
|
49
|
+
/**
|
50
|
+
* Verifies the contents of the ARIA label section.
|
51
|
+
* @param {string} typeOfInput - The type of input for which ARIA labels are being verified. (eg. text containers, dropdown)
|
52
|
+
*/
|
53
|
+
verifyAriaLabelSectionContents: (typeOfInput) => {
|
54
|
+
it(`"ARIA label for ${typeOfInput}" label should be displayed`, () => {
|
55
|
+
utilities.verifyInnerText(ariaLabelSectionComponent.ariaLabelSectionLabel(), `ARIA label for ${typeOfInput}`);
|
56
|
+
utilities.verifyElementVisibilityState(ariaLabelSectionComponent.ariaLabelSectionLabel(), 'visible');
|
57
|
+
});
|
58
|
+
|
59
|
+
it('Two input fields with numeration and "Enter aria label" placeholder should be displayed by default', () => {
|
60
|
+
utilities.verifyElementCount(ariaLabelSectionComponent.ariaLabelInputField(), 2);
|
61
|
+
ariaLabelSectionComponent.steps.verifyAriaLabelTextInputFields(0);
|
62
|
+
ariaLabelSectionComponent.steps.verifyAriaLabelTextInputFields(1);
|
63
|
+
});
|
64
|
+
|
65
|
+
it(`CSS of "ARIA label for ${typeOfInput}" section`, { tags: 'css' }, () => {
|
66
|
+
utilities.verifyCSS(ariaLabelSectionComponent.ariaLabelSectionLabel(), {
|
67
|
+
'color': css.color.labels,
|
68
|
+
'font-size': css.fontSize.normal,
|
69
|
+
'font-weight': css.fontWeight.semibold
|
70
|
+
});
|
71
|
+
utilities.verifyCSS(ariaLabelSectionComponent.ariaLabelInputField(), {
|
72
|
+
'color': css.color.text,
|
73
|
+
'font-size': css.fontSize.default,
|
74
|
+
'font-weight': css.fontWeight.regular
|
75
|
+
});
|
76
|
+
});
|
77
|
+
}
|
78
|
+
}
|
79
|
+
|
80
|
+
export const ariaLabelSectionComponent = {
|
81
|
+
...selectors,
|
82
|
+
steps,
|
83
|
+
tests
|
84
|
+
}
|
@@ -33,7 +33,7 @@ const steps = {
|
|
33
33
|
*/
|
34
34
|
addAlternativeAnswerAccordion: (accordionIndex) => {
|
35
35
|
autoScoredSpecifyCorrectAnswerSection.steps.clickOnAddAlternativeAnswerButton();
|
36
|
-
utilities.verifyInnerText(autoScoredSpecifyCorrectAnswerSection.alternativeAnswerAccordionLabel(), `Alternative ${accordionIndex}`);
|
36
|
+
utilities.verifyInnerText(utilities.getNthElement(autoScoredSpecifyCorrectAnswerSection.alternativeAnswerAccordionLabel(), `${accordionIndex-1}`), `Alternative ${accordionIndex}`);
|
37
37
|
},
|
38
38
|
|
39
39
|
verifySpecifyCorrectAnswerErrorIconNotExists: () => {
|
@@ -204,6 +204,9 @@ const tests = {
|
|
204
204
|
case 'graphing':
|
205
205
|
helpText = 'You can set the correct answer by entering the correct answer(s) in the response area(s)';
|
206
206
|
break;
|
207
|
+
case 'grid fill' :
|
208
|
+
helpText = 'You can set the correct answer by selecting the correct cell(s) in the grid.';
|
209
|
+
break;
|
207
210
|
default:
|
208
211
|
throw new Error('Invalid question type');
|
209
212
|
}
|
@@ -219,7 +222,7 @@ const tests = {
|
|
219
222
|
utilities.verifyCSS(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerHelpText(), {
|
220
223
|
'color': css.color.helperText,
|
221
224
|
'font-size': css.fontSize.normal,
|
222
|
-
'font-weight': css.fontWeight.
|
225
|
+
'font-weight': css.fontWeight.regular
|
223
226
|
});
|
224
227
|
utilities.verifyCSS(autoScoredSpecifyCorrectAnswerSection.correctAnswerAccordionLabel(), {
|
225
228
|
'color': css.color.activeButtons,
|
@@ -390,11 +390,11 @@ const steps = {
|
|
390
390
|
utilities.verifyElementCount(createCustomCategoryFlyout.categoryCharacters(), symbolARIALabelArray.length);
|
391
391
|
});
|
392
392
|
},
|
393
|
-
|
393
|
+
|
394
394
|
createCustomCategoryWithNameAndIcon: () => {
|
395
395
|
cy.log('Creating a category by selecting \'Arrows\' category')
|
396
396
|
createCustomCategoryFlyout.steps.openCreateCustomCategoryFlyout();
|
397
|
-
createCustomCategoryFlyout.steps.checkCategoryAccordionCheckbox(`${equationEditorCategoriesAndSymbols['
|
397
|
+
createCustomCategoryFlyout.steps.checkCategoryAccordionCheckbox(`${equationEditorCategoriesAndSymbols['geo'].displayName}`);
|
398
398
|
createCustomCategoryFlyout.steps.addInputToCustomCategoryNameInputField('Custom category with name and icon.');
|
399
399
|
createCustomCategoryFlyout.steps.addInputToCategoryIconInputField('#');
|
400
400
|
createCustomCategoryFlyout.steps.saveCustomCategory();
|
@@ -110,7 +110,7 @@ const tests = {
|
|
110
110
|
});
|
111
111
|
|
112
112
|
it('\'Save\' button should be displayed', () => {
|
113
|
-
let exceptionQuestions = ['
|
113
|
+
let exceptionQuestions = ['Scientific calculator', 'Desmos graphing calculator', 'Desmos four-function calculator', 'Desmos geometry tool', 'Desmos matrix calculator', 'Passage', 'Reading ruler', 'Audio player', 'Ruler', 'Protractor', 'GeoGebra graphing calculator', 'GeoGebra scientific calculator', 'GeoGebra 3D graphing calculator', 'GeoGebra geometry calculator', 'GeoGebra CAS calculator', 'GeoGebra probability calculator']
|
114
114
|
if (exceptionQuestions.includes(questionType)) {
|
115
115
|
utilities.verifyInnerText(createQuestionBasePage.saveQuestionButton(), 'Save');
|
116
116
|
}
|
@@ -17,7 +17,7 @@ const selectors = {
|
|
17
17
|
groupedOptionsContainerPreviewTab: () => cy.get('[class*="question-preview-wrapper"] [class*="GroupDiv"]'),
|
18
18
|
groupedOptionsTitlePreviewTab: () => cy.get('[class*="question-preview-wrapper"] [class*="GroupTitleWrapper"]'),
|
19
19
|
groupedOptionsGridPreviewTab: () => cy.get('[class*="question-preview-wrapper"] [class*="DraggableGroupsGrid"]'),
|
20
|
-
draggableOptionText: () => cy.get('.icon-container-wrapper [class*="DraggableItemsstyle__QuestionTextWrapper"]'),
|
20
|
+
draggableOptionText: () => cy.get('.icon-container-wrapper [class*="DraggableItemsstyle__QuestionTextWrapper"]:visible'),
|
21
21
|
optionContainerItemListPreviewTab: () => cy.get('[class*="question-preview-wrapper"] .item-list'),
|
22
22
|
optionContainerItemListSpecifyCorrectAnswerSection: () => cy.get('.item-list'),
|
23
23
|
draggableOptionDragIcon: () => cy.get('.drag-icon-button')
|
@@ -25,7 +25,7 @@ const selectors = {
|
|
25
25
|
const steps = {
|
26
26
|
openEditCategoryFlyout: () => {
|
27
27
|
essayResponsePage.equationEditorSectionCategories()
|
28
|
-
.contains(`${equationEditorCategoriesAndSymbols['
|
28
|
+
.contains(`${equationEditorCategoriesAndSymbols['general'].displayName}`)
|
29
29
|
.parents('[id*="DraggableItem"]')
|
30
30
|
.within(() => {
|
31
31
|
essayResponsePage.equationEditorSectionCategoriesEditIcon()
|
@@ -70,12 +70,9 @@ const steps = {
|
|
70
70
|
.should('have.class', 'Mui-selected');
|
71
71
|
},
|
72
72
|
|
73
|
-
|
74
|
-
editCategoryFlyout.categoryCharacters()
|
75
|
-
.
|
76
|
-
cy.wrap($el)
|
77
|
-
.click();
|
78
|
-
});
|
73
|
+
deselectCategoryCharacters: (characterAriaLabel) => {
|
74
|
+
editCategoryFlyout.categoryCharacters(characterAriaLabel)
|
75
|
+
.click();
|
79
76
|
},
|
80
77
|
|
81
78
|
/**
|
@@ -185,9 +182,11 @@ const steps = {
|
|
185
182
|
editCategoryFlyout.characterTickIcon()
|
186
183
|
.should('not.have.attr', 'aria-checked', 'false');
|
187
184
|
})
|
188
|
-
|
189
|
-
.
|
190
|
-
|
185
|
+
if (symbolsArray[index].title) {
|
186
|
+
cy.wrap($el)
|
187
|
+
.find('title')
|
188
|
+
.should('have.text', symbolsArray[index].title);
|
189
|
+
}
|
191
190
|
if (symbolsArray[index].textElement) {
|
192
191
|
cy.wrap($el)
|
193
192
|
.verifyInnerText(symbolsArray[index].textElement)
|
@@ -7,7 +7,7 @@ const css = Cypress.env('css');
|
|
7
7
|
const selectors = {
|
8
8
|
...dialogBoxBase,
|
9
9
|
buttonOk: () => cy.get('.ok-btn'),
|
10
|
-
previewInputField: () => cy.get('.mq-editable-field'),
|
10
|
+
previewInputField: () => cy.get('.next-gen-equation-editor .mq-editable-field'),
|
11
11
|
categoryTab: (categoryName = null) => {
|
12
12
|
if (categoryName) {
|
13
13
|
return cy.get('.tool-wrapper').contains(categoryName)
|
@@ -29,7 +29,7 @@ const selectors = {
|
|
29
29
|
buttonNext: () => cy.get('.next-btn'),
|
30
30
|
buttonPrevious: () => cy.get('.previous-btn'),
|
31
31
|
inputFieldCursor: () => cy.get('.mq-hasCursor'),
|
32
|
-
inputFieldFirstEmptyBox: () => cy.get('.mq-empty').eq(0),
|
32
|
+
inputFieldFirstEmptyBox: () => cy.get('.next-gen-equation-editor .mq-empty').eq(0),
|
33
33
|
categoryTooltip: () => cy.get('.__react_component_tooltip'),
|
34
34
|
dialogBoxTitle: () => cy.get('#alert-dialog-title')
|
35
35
|
}
|
@@ -94,7 +94,8 @@ const steps = {
|
|
94
94
|
equationEditorFlyout.categoryCharacters()
|
95
95
|
.each(($el, index) => {
|
96
96
|
cy.wrap($el)
|
97
|
-
.should('have.attr', 'aria-label'
|
97
|
+
.should('have.attr', 'aria-label')
|
98
|
+
.and('include', symbolsArray[index].ariaLabel)
|
98
99
|
utilities.verifyTextContent(cy.wrap($el).find('title'), `${symbolsArray[index].title}`);
|
99
100
|
if (symbolsArray[index].textElement !== null) {
|
100
101
|
utilities.verifyTextContent(cy.wrap($el), `${symbolsArray[index].textElement}`);
|
@@ -174,6 +175,7 @@ const steps = {
|
|
174
175
|
equationEditorFlyout.previewInputField()
|
175
176
|
.verifyInnerText('')
|
176
177
|
.should('be.visible')
|
178
|
+
.click()
|
177
179
|
.and('have.class', 'mq-focused');
|
178
180
|
},
|
179
181
|
|
@@ -205,7 +207,7 @@ const steps = {
|
|
205
207
|
* @param {string[]} categoryName Name of category
|
206
208
|
*/
|
207
209
|
verifyCategoryIsDisplayedInEquationEditor: (categoryName) => {
|
208
|
-
utilities.verifyElementVisibilityState(equationEditorFlyout.categoryTab().contains(categoryName, { matchCase: false }), '
|
210
|
+
utilities.verifyElementVisibilityState(equationEditorFlyout.categoryTab().contains(categoryName, { matchCase: false }), 'exist');
|
209
211
|
},
|
210
212
|
|
211
213
|
verifyCategoryTileSelectedInEquationEditor: (categoryName) => {
|
@@ -227,7 +229,7 @@ const steps = {
|
|
227
229
|
equationEditorFlyout.buttonPrevious()
|
228
230
|
.click();
|
229
231
|
},
|
230
|
-
|
232
|
+
|
231
233
|
addGenericEquationUsingEquationEditorToCKEditorInputField: () => {
|
232
234
|
equationEditorFlyout.categoryTab(equationEditorCategoriesAndSymbols['basic'].displayName)
|
233
235
|
.click();
|
@@ -327,15 +329,20 @@ const steps = {
|
|
327
329
|
.click();
|
328
330
|
},
|
329
331
|
|
330
|
-
|
331
332
|
enterQuadraticEquation: () => {
|
332
|
-
equationEditorFlyout.steps.
|
333
|
+
equationEditorFlyout.steps.clearAll();
|
334
|
+
equationEditorFlyout.steps.enterEquation([{ categoryName: 'numPad', symbolName: ['two'] }, { categoryName: 'intermediate', symbolName: ['x', 'square', 'y', 'square'] }, { categoryName: 'numPad', symbolName: ['add', 'four'] }, { categoryName: 'intermediate', symbolName: ['x', 'y'] }, { categoryName: 'numPad', symbolName: ['add', 'four'] }]);
|
333
335
|
equationEditorFlyout.steps.clickOnOkButton();
|
334
336
|
},
|
335
337
|
|
336
338
|
enterEquationUsingPiSymbol: () => {
|
337
|
-
equationEditorFlyout.steps.
|
339
|
+
equationEditorFlyout.steps.clearAll();
|
340
|
+
equationEditorFlyout.steps.enterEquation([{ categoryName: 'numPad', symbolName: ['six', 'multiply'] }, { categoryName: 'intermediate', symbolName: ['pi'] }]);
|
338
341
|
equationEditorFlyout.steps.clickOnOkButton();
|
342
|
+
},
|
343
|
+
|
344
|
+
clearAll: () => {
|
345
|
+
equationEditorFlyout.steps.enterEquation([{ categoryName: 'numPad', symbolName: ['clearAll'] }])
|
339
346
|
}
|
340
347
|
}
|
341
348
|
|
@@ -396,9 +403,11 @@ const tests = {
|
|
396
403
|
.then((ariaLabel) => {
|
397
404
|
const expectedValue = symbolsArray[index].ariaLabel;
|
398
405
|
expect(ariaLabel.trim().toLowerCase()).to.include(expectedValue.toLowerCase());
|
399
|
-
|
400
|
-
.
|
401
|
-
|
406
|
+
if (symbolsArray[index].title) {
|
407
|
+
cy.wrap($el)
|
408
|
+
.find('title')
|
409
|
+
.should('have.text', symbolsArray[index].title);
|
410
|
+
}
|
402
411
|
if (symbolsArray[index].textElement) {
|
403
412
|
cy.wrap($el)
|
404
413
|
.verifyInnerText(symbolsArray[index].textElement)
|