itemengine-cypress-automation 1.0.240-textentrychangesreverted-28d08d1.0 → 1.0.241-28thAugustRepoUpdate-dc7df0c.0
Sign up to get free protection for your applications and to get access to all the features.
- package/cypress/e2e/ILC/BrainingCampManipulative/editTabBasicSection.js +2 -2
- package/cypress/e2e/ILC/ChartsBar/headerSection.js +22 -5
- package/cypress/e2e/ILC/ChartsLine/headerSection.js +23 -5
- package/cypress/e2e/ILC/ContentBlocks/editTabBasics.js +3 -4
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/clickAndDrop.js +2 -4
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/draggableOptions.js +3 -4
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/headerSection.js +4 -6
- package/cypress/e2e/ILC/EssayResponse/equationEditor.smoke.js +1 -3
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/allOrNothingWithCorrectPointsEqualToAlternativePoints.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/clickAndDrop.js +2 -4
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/draggableOptions.js +3 -4
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/editTabBasicSection.js +2 -2
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/headerSection.js +4 -5
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/dropdownOptionsSection.js +2 -2
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editTabBasicSection.js +2 -2
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/headerSection.js +3 -5
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/specifyCorrectAnswerSection.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/additionalSettings.js +172 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/clickAndDrop.js +3 -5
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/draggableOptions.js +0 -1
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/headerSection.js +3 -8
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/manuallyAndNonScored.js +6 -6
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/additionalSettingsBasic.js +2 -2
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/dropdownOptionsSection.js +2 -2
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editTabBasicSection.js +3 -1
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/headerSection.js +2 -8
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/supportedFileTypes.js +2 -3
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/HeaderSection.js +3 -5
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/backgroundImageAndCanvasProperties.js +2 -2
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/specifyCorrectAnswerSection.js +3 -3
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/styleAndLayoutCustomization.js +16 -16
- package/cypress/e2e/ILC/FillInTheGapsTextNew/editTabBasicSection.js +3 -2
- package/cypress/e2e/ILC/FillInTheGapsTextNew/headerSection.js +3 -3
- package/cypress/e2e/ILC/FillInTheGapsTextNew/specifyCorrectAnswerSection.js +3 -3
- package/cypress/e2e/ILC/Graphing/headerSection.js +2 -3
- package/cypress/e2e/ILC/GridFill/headerSection.js +2 -4
- package/cypress/e2e/ILC/GridFill/specifyCorrectAnswerSection.js +6 -3
- package/cypress/e2e/ILC/ImageHighlight/headerSection.js +2 -4
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +2 -2
- package/cypress/e2e/ILC/ListOrderingDropdown/minimumScoringPenaltyPointsAndRoundingDropdown.js +1 -1
- package/cypress/e2e/ILC/ListOrderingDropdown/specifyCorrectAnswerSection.js +6 -8
- package/cypress/e2e/ILC/ListOrderingNew/headerSection.js +2 -8
- package/cypress/e2e/ILC/ListOrderingNew/optionsOrientationSection.js +150 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/HorizontalOrientation/horizontalOrientationAllOrNothingForAllViews.smoke.js +218 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/HorizontalOrientation/previewContentsForAllViews.smoke.js +176 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +170 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +170 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +230 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingPenaltyScoring.js +64 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/manuallyAndNonScored.js +110 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/allOrNothingForAllViews.smoke.js +249 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/previewContentsForAllViews.smoke.js +172 -0
- package/cypress/e2e/ILC/Matching/clickAndDrop.js +6 -10
- package/cypress/e2e/ILC/Matching/headerSection.js +2 -10
- package/cypress/e2e/ILC/Matching/matchingConnector.js +128 -0
- package/cypress/e2e/ILC/Matching/minimumScoringPenaltyPointsAndRoundingDropdown.js +2 -2
- package/cypress/e2e/ILC/Matching/questionInstructionsAndPromptSection.js +2 -15
- package/cypress/e2e/ILC/MatchingDropdown/editTabBasicSection.js +154 -0
- package/cypress/e2e/ILC/MultipleSelection/headerSection.js +4 -6
- package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +4 -4
- package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -1
- package/cypress/e2e/ILC/MultipleSelectionGridNew/headerSection.js +3 -9
- package/cypress/e2e/ILC/NumberLine/headerSection.js +2 -3
- package/cypress/e2e/ILC/NumberLineLabel/headerSection.js +4 -4
- package/cypress/e2e/ILC/ShortTextResponseNew/headerSection.js +2 -4
- package/cypress/e2e/ILC/SingleSelection/headerSection.js +2 -5
- package/cypress/e2e/ILC/SingleSelectionGridNew/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +2 -2
- package/cypress/e2e/ILC/SingleSelectionGridNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +2 -2
- package/cypress/e2e/ILC/SingleSelectionGridNew/headerSection.js +2 -9
- package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +210 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +210 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +258 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +246 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +203 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +245 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsScoringBasic.js +541 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +243 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +203 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +242 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasic.js +195 -0
- package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViews.smoke.js +6 -0
- package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +8 -1
- package/cypress/e2e/ILC/TextEntryMath/editTabScoringSection.js +12 -0
- package/cypress/e2e/ILC/TextEntryMath/evaluationMethodEquivalentStructures.js +10 -0
- package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchExact.js +2 -0
- package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchValue.js +2 -0
- package/cypress/e2e/ILC/TextEntryMath/evaluationMethodSymbolsAreEquivalent.js +2 -0
- package/cypress/e2e/ILC/TextEntryMath/evaluationMethodValueIsEquivalent.js +2 -0
- package/cypress/e2e/ILC/TextEntryMath/evaluationMethodsWithoutSetResponse.js +4 -0
- package/cypress/e2e/ILC/TextEntryMath/minimumScoringPenaltyPointsAndRoundingDropdown.js +6 -0
- package/cypress/e2e/ILC/TextEntryMath/previewContentsForAllViews.smoke.js +2 -0
- package/cypress/e2e/ILC/TextEntryMathWithImage/allOrNothingScoringForAllViews.smoke.js +6 -0
- package/cypress/e2e/ILC/TextEntryMathWithImage/backgroundImageAndCanvasProperties.js +2 -0
- package/cypress/e2e/ILC/TextEntryMathWithImage/previewTabContentsForAllViews.smoke.js +2 -0
- package/cypress/e2e/ILC/TextSelection/Scoring/singleSelectionPreviewScoring.js +247 -0
- package/cypress/e2e/ILC/TextSelection/headerSection.js +4 -5
- package/cypress/e2e/ILC/TextSelection/questionInstructionsAndQuestion.js +1 -2
- package/cypress/e2e/ILC/TextSelection/singleMultipleSelection.js +100 -0
- package/cypress/e2e/ILC/TextSelection/styleAndLayoutCustomizationAccordionOutline.js +248 -0
- package/cypress/e2e/ILC/TextSelection/styleAndLayoutCustomizationAccordionStrikethrough.js +247 -0
- package/cypress/e2e/ILC/TextSelection/styleAndLayoutCustomizationAccordionUnderline.js +239 -0
- package/cypress/e2e/ILC/TextSelection/textSelectionStyle.js +150 -0
- package/cypress/e2e/ILC/ToolAudioPlayerNew/headerSection.js +3 -2
- package/cypress/e2e/ILC/UploadResponse/editTabBasicSection.js +2 -3
- package/cypress/e2e/ILC/chartsDotsPlot/allOrNothingForAllViews.smoke.js +1 -1
- package/cypress/e2e/ILC/chartsDotsPlot/headerSection.js +21 -5
- package/cypress/pages/components/autoScoredScoringPreviewTab.js +1 -0
- package/cypress/pages/components/autoScoredSetCorrectAnswerSection.js +0 -11
- package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +11 -29
- package/cypress/pages/components/draggableOptionsStyleAndLayoutComponent.js +1 -1
- package/cypress/pages/components/figCommonStyleAndLayoutComponent.js +1 -1
- package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +2 -3
- package/cypress/pages/components/fillInTheGapsTextCommonComponent.js +2 -2
- package/cypress/pages/components/optionsWrapperComponent.js +2 -2
- package/cypress/pages/components/playbackControlsBaseComponent.js +2 -2
- package/cypress/pages/components/questionInputFieldComponent.js +1 -0
- package/cypress/pages/components/scoringSectionBaseEditTab.js +3 -2
- package/cypress/pages/components/singleMultipleSelectionModeComponent.js +1 -1
- package/cypress/pages/createItemPage.js +1 -1
- package/cypress/pages/dialogBoxBase.js +21 -9
- package/cypress/pages/dragAndDropIntoCategoriesPage.js +4 -5
- package/cypress/pages/fillInTheGapsOverImageDragAndDropPage.js +83 -5
- package/cypress/pages/graphingPage.js +4 -7
- package/cypress/pages/gridFillPage.js +15 -16
- package/cypress/pages/listOrderingPage.js +373 -2
- package/cypress/pages/matchingPage.js +89 -33
- package/cypress/pages/multipleSelectionGridPage.js +11 -13
- package/cypress/pages/multipleSelectionPage.js +4 -5
- package/cypress/pages/numberLinePage.js +2 -13
- package/cypress/pages/shortTextResponsePage.js +2 -3
- package/cypress/pages/textEntryMathPage.js +28 -0
- package/cypress/pages/textSelectionPage.js +242 -3
- package/cypress/pages/videoResponsePage.js +0 -2
- package/package.json +1 -1
- /package/cypress/e2e/ILC/TextSelection/{styleAndLayoutCustomizationAccordion.js → styleAndLayoutCustomizationAccordionFilledIn.js} +0 -0
@@ -146,14 +146,13 @@ const steps = {
|
|
146
146
|
utilities.verifyElementVisibilityState(autoScoredScoringPreviewTab.incorrectIcon(), 'notExist');
|
147
147
|
});
|
148
148
|
},
|
149
|
-
|
150
149
|
/**
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
150
|
+
* Verify placeholder text in the input field of a table cell property.
|
151
|
+
* @param {Object} position - The position of the table cell property.
|
152
|
+
* @param {number} position.row - The row index (zero-based) of the table cell property.
|
153
|
+
* @param {number} position.column - The column index (zero-based) of the table cell property.
|
154
|
+
* @param {string} text - The placeholder text to verify in the input field.
|
155
|
+
*/
|
157
156
|
verifyPlaceholderTextInCellPropertyInputField: ({ row, column }, text) => {
|
158
157
|
utilities.getNthElement(gridQuestionCommonComponent.editCellPropertyRow(), row).within(() => {
|
159
158
|
utilities.getNthElement(gridQuestionCommonComponent.tableCell(), column).within(() => {
|
@@ -161,7 +160,7 @@ const steps = {
|
|
161
160
|
.should('have.attr', 'placeholder', text);
|
162
161
|
});
|
163
162
|
});
|
164
|
-
}
|
163
|
+
},
|
165
164
|
}
|
166
165
|
|
167
166
|
const tests = {
|
@@ -190,19 +189,18 @@ const tests = {
|
|
190
189
|
gridQuestionCommonComponent.steps.setAnswerInSpecifyCorrectAnswerSection({ row: 1, column: 0 });
|
191
190
|
});
|
192
191
|
|
193
|
-
it(`When the user has unchecked all the options in the ${accordionName} accordion, \'Error: Please set a correct answer.\' error message should be thrown along with an error icon on the \'${accordionName}\' accordion`, () => {
|
192
|
+
it(`When the user has unchecked all the options in the ${accordionName} accordion, \'Error: Please set a correct answer.\' error message should not be thrown along with an error icon on the \'${accordionName}\' accordion`, () => {
|
194
193
|
gridQuestionCommonComponent.steps.uncheckOptionInSpecifyCorrectAnswerSection({ row: 1, column: 0 });
|
195
|
-
utilities.verifyElementVisibilityState(commonComponents.errorMessage(), '
|
196
|
-
utilities.verifyInnerText(commonComponents.errorMessage(), 'Error: Please set a correct answer.');
|
194
|
+
utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'notExist')
|
197
195
|
if (accordionName == 'Correct') {
|
198
196
|
autoScoredSpecifyCorrectAnswerSection.correctAnswerAccordion()
|
199
197
|
.within(() => {
|
200
|
-
utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), '
|
198
|
+
utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'notExist');
|
201
199
|
});
|
202
200
|
} else {
|
203
201
|
autoScoredSpecifyCorrectAnswerSection.alternativeAnswerAccordion()
|
204
202
|
.within(() => {
|
205
|
-
utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), '
|
203
|
+
utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'notExist');
|
206
204
|
});
|
207
205
|
};
|
208
206
|
});
|
@@ -867,18 +867,17 @@ const tests = {
|
|
867
867
|
multipleSelectionPage.steps.uncheckOptionsCheckboxInSpecifyCorrectAnswerSection(1);
|
868
868
|
});
|
869
869
|
|
870
|
-
it(`When the user has unchecked all selected options in the ${accordionName} accordion, \'Error: Please set a correct answer.\' error message should be thrown along with an error icon on the \'${accordionName}\' accordion`, () => {
|
871
|
-
utilities.verifyElementVisibilityState(commonComponents.errorMessage(), '
|
872
|
-
utilities.verifyInnerText(commonComponents.errorMessage(), 'Error: Please set a correct answer.');
|
870
|
+
it(`When the user has unchecked all selected options in the ${accordionName} accordion, \'Error: Please set a correct answer.\' error message should not be thrown along with an error icon on the \'${accordionName}\' accordion`, () => {
|
871
|
+
utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'notExist')
|
873
872
|
if (accordionName == 'Correct') {
|
874
873
|
autoScoredSpecifyCorrectAnswerSection.correctAnswerAccordion()
|
875
874
|
.within(() => {
|
876
|
-
utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), '
|
875
|
+
utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'notExist');
|
877
876
|
});
|
878
877
|
} else {
|
879
878
|
autoScoredSpecifyCorrectAnswerSection.alternativeAnswerAccordion()
|
880
879
|
.within(() => {
|
881
|
-
utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), '
|
880
|
+
utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'notExist');
|
882
881
|
});
|
883
882
|
};
|
884
883
|
});
|
@@ -1452,19 +1452,8 @@ const tests = {
|
|
1452
1452
|
it(`When the user resets the number line in the ${accordionName} accordion, \'Error: Please set a correct answer.\' error message should be thrown along with an error icon on the \'${accordionName}\' accordion`, () => {
|
1453
1453
|
numberLinePage.steps.selectNumberLineControlOptionSpecifyCorrectAnswerSection('Reset');
|
1454
1454
|
numberLinePage.steps.confirmReset();
|
1455
|
-
utilities.verifyElementVisibilityState(commonComponents.errorMessage(), '
|
1456
|
-
utilities.
|
1457
|
-
if (accordionName == 'Correct') {
|
1458
|
-
autoScoredSpecifyCorrectAnswerSection.correctAnswerAccordion()
|
1459
|
-
.within(() => {
|
1460
|
-
utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'visible');
|
1461
|
-
});
|
1462
|
-
} else {
|
1463
|
-
autoScoredSpecifyCorrectAnswerSection.alternativeAnswerAccordion()
|
1464
|
-
.within(() => {
|
1465
|
-
utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'visible');
|
1466
|
-
});
|
1467
|
-
};
|
1455
|
+
utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'notExist');
|
1456
|
+
utilities.verifyElementDisabled(autoScoredSpecifyCorrectAnswerSection.alternativeAnswerButton());
|
1468
1457
|
});
|
1469
1458
|
|
1470
1459
|
autoScoredSpecifyCorrectAnswerSection.tests.verifyAutoScoredCorrectAnswerErrorMessageCSSAndA11y();
|
@@ -924,10 +924,9 @@ const tests = {
|
|
924
924
|
shortTextResponsePage.steps.enterTextInAnswerInputFieldSpecifyCorrectAnswerSection('Petals');
|
925
925
|
});
|
926
926
|
|
927
|
-
it('When user focuses in and out of the response accordion \'Answer\' input field, \'Error: Answer is required.\' error message should be displayed', () => {
|
927
|
+
it('When user focuses in and out of the response accordion \'Answer\' input field, \'Error: Answer is required.\' error message should not be displayed', () => {
|
928
928
|
shortTextResponsePage.steps.clearAndFocusOutOfSpecifyCorrectAnswerInputField();
|
929
|
-
utilities.verifyElementVisibilityState(commonComponents.errorMessage(), '
|
930
|
-
utilities.verifyInnerText(commonComponents.errorMessage(), 'Error: Answer is required.');
|
929
|
+
utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'notExist');
|
931
930
|
});
|
932
931
|
|
933
932
|
autoScoredSpecifyCorrectAnswerSection.tests.verifyAutoScoredCorrectAnswerErrorMessageCSSAndA11y();
|
@@ -11,6 +11,7 @@ const selectors = {
|
|
11
11
|
...autoScoredScoringSectionMultiResponseType,
|
12
12
|
...autoScoredSpecifyCorrectAnswerSection,
|
13
13
|
...commonComponents,
|
14
|
+
...autoScoredScoringPreviewTab,
|
14
15
|
|
15
16
|
addStructureTab: () => cy.get('[data-ngie-testid="add-structure-tab"]'),
|
16
17
|
responseToken: () => cy.get('.cke_button__addresponse'),
|
@@ -59,6 +60,13 @@ const selectors = {
|
|
59
60
|
return cy.get('[class*="CustomSettingsstyles__CheckboxContainer"] label')
|
60
61
|
}
|
61
62
|
},
|
63
|
+
customSettingsCheckbox: (customSettingCheckboxId = null) => {
|
64
|
+
if (customSettingCheckboxId) {
|
65
|
+
return cy.get(`[class*="CustomSettingsstyles__CheckboxContainer"] input[aria-label*="${customSettingCheckboxId}"]`)
|
66
|
+
} else {
|
67
|
+
return cy.get('[class*="CustomSettingsstyles__CheckboxContainer"] input')
|
68
|
+
}
|
69
|
+
},
|
62
70
|
toggleSeparatorWrapper: () => cy.get('[class*="CustomSettingsstyles__ToggleWrapper"]'),
|
63
71
|
decimalSeparatorWrapper: () => cy.get('[class*="SingleSelectToggleGroupstyles__ToggleButtonWrapper"]').eq(0),
|
64
72
|
thousandsSeparatorWrapper: () => cy.get('[class*="SingleSelectToggleGroupstyles__ToggleButtonWrapper"]').eq(1),
|
@@ -834,6 +842,26 @@ const steps = {
|
|
834
842
|
utilities.verifyElementVisibilityState(textEntryMathPage.alternativeAnswerAccordion().contains('Alternative 2'), 'notExist');
|
835
843
|
},
|
836
844
|
|
845
|
+
/**
|
846
|
+
* This function checks the custom settings checkbox
|
847
|
+
* @param {("Case sensitive"|"Accept interval notation"|"Check for equality across sides"|"Exclude LaTeX text from validation"|"Exclude LaTeX text from validation"|"Interpret e as Euler\'s number"|"Accept expressions in any order"|"Ignore unit coefficient"|"Ignore zeros after decimal")} ariaLabel
|
848
|
+
*/
|
849
|
+
checkCustomSettingsCheckbox: (ariaLabel) => {
|
850
|
+
textEntryMathPage.customSettingsCheckbox(ariaLabel)
|
851
|
+
.click()
|
852
|
+
.should('be.checked');
|
853
|
+
},
|
854
|
+
|
855
|
+
/**
|
856
|
+
* This function unchecks the custom settings checkbox
|
857
|
+
* @param {("Case sensitive"|"Accept interval notation"|"Check for equality across sides"|"Exclude LaTeX text from validation"|"Exclude LaTeX text from validation"|"Interpret e as Euler\'s number"|"Accept expressions in any order"|"Ignore unit coefficient"|"Ignore zeros after decimal")} ariaLabel
|
858
|
+
*/
|
859
|
+
uncheckCustomSettingsCheckbox: (ariaLabel) => {
|
860
|
+
textEntryMathPage.customSettingsCheckbox(ariaLabel)
|
861
|
+
.click()
|
862
|
+
.should('not.be.checked');
|
863
|
+
},
|
864
|
+
|
837
865
|
//Additional settings
|
838
866
|
selectEquationEditorSectionCategories: (categoriesArray) => {
|
839
867
|
categoriesArray.forEach((categoryName) => {
|
@@ -2,6 +2,7 @@ import constants from "../fixtures/constants";
|
|
2
2
|
import utilities from "../support/helpers/utilities";
|
3
3
|
import { createQuestionBasePage, autoScoredScoringPreviewTab, scoringSectionBaseEditTab, questionInputFieldComponent, questionInstructionsComponent, autoScoredStudentViewSettings, correctIncorrectAnswerLabelComponent, autoScoredSpecifyCorrectAnswerSection, autoScoredScoringSectionMultiResponseType, setPointsPopupBase, commonComponents, ckEditorToolbar, equationEditorFlyout, studentViewSettingsLabelComponent, enableOuterBorderComponent, additionalSettingsPanel, additionalSettingsAccessibilitySectionComponent, styleAndLayoutCustomizationAccordionComponent, colorPopupComponent, showAvailableOptionsToStudents, showStudentMaximumNumberOfPossibleSelections } from "./components";
|
4
4
|
import { dialogBoxBase } from "./dialogBoxBase";
|
5
|
+
import { singleMultipleSelectionModeComponent } from "./components";
|
5
6
|
const css = Cypress.env('css');
|
6
7
|
const colorLibrary = css.textSelectionColorLibrary;
|
7
8
|
|
@@ -22,6 +23,21 @@ const selectors = {
|
|
22
23
|
questionLabel: () => cy.get('[class*="Highlightstyles__QuestionComponentWrapper"] .title-casing'),
|
23
24
|
questionInputField: () => cy.get('[class*="Highlightstyles__QuestionComponentWrapper"] [title="Question"]'),
|
24
25
|
specifyPossibleOptionsTextFieldWrapper: () => cy.get('[class*="Highlightstyles__HighLightWrapper"] .question-text-wrapper'),
|
26
|
+
textSelectionStyleLabel: () => cy.get('.text-selection-style .options-label'),
|
27
|
+
textSelectionStyleButtonLabel: (ariaLabel = null) => {
|
28
|
+
if (ariaLabel) {
|
29
|
+
return cy.get(`.text-selection-style [type="button"][aria-label*="${ariaLabel}"] .ngie-toggle-button-label`)
|
30
|
+
} else {
|
31
|
+
return cy.get('.text-selection-style [type="button"] .ngie-toggle-button-label')
|
32
|
+
}
|
33
|
+
},
|
34
|
+
textSelectionStyle: (ariaLabel = null) => {
|
35
|
+
if (ariaLabel) {
|
36
|
+
return cy.get(`.text-selection-style [type="button"][aria-label*="${ariaLabel}"]`)
|
37
|
+
} else {
|
38
|
+
return cy.get('.text-selection-style [type="button"]')
|
39
|
+
}
|
40
|
+
},
|
25
41
|
textSelectionModeLabel: () => cy.get('.text-selection-mode .options-label'),
|
26
42
|
textSelectionMode: (ariaLabel = null) => {
|
27
43
|
if (ariaLabel) {
|
@@ -57,12 +73,15 @@ const selectors = {
|
|
57
73
|
partialEqualWeightsPointsPerResponseScore: () => cy.get('[class*="Highlightstyles__PartialPointsPerResponseValue"]'),
|
58
74
|
specifyCorrectAnswerErrorMessage: () => cy.get('[class*="ErrorMessageContainer"]').eq(1),
|
59
75
|
//Style and customization layout
|
60
|
-
|
61
|
-
|
62
|
-
colorBlock: () => cy.get('.color-picker-block'),
|
76
|
+
styleLabel: () => cy.get('.text-selection-style-title'),
|
77
|
+
colorLabel: () => cy.get('[class*="StyleAndLayoutCustomizationstyles__SubSectionLabel"]'),
|
78
|
+
colorBlock: () => cy.get('.color-grid-wrapper .color-picker-block'),
|
63
79
|
editColorButton: () => cy.get('.ngie-icon-with-label-btn[aria-label="edit color"]'),
|
64
80
|
changeFontColorToWhiteCheckbox: () => cy.get('[data-ngie-testid="change-font-color-to-white-checkbox"] input'),
|
65
81
|
changeFontColorToWhiteCheckboxLabel: () => cy.get('[data-ngie-testid="change-font-color-to-white-checkbox"] [class*="label"]'),
|
82
|
+
borderStyle: () => cy.get('[class*="TextSelectionStylestyles__SectionWrapper"] .options-label'),
|
83
|
+
borderBlock: () => cy.get('.options-border-style [class*="OptionsContainerstyles__ToggleButtonWrapper"] .ngie-outlined-toggle-button'),
|
84
|
+
borderBlockInnerText: () => cy.get('.options-border-style .ngie-toggle-button-label'),
|
66
85
|
|
67
86
|
//Preview tab
|
68
87
|
questionTextOuterBorderPreviewTab: () => cy.get('[class*="Highlightstyles__HighlightPreviewWrapper"]'),
|
@@ -98,6 +117,8 @@ const steps = {
|
|
98
117
|
...colorPopupComponent.steps,
|
99
118
|
...showAvailableOptionsToStudents.steps,
|
100
119
|
...showStudentMaximumNumberOfPossibleSelections.steps,
|
120
|
+
...singleMultipleSelectionModeComponent.steps,
|
121
|
+
|
101
122
|
addInputToQuestionInputField: (text) => {
|
102
123
|
textSelectionPage.questionInputField()
|
103
124
|
.type(text);
|
@@ -256,6 +277,15 @@ const steps = {
|
|
256
277
|
.click();
|
257
278
|
},
|
258
279
|
|
280
|
+
/**
|
281
|
+
* @param {string} textSelectionStyle Type of text selection
|
282
|
+
* @description Switch text selection type in text selection dropdown
|
283
|
+
*/
|
284
|
+
switchTextSelectionStyle: (textSelectionStyle) => {
|
285
|
+
textSelectionPage.textSelectionStyle(textSelectionStyle)
|
286
|
+
.click();
|
287
|
+
},
|
288
|
+
|
259
289
|
/**
|
260
290
|
* @param {string} textSelectionType Type of text selection
|
261
291
|
* @description Verify text selection mode is selected
|
@@ -265,6 +295,15 @@ const steps = {
|
|
265
295
|
.should('have.attr', 'aria-pressed', 'true');
|
266
296
|
},
|
267
297
|
|
298
|
+
/**
|
299
|
+
* @param {string} textSelectionType Type of text selection
|
300
|
+
* @description Verify text selection style is selected
|
301
|
+
*/
|
302
|
+
verifyTextSelectionStyleIsSelected: (textSelectionType) => {
|
303
|
+
textSelectionPage.textSelectionStyle(textSelectionType)
|
304
|
+
.should('have.attr', 'aria-pressed', 'true');
|
305
|
+
},
|
306
|
+
|
268
307
|
/**
|
269
308
|
* @param {string} textSelectionType Type of text selection
|
270
309
|
* @description Verify text selection mode is not selected
|
@@ -273,6 +312,185 @@ const steps = {
|
|
273
312
|
textSelectionPage.textSelectionMode(textSelectionType)
|
274
313
|
.should('have.attr', 'aria-pressed', 'false');
|
275
314
|
},
|
315
|
+
/**
|
316
|
+
* @param {string} textSelectionType Type of text selection
|
317
|
+
* @description Verify text selection style is not selected
|
318
|
+
*/
|
319
|
+
verifyTextSelectionStyleIsNotSelected: (textSelectionType) => {
|
320
|
+
textSelectionPage.textSelectionStyle(textSelectionType)
|
321
|
+
.should('have.attr', 'aria-pressed', 'false');
|
322
|
+
},
|
323
|
+
|
324
|
+
/**
|
325
|
+
* @param {string} textSelectionStyle Type of text selection style
|
326
|
+
* @param {number} index of the option in specify possible options section
|
327
|
+
* @description verifies the style of the selected options in specify possible option section
|
328
|
+
*/
|
329
|
+
verifyStyleInSpecifyPossibleOptions: (textSelectionStyle, index, color) => {
|
330
|
+
if (textSelectionStyle === 'filled-in') {
|
331
|
+
utilities.verifyCSS(textSelectionPage.specifyPossibleOptionsTextSpans().eq(index), {
|
332
|
+
'background-color': color,
|
333
|
+
'color': 'rgb(255, 255, 255)',
|
334
|
+
'border-bottom-color': 'rgba(0, 0, 0, 0)',
|
335
|
+
'border-left-color': 'rgba(0, 0, 0, 0)',
|
336
|
+
});
|
337
|
+
} else if (textSelectionStyle === 'outline') {
|
338
|
+
utilities.verifyCSS(textSelectionPage.specifyPossibleOptionsTextSpans().eq(index), {
|
339
|
+
'color': 'rgb(0, 0, 46)',
|
340
|
+
'border-bottom-color': color,
|
341
|
+
'border-left-color': color,
|
342
|
+
});
|
343
|
+
} else if (textSelectionStyle === 'underline') {
|
344
|
+
utilities.verifyCSS(textSelectionPage.specifyPossibleOptionsTextSpans().eq(index), {
|
345
|
+
'color': 'rgb(0, 0, 46)',
|
346
|
+
'border-bottom-color': color,
|
347
|
+
'border-left-color': 'rgba(0, 0, 0, 0)',
|
348
|
+
'border-right-color': 'rgba(0, 0, 0, 0)',
|
349
|
+
});
|
350
|
+
} else if (textSelectionStyle === 'strikethrough') {
|
351
|
+
utilities.verifyCSS(textSelectionPage.specifyPossibleOptionsTextSpans().eq(index), {
|
352
|
+
'color': 'rgb(0, 0, 46)',
|
353
|
+
'text-decoration-color': color,
|
354
|
+
'text-decoration-line': 'line-through',
|
355
|
+
'text-decoration-thickness': '1.5px',
|
356
|
+
});
|
357
|
+
}
|
358
|
+
},
|
359
|
+
|
360
|
+
/**
|
361
|
+
* @param {string} textSelectionStyle Type of text selection style
|
362
|
+
* @param {number} index of the option in specify possible options section
|
363
|
+
* @description verifies the style of the selected options in specify correct answer section
|
364
|
+
*/
|
365
|
+
verifyStyleInSpecifyCorrectAnswer: (textSelectionStyle, index, color) => {
|
366
|
+
if (textSelectionStyle === 'filled-in') {
|
367
|
+
utilities.verifyCSS(textSelectionPage.specifyCorrectAnswerTextSpans().eq(index), {
|
368
|
+
'background-color': color,
|
369
|
+
'color': 'rgb(255, 255, 255)',
|
370
|
+
'border-bottom-color': 'rgba(0, 0, 0, 0)',
|
371
|
+
'border-left-color': 'rgba(0, 0, 0, 0)',
|
372
|
+
});
|
373
|
+
} else if (textSelectionStyle === 'outline') {
|
374
|
+
utilities.verifyCSS(textSelectionPage.specifyCorrectAnswerTextSpans().eq(index), {
|
375
|
+
'color': 'rgb(0, 0, 46)',
|
376
|
+
'border-bottom-color': color,
|
377
|
+
'border-left-color': color,
|
378
|
+
});
|
379
|
+
} else if (textSelectionStyle === 'underline') {
|
380
|
+
utilities.verifyCSS(textSelectionPage.specifyCorrectAnswerTextSpans().eq(index), {
|
381
|
+
'color': 'rgb(0, 0, 46)',
|
382
|
+
'border-bottom-color': color,
|
383
|
+
'border-left-color': 'rgba(0, 0, 0, 0)',
|
384
|
+
'border-right-color': 'rgba(0, 0, 0, 0)',
|
385
|
+
});
|
386
|
+
} else if (textSelectionStyle === 'strikethrough') {
|
387
|
+
utilities.verifyCSS(textSelectionPage.specifyCorrectAnswerTextSpans().eq(index), {
|
388
|
+
'color': 'rgb(0, 0, 46)',
|
389
|
+
'text-decoration-color': color,
|
390
|
+
'text-decoration-line': 'line-through',
|
391
|
+
'text-decoration-thickness': '1.5px',
|
392
|
+
});
|
393
|
+
}
|
394
|
+
},
|
395
|
+
|
396
|
+
/**
|
397
|
+
* @param {string} textSelectionStyle Type of text selection style
|
398
|
+
* @param {number} index of the option in specify possible options section
|
399
|
+
* @description verifies the style of the selected options in preview section
|
400
|
+
*/
|
401
|
+
verifyStyleInPreview: (textSelectionStyle, index, color) => {
|
402
|
+
if (textSelectionStyle === 'filled-in') {
|
403
|
+
utilities.verifyCSS(textSelectionPage.previewTabQuestionTextSpans().eq(index), {
|
404
|
+
'background-color': color,
|
405
|
+
'color': 'rgb(255, 255, 255)',
|
406
|
+
'border-bottom-color': 'rgba(0, 0, 0, 0)',
|
407
|
+
'border-left-color': 'rgba(0, 0, 0, 0)',
|
408
|
+
});
|
409
|
+
} else if (textSelectionStyle === 'outline') {
|
410
|
+
utilities.verifyCSS(textSelectionPage.previewTabQuestionTextSpans().eq(index), {
|
411
|
+
'color': 'rgb(0, 0, 46)',
|
412
|
+
'border-bottom-color': color,
|
413
|
+
'border-left-color': color,
|
414
|
+
});
|
415
|
+
} else if (textSelectionStyle === 'underline') {
|
416
|
+
utilities.verifyCSS(textSelectionPage.previewTabQuestionTextSpans().eq(index), {
|
417
|
+
'color': 'rgb(0, 0, 46)',
|
418
|
+
'border-bottom-color': color,
|
419
|
+
'border-left-color': 'rgba(0, 0, 0, 0)',
|
420
|
+
'border-right-color': 'rgba(0, 0, 0, 0)',
|
421
|
+
});
|
422
|
+
} else if (textSelectionStyle === 'strikethrough') {
|
423
|
+
utilities.verifyCSS(textSelectionPage.previewTabQuestionTextSpans().eq(index), {
|
424
|
+
'color': 'rgb(0, 0, 46)',
|
425
|
+
'text-decoration-color': color,
|
426
|
+
'text-decoration-line': 'line-through',
|
427
|
+
'text-decoration-thickness': '1.5px',
|
428
|
+
});
|
429
|
+
}
|
430
|
+
},
|
431
|
+
|
432
|
+
/**
|
433
|
+
* @param {string} textSelectionBorderStyle Type of text selection style
|
434
|
+
* @param {number} index of the option in specify possible options section
|
435
|
+
* @description verifies the style of the selected options in specify possible option section
|
436
|
+
*/
|
437
|
+
verifyBorderStyleInSpecifyPossibleOptions: (textSelectionBorderStyle, index, border) => {
|
438
|
+
if (textSelectionBorderStyle === 'outline') {
|
439
|
+
utilities.verifyCSS(textSelectionPage.specifyPossibleOptionsTextSpans().eq(index), {
|
440
|
+
'border-bottom-style': border,
|
441
|
+
});
|
442
|
+
} else if (textSelectionBorderStyle === 'underline') {
|
443
|
+
utilities.verifyCSS(textSelectionPage.specifyPossibleOptionsTextSpans().eq(index), {
|
444
|
+
'border-bottom-style': border,
|
445
|
+
});
|
446
|
+
} else if (textSelectionBorderStyle === 'strikethrough') {
|
447
|
+
utilities.verifyCSS(textSelectionPage.specifyPossibleOptionsTextSpans().eq(index), {
|
448
|
+
'text-decoration-style': border,
|
449
|
+
});
|
450
|
+
}
|
451
|
+
},
|
452
|
+
|
453
|
+
/**
|
454
|
+
* @param {string} textSelectionBorderStyle Type of text selection style
|
455
|
+
* @param {number} index of the option in specify possible options section
|
456
|
+
* @description verifies the style of the selected options in specify correct answer section
|
457
|
+
*/
|
458
|
+
verifyBorderStyleInSpecifyCorrectAnswer: (textSelectionBorderStyle, index, border) => {
|
459
|
+
if (textSelectionBorderStyle === 'outline') {
|
460
|
+
utilities.verifyCSS(textSelectionPage.specifyCorrectAnswerTextSpans().eq(index), {
|
461
|
+
'border-bottom-style': border,
|
462
|
+
});
|
463
|
+
} else if (textSelectionBorderStyle === 'underline') {
|
464
|
+
utilities.verifyCSS(textSelectionPage.specifyCorrectAnswerTextSpans().eq(index), {
|
465
|
+
'border-bottom-style': border,
|
466
|
+
});
|
467
|
+
} else if (textSelectionBorderStyle === 'strikethrough') {
|
468
|
+
utilities.verifyCSS(textSelectionPage.specifyCorrectAnswerTextSpans().eq(index), {
|
469
|
+
'text-decoration-style': border,
|
470
|
+
});
|
471
|
+
}
|
472
|
+
},
|
473
|
+
|
474
|
+
/**
|
475
|
+
* @param {string} textSelectionBorderStyle Type of text selection style
|
476
|
+
* @param {number} index of the option in specify possible options section
|
477
|
+
* @description verifies the style of the selected options in preview section
|
478
|
+
*/
|
479
|
+
verifyBorderStyleInPreview: (textSelectionBorderStyle, index, border) => {
|
480
|
+
if (textSelectionBorderStyle === 'outline') {
|
481
|
+
utilities.verifyCSS(textSelectionPage.previewTabQuestionTextSpans().eq(index), {
|
482
|
+
'border-bottom-style': border,
|
483
|
+
});
|
484
|
+
} else if (textSelectionBorderStyle === 'underline') {
|
485
|
+
utilities.verifyCSS(textSelectionPage.previewTabQuestionTextSpans().eq(index), {
|
486
|
+
'border-bottom-style': border,
|
487
|
+
});
|
488
|
+
} else if (textSelectionBorderStyle === 'strikethrough') {
|
489
|
+
utilities.verifyCSS(textSelectionPage.previewTabQuestionTextSpans().eq(index), {
|
490
|
+
'text-decoration-style': border,
|
491
|
+
});
|
492
|
+
}
|
493
|
+
},
|
276
494
|
|
277
495
|
/**
|
278
496
|
* @param {string} optionText Text of the option in specify possible options section
|
@@ -904,6 +1122,16 @@ const steps = {
|
|
904
1122
|
.should('have.attr', 'aria-pressed', 'true');
|
905
1123
|
},
|
906
1124
|
|
1125
|
+
/**
|
1126
|
+
* @description select a color block in style and customization layout accordion
|
1127
|
+
* @param {number} index index of color block
|
1128
|
+
*/
|
1129
|
+
selectBorderBlock: (index) => {
|
1130
|
+
utilities.getNthElement(textSelectionPage.borderBlock(), index)
|
1131
|
+
.click()
|
1132
|
+
.should('have.attr', 'aria-pressed', 'true');
|
1133
|
+
},
|
1134
|
+
|
907
1135
|
/**
|
908
1136
|
* @description verify that a color block is selected in style and customization layout accordion
|
909
1137
|
* @param {number} index index of color block
|
@@ -913,6 +1141,15 @@ const steps = {
|
|
913
1141
|
.should('have.attr', 'aria-pressed', 'true');
|
914
1142
|
},
|
915
1143
|
|
1144
|
+
/**
|
1145
|
+
* @description verify that a border style block is selected in style and customization layout accordion
|
1146
|
+
* @param {number} index index of color block
|
1147
|
+
*/
|
1148
|
+
verifyBorderBlockIsSelected: (index) => {
|
1149
|
+
utilities.getNthElement(textSelectionPage.borderBlock(), index)
|
1150
|
+
.should('have.attr', 'aria-pressed', 'true');
|
1151
|
+
},
|
1152
|
+
|
916
1153
|
/**
|
917
1154
|
* @description verify the background color of a color block in style and customization layout accordion
|
918
1155
|
* @param {number} index index of color block
|
@@ -987,6 +1224,8 @@ const tests = {
|
|
987
1224
|
...additionalSettingsAccessibilitySectionComponent.tests,
|
988
1225
|
...styleAndLayoutCustomizationAccordionComponent.tests,
|
989
1226
|
...showAvailableOptionsToStudents.tests,
|
1227
|
+
...singleMultipleSelectionModeComponent.tests,
|
1228
|
+
|
990
1229
|
verifyContentsOfSpecifyCorrectAnswerSection: () => {
|
991
1230
|
it('When user selects a scoring type, then in the \'Correct\' accordion all the contents should be displayed', () => {
|
992
1231
|
textSelectionPage.specifyCorrectAnswerTextSpans()
|
@@ -945,8 +945,6 @@ const steps = {
|
|
945
945
|
cy.wait(2000);
|
946
946
|
videoResponsePage.videoRecorderDefaultWidthInputField()
|
947
947
|
.blur();
|
948
|
-
videoResponsePage.videoRecorderDefaultWidthInputField()
|
949
|
-
.should('have.value', value)
|
950
948
|
},
|
951
949
|
|
952
950
|
clearVideoRecorderDefaultWidthInputField: () => {
|
package/package.json
CHANGED