itemengine-cypress-automation 1.0.343-IEI-5600-IEI-5708-9440b5e.0 → 1.0.343-IEI-5600-IEI-5708-25494c0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cypress/e2e/ILC/AudioResponseNew/editTabBasicSection.js +4 -16
- package/cypress/e2e/ILC/BrainingCampManipulative/editTabBasicSection.js +1 -1
- package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/gradingViewAndCorrectAnswerView.smoke.js +1 -1
- package/cypress/e2e/ILC/ChartsBar/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +33 -0
- package/cypress/e2e/ILC/ChartsBar/editTabBasicSection.js +37 -0
- package/cypress/e2e/ILC/ChartsBar/headerSection.js +50 -2
- package/cypress/e2e/ILC/ChartsLine/editQuestion.smoke.js +3 -1
- package/cypress/e2e/ILC/ChartsLine/headerSection.js +18 -1
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/backgroundImageAndCanvasProperties.js +1 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/supportedFileTypes.js +3 -1
- package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +72 -0
- package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +38 -0
- package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +38 -0
- package/cypress/e2e/ILC/Graphing/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +86 -0
- package/cypress/e2e/ILC/Graphing/checkAddAlternativeButton.js +35 -0
- package/cypress/e2e/ILC/Graphing/editQuestion.smoke.js +28 -0
- package/cypress/e2e/ILC/Graphing/editTabBasicSection.js +38 -0
- package/cypress/e2e/ILC/Graphing/headerSection.js +37 -4
- package/cypress/e2e/ILC/GridFill/addAlternateButton.js +40 -0
- package/cypress/e2e/ILC/GridFill/headerSection.js +3 -3
- package/cypress/e2e/ILC/GridFill/scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +39 -0
- package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
- package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +39 -0
- package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountAllOrNothingCorrectPointsGreaterThanAlternativePoints.js +37 -0
- package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountallOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
- package/cypress/e2e/ILC/GridFill/scoring/cellshadeCountAllOrNothingAlternativePointsGreaterThanCorrectPoints.js +36 -0
- package/cypress/e2e/ILC/GridFill/scoring/checkLabelSaveAsYouGo.js +75 -0
- package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +2 -1
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +24 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +24 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +24 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +86 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +1 -1
- package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +1 -1
- package/cypress/e2e/ILC/ListOrderingDropdown/checkAddAlternativeButton.js +35 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/editTabBasicSection.js +24 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/headerSection.js +108 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/specifyCorrectAnswerSection.js +6 -10
- package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/specifyCorrectAnswerSection.js +2 -1
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +52 -0
- package/cypress/e2e/ILC/ListOrderingNew/editTabBasicSection.js +23 -0
- package/cypress/e2e/ILC/ListOrderingNew/headerSection.js +35 -9
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +41 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +30 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +50 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +101 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/checkAddAlternativeButton.js +38 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabBasicSection.js +24 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabScoring.js +4 -1
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/headerSection.js +35 -1
- package/cypress/e2e/ILC/Matching/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +98 -0
- package/cypress/e2e/ILC/Matching/checkAlternativeButton.js +38 -0
- package/cypress/e2e/ILC/Matching/clickAndDrop.js +3 -5
- package/cypress/e2e/ILC/Matching/draggableOptions.js +4 -0
- package/cypress/e2e/ILC/Matching/editTabBasicSection.js +41 -0
- package/cypress/e2e/ILC/Matching/headerSection.js +36 -11
- package/cypress/e2e/ILC/Matching/questionInstructionsAndPromptSection.js +2 -15
- package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +79 -0
- package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +42 -0
- package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +42 -0
- package/cypress/e2e/ILC/NumberLine/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +73 -0
- package/cypress/e2e/ILC/NumberLine/checkAddAlternativeButton.js +32 -0
- package/cypress/e2e/ILC/NumberLine/editTabSection.js +38 -0
- package/cypress/e2e/ILC/NumberLine/headerSection.js +34 -4
- package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +81 -0
- package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +43 -0
- package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +43 -0
- package/cypress/e2e/ILC/NumberLineLabel/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +76 -0
- package/cypress/e2e/ILC/NumberLineLabel/checkAddAlternativeButton.js +34 -0
- package/cypress/e2e/ILC/NumberLineLabel/editTabSection.js +38 -0
- package/cypress/e2e/ILC/NumberLineLabel/headerSection.js +37 -4
- package/cypress/e2e/ILC/NumberLineLabel/manuallyAndNonScoredEditTab.js +2 -1
- package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/editQuestion.smoke.js +1 -1
- package/cypress/e2e/ILC/ShortTextResponseNew/headerSection.js +2 -4
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +86 -0
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +86 -0
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +3 -1
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsScoringBasic.js +10 -3
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +4 -2
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +5 -3
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsScoringBasic.js +4 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +64 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAddEvaluation.js +2 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAlternateAnswer.js +2 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +64 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsScoringBasic.js +8 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasic.js +1 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasicForAlternateAnswer.js +2 -0
- package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +2 -0
- package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +27 -3
- package/cypress/e2e/ILC/TextEntryMath/headerSection.js +43 -0
- package/cypress/e2e/ILC/ToolAudioPlayerNew/headerSection.js +1 -1
- package/cypress/e2e/ILC/UploadResponse/editTabBasicSection.js +34 -0
- package/cypress/e2e/ILC/UploadResponse/headerSection.js +38 -1
- package/cypress/e2e/ILC/VideoResponseNew/editTabBasicSection.js +14 -29
- package/cypress/e2e/ILC/chartsDotsPlot/headerSection.js +16 -1
- package/cypress/pages/brainingCampManipulativePage.js +1 -1
- package/cypress/pages/chartsBarPage.js +20 -0
- package/cypress/pages/components/createQuestionBasePage.js +7 -0
- package/cypress/pages/components/desmosToolComponent.js +1 -1
- package/cypress/pages/components/scoringSectionBaseEditTab.js +3 -0
- package/cypress/pages/desmos3DGraphingPage.js +149 -4
- package/cypress/pages/desmosGeometryPage.js +184 -4
- package/cypress/pages/graphingPage.js +26 -4
- package/cypress/pages/gridFillPage.js +16 -6
- package/cypress/pages/listOrderingPage.js +32 -1
- package/cypress/pages/matchingPage.js +26 -7
- package/cypress/pages/numberLineLabelPage.js +26 -0
- package/cypress/pages/numberLinePage.js +15 -0
- package/cypress/pages/textEntryMathPage.js +21 -0
- package/cypress/pages/uploadResponsePage.js +2 -1
- package/cypress/pages/videoResponsePage.js +3 -0
- package/package.json +1 -1
@@ -1,5 +1,6 @@
|
|
1
1
|
import utilities from "../support/helpers/utilities";
|
2
2
|
import { questionInstructionsComponent, createQuestionBasePage, scoringSectionBaseEditTab, autoScoredScoringPreviewTab, autoScoredStudentViewSettings, autoScoredSpecifyCorrectAnswerSection, commonComponents, backgroundImageUploadComponent, imageCanvasComponent, opacityComponent, autoScoredScoringSectionMultiResponseType, additionalSettingsPanel, additionalSettingsAccessibilitySectionComponent, toolsAndControlsComponent, resetPopupComponent, defaultToolDropdown } from "./components";
|
3
|
+
import { createItemPage } from "./createItemPage";
|
3
4
|
const css = Cypress.env('css');
|
4
5
|
|
5
6
|
const selectors = {
|
@@ -262,6 +263,7 @@ const steps = {
|
|
262
263
|
...toolsAndControlsComponent.steps,
|
263
264
|
...resetPopupComponent.steps,
|
264
265
|
...defaultToolDropdown.steps,
|
266
|
+
...createItemPage.steps,
|
265
267
|
|
266
268
|
//Edit tab
|
267
269
|
checkPatternBackground: () => {
|
@@ -1767,7 +1769,27 @@ const steps = {
|
|
1767
1769
|
verifyAcceptRepeatedPointsToggleChecked: () => {
|
1768
1770
|
graphingPage.acceptRepeatedPointsToggle()
|
1769
1771
|
.should('have.attr', 'aria-pressed', 'true');
|
1770
|
-
}
|
1772
|
+
},
|
1773
|
+
|
1774
|
+
verifyAnswerStatusBannerNotExist: () => {
|
1775
|
+
graphingPage.correctIncorrectStatusMessageText()
|
1776
|
+
.should('not.exist');
|
1777
|
+
},
|
1778
|
+
|
1779
|
+
verifyAnswerStatusBannerExist: () => {
|
1780
|
+
graphingPage.correctIncorrectStatusMessageText()
|
1781
|
+
.should('be.visible');
|
1782
|
+
},
|
1783
|
+
|
1784
|
+
verifyCorrectAnswerSectionExist: () => {
|
1785
|
+
graphingPage.correctAnswerLabel()
|
1786
|
+
.should('be.visible');
|
1787
|
+
},
|
1788
|
+
|
1789
|
+
verifyCorrectAnswerSectionNotExist: () => {
|
1790
|
+
graphingPage.correctAnswerLabel()
|
1791
|
+
.should('not.exist');
|
1792
|
+
},
|
1771
1793
|
}
|
1772
1794
|
|
1773
1795
|
const tests = {
|
@@ -1806,12 +1828,12 @@ const tests = {
|
|
1806
1828
|
graphingPage.steps.verifyPointsPlottedOnSpecifyCorrectAnswerSection([{ x: 0, xRange: 20, y: 1, yRange: 20 }, { x: 0, xRange: 20, y: 2, yRange: 20 }]);
|
1807
1829
|
});
|
1808
1830
|
|
1809
|
-
it(`When the user resets the graph in the ${accordionName} accordion, error message not
|
1831
|
+
it(`When the user resets the graph in the ${accordionName} accordion, error message should not be thrown along with an error icon on the '${accordionName}' accordion`, () => {
|
1810
1832
|
graphingPage.graphControlOptionSpecifyCorrectAnswer('Reset')
|
1811
1833
|
.click();
|
1812
1834
|
graphingPage.resetPopupConfirmResetButton()
|
1813
1835
|
.click();
|
1814
|
-
utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'notExist')
|
1836
|
+
utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'notExist');
|
1815
1837
|
if (accordionName == 'Correct') {
|
1816
1838
|
autoScoredSpecifyCorrectAnswerSection.correctAnswerAccordion()
|
1817
1839
|
.within(() => {
|
@@ -1825,7 +1847,7 @@ const tests = {
|
|
1825
1847
|
};
|
1826
1848
|
});
|
1827
1849
|
|
1828
|
-
it('
|
1850
|
+
it('When the user plots on the graph then the error message should disappear', () => {
|
1829
1851
|
graphingPage.steps.selectGraphToolOptionSpecifyCorrectAnswer('Circle');
|
1830
1852
|
graphingPage.steps.plotPointsOnGraphSpecifyCorrectAnswerSection([{ x: 0, xRange: 20, y: 1, yRange: 20 }, { x: 0, xRange: 20, y: 2, yRange: 20 }]);
|
1831
1853
|
graphingPage.steps.verifyPointsPlottedOnSpecifyCorrectAnswerSection([{ x: 0, xRange: 20, y: 1, yRange: 20 }, { x: 0, xRange: 20, y: 2, yRange: 20 }]);
|
@@ -174,7 +174,8 @@ const selectors = {
|
|
174
174
|
correctAnswerLabel: () => cy.get('[class*="GridFillResponsestyles__CorrectAnswerLabel"]'),
|
175
175
|
warningMessageContainer: () => cy.get('.disabled-wrapper-cls'),
|
176
176
|
warningMessage: () => cy.get('.disabled-wrapper-cls [class*="DisabledTextWrapper"]'),
|
177
|
-
resetButton: () => cy.get('[class*="reset-color-wrapper"] button')
|
177
|
+
resetButton: () => cy.get('[class*="reset-color-wrapper"] button'),
|
178
|
+
scoringTypeLabelPreviewTab: () => cy.get('[class*="ScoringPreviewBandstyles__ScoreWrapper"]'),
|
178
179
|
}
|
179
180
|
|
180
181
|
const steps = {
|
@@ -2850,6 +2851,15 @@ const steps = {
|
|
2850
2851
|
scoringSectionBaseEditTab.pointsInputField()
|
2851
2852
|
.eq(0)
|
2852
2853
|
.should('have.value', points)
|
2854
|
+
},
|
2855
|
+
|
2856
|
+
/**
|
2857
|
+
* @param {String} ScoringType - Scoring Type to check label with.
|
2858
|
+
* @description - It will check the parameter scoring type string with the scoring type on top left of tab.
|
2859
|
+
*/
|
2860
|
+
checkScoringLabel: (scoringType) => {
|
2861
|
+
autoScoredScoringPreviewTab.scoringTypeLabelPreviewTab()
|
2862
|
+
.should('have.text', scoringType);
|
2853
2863
|
}
|
2854
2864
|
}
|
2855
2865
|
|
@@ -2917,16 +2927,15 @@ const tests = {
|
|
2917
2927
|
'background-color': css.color.gridCellHoverStateBg
|
2918
2928
|
});
|
2919
2929
|
utilities.hoverAwayFromElement(utilities.getNthElement(gridFillPage.cellInSpecifyCorrectAnswerSection(), 9));
|
2920
|
-
utilities.triggerMouseout(utilities.getNthElement(gridFillPage.cellInSpecifyCorrectAnswerSection(), 9));
|
2921
2930
|
});
|
2922
2931
|
|
2923
2932
|
it('User should be able to select the cells of the grid by clicking on them', () => {
|
2924
2933
|
gridFillPage.steps.selectCellSpecifyCorrectAnswerSection(0, 0);
|
2925
2934
|
});
|
2926
2935
|
|
2927
|
-
it(`When user deselect all the cells in the grid in the ${accordionName} accordion,
|
2936
|
+
it(`When user deselect all the cells in the grid in the ${accordionName} accordion, \'Error: Please set a correct answer.\' error message should not be displayed \'${accordionName}\' accordion`, () => {
|
2928
2937
|
gridFillPage.steps.deselectCellSpecifyCorrectAnswerSection(0, 0);
|
2929
|
-
|
2938
|
+
commonComponents.steps.verifyErrorMessageIsNotDisplayed();
|
2930
2939
|
if (accordionName == 'Correct') {
|
2931
2940
|
autoScoredSpecifyCorrectAnswerSection.correctAnswerAccordion()
|
2932
2941
|
.within(() => {
|
@@ -2980,9 +2989,10 @@ const tests = {
|
|
2980
2989
|
utilities.verifyInputFieldValue(gridFillPage.cellShadeCountInputField(), '6');
|
2981
2990
|
});
|
2982
2991
|
|
2983
|
-
it(`When user clears the value in \'Cell shade count\' input field, then error message should
|
2992
|
+
it(`When user clears the value in \'Cell shade count\' input field, then \'Error: Please set a correct answer.\' error message should be thrown along with an error icon on the \'${accordionName}\' accordion`, () => {
|
2984
2993
|
gridFillPage.steps.clearCellShadeCountInputField();
|
2985
|
-
|
2994
|
+
utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'visible')
|
2995
|
+
utilities.verifyInnerText(commonComponents.errorMessage(), 'Error: Please set a correct answer.');
|
2986
2996
|
});
|
2987
2997
|
|
2988
2998
|
it('CSS of \'Cell shade count\' input field error message', { tags: 'css' }, () => {
|
@@ -40,6 +40,7 @@ const selectors = {
|
|
40
40
|
questionDropdownBorderPreviewTab: () => cy.get('[class*="ListOrderingResponsestyles__DroppableDiv"]'),
|
41
41
|
//grading view and correct answer view
|
42
42
|
optionGradingView: () => cy.get('[class*="DraggableItemsWrapper"] [class*="OptionTextWrapper"]'),
|
43
|
+
correctIncorrectStatusMessageText: () => cy.get('[class*="AnswerStatusText"]'),
|
43
44
|
optionWrapperGradingView: () => cy.get('[class*="DraggableItemsWrapper"] [class*="OptionsWrapper"]'),
|
44
45
|
//Orientation and layout
|
45
46
|
orderingLayoutLabel: () => cy.get('.list-ordering-order-layout .options-label'),
|
@@ -105,6 +106,7 @@ const selectors = {
|
|
105
106
|
optionOrientationSeparateList: () => cy.get('[class*="ClozeWithDragAndDropstyles__DraggableItemsGrid"]'),
|
106
107
|
specifyCorrectAnswerSectionMyListLabel: () => cy.get('[class*="ReorderAsSeparatestyles__TitleContainer"]'),
|
107
108
|
outerBorderPreviewSeparateList: () => cy.get('[class*="ReorderAsSeparatestyles__ReorderSeparateWrapper"]'),
|
109
|
+
emptyDropzoneList: () => cy.get('[class*="ClozeWithDragAndDropstyles__PlaceHolderDiv"]:not(:has(*))'),
|
108
110
|
|
109
111
|
//Style and layout
|
110
112
|
optionsLabel: () => cy.get('.draggable-options-label'),
|
@@ -1532,6 +1534,15 @@ const steps = {
|
|
1532
1534
|
.click();
|
1533
1535
|
},
|
1534
1536
|
|
1537
|
+
clickAndResetDropOptionSeperateList: (optionsText) => {
|
1538
|
+
listOrderingPage.dropzoneSeperateList()
|
1539
|
+
.contains(optionsText)
|
1540
|
+
.click();
|
1541
|
+
listOrderingPage.emptyDropzoneList()
|
1542
|
+
.first()
|
1543
|
+
.click();
|
1544
|
+
},
|
1545
|
+
|
1535
1546
|
clickAndUnDropOptionSeperateList: (optionsText) => {
|
1536
1547
|
listOrderingPage.dropzoneSeperateList()
|
1537
1548
|
.contains(optionsText)
|
@@ -1761,7 +1772,27 @@ const steps = {
|
|
1761
1772
|
optionsTextArray.forEach((option, optionIndex) => {
|
1762
1773
|
utilities.verifyTextContent(utilities.getNthElement(listOrderingPage.optionsInputFieldInQuestionPreviewTab(), optionIndex * 2), option);
|
1763
1774
|
});
|
1764
|
-
}
|
1775
|
+
},
|
1776
|
+
|
1777
|
+
verifyAnswerStatusBannerNotExist: () => {
|
1778
|
+
listOrderingPage.correctIncorrectStatusMessageText()
|
1779
|
+
.should('not.exist');
|
1780
|
+
},
|
1781
|
+
|
1782
|
+
verifyAnswerStatusBannerExist: () => {
|
1783
|
+
listOrderingPage.correctIncorrectStatusMessageText()
|
1784
|
+
.should('be.visible');
|
1785
|
+
},
|
1786
|
+
|
1787
|
+
verifyCorrectAnswerSectionExist: () => {
|
1788
|
+
listOrderingPage.correctAnswersLabel()
|
1789
|
+
.should('be.visible');
|
1790
|
+
},
|
1791
|
+
|
1792
|
+
verifyCorrectAnswerSectionNotExist: () => {
|
1793
|
+
listOrderingPage.correctAnswersLabel()
|
1794
|
+
.should('not.exist');
|
1795
|
+
},
|
1765
1796
|
}
|
1766
1797
|
|
1767
1798
|
const tests = {
|
@@ -194,6 +194,7 @@ const selectors = {
|
|
194
194
|
connectorLineTypeLabel: () => cy.get('[class*="__SubSectionLabel"]').eq(2),
|
195
195
|
connectorLine: () => cy.get('[class*="ClozeWithDragAndDropstyles__ShowIconWrapper"]:visible'),
|
196
196
|
optionsInputFieldInQuestionPreviewTab: () => cy.get('.draggable-selected-item'),
|
197
|
+
correctAnswerSection: () => cy.get('[class*=CorrectAnswerWrapperDND]'),
|
197
198
|
}
|
198
199
|
|
199
200
|
const steps = {
|
@@ -2648,7 +2649,27 @@ const steps = {
|
|
2648
2649
|
optionsTextArray.forEach((option, optionIndex) => {
|
2649
2650
|
utilities.verifyTextContent(utilities.getNthElement(matchingPage.optionsInputFieldInQuestionPreviewTab(), optionIndex), option);
|
2650
2651
|
});
|
2651
|
-
}
|
2652
|
+
},
|
2653
|
+
|
2654
|
+
verifyAnswerStatusBannerNotExist: () => {
|
2655
|
+
matchingPage.correctIncorrectAnswerLabel()
|
2656
|
+
.should('not.exist');
|
2657
|
+
},
|
2658
|
+
|
2659
|
+
verifyAnswerStatusBannerExist: () => {
|
2660
|
+
matchingPage.correctIncorrectAnswerLabel()
|
2661
|
+
.should('be.visible');
|
2662
|
+
},
|
2663
|
+
|
2664
|
+
verifyCorrectAnswerSectionExist: () => {
|
2665
|
+
matchingPage.correctAnswerSection()
|
2666
|
+
.should('be.visible');
|
2667
|
+
},
|
2668
|
+
|
2669
|
+
verifyCorrectAnswerSectionNotExist: () => {
|
2670
|
+
matchingPage.correctAnswerSection()
|
2671
|
+
.should('not.exist');
|
2672
|
+
},
|
2652
2673
|
}
|
2653
2674
|
|
2654
2675
|
const tests = {
|
@@ -2760,7 +2781,7 @@ const tests = {
|
|
2760
2781
|
.eq(inputFieldIndex)
|
2761
2782
|
.click()
|
2762
2783
|
.blur();
|
2763
|
-
utilities.verifyElementVisibilityState(commonComponents.errorMessage(), '
|
2784
|
+
utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'notExist');
|
2764
2785
|
});
|
2765
2786
|
|
2766
2787
|
it('User should be able to enter text in options input field', () => {
|
@@ -3061,14 +3082,13 @@ const tests = {
|
|
3061
3082
|
matchingPage.steps.clickAndDropOptionInDropzoneSpecifyCorrectAnswerSection([{ optionText: 'Petals', dropzoneIndex: 0 }]);
|
3062
3083
|
});
|
3063
3084
|
|
3064
|
-
it(`When the user has removed all the options from the dropzone in the ${accordionName} accordion,
|
3085
|
+
it(`When the user has removed all the options from the dropzone in the ${accordionName} accordion, should not be thrown any error in '${accordionName}' accordion`, () => {
|
3065
3086
|
matchingPage.steps.clickAndDropOptionInOptionsContainerInSpecifyCorrectAnswerSection('Petals');
|
3066
|
-
|
3067
|
-
utilities.verifyInnerText(commonComponents.errorMessage(), 'Error: Please set a correct answer.');
|
3087
|
+
commonComponents.steps.verifyErrorMessageIsNotDisplayed();
|
3068
3088
|
if (accordionName == 'Correct') {
|
3069
3089
|
autoScoredSpecifyCorrectAnswerSection.correctAnswerAccordion()
|
3070
3090
|
.within(() => {
|
3071
|
-
utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), '
|
3091
|
+
utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'notExist');
|
3072
3092
|
});
|
3073
3093
|
} else {
|
3074
3094
|
autoScoredSpecifyCorrectAnswerSection.alternativeAnswerAccordion()
|
@@ -3078,7 +3098,6 @@ const tests = {
|
|
3078
3098
|
};
|
3079
3099
|
});
|
3080
3100
|
|
3081
|
-
autoScoredSpecifyCorrectAnswerSection.tests.verifyAutoScoredCorrectAnswerErrorMessageCSSAndA11y();
|
3082
3101
|
|
3083
3102
|
it('CSS of the dropzone border', { tags: 'css' }, () => {
|
3084
3103
|
utilities.verifyCSS(matchingPage.dropzoneSpecifyCorrectAnswerSection().eq(0), {
|
@@ -36,6 +36,7 @@ const selectors = {
|
|
36
36
|
draggableLabelsPreviewTab: () => cy.get('[class*="question-preview-wrapper"] .label-tool'),
|
37
37
|
labelContainerPreviewTab: () => cy.get('[class*="question-preview-wrapper"] .items-container'),
|
38
38
|
numberLinePointPreviewTab: () => cy.get('[class*="question-preview-wrapper"] .ngie-jxgbox').eq(0).find('svg ellipse[display="inline"]:visible'),
|
39
|
+
correctIncorrectStatusMessageText: () => cy.get('[class*="NumberLinestyles__CorrectIncorrectWrapper"]'),
|
39
40
|
|
40
41
|
//Correct answer section
|
41
42
|
numberLineCorrectAnswerSection: () => cy.get('[class*="question-preview-wrapper"] .ngie-jxgbox svg').eq(2),
|
@@ -296,6 +297,17 @@ const steps = {
|
|
296
297
|
numberLineLabelPage.labelContainerSpecifyCorrectAnswer()
|
297
298
|
.click({ force: true });
|
298
299
|
},
|
300
|
+
/**
|
301
|
+
* This function clicks and drops the label back in the container for previewTab
|
302
|
+
* @param {string} label to be clicked and dropped
|
303
|
+
*/
|
304
|
+
clickAndDropLabelInContainerPreviewTab: (label) => {
|
305
|
+
numberLineLabelPage.draggableLabelsPreviewTab()
|
306
|
+
.contains(label)
|
307
|
+
.click();
|
308
|
+
numberLineLabelPage.labelContainerPreviewTab()
|
309
|
+
.click({ force: true });
|
310
|
+
},
|
299
311
|
|
300
312
|
/**
|
301
313
|
* This function verifies plotted points on the number line on the Edit tab.
|
@@ -641,6 +653,20 @@ const steps = {
|
|
641
653
|
utilities.verifyElementVisibilityState(numberLineLabelPage.numberLineCorrectAnswerSection(), 'notExist');
|
642
654
|
},
|
643
655
|
|
656
|
+
verifyCorrectAnswerSectionExist: () => {
|
657
|
+
utilities.verifyElementVisibilityState(numberLineLabelPage.numberLineCorrectAnswerSection(), 'exist');
|
658
|
+
},
|
659
|
+
|
660
|
+
verifyAnswerStatusBannerNotExist: () => {
|
661
|
+
numberLineLabelPage.correctIncorrectStatusMessageText()
|
662
|
+
.should('not.exist');
|
663
|
+
},
|
664
|
+
|
665
|
+
verifyAnswerStatusBannerExist: () => {
|
666
|
+
numberLineLabelPage.correctIncorrectStatusMessageText()
|
667
|
+
.should('be.visible');
|
668
|
+
},
|
669
|
+
|
644
670
|
/**
|
645
671
|
* @param {number} points - The points to be allotted.
|
646
672
|
* @description - Allots points in the scoring section.
|
@@ -56,6 +56,7 @@ const selectors = {
|
|
56
56
|
return cy.get('[class*="question-preview-wrapper"] [class*="ControlsWrapper"] button')
|
57
57
|
}
|
58
58
|
},
|
59
|
+
correctIncorrectStatusMessageText: () => cy.get('[class*="NumberLinestyles__CorrectIncorrectWrapper"]'),
|
59
60
|
|
60
61
|
//Correct answer section
|
61
62
|
numberLineCorrectAnswerSection: () => cy.get('[class*="question-preview-wrapper"] .ngie-jxgbox svg:visible').eq(1),
|
@@ -758,6 +759,20 @@ const steps = {
|
|
758
759
|
utilities.verifyElementVisibilityState(numberLinePage.numberLineCorrectAnswerSection(), 'notExist');
|
759
760
|
},
|
760
761
|
|
762
|
+
verifyCorrectAnswerSectionExist: () => {
|
763
|
+
utilities.verifyElementVisibilityState(numberLinePage.numberLineCorrectAnswerSection(), 'exist');
|
764
|
+
},
|
765
|
+
|
766
|
+
verifyAnswerStatusBannerNotExist: () => {
|
767
|
+
numberLinePage.correctIncorrectStatusMessageText()
|
768
|
+
.should('not.exist');
|
769
|
+
},
|
770
|
+
|
771
|
+
verifyAnswerStatusBannerExist: () => {
|
772
|
+
numberLinePage.correctIncorrectStatusMessageText()
|
773
|
+
.should('be.visible');
|
774
|
+
},
|
775
|
+
|
761
776
|
/**
|
762
777
|
* @param {("correct" | "incorrect")} answerStatus - The status of the answer.
|
763
778
|
* @description Verifies the visibility and content of the correct/incorrect answer label block.
|
@@ -1385,6 +1385,26 @@ const steps = {
|
|
1385
1385
|
expandAndFocusInResponseAnswerInputFieldSpecifyCorrectAnswerSection: (index) => {
|
1386
1386
|
textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(index);
|
1387
1387
|
textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(index);
|
1388
|
+
},
|
1389
|
+
|
1390
|
+
verifyAnswerStatusBannerNotExist: () => {
|
1391
|
+
textEntryMathPage.correctIncorrectStatusMessageText()
|
1392
|
+
.should('not.exist');
|
1393
|
+
},
|
1394
|
+
|
1395
|
+
verifyAnswerStatusBannerExist: () => {
|
1396
|
+
textEntryMathPage.correctIncorrectStatusMessageText()
|
1397
|
+
.should('be.visible');
|
1398
|
+
},
|
1399
|
+
|
1400
|
+
verifyCorrectAnswerSectionExist: () => {
|
1401
|
+
textEntryMathPage.correctAnswersLabel()
|
1402
|
+
.should('be.visible');
|
1403
|
+
},
|
1404
|
+
|
1405
|
+
verifyCorrectAnswerSectionNotExist: () => {
|
1406
|
+
textEntryMathPage.correctAnswersLabel()
|
1407
|
+
.should('not.exist');
|
1388
1408
|
}
|
1389
1409
|
}
|
1390
1410
|
|
@@ -1402,6 +1422,7 @@ const tests = {
|
|
1402
1422
|
...additionalSettingsAccessibilitySectionComponent.tests,
|
1403
1423
|
...equationEditorSectionCommonComponent.tests,
|
1404
1424
|
...styleAndLayoutCustomizationAccordionComponent.tests,
|
1425
|
+
...createQuestionBasePage.tests,
|
1405
1426
|
/**
|
1406
1427
|
* Verifies the contents and functionality of the 'Specify correct answer' accordion for multiple selection questions.
|
1407
1428
|
* @param {{'Correct' | 'Alternative'}} accordionName - The name of the accordion to be used in the validation.
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { commonComponents, questionInstructionsComponent, scoringSectionBaseEditTab, createQuestionBasePage, additionalSettingsPanel, autoScoredScoringPreviewTab, studentViewSettingsLabelComponent, additionalSettingsAccessibilitySectionComponent, autoScoredStudentViewSettings } from "./components";
|
2
|
-
import { dialogBoxBase } from ".";
|
2
|
+
import { createItemPage, dialogBoxBase } from ".";
|
3
3
|
import utilities from "../support/helpers/utilities";
|
4
4
|
import { supportedFileType } from "../fixtures/uploadResponseFileType";
|
5
5
|
const css = Cypress.env('css');
|
@@ -106,6 +106,7 @@ const steps = {
|
|
106
106
|
...additionalSettingsPanel.steps,
|
107
107
|
...commonComponents.steps,
|
108
108
|
...autoScoredScoringPreviewTab.steps,
|
109
|
+
...createItemPage.steps,
|
109
110
|
|
110
111
|
/**
|
111
112
|
* @param {number} maxValue value of maximum number of files
|
@@ -366,6 +366,7 @@ const steps = {
|
|
366
366
|
.clear()
|
367
367
|
videoResponsePage.maxRecordingDurationInputField()
|
368
368
|
.type(recordingLength)
|
369
|
+
cy.wait(500) // Added this wait to ensure the default value updates correctly.
|
369
370
|
videoResponsePage.maxRecordingDurationInputField()
|
370
371
|
.blur();
|
371
372
|
cy.wait(1000)
|
@@ -396,6 +397,8 @@ const steps = {
|
|
396
397
|
clearMaximumRecordingDurationInputField: () => {
|
397
398
|
videoResponsePage.maxRecordingDurationInputField()
|
398
399
|
.clear()
|
400
|
+
cy.wait(500) // Added this wait to ensure the default value updates correctly.
|
401
|
+
videoResponsePage.maxRecordingDurationInputField()
|
399
402
|
.blur();
|
400
403
|
},
|
401
404
|
|