itemengine-cypress-automation 1.0.189-e2e-execution-crash-83cdbd4.0 → 1.0.189
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,5 +1,5 @@
|
|
1
1
|
import utilities from "../support/helpers/utilities";
|
2
|
-
import { createQuestionBasePage, questionInstructionsComponent, scoringSectionBaseEditTab, maximumRecorderLengthComponent, commonComponents, playbackControlsBaseComponent, autoScoredScoringPreviewTab, studentViewSettingsLabelComponent, additionalSettingsPanel, additionalSettingsAccessibilitySectionComponent } from "./components"
|
2
|
+
import { createQuestionBasePage, questionInstructionsComponent, scoringSectionBaseEditTab, maximumRecorderLengthComponent, commonComponents, playbackControlsBaseComponent, autoScoredScoringPreviewTab, studentViewSettingsLabelComponent, additionalSettingsPanel, additionalSettingsAccessibilitySectionComponent, limitNumberOfRetakeComponent, allowTeachersToDownloadStudentResponseComponent } from "./components"
|
3
3
|
import { dialogBoxBase } from "./dialogBoxBase";
|
4
4
|
const css = Cypress.env('css');
|
5
5
|
|
@@ -12,6 +12,8 @@ const selectors = {
|
|
12
12
|
...playbackControlsBaseComponent,
|
13
13
|
...studentViewSettingsLabelComponent,
|
14
14
|
...additionalSettingsPanel,
|
15
|
+
...limitNumberOfRetakeComponent,
|
16
|
+
...allowTeachersToDownloadStudentResponseComponent,
|
15
17
|
recordedResponseHelpText: () => cy.get('[class*="preview-help-text"]'),
|
16
18
|
playbackWaveform: () => cy.get('.audio-wave-form'),
|
17
19
|
playbackWaveformTotalWidth: () => cy.get('.audio-wave-form wave wave canvas'),
|
@@ -104,15 +106,7 @@ const selectors = {
|
|
104
106
|
barPreviewPauseRecordingButton: () => cy.get('.standard-recorder-pause-btn'),
|
105
107
|
barPreviewResumeRecordingButton: () => cy.get('.standard-recorder-resume-btn'),
|
106
108
|
barPreviewRetakeButton: () => cy.get('.standard-recorder-retake-btn'),
|
107
|
-
|
108
|
-
showStudentsTheRetakeLimitsOnTooltipCheckboxLabel: () => cy.get('[data-ngie-testid="show-students-the-retake-limits-on-tooltip-checkbox"] .MuiFormControlLabel-label'),
|
109
|
-
retakeLimitLabel: () => cy.get('.retake-limit-label'),
|
110
|
-
retakeLimitInputField: () => cy.get('.retake-limit-wrapper input'),
|
111
|
-
barPreviewPlaybackWrapper: () => cy.get('.audio-response-wrapper'),
|
112
|
-
|
113
|
-
//Additional settings
|
114
|
-
allowTeachersToDownloadStudentResponseLabel: () => cy.get('[data-ngie-testid="allow-teachers-to-download-student-response-checkbox"] [class*="label"]'),
|
115
|
-
allowTeachersToDownloadStudentResponseCheckbox: () => cy.get('[data-ngie-testid="allow-teachers-to-download-student-response-checkbox"] input')
|
109
|
+
barPreviewPlaybackWrapper: () => cy.get('.audio-response-wrapper')
|
116
110
|
}
|
117
111
|
|
118
112
|
const steps = {
|
@@ -123,6 +117,8 @@ const steps = {
|
|
123
117
|
...maximumRecorderLengthComponent.steps,
|
124
118
|
...playbackControlsBaseComponent.steps,
|
125
119
|
...additionalSettingsPanel.steps,
|
120
|
+
...limitNumberOfRetakeComponent.steps,
|
121
|
+
...allowTeachersToDownloadStudentResponseComponent.steps,
|
126
122
|
startRecordingStandardPreview: () => {
|
127
123
|
audioResponsePage.standardPreviewStartRecordingButton()
|
128
124
|
.click();
|
@@ -652,11 +648,6 @@ const steps = {
|
|
652
648
|
.blur();
|
653
649
|
},
|
654
650
|
|
655
|
-
limitNumberOfRetakeCheckboxUncheckedState: () => {
|
656
|
-
audioResponsePage.limitNumberOfRetakeCheckbox()
|
657
|
-
.should('not.be.checked');
|
658
|
-
},
|
659
|
-
|
660
651
|
deselectAudioIndicatorsTimerButton: () => {
|
661
652
|
audioResponsePage.audioIndicatorsTimerButton()
|
662
653
|
.click()
|
@@ -730,37 +721,6 @@ const steps = {
|
|
730
721
|
.should('have.class', 'ngie-toggle-button-selected');
|
731
722
|
},
|
732
723
|
|
733
|
-
verifyShowStudentsTheRetakeLimitsOnTooltipCheckboxUncheckedState: () => {
|
734
|
-
audioResponsePage.showStudentsTheRetakeLimitsOnTooltipCheckbox()
|
735
|
-
.should('not.be.checked');
|
736
|
-
},
|
737
|
-
|
738
|
-
checkLimitNumberOfRetakeCheckbox: () => {
|
739
|
-
audioResponsePage.limitNumberOfRetakeCheckbox()
|
740
|
-
.click()
|
741
|
-
.should('be.checked');
|
742
|
-
},
|
743
|
-
|
744
|
-
/**
|
745
|
-
* Verifies the value of the retake limit input field.
|
746
|
-
* @param {string} value - The expected value of the retake limit input field.
|
747
|
-
*/
|
748
|
-
verifyRetakeLimitInputFieldValue: (value) => {
|
749
|
-
audioResponsePage.retakeLimitInputField()
|
750
|
-
.should('have.attr', 'value', value)
|
751
|
-
},
|
752
|
-
|
753
|
-
/**
|
754
|
-
* Sets the retake limit value.
|
755
|
-
* @param {string} value - The value to set as the retake limit.
|
756
|
-
*/
|
757
|
-
setRetakeLimit: (value) => {
|
758
|
-
audioResponsePage.retakeLimitInputField()
|
759
|
-
.clear()
|
760
|
-
.type(value)
|
761
|
-
.should('have.attr', 'value', value)
|
762
|
-
},
|
763
|
-
|
764
724
|
/**
|
765
725
|
* Verifies the recorded time displayed in the bar preview player on the audio response page.
|
766
726
|
* @param {string} recordingTime - The current recorded time in the format 'mm:ss'.
|
@@ -824,40 +784,6 @@ const steps = {
|
|
824
784
|
|
825
785
|
verifyResponseIsRecordedHelpText: () => {
|
826
786
|
utilities.verifyInnerText(audioResponsePage.recordedResponseHelpText(), 'Your response has been recorded.');
|
827
|
-
},
|
828
|
-
|
829
|
-
checkShowStudentsTheRetakeLimitsOnTooltipCheckbox: () => {
|
830
|
-
audioResponsePage.showStudentsTheRetakeLimitsOnTooltipCheckbox()
|
831
|
-
.click()
|
832
|
-
.should('be.checked');
|
833
|
-
},
|
834
|
-
|
835
|
-
uncheckShowStudentsTheRetakeLimitsOnTooltipCheckbox: () => {
|
836
|
-
audioResponsePage.showStudentsTheRetakeLimitsOnTooltipCheckbox()
|
837
|
-
.click()
|
838
|
-
.should('not.be.checked');
|
839
|
-
},
|
840
|
-
|
841
|
-
clearRetakeLimitInputField: () => {
|
842
|
-
audioResponsePage.retakeLimitInputField()
|
843
|
-
.clear();
|
844
|
-
},
|
845
|
-
|
846
|
-
verifyAllowTeachersToDownloadStudentResponseCheckboxChecked: () => {
|
847
|
-
audioResponsePage.allowTeachersToDownloadStudentResponseCheckbox()
|
848
|
-
.should('be.checked');
|
849
|
-
},
|
850
|
-
|
851
|
-
uncheckAllowTeachersToDownloadStudentResponseCheckbox: () => {
|
852
|
-
audioResponsePage.allowTeachersToDownloadStudentResponseCheckbox()
|
853
|
-
.click()
|
854
|
-
.should('not.be.checked');
|
855
|
-
},
|
856
|
-
|
857
|
-
checkAllowTeachersToDownloadStudentResponseCheckbox: () => {
|
858
|
-
audioResponsePage.allowTeachersToDownloadStudentResponseCheckbox()
|
859
|
-
.click()
|
860
|
-
.should('be.checked');
|
861
787
|
}
|
862
788
|
}
|
863
789
|
|
@@ -871,6 +797,8 @@ const tests = {
|
|
871
797
|
...studentViewSettingsLabelComponent.tests,
|
872
798
|
...additionalSettingsPanel.tests,
|
873
799
|
...additionalSettingsAccessibilitySectionComponent.tests,
|
800
|
+
...limitNumberOfRetakeComponent.tests,
|
801
|
+
...allowTeachersToDownloadStudentResponseComponent.tests,
|
874
802
|
verifyRetakePopupCSSAndA11y: () => {
|
875
803
|
it('CSS of \'Retake\' popup', { tags: 'css' }, () => {
|
876
804
|
utilities.verifyCSS(dialogBoxBase.dialogBox(), {
|
@@ -112,7 +112,7 @@ const tests = {
|
|
112
112
|
...scoringSectionBaseEditTab.tests,
|
113
113
|
...additionalSettingsPanel.tests,
|
114
114
|
...additionalSettingsAccessibilitySectionComponent.tests,
|
115
|
-
...toolSettingsComponent.
|
115
|
+
...toolSettingsComponent.tests,
|
116
116
|
}
|
117
117
|
|
118
118
|
export const brainingCampManipulativePage = {
|
@@ -0,0 +1,231 @@
|
|
1
|
+
import utilities from "../support/helpers/utilities"
|
2
|
+
import { barAndLineChartComponent, chartsCommonComponent, createQuestionBasePage, questionInstructionsComponent, resetPopupComponent, scoringSectionBaseEditTab, commonComponents } from "./components";
|
3
|
+
|
4
|
+
const selectors = {
|
5
|
+
...questionInstructionsComponent,
|
6
|
+
...barAndLineChartComponent,
|
7
|
+
...chartsCommonComponent,
|
8
|
+
...commonComponents,
|
9
|
+
barDragHandle: () => cy.get('.bar-drag-handle'),
|
10
|
+
selectChartTypeMaxYLabel: () => cy.get('[class*="ChartsPreviewstyles__CustomInputFieldLabel"]'),
|
11
|
+
selectChartTypeMaxYInputField: () => cy.get('[class*="ChartsPreviewstyles__CustomInputFieldWrapper"] input'),
|
12
|
+
selectChartTypeMaxXLabel: () => cy.get('[class*="ChartsPreviewstyles__CustomInputFieldLabel"]'),
|
13
|
+
selectChartTypeMaxXInputField: () => cy.get('[class*="ChartsPreviewstyles__CustomInputFieldWrapper"] input'),
|
14
|
+
selectChartTypeBarDragHandle: () => cy.get('[class*="Chartsstyles__ChartsQuestionWrapper"] .bar-drag-handle'),
|
15
|
+
selectChartTypeBar: () => cy.get('[class*="Chartsstyles__ChartsQuestionWrapper"] .ngie-chart-point'),
|
16
|
+
barLockIcon: () => cy.get('[class*="ChartGridstyle__BarLockIconWrapper"]'),
|
17
|
+
selectChartTypeBarLabel: () => cy.get('[class*="Chartsstyles__ChartsQuestionWrapper"] [class*="ChartGridstyle__NameDiv-"]'),
|
18
|
+
//specify correct answer section
|
19
|
+
specifyCorrectAnswerBarDragHandle: () => cy.get('.ngie-accordion .bar-drag-handle'),
|
20
|
+
specifyCorrectAnswerBar: () => cy.get('.ngie-accordion .ngie-chart-point'),
|
21
|
+
|
22
|
+
//TODO - Update selector after https://redmine.zeuslearning.com/issues/570603 is resolved
|
23
|
+
//Preview tab
|
24
|
+
previewTabBarDragHandle: () => cy.get('[class*="ChartsPreviewstyles__PreviewWrapper"]:visible .bar-drag-handle'),
|
25
|
+
previewTabBar: () => cy.get('[class*="ChartsPreviewstyles__PreviewWrapper"]:visible .ngie-chart-point'),
|
26
|
+
previewTabBarLabel: () => cy.get('[class*="ChartsPreviewstyles__PreviewWrapper"]:visible [class*="ChartGridstyle__NameDiv-"]'),
|
27
|
+
}
|
28
|
+
|
29
|
+
const steps = {
|
30
|
+
...createQuestionBasePage.steps,
|
31
|
+
...questionInstructionsComponent.steps,
|
32
|
+
...scoringSectionBaseEditTab.steps,
|
33
|
+
...barAndLineChartComponent.steps,
|
34
|
+
...chartsCommonComponent.steps,
|
35
|
+
...resetPopupComponent.steps,
|
36
|
+
/**
|
37
|
+
* @description set the bar height/value in the select chart type section chart
|
38
|
+
* @param {Object} barProperties - The properties and changes to be done on the bar
|
39
|
+
* @param {number} barProperties.barIndex index of the bar
|
40
|
+
* @param {number} barProperties.value value by which the bar height is to be increased as per Y axis
|
41
|
+
* @param {number} barProperties.range Maximum value of the axis on which bar value is determined
|
42
|
+
*/
|
43
|
+
setBarValueInSelectChartTypeSection: ({ barIndex, value, range }) => {
|
44
|
+
utilities.getNthElement(chartsBarPage.selectChartTypeBar(), barIndex)
|
45
|
+
.invoke('attr', 'height')
|
46
|
+
.then((barValue) => {
|
47
|
+
let updatedBarValue = parseFloat(value /= range)
|
48
|
+
let originalBarValue = parseFloat(barValue)
|
49
|
+
let unitChange = parseFloat(1 / range)
|
50
|
+
if (originalBarValue < updatedBarValue) {
|
51
|
+
for (let i = originalBarValue; i < updatedBarValue; i = parseFloat((i + unitChange).toFixed(2))) {
|
52
|
+
utilities.getNthElement(chartsBarPage.selectChartTypeBarDragHandle(), barIndex)
|
53
|
+
.focus()
|
54
|
+
.type('{upArrow}');
|
55
|
+
}
|
56
|
+
} else if (originalBarValue > updatedBarValue) {
|
57
|
+
for (let i = originalBarValue; i > updatedBarValue; i = parseFloat((i - unitChange).toFixed(2))) {
|
58
|
+
utilities.getNthElement(chartsBarPage.selectChartTypeBarDragHandle(), barIndex)
|
59
|
+
.focus()
|
60
|
+
.type('{downArrow}');
|
61
|
+
}
|
62
|
+
}
|
63
|
+
utilities.getNthElement(chartsBarPage.selectChartTypeBar(), barIndex)
|
64
|
+
.should('have.attr', 'height', updatedBarValue);
|
65
|
+
});
|
66
|
+
},
|
67
|
+
|
68
|
+
/**
|
69
|
+
* @description increase the bar height/value in the specify correct answer section chart
|
70
|
+
* @param {Object} barProperties - The properties and changes to be done on the bar
|
71
|
+
* @param {number} barProperties.barIndex index of the bar
|
72
|
+
* @param {number} barProperties.value value by which the bar height is to be increased as per Y axis
|
73
|
+
* @param {number} barProperties.range Maximum value of the axis on which bar value is determined
|
74
|
+
*/
|
75
|
+
setBarValueInSpecifyCorrectAnswerSection: ({ barIndex, value, range }) => {
|
76
|
+
utilities.getNthElement(chartsBarPage.specifyCorrectAnswerBar(), barIndex)
|
77
|
+
.invoke('attr', 'height')
|
78
|
+
.then((barValue) => {
|
79
|
+
let updatedBarValue = parseFloat(value /= range)
|
80
|
+
let originalBarValue = parseFloat(barValue)
|
81
|
+
let unitChange = parseFloat(1 / range)
|
82
|
+
if (originalBarValue < updatedBarValue) {
|
83
|
+
for (let i = originalBarValue; i < updatedBarValue; i = parseFloat((i + unitChange).toFixed(2))) {
|
84
|
+
utilities.getNthElement(chartsBarPage.specifyCorrectAnswerBarDragHandle(), barIndex)
|
85
|
+
.focus()
|
86
|
+
.type('{upArrow}');
|
87
|
+
}
|
88
|
+
} else if (originalBarValue > updatedBarValue) {
|
89
|
+
for (let i = originalBarValue; i > updatedBarValue; i = parseFloat((i - unitChange).toFixed(2))) {
|
90
|
+
utilities.getNthElement(chartsBarPage.specifyCorrectAnswerBarDragHandle(), barIndex)
|
91
|
+
.focus()
|
92
|
+
.type('{downArrow}');
|
93
|
+
}
|
94
|
+
}
|
95
|
+
utilities.getNthElement(chartsBarPage.specifyCorrectAnswerBar(), barIndex)
|
96
|
+
.should('have.attr', 'height', updatedBarValue);
|
97
|
+
});
|
98
|
+
},
|
99
|
+
|
100
|
+
/**
|
101
|
+
* @description Lock the bar in select chart type section chart
|
102
|
+
* @param {number} barIndex Index of the bar to be locked
|
103
|
+
*/
|
104
|
+
lockBar: (barIndex) => {
|
105
|
+
utilities.triggerMouseover(utilities.getNthElement(chartsBarPage.selectChartTypeBar(), barIndex))
|
106
|
+
chartsBarPage.barAndPointTooltipLockUnlockButton()
|
107
|
+
.click();
|
108
|
+
chartsBarPage.barAndPointTooltipLockUnlockButton()
|
109
|
+
.should('have.attr', 'aria-label', 'locked bar');
|
110
|
+
utilities.triggerMouseout(utilities.getNthElement(chartsBarPage.selectChartTypeBar(), barIndex));
|
111
|
+
utilities.getNthElement(chartsBarPage.selectChartTypeBar(), barIndex)
|
112
|
+
.within(() => {
|
113
|
+
utilities.verifyElementVisibilityState(chartsBarPage.barLockIcon(), 'visible');
|
114
|
+
});
|
115
|
+
},
|
116
|
+
|
117
|
+
/**
|
118
|
+
* @description Edit bar label in select chart type section chart
|
119
|
+
* @param {number} barIndex Index of the bar to be edited
|
120
|
+
* @param {string} barLabel Label to be given to the bar
|
121
|
+
*/
|
122
|
+
editBarLabelInSelectChartTypeSection: (barIndex, barLabel) => {
|
123
|
+
utilities.triggerMouseover(utilities.getNthElement(chartsBarPage.selectChartTypeBar(), barIndex))
|
124
|
+
chartsBarPage.barAndPointTooltipLabelButton()
|
125
|
+
.click();
|
126
|
+
chartsBarPage.steps.addInputToChartLabelPopupInputField(barLabel);
|
127
|
+
chartsBarPage.steps.saveGraphLabelPopup();
|
128
|
+
utilities.triggerMouseout(utilities.getNthElement(chartsBarPage.selectChartTypeBar(), barIndex));
|
129
|
+
utilities.verifyInnerText(utilities.getNthElement(chartsBarPage.selectChartTypeBarLabel(), barIndex), barLabel);
|
130
|
+
},
|
131
|
+
|
132
|
+
/**
|
133
|
+
* @description Set the Max Y value in its input field
|
134
|
+
* @param {number} value Max Y value to be set
|
135
|
+
*/
|
136
|
+
setMaxYValue: (value) => {
|
137
|
+
chartsBarPage.selectChartTypeMaxYInputField()
|
138
|
+
.clear()
|
139
|
+
.type(value)
|
140
|
+
.should('have.value', value)
|
141
|
+
.blur();
|
142
|
+
},
|
143
|
+
|
144
|
+
//Preview tab
|
145
|
+
/**
|
146
|
+
* Verify the bar height in preview tab
|
147
|
+
* @param {Object} barProperties - The properties of the bar
|
148
|
+
* @param {number} barProperties.barIndex index of the bar
|
149
|
+
* @param {number} barProperties.barValue Height of the bar as per the axis
|
150
|
+
* @param {number} barProperties.range Maximum value of the axis on which bar value is determined
|
151
|
+
*/
|
152
|
+
verifyBarHeightInPreviewTab: ({ barIndex, barValue, range }) => {
|
153
|
+
let barHeight = parseFloat(barValue /= range)
|
154
|
+
utilities.getNthElement(chartsBarPage.previewTabBar(), barIndex)
|
155
|
+
.should('have.attr', 'height', barHeight);
|
156
|
+
},
|
157
|
+
|
158
|
+
/**
|
159
|
+
* Verify the bar is locked in preview tab
|
160
|
+
* @param {number} barIndex index of the bar
|
161
|
+
*/
|
162
|
+
verifyBarIsLockedInPreviewTab: (barIndex) => {
|
163
|
+
utilities.getNthElement(chartsBarPage.previewTabBar(), barIndex)
|
164
|
+
.within(() => {
|
165
|
+
utilities.verifyElementVisibilityState(chartsBarPage.barLockIcon(), 'visible');
|
166
|
+
utilities.verifyElementVisibilityState(chartsBarPage.barDragHandle().find('svg'), 'notExist');
|
167
|
+
});
|
168
|
+
},
|
169
|
+
|
170
|
+
/**
|
171
|
+
* @description increase the bar height/value in the preview tab chart
|
172
|
+
* @param {Object} barProperties - The properties and changes to be done on the bar
|
173
|
+
* @param {number} barProperties.barIndex index of the bar
|
174
|
+
* @param {number} barProperties.value value by which the bar height is to be increased as per Y axis
|
175
|
+
* @param {number} barProperties.range Maximum value of the axis on which bar value is determined
|
176
|
+
*/
|
177
|
+
setBarValueInPreviewTab: ({ barIndex, value, range }) => {
|
178
|
+
utilities.getNthElement(chartsBarPage.previewTabBar(), barIndex)
|
179
|
+
.invoke('attr', 'height')
|
180
|
+
.then((barValue) => {
|
181
|
+
let updatedBarValue = parseFloat(value /= range)
|
182
|
+
let originalBarValue = parseFloat(barValue)
|
183
|
+
let unitChange = parseFloat(1 / range)
|
184
|
+
if (originalBarValue < updatedBarValue) {
|
185
|
+
for (let i = originalBarValue; i < updatedBarValue; i = parseFloat((i + unitChange).toFixed(2))) {
|
186
|
+
utilities.getNthElement(chartsBarPage.previewTabBarDragHandle(), barIndex)
|
187
|
+
.focus()
|
188
|
+
.type('{upArrow}');
|
189
|
+
}
|
190
|
+
} else if (originalBarValue > updatedBarValue) {
|
191
|
+
for (let i = originalBarValue; i > updatedBarValue; i = parseFloat((i - unitChange).toFixed(2))) {
|
192
|
+
utilities.getNthElement(chartsBarPage.previewTabBarDragHandle(), barIndex)
|
193
|
+
.focus()
|
194
|
+
.type('{downArrow}');
|
195
|
+
}
|
196
|
+
}
|
197
|
+
utilities.getNthElement(chartsBarPage.previewTabBar(), barIndex)
|
198
|
+
.should('have.attr', 'height', updatedBarValue);
|
199
|
+
});
|
200
|
+
},
|
201
|
+
|
202
|
+
/**
|
203
|
+
* @description Edit bar label in preview tab chart
|
204
|
+
* @param {number} barIndex Index of the bar to be edited
|
205
|
+
* @param {string} barLabel Label to be given to the bar
|
206
|
+
*/
|
207
|
+
editBarLabelInPreviewTab: (barIndex, barLabel) => {
|
208
|
+
utilities.triggerMouseover(utilities.getNthElement(chartsBarPage.previewTabBar(), barIndex))
|
209
|
+
chartsBarPage.barAndPointTooltipLabelButton()
|
210
|
+
.click();
|
211
|
+
chartsBarPage.steps.addInputToChartLabelPopupInputField(barLabel);
|
212
|
+
chartsBarPage.steps.saveGraphLabelPopup();
|
213
|
+
utilities.triggerMouseout(utilities.getNthElement(chartsBarPage.previewTabBar(), barIndex));
|
214
|
+
utilities.verifyInnerText(utilities.getNthElement(chartsBarPage.previewTabBarLabel(), barIndex), barLabel);
|
215
|
+
},
|
216
|
+
|
217
|
+
/**
|
218
|
+
* @description Delete bar in preview tab
|
219
|
+
* @param {number} barIndex Index of the bar to be deleted
|
220
|
+
*/
|
221
|
+
deleteBarInPreviewTab: (barIndex) => {
|
222
|
+
utilities.triggerMouseover(utilities.getNthElement(chartsBarPage.previewTabBar(), barIndex))
|
223
|
+
chartsBarPage.barAndPointTooltipDeleteButton()
|
224
|
+
.click();
|
225
|
+
}
|
226
|
+
}
|
227
|
+
|
228
|
+
export const chartsBarPage = {
|
229
|
+
...selectors,
|
230
|
+
steps
|
231
|
+
}
|
@@ -0,0 +1,42 @@
|
|
1
|
+
const selectors = {
|
2
|
+
selectChartTypePoint: () => cy.get('[class*="Chartsstyles__ChartsQuestionWrapper"] .ngie-chart-point'),
|
3
|
+
}
|
4
|
+
|
5
|
+
const steps = {
|
6
|
+
/**
|
7
|
+
* @description set the point height/value in the select chart type section chart
|
8
|
+
* @param {Object} pointProperties - The properties and changes to be done on the bar
|
9
|
+
* @param {number} pointProperties.pointIndex index of the bar
|
10
|
+
* @param {number} pointProperties.value value to which the point is to be set as per Y axis
|
11
|
+
* @param {number} pointProperties.range Maximum value of the axis on which bar value is determined
|
12
|
+
*/
|
13
|
+
setPointValueInSelectChartTypeSection: ({ barIndex, value, range }) => {
|
14
|
+
utilities.getNthElement(chartsBarPage.selectChartTypePoint(), barIndex)
|
15
|
+
.invoke('attr', 'height')
|
16
|
+
.then((pointValue) => {
|
17
|
+
let updatedPointValue = parseFloat(value /= range)
|
18
|
+
let originalPointValue = parseFloat(pointValue)
|
19
|
+
let unitChange = parseFloat(1 / range)
|
20
|
+
if (originalPointValue < updatedPointValue) {
|
21
|
+
for (let i = originalPointValue; i < updatedPointValue; i = parseFloat((i + unitChange).toFixed(2))) {
|
22
|
+
utilities.getNthElement(chartsBarPage.selectChartTypePoint(), barIndex)
|
23
|
+
.focus()
|
24
|
+
.type('{upArrow}');
|
25
|
+
}
|
26
|
+
} else if (originalPointValue > updatedPointValue) {
|
27
|
+
for (let i = originalPointValue; i > updatedPointValue; i = parseFloat((i - unitChange).toFixed(2))) {
|
28
|
+
utilities.getNthElement(chartsBarPage.selectChartTypePoint(), barIndex)
|
29
|
+
.focus()
|
30
|
+
.type('{downArrow}');
|
31
|
+
}
|
32
|
+
}
|
33
|
+
utilities.getNthElement(chartsBarPage.selectChartTypePoint(), barIndex)
|
34
|
+
.should('have.attr', 'height', updatedPointValue);
|
35
|
+
});
|
36
|
+
},
|
37
|
+
}
|
38
|
+
|
39
|
+
export const chartsLinePage = {
|
40
|
+
...selectors,
|
41
|
+
steps
|
42
|
+
}
|
@@ -0,0 +1,58 @@
|
|
1
|
+
import utilities from "../../support/helpers/utilities";
|
2
|
+
|
3
|
+
const selectors = {
|
4
|
+
allowTeachersToDownloadStudentResponseLabel: () => cy.get('[data-ngie-testid="allow-teachers-to-download-student-response-checkbox"] [class*="label"]'),
|
5
|
+
allowTeachersToDownloadStudentResponseCheckbox: () => cy.get('[data-ngie-testid="allow-teachers-to-download-student-response-checkbox"] input')
|
6
|
+
}
|
7
|
+
|
8
|
+
const steps = {
|
9
|
+
verifyAllowTeachersToDownloadStudentResponseCheckboxChecked: () => {
|
10
|
+
allowTeachersToDownloadStudentResponseComponent.allowTeachersToDownloadStudentResponseCheckbox()
|
11
|
+
.should('be.checked');
|
12
|
+
},
|
13
|
+
|
14
|
+
uncheckAllowTeachersToDownloadStudentResponseCheckbox: () => {
|
15
|
+
allowTeachersToDownloadStudentResponseComponent.allowTeachersToDownloadStudentResponseCheckbox()
|
16
|
+
.click()
|
17
|
+
.should('not.be.checked');
|
18
|
+
},
|
19
|
+
|
20
|
+
checkAllowTeachersToDownloadStudentResponseCheckbox: () => {
|
21
|
+
allowTeachersToDownloadStudentResponseComponent.allowTeachersToDownloadStudentResponseCheckbox()
|
22
|
+
.click()
|
23
|
+
.should('be.checked');
|
24
|
+
}
|
25
|
+
}
|
26
|
+
|
27
|
+
const tests = {
|
28
|
+
verifyAllowTeachersToDownloadStudentResponseSection: () => {
|
29
|
+
it('In details section, \'Allow teachers to download student response\' checkbox and label should be displayed and by default it should be checked', () => {
|
30
|
+
utilities.verifyInnerText(allowTeachersToDownloadStudentResponseComponent.allowTeachersToDownloadStudentResponseLabel(), 'Allow teachers to download student response');
|
31
|
+
utilities.verifyElementVisibilityState(allowTeachersToDownloadStudentResponseComponent.allowTeachersToDownloadStudentResponseLabel(), 'visible');
|
32
|
+
utilities.verifyElementVisibilityState(allowTeachersToDownloadStudentResponseComponent.allowTeachersToDownloadStudentResponseCheckbox(), 'exist');
|
33
|
+
allowTeachersToDownloadStudentResponseComponent.steps.verifyAllowTeachersToDownloadStudentResponseCheckboxChecked();
|
34
|
+
});
|
35
|
+
|
36
|
+
it('User should be able to uncheck and check \'Allow teachers to download student response\' checkbox', () => {
|
37
|
+
allowTeachersToDownloadStudentResponseComponent.steps.uncheckAllowTeachersToDownloadStudentResponseCheckbox();
|
38
|
+
allowTeachersToDownloadStudentResponseComponent.steps.checkAllowTeachersToDownloadStudentResponseCheckbox();
|
39
|
+
});
|
40
|
+
|
41
|
+
it('CSS of \'Allow teachers to download student response\' checkbox and label section', { tags: 'css' }, () => {
|
42
|
+
utilities.verifyCSS(allowTeachersToDownloadStudentResponseComponent.allowTeachersToDownloadStudentResponseLabel(), {
|
43
|
+
'color': css.color.labelText,
|
44
|
+
'font-size': css.fontSize.normal,
|
45
|
+
'font-weight': css.fontWeight.regular
|
46
|
+
});
|
47
|
+
utilities.verifyCSS(allowTeachersToDownloadStudentResponseComponent.allowTeachersToDownloadStudentResponseCheckbox().parents('.icon-checkbox-selected').find('.checkbox-icon-border-rect'), {
|
48
|
+
'fill': css.color.activeButtons
|
49
|
+
});
|
50
|
+
})
|
51
|
+
}
|
52
|
+
}
|
53
|
+
|
54
|
+
export const allowTeachersToDownloadStudentResponseComponent = {
|
55
|
+
...selectors,
|
56
|
+
steps,
|
57
|
+
tests
|
58
|
+
}
|
@@ -183,8 +183,8 @@ const tests = {
|
|
183
183
|
case 'list sorting':
|
184
184
|
helpText = 'You can set the correct answer by sorting the correct answer(s) in the response area(s).';
|
185
185
|
break;
|
186
|
-
case '
|
187
|
-
helpText = 'You can set the correct answer by
|
186
|
+
case 'text selection':
|
187
|
+
helpText = 'You can set the correct answer by selecting the correct answer selection(s).';
|
188
188
|
break;
|
189
189
|
case 'highlight image':
|
190
190
|
helpText = 'You can set the correct answer by selecting the correct answer(s) in the response area(s).';
|
@@ -205,11 +205,14 @@ const tests = {
|
|
205
205
|
helpText = 'You can set the correct answer by entering the correct answer(s) in the response area(s)';
|
206
206
|
break;
|
207
207
|
case 'grid fill':
|
208
|
-
helpText = 'You can set the correct answer by selecting the correct cell(s)
|
208
|
+
helpText = 'You can set the correct answer by selecting the correct answer cell(s).';
|
209
209
|
break;
|
210
210
|
case 'number line':
|
211
211
|
helpText = 'You can set the correct answer by entering the correct answer(s) in the response area(s)';
|
212
212
|
break;
|
213
|
+
case 'number line - label':
|
214
|
+
helpText = 'You can set the correct answer by dragging the correct answer(s) in the response area(s).';
|
215
|
+
break;
|
213
216
|
default:
|
214
217
|
throw new Error('Invalid question type');
|
215
218
|
}
|
@@ -246,36 +249,24 @@ const tests = {
|
|
246
249
|
* @example - verifyAutoScoredPointsErrorMessageWhenPointsFieldIsEmpty('Correct');
|
247
250
|
*/
|
248
251
|
verifyAutoScoredPointsErrorMessageWhenPointsFieldIsEmpty: (accordionName) => {
|
249
|
-
it(`When the user focuses in and out of the empty points input field,
|
252
|
+
it(`When the user focuses in and out of the empty points input field, no points error message should be displayed below the points input field and error icon should not be displayed on the \'${accordionName}\' accordion`, () => {
|
250
253
|
scoringSectionBase.pointsInputField()
|
251
254
|
.focus();
|
252
255
|
scoringSectionBase.pointsInputField()
|
253
256
|
.blur();
|
254
|
-
utilities.verifyElementVisibilityState(scoringSectionBase.pleaseEnterPointsErrorMessage(), '
|
255
|
-
utilities.verifyInnerText(scoringSectionBase.pleaseEnterPointsErrorMessage(), 'Error: Please enter points.');
|
257
|
+
utilities.verifyElementVisibilityState(scoringSectionBase.pleaseEnterPointsErrorMessage(), 'notExist')
|
256
258
|
if (accordionName == 'Correct') {
|
257
259
|
autoScoredSpecifyCorrectAnswerSection.correctAnswerAccordion()
|
258
260
|
.within(() => {
|
259
|
-
autoScoredSpecifyCorrectAnswerSection.steps.
|
261
|
+
autoScoredSpecifyCorrectAnswerSection.steps.verifySpecifyCorrectAnswerErrorIconNotExists();
|
260
262
|
});
|
261
263
|
} else {
|
262
264
|
autoScoredSpecifyCorrectAnswerSection.alternativeAnswerAccordion()
|
263
265
|
.within(() => {
|
264
|
-
autoScoredSpecifyCorrectAnswerSection.steps.
|
266
|
+
autoScoredSpecifyCorrectAnswerSection.steps.verifySpecifyCorrectAnswerErrorIconNotExists();
|
265
267
|
});
|
266
268
|
};
|
267
269
|
});
|
268
|
-
|
269
|
-
it(`When the user allots points then the \'Error: Please enter points.\' validation text and error icon displayed on the \'${accordionName}\' accordion should disappear, the allotted points should be displayed on the \'${accordionName}\' accordion`, () => {
|
270
|
-
scoringSectionBase.steps.allotPoints(20);
|
271
|
-
utilities.verifyElementVisibilityState(scoringSectionBase.pleaseEnterPointsErrorMessage(), 'notExist');
|
272
|
-
autoScoredSpecifyCorrectAnswerSection.steps.verifySpecifyCorrectAnswerErrorIconNotExists();
|
273
|
-
if (accordionName === 'Correct') {
|
274
|
-
autoScoredSpecifyCorrectAnswerSection.steps.verifyPointsLabelAndPointsOnAnswerAccordion(0, '20');
|
275
|
-
} else {
|
276
|
-
autoScoredSpecifyCorrectAnswerSection.steps.verifyPointsLabelAndPointsOnAnswerAccordion(1, '20');
|
277
|
-
}
|
278
|
-
});
|
279
270
|
},
|
280
271
|
|
281
272
|
verifyAutoScoredCorrectAnswerErrorMessageCSSAndA11y: () => {
|
@@ -320,7 +311,7 @@ const tests = {
|
|
320
311
|
.verifyPseudoClassBeforeProperty('color', css.color.activeButtons);
|
321
312
|
});
|
322
313
|
|
323
|
-
it('If user has not
|
314
|
+
it('If user has not selected correct answer in the correct accordion, the user should get a warning popup', () => {
|
324
315
|
autoScoredSpecifyCorrectAnswerSection.steps.clickOnAddAlternativeAnswerButton();
|
325
316
|
dialogBoxBase.steps.allFieldsRequiredWarningPopupContents();
|
326
317
|
});
|
@@ -350,13 +341,12 @@ const tests = {
|
|
350
341
|
utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'notExist');
|
351
342
|
});
|
352
343
|
|
353
|
-
it('\'Error: Please set a correct answer.\'
|
344
|
+
it('\'Error: Please set a correct answer.\' validation error messages should be displayed in the correct accordion, points error message should not be displayed', () => {
|
354
345
|
autoScoredSpecifyCorrectAnswerSection.correctAnswerAccordion()
|
355
346
|
.within(() => {
|
356
347
|
utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'visible');
|
357
348
|
});
|
358
|
-
utilities.
|
359
|
-
utilities.verifyElementVisibilityState(scoringSectionBase.pleaseEnterPointsErrorMessage(), 'visible');
|
349
|
+
utilities.verifyElementVisibilityState(scoringSectionBase.pleaseEnterPointsErrorMessage(), 'notExist');
|
360
350
|
if (questionType != 'list ordering' && questionType != 'short text response' && questionType != 'text entry math') {
|
361
351
|
steps.verifySpecifyCorrectAnswerErrorMessage();
|
362
352
|
}
|
@@ -4,14 +4,14 @@ const css = Cypress.env('css');
|
|
4
4
|
|
5
5
|
//Note: We need to work on this file, as disablePreviousIncorrectOptionLabel is not present for all auto scored question types, need to create different component files allowStudentsToCheckAnswerComponent, disablePreviousOptionComponent
|
6
6
|
const selectors = {
|
7
|
-
allowStudentToCheckAnswerLabel: () => cy.get('[data-ngie-testid="allow-
|
7
|
+
allowStudentToCheckAnswerLabel: () => cy.get('[data-ngie-testid="allow-student-to-check-answer-checkbox"] .MuiFormControlLabel-label'),
|
8
8
|
//Note: update after https://redmine.zeuslearning.com/issues/565666 gets resolved
|
9
|
-
allowStudentToCheckAnswerCheckbox: () => cy.get('[data-ngie-testid="allow-
|
9
|
+
allowStudentToCheckAnswerCheckbox: () => cy.get('[data-ngie-testid="allow-student-to-check-answer-checkbox"] input'),
|
10
10
|
maximumCheckAnswerAttemptsDropdownLabel: () => cy.get('#Maximum-check-answer-attempts-dropdown-label'),
|
11
11
|
maximumCheckAnswerAttemptsDropdown: () => cy.get('#Maximum-check-answer-attempts-select'),
|
12
|
-
maximumCheckAnswerAttemptsDropdownListOptions: (
|
13
|
-
if (
|
14
|
-
return cy.get(`[aria-labelledby*="Maximum-check-answer-attempts-dropdown-label"] [role="option"][
|
12
|
+
maximumCheckAnswerAttemptsDropdownListOptions: (dataValue = null) => {
|
13
|
+
if (dataValue) {
|
14
|
+
return cy.get(`[aria-labelledby*="Maximum-check-answer-attempts-dropdown-label"] [role="option"][data-value="${dataValue}"]`)
|
15
15
|
} else {
|
16
16
|
return cy.get('[aria-labelledby*="Maximum-check-answer-attempts-dropdown-label"] [role="option"]')
|
17
17
|
}
|
@@ -115,7 +115,7 @@ const tests = {
|
|
115
115
|
'font-size': css.fontSize.normal,
|
116
116
|
'font-weight': css.fontWeight.regular
|
117
117
|
});
|
118
|
-
utilities.verifyCSS(autoScoredStudentViewSettings.allowStudentToCheckAnswerCheckbox().parents('[data-ngie-testid="allow-
|
118
|
+
utilities.verifyCSS(autoScoredStudentViewSettings.allowStudentToCheckAnswerCheckbox().parents('[data-ngie-testid="allow-student-to-check-answer-checkbox"]').find('g').eq(1), {
|
119
119
|
'fill': css.color.activeButtons
|
120
120
|
});
|
121
121
|
utilities.verifyCSS(autoScoredStudentViewSettings.maximumCheckAnswerAttemptsDropdownLabel(), {
|