itemengine-cypress-automation 1.0.189-e2e-execution-crash-83cdbd4.0 → 1.0.190-repoUpdate3May-f180558.0
Sign up to get free protection for your applications and to get access to all the features.
- package/cypress/e2e/ILC/AudioPlayerNew/allSupportedFileTypes.js +79 -0
- package/cypress/e2e/ILC/AudioPlayerNew/barAudioPlayerStyle.js +647 -0
- package/cypress/e2e/ILC/AudioPlayerNew/compactAudioPlayerStyle.js +429 -0
- package/cypress/e2e/ILC/AudioPlayerNew/customizePlayerLayoutSettings.js +596 -0
- package/cypress/e2e/ILC/AudioPlayerNew/previewContents.smoke.js +162 -0
- package/cypress/e2e/ILC/AudioPlayerNew/standardAudioPlayerStyle.js +792 -0
- package/cypress/e2e/ILC/AudioPlayerNew/studentViewSettings.js +253 -0
- package/cypress/e2e/ILC/AudioPlayerNew/uploadAndAddAudioFile.js +313 -0
- package/cypress/e2e/ILC/AudioResponseNew/additionalSettingsBasic.js +1 -22
- package/cypress/e2e/ILC/AudioResponseNew/barRecorderStyle.smoke.js +1 -1
- package/cypress/e2e/ILC/AudioResponseNew/compactRecorderStyle.smoke.js +1 -1
- package/cypress/e2e/ILC/AudioResponseNew/standardRecorderStyle.smoke.js +1 -1
- package/cypress/e2e/ILC/AudioResponseNew/studentViewSettings.js +2 -11
- package/cypress/e2e/ILC/ChartsBar/previewContentsForAllViews.smoke.js +359 -0
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/clickAndDrop.js +1 -1
- package/cypress/e2e/ILC/DrawingResponse/drawingResponseGradingViewAndCorrectAnswerViewContents.smoke.js +6 -8
- package/cypress/e2e/ILC/EditTabSettingPage/itemPreviewSettingsTabFunctionality.js +417 -28
- package/cypress/e2e/ILC/EssayResponse/editCategoryFlyout.js +1 -1
- package/cypress/e2e/ILC/FeedbackScaleNew/headerSection.js +29 -1
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViews.smoke.js +2 -2
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/studentViewSettings.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/studentViewSettings.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/editTabScoring.js +1 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/previewContentsForAllViews.smoke.js +2 -2
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/studentViewSettings.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/studentViewSettings.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +4 -4
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/studentViewSettings.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +5 -5
- package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +3 -4
- package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsTextNew/headerSection.js +1 -0
- package/cypress/e2e/ILC/FillInTheGapsTextNew/studentViewSettings.js +1 -1
- package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +2 -2
- package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +2 -2
- package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +2 -2
- package/cypress/e2e/ILC/Graphing/addBackgroundShapesSection.js +2 -2
- package/cypress/e2e/ILC/Graphing/studentViewSettings.js +1 -1
- package/cypress/e2e/ILC/GridFill/checkAnswerFunctionalityForAllViews.smoke.js +3 -2
- package/cypress/e2e/ILC/GridFill/gridLayoutContents.js +11 -3
- package/cypress/e2e/ILC/GridFill/previewContentsForAllViews.smoke.js +3 -3
- package/cypress/e2e/ILC/GridFill/scoring/allOrNothingScoringCellShadeCount.js +2 -2
- package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountAllOrNothingCorrectPointsGreaterThanAlternativePoints.js +143 -0
- package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountPartialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +132 -0
- package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountPartialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +143 -0
- package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountPartialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +144 -0
- package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountallOrNothingCorrectPointsEqualToAlternativePoints.js +143 -0
- package/cypress/e2e/ILC/GridFill/scoring/cellshadeCountAllOrNothingAlternativePointsGreaterThanCorrectPoints.js +131 -0
- package/cypress/e2e/ILC/GridFill/scoring/matchExactAndCellShadeCountCombinedScoring.js +87 -0
- package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsCellShadeCountBasics.js +446 -0
- package/cypress/e2e/ILC/GridFill/studentViewSettingsSection.js +1 -1
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +194 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +195 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +274 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingPenaltyScoring.js +48 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/manuallyAndNonScored.js +144 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +252 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsBasic.js +102 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +256 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +253 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +308 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +225 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +151 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +196 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +227 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/additionalSettings.js +91 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +230 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/checkAnswerFunctionalityForAllViews.smoke.js +124 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/editTabBasicSection.js +221 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/editTabScoring.js +203 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/manuallyAndNonScoredEditTab.js +71 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/minimumScoringPenaltyPointsAndRoundingDropdown.js +197 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/previewContentsForAllViews.smoke.js +201 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/specifyCorrectAnswerSection.js +115 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/studentViewSettings.js +183 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +216 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +214 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +273 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingPenaltyScoring.js +52 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/manuallyAndNonScored.js +128 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +279 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsBasic.js +109 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +278 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +278 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +335 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +250 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsBasic.js +161 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +216 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +252 -0
- package/cypress/e2e/ILC/ListOrderingNew/additionalSettings.js +118 -0
- package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +243 -0
- package/cypress/e2e/ILC/ListOrderingNew/checkAnswerFunctionalityForAllViews.smoke.js +128 -0
- package/cypress/e2e/ILC/ListOrderingNew/editTabBasicSection.js +155 -0
- package/cypress/e2e/ILC/ListOrderingNew/editTabScoring.js +195 -0
- package/cypress/e2e/ILC/ListOrderingNew/headerSection.js +78 -0
- package/cypress/e2e/ILC/ListOrderingNew/manuallyAndNonScoredEditTab.js +69 -0
- package/cypress/e2e/ILC/ListOrderingNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +194 -0
- package/cypress/e2e/ILC/ListOrderingNew/previewContentsForAllViews.smoke.js +176 -0
- package/cypress/e2e/ILC/ListOrderingNew/specifyCorrectAnswerSection.js +112 -0
- package/cypress/e2e/ILC/ListOrderingNew/studentViewSettings.js +244 -0
- package/cypress/e2e/ILC/Matching/studentViewSettings.js +1 -1
- package/cypress/e2e/ILC/MultipleSelection/allOrNothingWithAlternativeAnswer.js +1 -0
- package/cypress/e2e/ILC/MultipleSelectionGridNew/studentViewSettings.js +1 -1
- package/cypress/e2e/ILC/NumberLine/LayoutSection.js +209 -0
- package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +1 -1
- package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +1 -1
- package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +4 -4
- package/cypress/e2e/ILC/NumberLine/Scoring/manualAndNonScoredScoring.js +1 -1
- package/cypress/e2e/ILC/NumberLine/Scoring/partialEqualWeightsBasic.js +1 -1
- package/cypress/e2e/ILC/NumberLine/Scoring/partialEqualWeightsWithAlternatePointsGreaterThanCorrectPoints.js +1 -1
- package/cypress/e2e/ILC/NumberLine/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternatePoints.js +1 -1
- package/cypress/e2e/ILC/NumberLine/Scoring/partialEqualWeigtsWithCorrectPointsEqualToAlternatePoints.js +1 -1
- package/cypress/e2e/ILC/NumberLine/allOrNothingScoringForAllViews.smoke.js +58 -2
- package/cypress/e2e/ILC/NumberLine/checkAnswerFunctionalityForAllViews.smoke.js +1 -1
- package/cypress/e2e/ILC/NumberLine/editTabScoringSection.js +1 -1
- package/cypress/e2e/ILC/NumberLine/gradingViewAndCorrectAnswerView.smoke.js +2 -2
- package/cypress/e2e/ILC/NumberLine/headerSection.js +1 -1
- package/cypress/e2e/ILC/NumberLine/lineSettingsSection.js +33 -0
- package/cypress/e2e/ILC/NumberLine/numberLineSection.js +50 -0
- package/cypress/e2e/ILC/NumberLine/previewTabContentsForAllViews.smoke.js +2 -2
- package/cypress/e2e/ILC/NumberLine/specifyCorrectAnswerSection.js +1 -1
- package/cypress/e2e/ILC/NumberLine/studentViewSettings.js +2 -2
- package/cypress/e2e/ILC/NumberLine/toolSettings.js +2 -1
- package/cypress/e2e/ILC/NumberLine/toolsAndControls.js +1 -1
- package/cypress/e2e/ILC/NumberLine/verticalNumberLine/allOrNothingScoringForAllViews.smoke.js +696 -0
- package/cypress/e2e/ILC/NumberLine/verticalNumberLine/gradingViewAndCorrectAnswerView.smoke.js +173 -0
- package/cypress/e2e/ILC/NumberLine/verticalNumberLine/layoutSection.js +211 -0
- package/cypress/e2e/ILC/NumberLine/verticalNumberLine/numberLineSection.js +75 -0
- package/cypress/e2e/ILC/NumberLine/verticalNumberLine/previewTabContentsForAllViews.smoke.js +204 -0
- package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +229 -0
- package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +229 -0
- package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +229 -0
- package/cypress/e2e/ILC/NumberLineLabel/Scoring/manualAndNonScoredScoring.js +169 -0
- package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +274 -0
- package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialDifferentWeightsBasic.js +433 -0
- package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +274 -0
- package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +274 -0
- package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +249 -0
- package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialEqualWeightsBasic.js +135 -0
- package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +210 -0
- package/cypress/e2e/ILC/NumberLineLabel/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +248 -0
- package/cypress/e2e/ILC/NumberLineLabel/additionalSettingsBasic.js +115 -0
- package/cypress/e2e/ILC/NumberLineLabel/allOrNothingForAllViews.smoke.js +288 -0
- package/cypress/e2e/ILC/NumberLineLabel/checkAnswerFunctionalityForAllViews.smoke.js +153 -0
- package/cypress/e2e/ILC/NumberLineLabel/editTabBasicSection.js +326 -0
- package/cypress/e2e/ILC/NumberLineLabel/editTabScoring.js +234 -0
- package/cypress/e2e/ILC/NumberLineLabel/gradingViewAndCorrectAnswerView.smoke.js +164 -0
- package/cypress/e2e/ILC/NumberLineLabel/headerSection.js +80 -0
- package/cypress/e2e/ILC/NumberLineLabel/layoutSection.js +204 -0
- package/cypress/e2e/ILC/NumberLineLabel/manuallyAndNonScoredEditTab.js +79 -0
- package/cypress/e2e/ILC/NumberLineLabel/minimumScoringPenaltyPointsAndRoundingDropdown.js +85 -0
- package/cypress/e2e/ILC/NumberLineLabel/numberLineSection.js +51 -0
- package/cypress/e2e/ILC/NumberLineLabel/previewContentsForAllViews.smoke.js +120 -0
- package/cypress/e2e/ILC/NumberLineLabel/specifyCorrectAnswerSection.js +74 -0
- package/cypress/e2e/ILC/NumberLineLabel/studentViewSettings.js +183 -0
- package/cypress/e2e/ILC/NumberLineLabel/toolSettings.js +76 -0
- package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/allOrNothingForAllViews.smoke.js +292 -0
- package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/checkAnswerFunctionalityForAllViews.smoke.js +155 -0
- package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/gradingViewAndCorrectAnswerView.smoke.js +166 -0
- package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/layoutSection.js +360 -0
- package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/numberLineSection.js +80 -0
- package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/previewContentsForAllViews.smoke.js +111 -0
- package/cypress/e2e/ILC/Protractor/protractorPreviewContents.smoke.js +1 -1
- package/cypress/e2e/ILC/ReadingRuler/readingRulerEditTabBasicsSection.js +49 -1
- package/cypress/e2e/ILC/ShortTextResponseNew/studentViewSettings.js +1 -1
- package/cypress/e2e/ILC/SingleSelectionGridNew/studentViewSettings.js +1 -1
- package/cypress/e2e/ILC/TextEntryMath/responseEvaluationMethodsAndCustomSettings.js +2 -2
- package/cypress/e2e/ILC/TextSelection/Scoring/allOrNothingAlternatePointsMoreThanCorrectPoints.js +0 -1
- package/cypress/e2e/ILC/TextSelection/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +0 -1
- package/cypress/e2e/ILC/TextSelection/Scoring/allOrNothingCorrectPointsMoreThanAlternatePoints.js +0 -1
- package/cypress/e2e/ILC/TextSelection/Scoring/basicScoringForAllTextSelectionTypes.smoke.js +0 -1
- package/cypress/e2e/ILC/TextSelection/additionalSettings.js +125 -0
- package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +0 -1
- package/cypress/e2e/ILC/TextSelection/checkAnswerFunctionalityForAllViews.smoke.js +2 -2
- package/cypress/e2e/ILC/TextSelection/editTabScoringSection.js +5 -4
- package/cypress/e2e/ILC/TextSelection/headerSection.js +73 -0
- package/cypress/e2e/ILC/TextSelection/previewContentsForAllViews.smoke.js +6 -7
- package/cypress/e2e/ILC/TextSelection/questionInstructionsAndQuestion.js +179 -0
- package/cypress/e2e/ILC/TextSelection/specifyCorrectAnswerSection.js +89 -0
- package/cypress/e2e/ILC/TextSelection/studentViewSettings.js +436 -0
- package/cypress/e2e/ILC/TextSelection/styleAndLayoutCustomizationAccordion.js +277 -0
- package/cypress/e2e/ILC/TextSelection/textSelectionModesInPreviewTab.js +222 -0
- package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyCorrectAnswerSection.js +260 -0
- package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyPossibleOptionsSection.js +380 -0
- package/cypress/e2e/ILC/ToolSettings/toolSettingsContent.js +5 -5
- package/cypress/e2e/ILC/ToolSettings/toolSettingsPreviewContents.smoke.js +3 -3
- package/cypress/e2e/ILC/VideoResponseNew/additionalSettingsBasic.js +77 -0
- package/cypress/e2e/ILC/VideoResponseNew/customizePlaybackControls.js +313 -0
- package/cypress/e2e/ILC/VideoResponseNew/editAndPreviewTabScoringSection.js +99 -0
- package/cypress/e2e/ILC/VideoResponseNew/editTabBasicSection.js +171 -0
- package/cypress/e2e/ILC/VideoResponseNew/gradingViewAndCorrectAnswerViewContents.smoke.js +179 -0
- package/cypress/e2e/ILC/VideoResponseNew/headerSection.js +79 -0
- package/cypress/e2e/ILC/VideoResponseNew/previewContentsForAllViews.smoke.js +201 -0
- package/cypress/e2e/ILC/VideoResponseNew/standardRecorderStyle.js +567 -0
- package/cypress/e2e/ILC/VideoResponseNew/studentViewSettings.js +194 -0
- package/cypress/fixtures/constants.js +1 -1
- package/cypress/fixtures/drawingToolbarOptionsAdditionalOptionsAndSpecialAndMathCharacters.js +1 -1
- package/cypress/fixtures/equationEditorCategoriesAndSymbols .js +20 -20
- package/cypress/fixtures/theme/ilc.json +22 -18
- package/cypress/pages/audioPlayerPage.js +668 -446
- package/cypress/pages/audioResponsePage.js +8 -80
- package/cypress/pages/brainingCampManipulativePage.js +1 -1
- package/cypress/pages/chartsBarPage.js +231 -0
- package/cypress/pages/chartsDotPlotPage.js +8 -0
- package/cypress/pages/chartsLinePage.js +42 -0
- package/cypress/pages/components/allowTeachersToDownloadStudentResponseComponent.js +58 -0
- package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +13 -23
- package/cypress/pages/components/autoScoredStudentViewSettings.js +6 -6
- package/cypress/pages/components/barAndLineChartComponent.js +120 -0
- package/cypress/pages/components/chartsCommonComponent.js +105 -0
- package/cypress/pages/components/commonComponents.js +1 -0
- package/cypress/pages/components/draggableOptionContainer.js +2 -1
- package/cypress/pages/components/equationEditorFlyout.js +3 -2
- package/cypress/pages/components/essayResponseCommonComponents.js +8 -2
- package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +1 -0
- package/cypress/pages/components/imageCanvasComponent.js +2 -1
- package/cypress/pages/components/index.js +7 -0
- package/cypress/pages/components/layoutSectionComponent.js +1156 -0
- package/cypress/pages/components/limitNumberOfRetakeComponent.js +90 -0
- package/cypress/pages/components/numberLineCommonComponent.js +685 -0
- package/cypress/pages/components/optionsWrapperComponent.js +13 -2
- package/cypress/pages/components/playbackControlsBaseComponent.js +20 -13
- package/cypress/pages/components/questionInstructionsComponent.js +3 -19
- package/cypress/pages/components/styleAndLayoutCustomizationAccordionComponent.js +46 -0
- package/cypress/pages/components/toolSettingsComponent.js +6 -0
- package/cypress/pages/contentBlocksPage.js +18 -2
- package/cypress/pages/createItemPage.js +75 -8
- package/cypress/pages/dialogBoxBase.js +2 -2
- package/cypress/pages/drawingResponsePage.js +24 -4
- package/cypress/pages/feedbackScalePage.js +3 -0
- package/cypress/pages/graphingPage.js +19 -1
- package/cypress/pages/gridFillPage.js +47 -59
- package/cypress/pages/index.js +5 -1
- package/cypress/pages/itemPreviewSettingsPage.js +4 -0
- package/cypress/pages/listOrderingPage.js +561 -555
- package/cypress/pages/matchingPage.js +1 -1
- package/cypress/pages/multipleSelectionPage.js +23 -1
- package/cypress/pages/numberLineLabelPage.js +1086 -0
- package/cypress/pages/numberLinePage.js +696 -78
- package/cypress/pages/rulerPage.js +6 -2
- package/cypress/pages/textSelectionPage.js +461 -23
- package/cypress/pages/videoResponsePage.js +393 -81
- package/package.json +1 -1
@@ -1,405 +1,300 @@
|
|
1
1
|
import constants from "../fixtures/constants";
|
2
2
|
import utilities from "../support/helpers/utilities";
|
3
|
-
import {
|
4
|
-
|
5
|
-
import { listSortingAndOrderingBase } from "./components/listSortingAndOrderingBase";
|
6
|
-
import { setPointsPopupBase } from "./components/setPointsPopupBase";
|
7
|
-
import { studentResponseAndLayoutComponent } from "./components/studentResponseAreaAndLayoutComponent";
|
3
|
+
import { autoScoredScoringPreviewTab, autoScoredScoringSectionMultiResponseType, autoScoredSpecifyCorrectAnswerSection, autoScoredStudentViewSettings, commonComponents, correctIncorrectAnswerLabelComponent, createQuestionBasePage, optionsWrapperComponent, questionInstructionsComponent, randomizeOptionsComponent, scoringSectionBaseEditTab, studentViewSettingsLabelComponent, additionalSettingsPanel, additionalSettingsAccessibilitySectionComponent } from "./components"
|
4
|
+
const options = ['sprout', 'plant', 'flower', 'seed'];
|
8
5
|
const css = Cypress.env('css');
|
9
6
|
|
10
7
|
const selectors = {
|
11
|
-
...commonComponents,
|
12
8
|
...optionsWrapperComponent,
|
13
|
-
...scoringSectionBase,
|
14
|
-
...autoScoredScoringSectionMultipleResponsesType,
|
15
|
-
...autoScoredSetCorrectAnswerSection,
|
16
|
-
...autoScoredAdditionalSettings,
|
17
|
-
...previewScoringAndShowCorrectAnswerComponent,
|
18
|
-
...autoScoredPreviewBase,
|
19
|
-
...additionalSettingsPanel,
|
20
9
|
...questionInstructionsComponent,
|
21
|
-
...
|
22
|
-
...
|
23
|
-
...
|
24
|
-
|
25
|
-
|
26
|
-
|
10
|
+
...commonComponents,
|
11
|
+
...autoScoredScoringSectionMultiResponseType,
|
12
|
+
...randomizeOptionsComponent,
|
13
|
+
...autoScoredScoringPreviewTab,
|
14
|
+
...additionalSettingsPanel,
|
15
|
+
...correctIncorrectAnswerLabelComponent,
|
16
|
+
...autoScoredSpecifyCorrectAnswerSection,
|
17
|
+
//Specify correct answer section
|
18
|
+
optionSpecifyCorrectAnswerSection: () => cy.get('.list-ordering-set-correct-answer .draggable-item-wrapper[role="button"]'),
|
19
|
+
optionWrapperSpecifyCorrectAnswerSection: () => cy.get('[class*="ListOrderingResponsestyles__DroppableWrapper"]'),
|
20
|
+
partialDifferentWeightsPointsLabel: () => cy.get('.partial-points-per-response-label'),
|
21
|
+
pointsPerResponseValue: () => cy.get('.alternate-points-points-per-value-span'),
|
22
|
+
//Student view settings
|
23
|
+
enableOuterBorderForQuestionLabel: () => cy.get('[data-ngie-testid*="enable-outer-border-for-question-checkbox"] .MuiFormControlLabel-label'),
|
24
|
+
enableOuterBorderForQuestionCheckbox: () => cy.get('[data-ngie-testid*="enable-outer-border-for-question-checkbox"] input'),
|
27
25
|
//Preview Tab
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
26
|
+
optionPreviewTab: () => cy.get('[class*="question-preview-wrapper"] .draggable-item-wrapper[role="button"]'),
|
27
|
+
optionWrapperPreviewTab: () => cy.get('[class*="question-preview-wrapper"] .orderlist-option-wrapper'),
|
28
|
+
correctAnswersLabel: () => cy.get('.check-answer-and-status-wrapper [class*="CorrectAnswerLabel"]'),
|
29
|
+
correctAnswerSectionAnswerWrapper: () => cy.get('[class*="CorrectAnswers"] [class*="__OptionsWrapper"]'),
|
30
|
+
correctAnswerSectionWrapper: () => cy.get('[class*="ListOrderingResponsestyles__CorrectAnswers"]'),
|
31
|
+
correctAnswerSectionAnswerText: () => cy.get('.question-text-wrapper'),
|
32
|
+
questionBorderPreviewTab: () => cy.get('[class*="ListOrderingResponsestyles__DroppableDiv"]'),
|
33
|
+
//grading view and correct answer view
|
34
|
+
optionGradingView: () => cy.get('[class*="DraggableItemsWrapper"] [class*="OptionTextWrapper"]'),
|
35
|
+
optionWrapperGradingView: () => cy.get('[class*="DraggableItemsWrapper"] [class*="OptionsWrapper"]'),
|
36
|
+
//Orientation and layout
|
37
|
+
orderingLayoutLabel: () => cy.get('.list-ordering-order-layout .options-label'),
|
38
|
+
reorderInTheSameListButton: () => cy.get('[data-ngie-testid="reorder-in-the-same-list-toggle-button"]'),
|
39
|
+
reorderAsSeparateListButton: () => cy.get('[data-ngie-testid="reorder-as-a-separate-list-toggle-button"]'),
|
40
|
+
dropdownMenuButton: () => cy.get('[data-ngie-testid="dropdown-menu-toggle-button"]'),
|
41
|
+
optionOrientationLabel: () => cy.get('.option-orientation-toggle-button-wrapper .options-label'),
|
42
|
+
verticalButton: () => cy.get('button[aria-label*="Vertical"]'),
|
43
|
+
horizontalButton: () => cy.get('button[aria-label*="Horizontal"]'),
|
44
|
+
|
45
|
+
//Dropdown menu selectors
|
46
|
+
dropdownMenuOptionsDropdown: () => cy.get('#Dropdown-menu-options-select'),
|
47
|
+
dropdownMenuOptionsDropdownLabel: () => cy.get('#Dropdown-menu-options-dropdown-label'),
|
48
|
+
dropdownMenuListOptions: (ariaLabel = null) => {
|
49
|
+
if (ariaLabel) {
|
50
|
+
return cy.get(`[aria-labelledby*="Dropdown-menu-options-dropdown-label"] [role="option"][aria-label*="${ariaLabel}"]`)
|
51
|
+
} else {
|
52
|
+
return cy.get('[aria-labelledby*="Dropdown-menu-options-dropdown-label"] [role="option"]')
|
53
|
+
}
|
54
|
+
},
|
55
|
+
dropdownOptionWrapperSpecifyCorrectAnswerSection: () => cy.get('.dropdown-menu-wrapper [class*="DropdownLayoutstyles__OptionsWrapper"]'),
|
56
|
+
positionDropdownSpecifyCorrectAnswerSection: () => cy.get('.response-dropdown-wrapper [role="combobox"]'),
|
57
|
+
positionDropdownListOption: (ariaLabel = null) => {
|
58
|
+
if (ariaLabel) {
|
59
|
+
return cy.get(`[aria-labelledby*="-dropdown-label"] [role="option"][aria-label*="${ariaLabel}"]`)
|
60
|
+
} else {
|
61
|
+
return cy.get('[aria-labelledby*="-dropdown-label"] [role="option"]')
|
62
|
+
}
|
63
|
+
},
|
64
|
+
dropdownSelectedOptionLabel: () => cy.get('.dropdown-label-text'),
|
65
|
+
dropdownOptionWrapperGradingView: () => cy.get('[class*="DropdownLayoutstyles__OptionsWrapper"]'),
|
66
|
+
dropdownWrapperPreviewTab: () => cy.get('[class*="ListOrderingResponsestyles__DroppableDiv"] [class*="DropdownLayoutstyles__ResponseWrapper"]'),
|
67
|
+
dropdownOptionWrapperPreviewTab: () => cy.get('[class*="DropdownLayoutstyles__OptionsWrapper"]'),
|
68
|
+
positionDropdownPreviewTab: () => cy.get('[class*="question-preview-wrapper"] .response-dropdown-wrapper [role="combobox"]'),
|
69
|
+
positionDropdownCorrectAnswerSection: () => cy.get('[class*="ListOrderingResponsestyles__CorrectAnswers"] .response-dropdown-wrapper [role="combobox"]'),
|
70
|
+
dropdownWrapperCorrectAnswerSection: () => cy.get('[class*="ListOrderingResponsestyles__CorrectAnswers"] [class*="DropdownLayoutstyles__ResponseWrapper"]'),
|
71
|
+
alertMessage: () => cy.get('[class*="ListOrderingResponsestyles__DisabledWrapper"]')
|
47
72
|
}
|
48
73
|
|
49
74
|
const steps = {
|
50
75
|
...createQuestionBasePage.steps,
|
51
76
|
...questionInstructionsComponent.steps,
|
52
|
-
...
|
53
|
-
...autoScoredSetCorrectAnswerSection.steps,
|
54
|
-
...commonComponents.steps,
|
77
|
+
...scoringSectionBaseEditTab.steps,
|
55
78
|
...optionsWrapperComponent.steps,
|
56
|
-
...
|
57
|
-
...
|
58
|
-
...
|
79
|
+
...autoScoredScoringPreviewTab.steps,
|
80
|
+
...correctIncorrectAnswerLabelComponent.steps,
|
81
|
+
...autoScoredStudentViewSettings.steps,
|
82
|
+
...autoScoredScoringSectionMultiResponseType.steps,
|
83
|
+
...autoScoredSpecifyCorrectAnswerSection.steps,
|
84
|
+
...randomizeOptionsComponent.steps,
|
85
|
+
...commonComponents.steps,
|
59
86
|
...additionalSettingsPanel.steps,
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
listOrderingPage.setCorrectAnswerSectionOption()
|
73
|
-
.eq(index)
|
74
|
-
.within(() => {
|
75
|
-
listOrderingPage.dragHandleButton()
|
76
|
-
.should('exist');
|
77
|
-
});
|
87
|
+
/**
|
88
|
+
* @param {string} optionsText text content of the option
|
89
|
+
* @param {number} targetIndex the position at which the options is being dropped
|
90
|
+
* @description click and drop a option into a position in the specify correct answer section
|
91
|
+
*/
|
92
|
+
clickAndReorderOptionInSpecifyCorrectAnswerSection: (optionsText, targetIndex) => {
|
93
|
+
listOrderingPage.optionSpecifyCorrectAnswerSection()
|
94
|
+
.contains(optionsText)
|
95
|
+
.click();
|
96
|
+
listOrderingPage.optionSpecifyCorrectAnswerSection()
|
97
|
+
.eq(targetIndex)
|
98
|
+
.click();
|
78
99
|
},
|
79
100
|
|
80
101
|
/**
|
81
|
-
* @param {string
|
82
|
-
* @
|
102
|
+
* @param {string} optionsText text content of the option
|
103
|
+
* @param {number} targetIndex the position at which the options is being dropped
|
104
|
+
* @description click and drop a option into a position in the preview tab
|
83
105
|
*/
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
106
|
+
clickAndReorderOptionInPreviewTab: (optionsText, targetIndex) => {
|
107
|
+
listOrderingPage.optionPreviewTab()
|
108
|
+
.contains(optionsText)
|
109
|
+
.click();
|
110
|
+
listOrderingPage.optionPreviewTab()
|
111
|
+
.eq(targetIndex)
|
112
|
+
.click();
|
90
113
|
},
|
91
114
|
|
92
115
|
/**
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
listOrderingPage.
|
98
|
-
.eq(
|
116
|
+
* @description Verifies that the image in the Preview tab has the correct source and alt text.
|
117
|
+
* @param {number} optionIndex - The index of the option in the Preview tab.
|
118
|
+
*/
|
119
|
+
verifyOptionWithImageInPreviewTab: (optionIndex) => {
|
120
|
+
listOrderingPage.optionWrapperPreviewTab()
|
121
|
+
.eq(optionIndex)
|
99
122
|
.find('img')
|
100
123
|
.should('have.attr', 'src', constants.foxImageLink)
|
101
124
|
.and('have.attr', 'alt', constants.foxImageAltText);
|
102
125
|
},
|
103
126
|
|
104
127
|
/**
|
105
|
-
* @
|
106
|
-
* @
|
128
|
+
* @description Verifies that the bold text in the Preview tab is correct.
|
129
|
+
* @param {number} optionIndex - The index of the option in the Preview tab.
|
107
130
|
*/
|
108
|
-
|
109
|
-
listOrderingPage.
|
110
|
-
.eq(
|
111
|
-
.
|
112
|
-
|
113
|
-
.find('[role="math"]')
|
114
|
-
.should('have.attr', 'aria-label', constants.CKEditorInputFieldEnteredEquationAriaLabel)
|
131
|
+
verifyOptionWithBoldTextInPreviewTab: (optionIndex) => {
|
132
|
+
listOrderingPage.optionWrapperPreviewTab()
|
133
|
+
.eq(optionIndex)
|
134
|
+
.find('strong')
|
135
|
+
.should('have.text', 'This is a bold option');
|
115
136
|
},
|
116
137
|
|
117
138
|
/**
|
118
|
-
* @
|
119
|
-
* @
|
139
|
+
* @description Verifies that the equation text in the Preview tab is correct.
|
140
|
+
* @param {number} optionIndex - The index of the option in the Preview tab.
|
120
141
|
*/
|
121
|
-
|
122
|
-
listOrderingPage.
|
123
|
-
.eq(
|
124
|
-
.
|
125
|
-
.
|
126
|
-
.
|
142
|
+
verifyOptionWithEquationTextInPreviewTab: (optionIndex) => {
|
143
|
+
listOrderingPage.optionWrapperPreviewTab()
|
144
|
+
.eq(optionIndex)
|
145
|
+
.find('[role="math"]')
|
146
|
+
.should('have.attr', 'aria-label', constants.CKEditorInputFieldEnteredEquationAriaLabel)
|
147
|
+
.contains(constants.CKEditorInputFieldEnteredEquationText);
|
127
148
|
},
|
128
149
|
|
129
150
|
/**
|
130
|
-
* @param {
|
131
|
-
* @description this function
|
151
|
+
* @param {string[]} optionsTextArray options array for preview tab options
|
152
|
+
* @description this function verifies options text content
|
132
153
|
*/
|
133
|
-
|
134
|
-
listOrderingPage.
|
135
|
-
.eq(index)
|
136
|
-
.find('strong')
|
137
|
-
.eq(0)
|
138
|
-
.should('have.text', 'This is a bold option');
|
139
|
-
},
|
140
|
-
|
141
|
-
verifyDefaultAndActiveStateOfOptionInSetCorrectAnswerSection: () => {
|
142
|
-
listOrderingPage.setCorrectAnswerSectionOption()
|
143
|
-
.eq(0)
|
144
|
-
.realHover()
|
145
|
-
.should('have.css', 'border', `2px solid ${css.color.activeButtons}`)
|
146
|
-
.find('.question-text-wrapper')
|
147
|
-
.and('have.css', 'color', css.color.activeButtons);
|
148
|
-
listOrderingPage.setCorrectAnswerSectionOption()
|
149
|
-
.eq(0)
|
150
|
-
.realHover({ position: 'topLeft' })
|
151
|
-
.should('have.css', 'border', `1px solid ${css.color.figDefaultComponentBorder}`)
|
152
|
-
.find('.question-text-wrapper')
|
153
|
-
.and('have.css', 'color', css.color.text)
|
154
|
+
verifyTextContentOfOptionInPreviewTab: (optionsText, index) => {
|
155
|
+
utilities.verifyTextContent(utilities.getNthElement(listOrderingPage.optionPreviewTab(), index), optionsText);
|
154
156
|
},
|
155
157
|
|
156
158
|
/**
|
157
|
-
*
|
158
|
-
* @
|
159
|
-
* @param {number} index the position at which the options is being dropped
|
160
|
-
* @description click and drop a option into a position in the set correct answer section
|
159
|
+
* @param {string[]} optionsTextArray options array for set correct answer options
|
160
|
+
* @description this function verifies options text content
|
161
161
|
*/
|
162
|
-
|
163
|
-
listOrderingPage.
|
164
|
-
.contains(optionsText)
|
165
|
-
.click();
|
166
|
-
listOrderingPage.setCorrectAnswerSectionOption()
|
167
|
-
.eq(index)
|
168
|
-
.click();
|
162
|
+
verifyTextContentOfOptionInSpecifyCorrectAnswerSection: (optionsText, index) => {
|
163
|
+
utilities.verifyTextContent(utilities.getNthElement(listOrderingPage.optionSpecifyCorrectAnswerSection(), index), optionsText);
|
169
164
|
},
|
170
165
|
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
166
|
+
/**
|
167
|
+
* @param {string} optionsText option to be checked for the correct icon
|
168
|
+
* @description This function verifies the correct icon in the preview tab
|
169
|
+
*/
|
170
|
+
verifyCorrectOptionIcon: (optionsText) => {
|
171
|
+
listOrderingPage.optionWrapperPreviewTab()
|
172
|
+
.contains(optionsText)
|
173
|
+
.parents('.orderlist-option-wrapper')
|
174
|
+
.within(() => {
|
175
|
+
utilities.verifyElementVisibilityState(autoScoredScoringPreviewTab.correctIcon(), 'exist');
|
176
|
+
});
|
175
177
|
},
|
176
178
|
|
177
|
-
//Preview tab
|
178
179
|
/**
|
179
|
-
* @param {
|
180
|
-
* @description
|
180
|
+
* @param {string} optionsText option to be checked for the correct icon
|
181
|
+
* @description This function verifies the correct icon in the preview tab
|
181
182
|
*/
|
182
|
-
|
183
|
-
listOrderingPage.
|
184
|
-
.
|
183
|
+
verifyIncorrectOptionIcon: (optionsText) => {
|
184
|
+
listOrderingPage.optionWrapperPreviewTab()
|
185
|
+
.contains(optionsText)
|
186
|
+
.parents('.orderlist-option-wrapper')
|
185
187
|
.within(() => {
|
186
|
-
|
187
|
-
.should('exist');
|
188
|
+
utilities.verifyElementVisibilityState(autoScoredScoringPreviewTab.incorrectIcon(), 'exist');
|
188
189
|
});
|
189
190
|
},
|
190
191
|
|
192
|
+
verifyCorrectAnswerSectionNotExists: () => {
|
193
|
+
utilities.verifyElementVisibilityState(listOrderingPage.correctAnswersLabel(), 'notExist');
|
194
|
+
utilities.verifyElementVisibilityState(listOrderingPage.correctAnswerSectionAnswerWrapper(), 'notExist');
|
195
|
+
},
|
196
|
+
|
191
197
|
/**
|
192
|
-
* @param {string[]} optionsTextArray options
|
193
|
-
* @description this function verifies options
|
198
|
+
* @param {string[]} optionsTextArray array of options in the correct answer section
|
199
|
+
* @description this function verifies the correct order of options in correct answer section
|
194
200
|
*/
|
195
|
-
|
201
|
+
verifyOptionsInCorrectAnswerSection: (optionsTextArray) => {
|
196
202
|
optionsTextArray.forEach((optionsText, index) => {
|
197
|
-
listOrderingPage.
|
198
|
-
.
|
199
|
-
|
203
|
+
utilities.getNthElement(listOrderingPage.correctAnswerSectionAnswerWrapper(), index)
|
204
|
+
.within(() => {
|
205
|
+
utilities.verifyTextContent(listOrderingPage.correctAnswerSectionAnswerText(), optionsText);
|
206
|
+
});
|
200
207
|
});
|
201
208
|
},
|
202
209
|
|
203
210
|
/**
|
204
|
-
* @
|
205
|
-
* @
|
211
|
+
* @description Verifies that the image in the Preview tab has the correct source and alt text.
|
212
|
+
* @param {number} optionIndex - The index of the option in the Preview tab.
|
206
213
|
*/
|
207
|
-
|
208
|
-
listOrderingPage.
|
209
|
-
.eq(
|
214
|
+
verifyOptionWithImageInGradingView: (optionIndex) => {
|
215
|
+
listOrderingPage.optionGradingView()
|
216
|
+
.eq(optionIndex)
|
210
217
|
.find('img')
|
211
218
|
.should('have.attr', 'src', constants.foxImageLink)
|
212
219
|
.and('have.attr', 'alt', constants.foxImageAltText);
|
213
220
|
},
|
214
221
|
|
215
222
|
/**
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
listOrderingPage.
|
221
|
-
.eq(
|
222
|
-
.contains(constants.CKEditorInputFieldEnteredEquationText)
|
223
|
-
listOrderingPage.previewTabOption()
|
224
|
-
.find('[role="math"]')
|
225
|
-
.should('have.attr', 'aria-label', constants.CKEditorInputFieldEnteredEquationAriaLabel)
|
226
|
-
},
|
227
|
-
|
228
|
-
/**
|
229
|
-
* @param {number} index of option
|
230
|
-
* @description this function verifies link in preview tab options
|
231
|
-
*/
|
232
|
-
verifyLinkAddedToOptionInPreviewTab: (index) => {
|
233
|
-
listOrderingPage.previewTabOption()
|
234
|
-
.eq(index)
|
235
|
-
.should('have.text', 'lorem')
|
236
|
-
.find('a')
|
237
|
-
.should('have.attr', 'href', `${Cypress.config().baseUrl}`)
|
238
|
-
},
|
239
|
-
|
240
|
-
/**
|
241
|
-
* @param {number} index of option
|
242
|
-
* @description this function verifies bold text in preview tab options
|
243
|
-
*/
|
244
|
-
verifyBoldTextAddedToOptionInPreviewTab: (index) => {
|
245
|
-
listOrderingPage.previewTabOption()
|
246
|
-
.eq(index)
|
223
|
+
* @description Verifies that the bold text in the Preview tab is correct.
|
224
|
+
* @param {number} optionIndex - The index of the option in the Preview tab.
|
225
|
+
*/
|
226
|
+
verifyOptionWithBoldTextInGradingView: (optionIndex) => {
|
227
|
+
listOrderingPage.optionGradingView()
|
228
|
+
.eq(optionIndex)
|
247
229
|
.find('strong')
|
248
|
-
.should('
|
249
|
-
.should('have.text', 'This is a bold option')
|
250
|
-
},
|
251
|
-
|
252
|
-
verifyDefaultAndActiveStateOfOptionInPreviewTab: () => {
|
253
|
-
listOrderingPage.previewTabOption()
|
254
|
-
.eq(0)
|
255
|
-
.realHover()
|
256
|
-
.should('have.css', 'border', `2px solid ${css.color.activeButtons}`)
|
257
|
-
.find('.question-text-wrapper')
|
258
|
-
.and('have.css', 'color', css.color.activeButtons);
|
259
|
-
listOrderingPage.previewTabOption()
|
260
|
-
.eq(0)
|
261
|
-
.realHover({ position: 'topLeft' })
|
262
|
-
.should('have.css', 'border', `1px solid ${css.color.figDefaultComponentBorder}`)
|
263
|
-
.find('.question-text-wrapper')
|
264
|
-
.and('have.css', 'color', css.color.text)
|
265
|
-
},
|
266
|
-
|
267
|
-
//Scoring
|
268
|
-
/**
|
269
|
-
* @param {number} points the points to be displayed in the partial equal weights points field
|
270
|
-
* @description this function checks the points per response in partial equal weights
|
271
|
-
*/
|
272
|
-
verifyPartialEqualWeightsPointsPerResponseScore: (points) => {
|
273
|
-
listOrderingPage.partialEqualWeightsPointsPerResponseScore()
|
274
|
-
.each(($element) => {
|
275
|
-
cy.wrap($element)
|
276
|
-
.verifyInnerText(points);
|
277
|
-
});
|
230
|
+
.should('have.text', 'This is a bold option');
|
278
231
|
},
|
279
232
|
|
280
233
|
/**
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
});
|
234
|
+
* @description Verifies that the equation text in the Preview tab is correct.
|
235
|
+
* @param {number} optionIndex - The index of the option in the Preview tab.
|
236
|
+
*/
|
237
|
+
verifyOptionWithEquationTextInGradingView: (optionIndex) => {
|
238
|
+
listOrderingPage.optionGradingView()
|
239
|
+
.eq(optionIndex)
|
240
|
+
.find('[role="math"]')
|
241
|
+
.should('have.attr', 'aria-label', constants.CKEditorInputFieldEnteredEquationAriaLabel)
|
242
|
+
.contains(constants.CKEditorInputFieldEnteredEquationText);
|
291
243
|
},
|
292
244
|
|
293
245
|
/**
|
294
|
-
* @param {
|
295
|
-
* @description this function
|
246
|
+
* @param {string[]} optionsTextArray options array for set correct answer option
|
247
|
+
* @description this function verifies options text content
|
296
248
|
*/
|
297
|
-
|
298
|
-
|
299
|
-
listOrderingPage.partialDifferentWeightsPointsInputField()
|
300
|
-
.eq(columnIndex)
|
301
|
-
.clear()
|
302
|
-
.type(points, { delay: 0 })
|
303
|
-
.should('have.value', points);
|
304
|
-
});
|
305
|
-
},
|
306
|
-
|
307
|
-
verifyPartialDifferentWeightsPointsPerResponseLabel: () => {
|
308
|
-
listOrderingPage.partialDifferentWeightsPointsPerResponseLabel()
|
309
|
-
.verifyInnerText('Points per response')
|
310
|
-
.should('be.visible');
|
311
|
-
},
|
312
|
-
|
313
|
-
verifyPointsPerResponseLabel: () => {
|
314
|
-
listOrderingPage.pointsPerResponseLabel()
|
315
|
-
.verifyInnerText('Points per response')
|
316
|
-
.should('be.visible');
|
249
|
+
verifyTextContentOfOptionInGradingView: (optionsText, index) => {
|
250
|
+
utilities.verifyTextContent(utilities.getNthElement(listOrderingPage.optionGradingView(), index), optionsText);
|
317
251
|
},
|
318
252
|
|
319
253
|
/**
|
320
|
-
*
|
321
254
|
* @param {string} optionsText text content of the option
|
322
255
|
* @param {number} index the position at which the options is being dropped
|
323
256
|
* @description click and drop a option into a position in the set correct answer section
|
324
257
|
*/
|
325
|
-
|
326
|
-
listOrderingPage.
|
258
|
+
clickAndReorderOptionInGradingView: (optionsText, index) => {
|
259
|
+
listOrderingPage.optionGradingView()
|
327
260
|
.contains(optionsText)
|
328
261
|
.click();
|
329
|
-
listOrderingPage.
|
262
|
+
listOrderingPage.optionGradingView()
|
330
263
|
.eq(index)
|
331
264
|
.click();
|
332
265
|
},
|
333
266
|
|
334
267
|
/**
|
335
|
-
*
|
336
|
-
* @param {string[]}
|
337
|
-
* @description this function resets the question preview
|
268
|
+
* Verifies the order of options in the "Specify Correct Answer" section.
|
269
|
+
* @param {string[]} optionsTextArray - An array containing the text of options in the expected order.
|
338
270
|
*/
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
listOrderingPage.steps.verifyTextContentOfOptionsInPreviewTab(optionsArray);
|
343
|
-
},
|
344
|
-
|
345
|
-
/**
|
346
|
-
* @param {string[]} numerationArray array of numeration numbers, lowercase, uppercase
|
347
|
-
* @description this function verifies the numeration of options
|
348
|
-
*/
|
349
|
-
verifyOptionsNumeration: (numerationArray) => {
|
350
|
-
numerationArray.forEach((optionNumeration, index) => {
|
351
|
-
listOrderingPage.previewTabOption()
|
352
|
-
.eq(index)
|
353
|
-
.within(() => {
|
354
|
-
listOrderingPage.optionNumeration()
|
355
|
-
.should('have.text', optionNumeration);
|
356
|
-
});
|
271
|
+
verifyOptionsOrderInSpecifyCorrectAnswerSection: (optionsTextArray) => {
|
272
|
+
optionsTextArray.forEach((option, index) => {
|
273
|
+
utilities.verifyTextContent(utilities.getNthElement(listOrderingPage.optionSpecifyCorrectAnswerSection(), index), option);
|
357
274
|
});
|
358
275
|
},
|
359
276
|
|
360
277
|
/**
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
.
|
367
|
-
|
368
|
-
.within(() => {
|
369
|
-
autoScoredPreviewBase.correctIcon()
|
370
|
-
.and('be.visible');
|
371
|
-
});
|
278
|
+
* Verifies the order of options in the preview tab
|
279
|
+
* @param {string[]} optionsTextArray - An array containing the text of options in the expected order.
|
280
|
+
*/
|
281
|
+
verifyOptionsOrderInPreviewTab: (optionsTextArray) => {
|
282
|
+
optionsTextArray.forEach((option, index) => {
|
283
|
+
utilities.verifyTextContent(utilities.getNthElement(listOrderingPage.optionPreviewTab(), index), option);
|
284
|
+
});
|
372
285
|
},
|
373
286
|
|
374
287
|
/**
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
listOrderingPage.
|
380
|
-
.contains(optionsText)
|
381
|
-
.parents('.orderlist-option-wrapper')
|
382
|
-
.within(() => {
|
383
|
-
autoScoredPreviewBase.incorrectIcon()
|
384
|
-
.and('be.visible');
|
385
|
-
});
|
386
|
-
},
|
387
|
-
|
388
|
-
verifyQuestionPreviewStateWhenShowCorrectAnswerIsUnchecked: () => {
|
389
|
-
cy.log('After deselecting Show correct answer checkbox, the question preview should return to the previous state');
|
390
|
-
previewScoringAndShowCorrectAnswerComponent.steps.uncheckShowCorrectAnswerCheckbox();
|
391
|
-
autoScoredPreviewBase.correctIcon()
|
392
|
-
.should('not.exist');
|
393
|
-
autoScoredPreviewBase.incorrectIcon()
|
394
|
-
.should('not.exist');
|
395
|
-
autoScoredPreviewBase.correctIncorrectAnswerLabel()
|
396
|
-
.should('not.exist');
|
397
|
-
autoScoredPreviewBase.steps.verifyCorrectIncorrectBorderNotVisible()
|
288
|
+
* Verifies the points per response score against a given value.
|
289
|
+
* @param {number} value - The expected points per response score.
|
290
|
+
*/
|
291
|
+
verifyPointsPerResponseScore: (value) => {
|
292
|
+
utilities.verifyTextContent(listOrderingPage.pointsPerResponseValue(), value)
|
398
293
|
},
|
399
294
|
|
400
295
|
getOptionsArray: () => {
|
401
296
|
const optionsArray = []
|
402
|
-
listOrderingPage.
|
297
|
+
listOrderingPage.optionPreviewTab()
|
403
298
|
.each(($el) => {
|
404
299
|
cy.wrap($el)
|
405
300
|
.invoke('text')
|
@@ -417,339 +312,450 @@ const steps = {
|
|
417
312
|
verifyRandomizeOptionOrder: (optionsArray) => {
|
418
313
|
let currentOptionsArray = [...optionsArray]
|
419
314
|
for (let index = 0; index < currentOptionsArray.length; index++) {
|
420
|
-
listOrderingPage.
|
315
|
+
listOrderingPage.optionPreviewTab()
|
421
316
|
.eq(index)
|
422
317
|
.then(($element) => {
|
423
318
|
expect($element.text()).to.be.oneOf(currentOptionsArray);
|
424
319
|
currentOptionsArray = currentOptionsArray.filter((value) => value !== $element.text())
|
425
320
|
});
|
426
321
|
};
|
427
|
-
listOrderingPage.steps.
|
322
|
+
listOrderingPage.steps.verifyOptionsAreReRandomized(optionsArray)
|
428
323
|
},
|
429
324
|
|
430
325
|
/**
|
431
326
|
* @param {string[]} previousOrderOfOptionsArray array of previous order of options
|
432
327
|
* @description this function verifies that the order of the options is different from the previous order
|
433
328
|
*/
|
434
|
-
|
435
|
-
listOrderingPage.
|
329
|
+
verifyOptionsAreReRandomized: (previousOrderOfOptionsArray) => {
|
330
|
+
listOrderingPage.optionPreviewTab()
|
436
331
|
.should('not.have.text', '')
|
437
332
|
.and('not.have.text', previousOrderOfOptionsArray.join(''));
|
438
333
|
},
|
439
334
|
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
verifyDragHandleButtonDoesNotExistInSetCorrectAnswerSection: (index) => {
|
445
|
-
listOrderingPage.setCorrectAnswerSectionOption()
|
446
|
-
.eq(index)
|
447
|
-
.within(() => {
|
448
|
-
listOrderingPage.dragHandleButton()
|
449
|
-
.should('not.exist');
|
450
|
-
});
|
451
|
-
},
|
452
|
-
|
453
|
-
/**
|
454
|
-
* @param {number} index set correct answer option index
|
455
|
-
* @description this function verfies drag handle of options does not exist
|
456
|
-
*/
|
457
|
-
verifyDragHandleButtonDoesNotExistInPreviewTab: (index) => {
|
458
|
-
listOrderingPage.previewTabOption()
|
459
|
-
.eq(index)
|
460
|
-
.within(() => {
|
461
|
-
listOrderingPage.dragHandleButton()
|
462
|
-
.should('not.exist');
|
463
|
-
});
|
335
|
+
verifyOuterBorderOfQuestionPreview: () => {
|
336
|
+
utilities.verifyCSS(listOrderingPage.questionBorderPreviewTab(), {
|
337
|
+
'border': `1px solid ${css.color.draggableOptionsContainerBorder}`
|
338
|
+
});
|
464
339
|
},
|
465
340
|
|
466
|
-
|
467
|
-
|
468
|
-
verifyNoBorderForSetCorrectAnswerOption: () => {
|
469
|
-
listOrderingPage.setCorrectAnswerSectionOption()
|
470
|
-
.eq(0)
|
341
|
+
verifyOuterBorderOfQuestionPreviewNotExists: () => {
|
342
|
+
listOrderingPage.questionBorderPreviewTab()
|
471
343
|
.should('have.css', 'border')
|
472
344
|
.and('match', /0px none/);
|
473
345
|
},
|
474
346
|
|
475
|
-
|
476
|
-
listOrderingPage.
|
477
|
-
.
|
478
|
-
.should('have.css', 'border')
|
479
|
-
.and('match', /0px none/);
|
347
|
+
verifyEnableOuterBorderForQuestionCheckboxCheckedState: () => {
|
348
|
+
listOrderingPage.enableOuterBorderForQuestionCheckbox()
|
349
|
+
.should('be.checked');
|
480
350
|
},
|
481
351
|
|
482
|
-
|
483
|
-
listOrderingPage.
|
484
|
-
.
|
352
|
+
verifyEnableOuterBorderForQuestionCheckboxUncheckedState: () => {
|
353
|
+
listOrderingPage.enableOuterBorderForQuestionCheckbox()
|
354
|
+
.should('not.be.checked');
|
485
355
|
},
|
486
356
|
|
487
|
-
|
488
|
-
|
489
|
-
|
357
|
+
checkEnableOuterBorderForQuestionCheckbox: () => {
|
358
|
+
listOrderingPage.enableOuterBorderForQuestionCheckbox()
|
359
|
+
.click()
|
360
|
+
.should('be.checked');
|
361
|
+
},
|
362
|
+
|
363
|
+
uncheckEnableOuterBorderForQuestionCheckbox: () => {
|
364
|
+
listOrderingPage.enableOuterBorderForQuestionCheckbox()
|
365
|
+
.click()
|
366
|
+
.should('not.be.checked');
|
490
367
|
},
|
491
368
|
|
492
369
|
/**
|
493
|
-
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
498
|
-
.eq(index)
|
370
|
+
* @description Verifies that the image in the Specify Correct Answer section has the correct source and alt text.
|
371
|
+
* @param {number} index - The index of the option in the Specify Correct Answer section.
|
372
|
+
*/
|
373
|
+
verifyImageInSpecifyCorrectAnswerSection: (index) => {
|
374
|
+
utilities.getNthElement(listOrderingPage.optionSpecifyCorrectAnswerSection(), index)
|
499
375
|
.find('img')
|
500
376
|
.should('have.attr', 'src', constants.foxImageLink)
|
501
377
|
.and('have.attr', 'alt', constants.foxImageAltText);
|
502
378
|
},
|
503
379
|
|
504
380
|
/**
|
505
|
-
|
506
|
-
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
.
|
511
|
-
.
|
512
|
-
|
381
|
+
* @description Verifies that the bold text in the Specify Correct Answer section is correct.
|
382
|
+
* @param {number} index - The index of the option in the Specify Correct Answer section.
|
383
|
+
*/
|
384
|
+
verifyBoldTextInSpecifyCorrectAnswerSection: (index) => {
|
385
|
+
utilities.getNthElement(listOrderingPage.optionSpecifyCorrectAnswerSection(), index)
|
386
|
+
.find('strong')
|
387
|
+
.should('have.text', 'This is a bold option');
|
388
|
+
},
|
389
|
+
|
390
|
+
/**
|
391
|
+
* @description Verifies that the equation text in the Specify Correct Answer section is correct.
|
392
|
+
* @param {number} index - The index of the option in the Specify Correct Answer section.
|
393
|
+
*/
|
394
|
+
verifyEquationTextInSpecifyCorrectAnswerSection: (index) => {
|
395
|
+
utilities.getNthElement(listOrderingPage.optionSpecifyCorrectAnswerSection(), index)
|
513
396
|
.find('[role="math"]')
|
514
397
|
.should('have.attr', 'aria-label', constants.CKEditorInputFieldEnteredEquationAriaLabel)
|
398
|
+
.contains(constants.CKEditorInputFieldEnteredEquationText);
|
515
399
|
},
|
516
400
|
|
517
401
|
/**
|
518
|
-
*
|
519
|
-
* @
|
402
|
+
* Selects an ordering layout option on the list ordering page.
|
403
|
+
* @param {('Reorder in the same list' | 'Reorder as a separate list' | 'Dropdown menu')} layoutOption - The layout option to select.
|
404
|
+
* @throws {Error} If an invalid layout option is provided.
|
520
405
|
*/
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
406
|
+
selectOrderingLayoutOption: (layoutOption) => {
|
407
|
+
switch (layoutOption) {
|
408
|
+
case 'Reorder in the same list':
|
409
|
+
listOrderingPage.reorderInTheSameListButton()
|
410
|
+
.click()
|
411
|
+
.should('have.class', 'ngie-toggle-button-selected');
|
412
|
+
break;
|
413
|
+
case 'Reorder as a separate list':
|
414
|
+
listOrderingPage.reorderAsSeparateListButton()
|
415
|
+
.click()
|
416
|
+
.should('have.class', 'ngie-toggle-button-selected');
|
417
|
+
break;
|
418
|
+
case 'Dropdown menu':
|
419
|
+
listOrderingPage.dropdownMenuButton()
|
420
|
+
.click()
|
421
|
+
.should('have.class', 'ngie-toggle-button-selected');
|
422
|
+
break;
|
423
|
+
default:
|
424
|
+
throw new Error('Invalid layout option');
|
425
|
+
}
|
426
|
+
},
|
427
|
+
|
428
|
+
///Dropdown menu steps
|
429
|
+
expandDropdownMenuOptionsDropdown: () => {
|
430
|
+
listOrderingPage.dropdownMenuOptionsDropdown()
|
431
|
+
.click();
|
432
|
+
},
|
433
|
+
|
434
|
+
/**
|
435
|
+
* Selects an option from a dropdown menu on the list ordering page.
|
436
|
+
* @param {('Numerical' | 'Uppercase alphabet' | 'Lowercase alphabet' | 'Uppercase roman numeral' | 'Lowercase roman numeral')} dropdownOption - The option to select from the dropdown menu.
|
437
|
+
*/
|
438
|
+
selectListOptionFromDropdownMenuOptionsDropdown: (dropdownOption) => {
|
439
|
+
listOrderingPage.dropdownMenuListOptions(dropdownOption)
|
440
|
+
.click();
|
441
|
+
},
|
442
|
+
|
443
|
+
/**
|
444
|
+
* Expands the position dropdown in the specify correct answer section and selects the specified dropdown index.
|
445
|
+
* @param {number} dropdownIndex - The index of the dropdown to expand and select.
|
446
|
+
*/
|
447
|
+
expandPositionDropdownSpecifyCorrectAnswerSection: (dropdownIndex) => {
|
448
|
+
utilities.getNthElement(listOrderingPage.positionDropdownSpecifyCorrectAnswerSection(), dropdownIndex)
|
449
|
+
.click();
|
527
450
|
},
|
528
451
|
|
529
452
|
/**
|
530
|
-
|
531
|
-
|
453
|
+
* Selects the specified option from the position dropdown in the specify correct answer section.
|
454
|
+
* @param {number} optionIndex - The index of the option in the dropdown.
|
455
|
+
* @param {string} position - The position to select.
|
456
|
+
*/
|
457
|
+
selectOptionPositionSpecifyCorrectAnswerSection: (optionIndex, position) => {
|
458
|
+
steps.expandPositionDropdownSpecifyCorrectAnswerSection(optionIndex);
|
459
|
+
listOrderingPage.positionDropdownListOption(position)
|
460
|
+
.click();
|
461
|
+
},
|
462
|
+
|
463
|
+
/**
|
464
|
+
* Selects positions for all options in the specify correct answer section according to the provided position object.
|
465
|
+
* @param {Object[]} positionObject - An array of objects where each object contains optionIndex and position properties.
|
466
|
+
* @param {number} positionObject[].optionIndex - The index of the option.
|
467
|
+
* @param {string} positionObject[].position - The position to select.
|
468
|
+
*/
|
469
|
+
selectPositionForAllOptionsSpecifyCorrectAnswerSection: (positionObject) => {
|
470
|
+
positionObject.forEach(({ optionIndex, position }) => {
|
471
|
+
steps.selectOptionPositionSpecifyCorrectAnswerSection(optionIndex, position)
|
472
|
+
});
|
473
|
+
},
|
474
|
+
|
475
|
+
/**
|
476
|
+
* Expands the position dropdown in the specify correct answer section and selects the specified dropdown index.
|
477
|
+
* @param {number} dropdownIndex - The index of the dropdown to expand and select.
|
478
|
+
*/
|
479
|
+
expandPositionDropdownPreviewTab: (dropdownIndex) => {
|
480
|
+
utilities.getNthElement(listOrderingPage.positionDropdownPreviewTab(), dropdownIndex)
|
481
|
+
.click();
|
482
|
+
},
|
483
|
+
|
484
|
+
/**
|
485
|
+
* Selects a list option from the position dropdown.
|
486
|
+
* @param {number} position The list option to select.
|
487
|
+
* @returns {void}
|
488
|
+
*/
|
489
|
+
selectListOptionPositionDropdown: (position) => {
|
490
|
+
listOrderingPage.positionDropdownListOption(position)
|
491
|
+
.click();
|
492
|
+
},
|
493
|
+
|
494
|
+
/**
|
495
|
+
* Selects the specified option from the position dropdown in the specify correct answer section.
|
496
|
+
* @param {number} optionIndex - The index of the option in the dropdown.
|
497
|
+
* @param {string} position - The position to select.
|
498
|
+
*/
|
499
|
+
selectOptionPositionPreviewTab: (optionIndex, position) => {
|
500
|
+
steps.expandPositionDropdownPreviewTab(optionIndex);
|
501
|
+
listOrderingPage.positionDropdownListOption(position)
|
502
|
+
.click();
|
503
|
+
},
|
504
|
+
|
505
|
+
/**
|
506
|
+
* Selects positions for all options in the specify correct answer section according to the provided position object.
|
507
|
+
* @param {Object[]} positionObject - An array of objects where each object contains optionIndex and position properties.
|
508
|
+
* @param {number} positionObject[].optionIndex - The index of the option.
|
509
|
+
* @param {string} positionObject[].position - The position to select.
|
510
|
+
*/
|
511
|
+
selectPositionForAllOptionsPreviewTab: (positionObject) => {
|
512
|
+
positionObject.forEach(({ optionIndex, position }) => {
|
513
|
+
steps.selectOptionPositionPreviewTab(optionIndex, position)
|
514
|
+
});
|
515
|
+
},
|
516
|
+
|
517
|
+
/**
|
518
|
+
* @param {number} optionIndex option to be checked for the correct icon
|
519
|
+
* @description This function verifies the correct icon in the preview tab for the dropdown order layout
|
532
520
|
*/
|
533
|
-
|
534
|
-
|
535
|
-
.
|
521
|
+
verifyCorrectOptionIconDropdownLayout: (optionIndex) => {
|
522
|
+
utilities.getNthElement(listOrderingPage.dropdownWrapperPreviewTab(), optionIndex)
|
523
|
+
.within(() => {
|
524
|
+
utilities.verifyElementVisibilityState(autoScoredScoringPreviewTab.correctIcon(), 'visible');
|
525
|
+
});
|
526
|
+
},
|
527
|
+
|
528
|
+
/**
|
529
|
+
* @param {number} optionIndex option to be checked for the correct icon
|
530
|
+
* @description This function verifies the correct icon in the preview tab for the dropdown order layout
|
531
|
+
*/
|
532
|
+
verifyIncorrectOptionIconDropdownLayout: (optionIndex) => {
|
533
|
+
utilities.getNthElement(listOrderingPage.dropdownWrapperPreviewTab(), optionIndex)
|
534
|
+
.within(() => {
|
535
|
+
utilities.verifyElementVisibilityState(autoScoredScoringPreviewTab.incorrectIcon(), 'visible');
|
536
|
+
});
|
537
|
+
},
|
538
|
+
|
539
|
+
/**
|
540
|
+
* @param {number} optionIndex option to be checked for the correct/incorrect icon to not exist
|
541
|
+
* @description This function verifies the correct/incorrect icon to not exist in the preview tab for the dropdown order layout
|
542
|
+
*/
|
543
|
+
verifyCorrectIncorrectOptionIconDropdownLayoutNotExists: (optionIndex) => {
|
544
|
+
utilities.getNthElement(listOrderingPage.dropdownWrapperPreviewTab(), optionIndex)
|
545
|
+
.within(() => {
|
546
|
+
utilities.verifyElementVisibilityState(autoScoredScoringPreviewTab.incorrectIcon(), 'notExist');
|
547
|
+
utilities.verifyElementVisibilityState(autoScoredScoringPreviewTab.correctIcon(), 'notExist');
|
548
|
+
});
|
549
|
+
},
|
550
|
+
|
551
|
+
/**
|
552
|
+
* @description Verifies that the image in the Preview tab has the correct source and alt text.
|
553
|
+
* @param {number} optionIndex - The index of the option in the Preview tab.
|
554
|
+
*/
|
555
|
+
verifyOptionWithImageDropdownLayoutInGradingView: (optionIndex) => {
|
556
|
+
listOrderingPage.dropdownOptionWrapperGradingView()
|
557
|
+
.eq(optionIndex)
|
558
|
+
.find('img')
|
559
|
+
.should('have.attr', 'src', constants.foxImageLink)
|
560
|
+
.and('have.attr', 'alt', constants.foxImageAltText);
|
561
|
+
},
|
562
|
+
|
563
|
+
/**
|
564
|
+
* @description Verifies that the bold text in the Preview tab is correct.
|
565
|
+
* @param {number} optionIndex - The index of the option in the Preview tab.
|
566
|
+
*/
|
567
|
+
verifyOptionWithBoldTextDropdownLayoutInGradingView: (optionIndex) => {
|
568
|
+
listOrderingPage.dropdownOptionWrapperGradingView()
|
569
|
+
.eq(optionIndex)
|
536
570
|
.find('strong')
|
537
|
-
.eq(0)
|
538
571
|
.should('have.text', 'This is a bold option');
|
539
572
|
},
|
540
573
|
|
541
574
|
/**
|
542
|
-
* @
|
543
|
-
* @
|
575
|
+
* @description Verifies that the equation text in the Preview tab is correct.
|
576
|
+
* @param {number} optionIndex - The index of the option in the Preview tab.
|
577
|
+
*/
|
578
|
+
verifyOptionWithEquationTextDropdownLayoutInGradingView: (optionIndex) => {
|
579
|
+
listOrderingPage.dropdownOptionWrapperGradingView()
|
580
|
+
.eq(optionIndex)
|
581
|
+
.find('[role="math"]')
|
582
|
+
.should('have.attr', 'aria-label', constants.CKEditorInputFieldEnteredEquationAriaLabel)
|
583
|
+
.contains(constants.CKEditorInputFieldEnteredEquationText);
|
584
|
+
},
|
585
|
+
|
586
|
+
/**
|
587
|
+
* @param {string[]} optionsTextArray options array for set correct answer option
|
588
|
+
* @description this function verifies options text content
|
589
|
+
*/
|
590
|
+
verifyTextContentOfOptionDropdownLayoutInGradingView: (optionsText, index) => {
|
591
|
+
utilities.verifyTextContent(utilities.getNthElement(listOrderingPage.dropdownOptionWrapperGradingView(), index), optionsText);
|
592
|
+
},
|
593
|
+
|
594
|
+
/**
|
595
|
+
* @param {string[]} optionsTextArray array of options in the correct answer section
|
596
|
+
* @description this function verifies the correct order of options in correct answer section
|
544
597
|
*/
|
545
|
-
|
546
|
-
|
547
|
-
|
598
|
+
verifyOptionsPositionInCorrectAnswerSection: (optionsTextArray, positionArray) => {
|
599
|
+
optionsTextArray.forEach((optionsText, index) => {
|
600
|
+
utilities.getNthElement(listOrderingPage.correctAnswerSectionAnswerWrapper(), index)
|
548
601
|
.within(() => {
|
549
|
-
listOrderingPage.
|
550
|
-
.eq(index)
|
551
|
-
.should('have.text', optionNumeration);
|
602
|
+
utilities.verifyTextContent(listOrderingPage.correctAnswerSectionAnswerText(), optionsText);
|
552
603
|
});
|
553
604
|
});
|
605
|
+
positionArray.forEach((position, dropdownIndex) => {
|
606
|
+
utilities.verifyTextContent(utilities.getNthElement(listOrderingPage.positionDropdownCorrectAnswerSection(), dropdownIndex), position);
|
607
|
+
});
|
554
608
|
},
|
555
609
|
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
|
561
|
-
|
562
|
-
|
563
|
-
.
|
564
|
-
|
565
|
-
|
610
|
+
/**
|
611
|
+
* Verifies the selected option position in the dropdown for the specified dropdown index.
|
612
|
+
* @param {number} dropdownIndex - The index of the dropdown to verify.
|
613
|
+
* @param {string} position - The expected position of the selected option.
|
614
|
+
*/
|
615
|
+
verifySelectedOptionPositionDropdown: (dropdownIndex, position) => {
|
616
|
+
utilities.getNthElement(listOrderingPage.positionDropdownPreviewTab(), dropdownIndex)
|
617
|
+
.within(() => {
|
618
|
+
if (position === '') {
|
619
|
+
utilities.verifyElementVisibilityState(listOrderingPage.dropdownSelectedOptionLabel(), 'notExist');
|
620
|
+
} else {
|
621
|
+
utilities.verifyInnerText(listOrderingPage.dropdownSelectedOptionLabel(), position);
|
622
|
+
}
|
623
|
+
});
|
624
|
+
},
|
566
625
|
|
567
|
-
|
568
|
-
|
569
|
-
|
570
|
-
|
571
|
-
|
572
|
-
|
573
|
-
|
574
|
-
...previewScoringAndShowCorrectAnswerComponent.tests,
|
575
|
-
...additionalSettingsPanel.tests,
|
576
|
-
...autoScoredAdditionalSettings.tests,
|
577
|
-
...answerNumerationComponent.tests,
|
578
|
-
...studentResponseAndLayoutComponent.tests,
|
579
|
-
...listSortingAndOrderingBase.tests,
|
580
|
-
verifyAllContentsOfSetCorrectAnswerSectionForScoringType: (scoringType, optionsArray) => {
|
581
|
-
it(`When user has selected ${scoringType} scoring type then added options should be displayed in the set correct answer section`, () => {
|
582
|
-
listOrderingPage.steps.verifyOptionsTextContentInSetCorrectAnswerSection(optionsArray);
|
583
|
-
for (let index = 0; index < 4; index++) {
|
584
|
-
listOrderingPage.steps.verifyDragHandleButtonOfOptionInSetCorrectAnswerSection(index);
|
585
|
-
}
|
586
|
-
});
|
626
|
+
verifyAssignValueToAllDropdownAlertMessage: () => {
|
627
|
+
utilities.verifyInnerText(listOrderingPage.alertMessage(), 'All options need to have a value assigned to them from the dropdown.');
|
628
|
+
utilities.verifyElementVisibilityState(listOrderingPage.alertMessage(), 'visible');
|
629
|
+
},
|
630
|
+
|
631
|
+
verifyAlertMessageNotExists: () => {
|
632
|
+
utilities.verifyElementVisibilityState(listOrderingPage.alertMessage(), 'notExist');
|
587
633
|
},
|
588
634
|
|
589
635
|
/**
|
590
|
-
* @param {
|
591
|
-
* @description this function verifies
|
592
|
-
*/
|
593
|
-
|
594
|
-
|
595
|
-
|
596
|
-
createQuestionBasePage.steps.switchToEditTab();
|
597
|
-
scoringSectionBase.steps.expandMinimumScoringDropdown();
|
598
|
-
scoringSectionBase.steps.selectMinimumScoringTypeListOption('Award minimum score only if attempted');
|
599
|
-
scoringSectionBase.steps.allotMinimumScoreAwardedIfAttempted('1')
|
600
|
-
createQuestionBasePage.steps.switchToPreviewTab()
|
601
|
-
listOrderingPage.steps.clickAndReorderOptionInPrevewTab('plant', 0);
|
602
|
-
listOrderingPage.steps.clickAndReorderOptionInPrevewTab('seed', 1);
|
603
|
-
listOrderingPage.steps.clickAndReorderOptionInPrevewTab('flower', 2);
|
604
|
-
listOrderingPage.steps.verifyTextContentOfOptionsInPreviewTab(['plant', 'seed', 'flower', 'sprout']);
|
605
|
-
listOrderingPage.previewScoreText()
|
606
|
-
.verifyInnerText(`1/${totalPoints}`);
|
607
|
-
});
|
636
|
+
* @param {string[]} optionsTextArray options array for preview tab options
|
637
|
+
* @description this function verifies options text content for "dropdown menu" ordering layout
|
638
|
+
*/
|
639
|
+
verifyTextContentOfOptionDropdownLayoutInPreviewTab: (optionsText, index) => {
|
640
|
+
utilities.verifyTextContent(utilities.getNthElement(listOrderingPage.dropdownOptionWrapperPreviewTab(), index), optionsText);
|
641
|
+
},
|
608
642
|
|
609
|
-
|
610
|
-
|
611
|
-
|
612
|
-
|
613
|
-
|
614
|
-
|
615
|
-
listOrderingPage.steps.clickAndReorderOptionInPrevewTab('seed', 1);
|
616
|
-
listOrderingPage.steps.clickAndReorderOptionInPrevewTab('flower', 2);
|
617
|
-
listOrderingPage.steps.verifyTextContentOfOptionsInPreviewTab(['plant', 'seed', 'flower', 'sprout']);
|
618
|
-
listOrderingPage.previewScoreText()
|
619
|
-
.verifyInnerText(`0/${totalPoints}`);
|
620
|
-
});
|
643
|
+
/**
|
644
|
+
* @param {string[]} optionsTextArray options array for specify correct answer section options
|
645
|
+
* @description this function verifies options text content for "dropdown menu" ordering layout
|
646
|
+
*/
|
647
|
+
verifyTextContentOfOptionDropdownLayoutInSpecifyCorrectAnswerSection: (optionsText, index) => {
|
648
|
+
utilities.verifyTextContent(utilities.getNthElement(listOrderingPage.dropdownOptionWrapperSpecifyCorrectAnswerSection(), index), optionsText);
|
621
649
|
},
|
622
650
|
|
623
651
|
/**
|
624
|
-
*
|
625
|
-
* @param {number}
|
626
|
-
* @param {
|
627
|
-
|
628
|
-
|
629
|
-
|
630
|
-
|
631
|
-
|
632
|
-
|
633
|
-
|
634
|
-
|
635
|
-
|
636
|
-
|
637
|
-
listOrderingPage.steps.clickAndReorderOptionInPrevewTab('plant', 1);
|
638
|
-
listOrderingPage.steps.verifyTextContentOfOptionsInPreviewTab(['sprout', 'plant', 'flower', 'seed']);
|
639
|
-
listOrderingPage.previewScoreText()
|
640
|
-
.verifyInnerText(`0/${totalPoints}`);
|
641
|
-
|
642
|
-
cy.log('When user adds a partially correct answer input, the points should be updated accordingly with deducted penalty points');
|
643
|
-
listOrderingPage.steps.resetQuestionPreview(['sprout', 'plant', 'flower', 'seed'])
|
644
|
-
listOrderingPage.steps.clickAndReorderOptionInPrevewTab('seed', 0);
|
645
|
-
listOrderingPage.steps.clickAndReorderOptionInPrevewTab('plant', 1);
|
646
|
-
listOrderingPage.steps.verifyTextContentOfOptionsInPreviewTab(['seed', 'plant', 'sprout', 'flower']);
|
647
|
-
listOrderingPage.previewScoreText()
|
648
|
-
.verifyInnerText(`${scoredPoints}/${totalPoints}`);
|
649
|
-
|
650
|
-
cy.log('Post step: Clearing the Penalty points field')
|
651
|
-
createQuestionBasePage.steps.switchToEditTab();
|
652
|
-
autoScoredScoringSectionMultipleResponsesType.penaltyPointsInputField()
|
653
|
-
.clear();
|
654
|
-
});
|
652
|
+
* Verifies the selected option position in the dropdown for the specified dropdown index.
|
653
|
+
* @param {number} dropdownIndex - The index of the dropdown to verify.
|
654
|
+
* @param {string} position - The expected position of the selected option.
|
655
|
+
*/
|
656
|
+
verifySelectedOptionPositionDropdownInSpecifyCorrectAnswerSection: (dropdownIndex, position) => {
|
657
|
+
utilities.getNthElement(listOrderingPage.positionDropdownSpecifyCorrectAnswerSection(), dropdownIndex)
|
658
|
+
.within(() => {
|
659
|
+
if (position === '') {
|
660
|
+
utilities.verifyElementVisibilityState(listOrderingPage.dropdownSelectedOptionLabel(), 'notExist');
|
661
|
+
} else {
|
662
|
+
utilities.verifyInnerText(listOrderingPage.dropdownSelectedOptionLabel(), position);
|
663
|
+
}
|
664
|
+
});
|
655
665
|
},
|
656
666
|
|
657
667
|
/**
|
658
|
-
|
659
|
-
|
660
|
-
|
661
|
-
|
662
|
-
|
663
|
-
|
664
|
-
listOrderingPage.steps.allotPenaltyPoints(3);
|
665
|
-
listOrderingPage.steps.switchToPreviewTab();
|
666
|
-
listOrderingPage.steps.clickAndReorderOptionInPrevewTab('seed', 0);
|
667
|
-
listOrderingPage.steps.clickAndReorderOptionInPrevewTab('plant', 3);
|
668
|
-
listOrderingPage.steps.clickAndReorderOptionInPrevewTab('flower', 1);
|
669
|
-
listOrderingPage.steps.verifyTextContentOfOptionsInPreviewTab(['seed', 'flower', 'sprout', 'plant']);
|
670
|
-
listOrderingPage.steps.verifyPreviewTabScoreText(`${totalPointsScored}`, `${totalPointsScored}`);
|
671
|
-
cy.log('Post step: Clearing the Penalty points field')
|
672
|
-
createQuestionBasePage.steps.switchToEditTab();
|
673
|
-
autoScoredScoringSectionMultipleResponsesType.penaltyPointsInputField()
|
674
|
-
.clear();
|
668
|
+
* Verifies the order of options in the "Specify Correct Answer" section.
|
669
|
+
* @param {string[]} optionsTextArray - An array containing the text of options in the expected order.
|
670
|
+
*/
|
671
|
+
verifyOptionsOrderDropdownLayoutInSpecifyCorrectAnswerSection: (optionsTextArray) => {
|
672
|
+
optionsTextArray.forEach((option, index) => {
|
673
|
+
steps.verifyTextContentOfOptionDropdownLayoutInSpecifyCorrectAnswerSection(option, index);
|
675
674
|
});
|
676
675
|
},
|
677
676
|
|
678
677
|
/**
|
679
|
-
*
|
680
|
-
*
|
681
|
-
|
682
|
-
|
683
|
-
|
684
|
-
|
685
|
-
* @description this function verifies the functionality of Minimum score if attempted points when penalty points are set and user attempts incorrect answer
|
686
|
-
* - For all incorrect responses
|
687
|
-
* - For partially correct responses, when points scored > minimum score awarded(if attempted) points
|
688
|
-
* - For partially correct responses, when minimum score awarded(if attempted) points > points scored
|
689
|
-
*/
|
690
|
-
verifyMinimumScoreIfAttemptedAndPenaltyPointsFunctionalityForIncorrectAnswer: (scoredPointsArray, minimumPointsForPartialCorrectAnswers, totalPoints) => {
|
691
|
-
it('When user has defined both penalty points and minimum score awarded (if attempted) points', () => {
|
692
|
-
cy.log('Pre-step: Switch to edit tab and set minimum score awarded (if attempted) points and Penalty points');
|
693
|
-
createQuestionBasePage.steps.switchToEditTab();
|
694
|
-
scoringSectionBase.steps.allotMinimumScoreAwardedIfAttempted(1);
|
695
|
-
autoScoredScoringSectionMultipleResponsesType.steps.allotPenaltyPoints(3);
|
696
|
-
|
697
|
-
cy.log('Switch to preview tab and give incorrect answer input to check that minimum points are displayed');
|
698
|
-
createQuestionBasePage.steps.switchToPreviewTab();
|
699
|
-
listOrderingPage.steps.clickAndReorderOptionInPrevewTab('flower', 0);
|
700
|
-
listOrderingPage.steps.clickAndReorderOptionInPrevewTab('sprout', 3);
|
701
|
-
listOrderingPage.steps.verifyTextContentOfOptionsInPreviewTab(['flower', 'plant', 'seed', 'sprout']);
|
702
|
-
listOrderingPage.previewScoreText()
|
703
|
-
.verifyInnerText(`${scoredPointsArray[0]}/${totalPoints}`);
|
704
|
-
|
705
|
-
cy.log('When user adds a partially correct answer such that the points of the attempt(with penalty points deducted) is more than the minimum score awarded(if attempted) points');
|
706
|
-
listOrderingPage.steps.resetQuestionPreview(['sprout', 'plant', 'flower', 'seed']);
|
707
|
-
listOrderingPage.steps.clickAndReorderOptionInPrevewTab('seed', 0);
|
708
|
-
listOrderingPage.steps.clickAndReorderOptionInPrevewTab('plant', 1);
|
709
|
-
listOrderingPage.steps.verifyTextContentOfOptionsInPreviewTab(['seed', 'plant', 'sprout', 'flower']);
|
710
|
-
listOrderingPage.previewScoreText()
|
711
|
-
.verifyInnerText(`${scoredPointsArray[1]}/${totalPoints}`);
|
712
|
-
|
713
|
-
cy.log('When user switches to edit tab and increases the minimum score awarded (if attempted) points to check the case for an attempt in which points of the attempt is less than minimum score awarded (if attempted) points, then the minimum score awarded (if attempted) points should be displayed to the user');
|
714
|
-
createQuestionBasePage.steps.switchToEditTab();
|
715
|
-
scoringSectionBase.steps.clearMinimumScoreIfAttemptedPointsField()
|
716
|
-
scoringSectionBase.steps.allotMinimumScoreAwardedIfAttempted(minimumPointsForPartialCorrectAnswers)
|
717
|
-
cy.log('Switching to preview tab');
|
718
|
-
createQuestionBasePage.steps.switchToPreviewTab();
|
719
|
-
listOrderingPage.steps.clickAndReorderOptionInPrevewTab('seed', 0);
|
720
|
-
listOrderingPage.steps.clickAndReorderOptionInPrevewTab('plant', 1);
|
721
|
-
listOrderingPage.steps.clickAndReorderOptionInPrevewTab('flower', 2);
|
722
|
-
listOrderingPage.steps.verifyTextContentOfOptionsInPreviewTab(['seed', 'plant', 'flower', 'sprout']);
|
723
|
-
listOrderingPage.previewScoreText()
|
724
|
-
.verifyInnerText(`${scoredPointsArray[2]}/${totalPoints}`);
|
678
|
+
* Verifies the order of options in the preview tab
|
679
|
+
* @param {string[]} optionsTextArray - An array containing the text of options in the expected order.
|
680
|
+
*/
|
681
|
+
verifyOptionsOrderDropdownLayoutInPreviewTab: (optionsTextArray) => {
|
682
|
+
optionsTextArray.forEach((option, index) => {
|
683
|
+
steps.verifyTextContentOfOptionDropdownLayoutInPreviewTab(option, index)
|
725
684
|
});
|
726
685
|
},
|
727
686
|
|
728
|
-
|
687
|
+
getOptionsArrayForDropdownLayout: () => {
|
688
|
+
const optionsArray = []
|
689
|
+
listOrderingPage.dropdownOptionWrapperPreviewTab()
|
690
|
+
.each(($el) => {
|
691
|
+
cy.wrap($el)
|
692
|
+
.invoke('text')
|
693
|
+
.then((text) => {
|
694
|
+
optionsArray.push(text);
|
695
|
+
});
|
696
|
+
});
|
697
|
+
return optionsArray;
|
698
|
+
},
|
699
|
+
|
729
700
|
/**
|
730
|
-
* @param {string[]}
|
731
|
-
* @description this function
|
701
|
+
* @param {string[]} optionsArray array of options set in the options section
|
702
|
+
* @description this function verifies if the options are Randomized in the preview tab
|
732
703
|
*/
|
733
|
-
|
734
|
-
|
735
|
-
|
736
|
-
|
737
|
-
|
738
|
-
|
739
|
-
|
740
|
-
|
704
|
+
verifyRandomizeOptionOrderDropdownLayout: (optionsArray) => {
|
705
|
+
let currentOptionsArray = [...optionsArray]
|
706
|
+
for (let index = 0; index < currentOptionsArray.length; index++) {
|
707
|
+
listOrderingPage.dropdownOptionWrapperPreviewTab()
|
708
|
+
.eq(index)
|
709
|
+
.then(($element) => {
|
710
|
+
expect($element.text()).to.be.oneOf(currentOptionsArray);
|
711
|
+
currentOptionsArray = currentOptionsArray.filter((value) => value !== $element.text())
|
712
|
+
});
|
713
|
+
};
|
714
|
+
listOrderingPage.steps.verifyOptionsAreReRandomizedDropdownLayout(optionsArray)
|
741
715
|
},
|
742
716
|
|
743
717
|
/**
|
744
|
-
* @param {string[]}
|
745
|
-
* @description this function
|
718
|
+
* @param {string[]} previousOrderOfOptionsArray array of previous order of options
|
719
|
+
* @description this function verifies that the order of the options is different from the previous order
|
746
720
|
*/
|
747
|
-
|
748
|
-
|
749
|
-
|
750
|
-
|
721
|
+
verifyOptionsAreReRandomizedDropdownLayout: (previousOrderOfOptionsArray) => {
|
722
|
+
listOrderingPage.dropdownOptionWrapperPreviewTab()
|
723
|
+
.should('not.have.text', '')
|
724
|
+
.and('not.have.text', previousOrderOfOptionsArray.join(''));
|
725
|
+
},
|
726
|
+
}
|
727
|
+
|
728
|
+
const tests = {
|
729
|
+
...autoScoredScoringPreviewTab.tests,
|
730
|
+
...scoringSectionBaseEditTab.tests,
|
731
|
+
...autoScoredScoringSectionMultiResponseType.tests,
|
732
|
+
...autoScoredSpecifyCorrectAnswerSection.tests,
|
733
|
+
...commonComponents.tests,
|
734
|
+
...studentViewSettingsLabelComponent.tests,
|
735
|
+
...randomizeOptionsComponent.tests,
|
736
|
+
...autoScoredStudentViewSettings.tests,
|
737
|
+
...questionInstructionsComponent.tests,
|
738
|
+
...optionsWrapperComponent.tests,
|
739
|
+
...additionalSettingsPanel.tests,
|
740
|
+
...additionalSettingsAccessibilitySectionComponent.tests,
|
741
|
+
...createQuestionBasePage.tests,
|
742
|
+
verifyContentsOfSpecifyCorrectAnswerSection: () => {
|
743
|
+
it('When user selects a scoring type then in the \'Correct\' accordion, all the contents should be displayed', () => {
|
744
|
+
utilities.verifyElementCount(listOrderingPage.optionSpecifyCorrectAnswerSection(), 4);
|
745
|
+
options.forEach((optionText, index) => {
|
746
|
+
listOrderingPage.steps.verifyTextContentOfOptionInSpecifyCorrectAnswerSection(optionText, index);
|
747
|
+
});
|
751
748
|
});
|
752
|
-
}
|
749
|
+
},
|
750
|
+
|
751
|
+
verifyContentsOfSpecifyCorrectAnswerSectionDropdownLayout: () => {
|
752
|
+
it('By default, 4 options should be displayed with dropdowns in the specify correct answer section', () => {
|
753
|
+
utilities.verifyElementCount(listOrderingPage.positionDropdownSpecifyCorrectAnswerSection(), 4);
|
754
|
+
options.forEach((optionText, index) => {
|
755
|
+
listOrderingPage.steps.verifyTextContentOfOptionDropdownLayoutInSpecifyCorrectAnswerSection(optionText, index);
|
756
|
+
});
|
757
|
+
});
|
758
|
+
},
|
753
759
|
}
|
754
760
|
|
755
761
|
export const listOrderingPage = {
|