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
@@ -0,0 +1,253 @@
|
|
1
|
+
import { audioPlayerPage } from "../../../pages";
|
2
|
+
import abortEarlySetup from "../../../support/helpers/abortEarly";
|
3
|
+
import utilities from "../../../support/helpers/utilities";
|
4
|
+
const css = Cypress.env('css');
|
5
|
+
|
6
|
+
describe('Student view settings - Allow students to download audio and Limit play attempts checkboxes', () => {
|
7
|
+
before(() => {
|
8
|
+
cy.loginAs('admin');
|
9
|
+
});
|
10
|
+
|
11
|
+
describe('Allow students to download audio and Limit play attempts checkboxes - edit tab contents', () => {
|
12
|
+
abortEarlySetup();
|
13
|
+
before(() => {
|
14
|
+
audioPlayerPage.steps.navigateToCreateResource('audio player');
|
15
|
+
});
|
16
|
+
|
17
|
+
it('\'Student view settings\' label should be displayed', () => {
|
18
|
+
utilities.verifyInnerText(audioPlayerPage.studentViewSettingsLabel(), 'Student view settings');
|
19
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.studentViewSettingsLabel(), 'visible');
|
20
|
+
});
|
21
|
+
|
22
|
+
it('\'Allow students to download the audio\' and \'Limit play attempts\' label and checkbox should be displayed and by default the checkboxes should be unchecked.', () => {
|
23
|
+
utilities.verifyInnerText(audioPlayerPage.allowStudentsToDownloadAudioLabel(), 'Allow students to download the audio');
|
24
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.allowStudentsToDownloadAudioLabel(), 'visible');
|
25
|
+
audioPlayerPage.steps.verifyAllowStudentsToDownloadAudioCheckboxNotChecked();
|
26
|
+
utilities.verifyInnerText(audioPlayerPage.limitPlayAttemptsLabel(), 'Limit play attempts');
|
27
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.limitPlayAttemptsLabel(), 'visible');
|
28
|
+
audioPlayerPage.steps.verifyLimitPlayAttemptsCheckboxNotChecked();
|
29
|
+
});
|
30
|
+
|
31
|
+
it('CSS of \'Allow students to download the audio\' and \'Limit play attempts\' checkbox - unchecked state', { tags: 'css' }, () => {
|
32
|
+
utilities.verifyCSS(audioPlayerPage.allowStudentsToDownloadAudioCheckbox().parent().find('svg'), {
|
33
|
+
'fill': css.color.uncheckedCheckbox
|
34
|
+
});
|
35
|
+
utilities.verifyCSS(audioPlayerPage.limitPlayAttemptsCheckbox().parent().find('svg'), {
|
36
|
+
'fill': css.color.uncheckedCheckbox
|
37
|
+
});
|
38
|
+
});
|
39
|
+
|
40
|
+
it('The user should be able to check the \'Allow students to download the audio\' and \'Limit play attempts\' checkbox', () => {
|
41
|
+
audioPlayerPage.steps.checkAllowStudentsToDownloadAudioCheckbox();
|
42
|
+
audioPlayerPage.steps.checkLimitPlayAttemptsCheckboxCheckbox();
|
43
|
+
});
|
44
|
+
|
45
|
+
it('CSS of \'Allow students to download the audio\' and \'Limit play attempts\' checkbox - checked state', { tags: 'css' }, () => {
|
46
|
+
utilities.verifyCSS(audioPlayerPage.allowStudentsToDownloadAudioCheckbox().parent('.icon-checkbox-selected').find('.checkbox-icon-border-rect'), {
|
47
|
+
'fill': css.color.activeButtons
|
48
|
+
});
|
49
|
+
utilities.verifyCSS(audioPlayerPage.limitPlayAttemptsCheckbox().parent('.icon-checkbox-selected').find('.checkbox-icon-border-rect'), {
|
50
|
+
'fill': css.color.activeButtons
|
51
|
+
});
|
52
|
+
});
|
53
|
+
|
54
|
+
it('Accessibility of\'Allow students to download the audio\' and \'Limit play attempts\' checkbox - checked state', { tags: 'a11y' }, () => {
|
55
|
+
cy.checkAccessibility(audioPlayerPage.allowStudentsToDownloadAudioCheckbox().parents('.audio-player-resource'));
|
56
|
+
});
|
57
|
+
|
58
|
+
it('When limit playback attempts checkbox is checked, then \'Play attempts limit\' label and empty input field should be displayed', () => {
|
59
|
+
utilities.verifyInnerText(audioPlayerPage.playAttemptsLimitLabel(), 'Play attempts limit');
|
60
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.playAttemptsLimitLabel(), 'visible');
|
61
|
+
utilities.verifyInnerText(audioPlayerPage.playAttemptsLimitInputField(), '');
|
62
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.playAttemptsLimitInputField(), 'visible');
|
63
|
+
});
|
64
|
+
|
65
|
+
it('When the user focuses in and out of the \'Play attempts limit\' input field, no error message should be displayed', () => {
|
66
|
+
audioPlayerPage.steps.focusInAndFocusOutOfPlayAttemptsLimitInputField()
|
67
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.errorMessage(), 'notExist');
|
68
|
+
})
|
69
|
+
|
70
|
+
it('CSS of student view settings section', { tags: 'css' }, () => {
|
71
|
+
utilities.verifyCSS(audioPlayerPage.studentViewSettingsLabel(), {
|
72
|
+
'color': css.color.labels,
|
73
|
+
'font-size': css.fontSize.default,
|
74
|
+
'font-weight': css.fontWeight.semibold
|
75
|
+
});
|
76
|
+
utilities.verifyCSS(audioPlayerPage.allowStudentsToDownloadAudioLabel(), {
|
77
|
+
'color': css.color.labels,
|
78
|
+
'font-size': css.fontSize.normal,
|
79
|
+
'font-weight': css.fontWeight.regular
|
80
|
+
});
|
81
|
+
utilities.verifyCSS(audioPlayerPage.limitPlayAttemptsLabel(), {
|
82
|
+
'color': css.color.labels,
|
83
|
+
'font-size': css.fontSize.normal,
|
84
|
+
'font-weight': css.fontWeight.regular
|
85
|
+
});
|
86
|
+
utilities.verifyCSS(audioPlayerPage.playAttemptsLimitLabel(), {
|
87
|
+
'color': css.color.labels,
|
88
|
+
'font-size': css.fontSize.normal,
|
89
|
+
'font-weight': css.fontWeight.semibold
|
90
|
+
});
|
91
|
+
utilities.verifyCSS(audioPlayerPage.playAttemptsLimitInputField(), {
|
92
|
+
'color': css.color.text,
|
93
|
+
'font-size': css.fontSize.default,
|
94
|
+
'font-weight': css.fontWeight.regular
|
95
|
+
});
|
96
|
+
});
|
97
|
+
|
98
|
+
it('When user adds decimal values or alphanumeric values then only numeric values should be displayed in the \'Playback limit\' input field', () => {
|
99
|
+
audioPlayerPage.steps.setPlaybackLimit('.10.0');
|
100
|
+
audioPlayerPage.steps.verifyPlaybackLimitInputFieldValue('100');
|
101
|
+
audioPlayerPage.steps.setPlaybackLimit('!@#ab5cd8e4');
|
102
|
+
audioPlayerPage.steps.verifyPlaybackLimitInputFieldValue('584');
|
103
|
+
});
|
104
|
+
|
105
|
+
it('When user unchecks the limit playback attempts checkbox, then playback limit label and input field should not be displayed', () => {
|
106
|
+
audioPlayerPage.steps.uncheckLimitPlayAttemptsCheckbox();
|
107
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.playAttemptsLimitLabel(), 'notExist');
|
108
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.playAttemptsLimitInputField(), 'notExist');
|
109
|
+
});
|
110
|
+
});
|
111
|
+
|
112
|
+
//We are unable to test the download an audio functionality, have added in manual sheet
|
113
|
+
describe('Allow students to download audio - preview tab functionality', () => {
|
114
|
+
abortEarlySetup();
|
115
|
+
before(() => {
|
116
|
+
audioPlayerPage.steps.navigateToCreateResource('audio player');
|
117
|
+
audioPlayerPage.steps.uploadFile('uploads/sample10Sec.mp3');
|
118
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
119
|
+
});
|
120
|
+
|
121
|
+
it('When the \'Allow students to download the audio\' checkbox is in unchecked state, the download button should not be displayed for the audio present in the preview tab.', () => {
|
122
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.audioDownloadButton(), 'notExist')
|
123
|
+
});
|
124
|
+
|
125
|
+
it('When user checks the \'Allow students to download the audio\' checkbox, download button should be displayed for the audio present in the preview tab.', () => {
|
126
|
+
audioPlayerPage.steps.switchToEditTab()
|
127
|
+
audioPlayerPage.steps.checkAllowStudentsToDownloadAudioCheckbox();
|
128
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
129
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.audioDownloadButton(), 'visible')
|
130
|
+
});
|
131
|
+
|
132
|
+
it('When user hovers over the download audio button, then tooltip \'Download audio\' should be displayed', () => {
|
133
|
+
audioPlayerPage.audioDownloadButton()
|
134
|
+
.verifyTooltip('Download audio');
|
135
|
+
});
|
136
|
+
|
137
|
+
it('When the user clicks on \'Download\' button, window open method should be called with target blank', () => {
|
138
|
+
audioPlayerPage.steps.verifyWindowOpenMethodAfterClickingOnDownloadAudioButton();
|
139
|
+
});
|
140
|
+
|
141
|
+
it('CSS of the download button', { tags: 'css' }, () => {
|
142
|
+
audioPlayerPage.audioDownloadButton()
|
143
|
+
.verifyPseudoClassBeforeProperty('color', css.color.activeButtons);
|
144
|
+
});
|
145
|
+
|
146
|
+
it('Accessibility of the download button', { tags: 'a11y' }, () => {
|
147
|
+
cy.checkAccessibility(audioPlayerPage.audioDownloadButton().parents('.audio-player-toolbar'))
|
148
|
+
});
|
149
|
+
|
150
|
+
it('When the user unchecks the \'Allow students to download the audio\' checkbox, the download button should not be displayed for the audio present in the preview tab.', () => {
|
151
|
+
audioPlayerPage.steps.switchToEditTab();
|
152
|
+
audioPlayerPage.steps.uncheckAllowStudentsToDownloadAudioCheckbox();
|
153
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
154
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.audioDownloadButton(), 'notExist')
|
155
|
+
});
|
156
|
+
});
|
157
|
+
|
158
|
+
describe('Limit play attempts : Preview tab functionality', () => {
|
159
|
+
abortEarlySetup();
|
160
|
+
before(() => {
|
161
|
+
audioPlayerPage.steps.navigateToCreateResource('audio player');
|
162
|
+
audioPlayerPage.steps.uploadFile('uploads/sample10Sec.mp3');
|
163
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
164
|
+
});
|
165
|
+
|
166
|
+
it('When the \'Allow students to download the audio\' checkbox is unchecked, no help text should be displayed in the preview tab', () => {
|
167
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.playbackLimitHelpText(), 'notExist');
|
168
|
+
});
|
169
|
+
|
170
|
+
it('When the \'Allow students to download the audio\' checkbox is unchecked and user has not set any play limit, no help text should be displayed in the preview tab', () => {
|
171
|
+
audioPlayerPage.steps.switchToEditTab();
|
172
|
+
audioPlayerPage.steps.checkLimitPlayAttemptsCheckboxCheckbox();
|
173
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
174
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.playbackLimitHelpText(), 'notExist');
|
175
|
+
});
|
176
|
+
|
177
|
+
it('When the user sets a playback limit, then a help text \'You have # plays remaining.\' should be displayed beside the audio player in preview tab. (# being the playback limit set by the user in the edit tab)', () => {
|
178
|
+
audioPlayerPage.steps.switchToEditTab();
|
179
|
+
audioPlayerPage.steps.setPlaybackLimit(2);
|
180
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
181
|
+
audioPlayerPage.steps.verifyPlaybackLimitHelpTextPreviewTab(2);
|
182
|
+
});
|
183
|
+
|
184
|
+
it('When user plays the audio in preview tab, play count displayed in the help text message should get updated.', () => {
|
185
|
+
audioPlayerPage.steps.startPlayback();
|
186
|
+
audioPlayerPage.steps.waitForPlaybackToBegin();
|
187
|
+
audioPlayerPage.steps.verifyAudioPlaybackTimer('00:10', '00:10');
|
188
|
+
utilities.verifyInnerText(audioPlayerPage.playbackLimitHelpText(), 'You have 1 play remaining.');
|
189
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.playbackLimitHelpText(), 'visible');
|
190
|
+
});
|
191
|
+
|
192
|
+
it('CSS of message displayed below audio player and play button in preview tab', { tags: 'css' }, () => {
|
193
|
+
utilities.verifyCSS(audioPlayerPage.playbackLimitHelpText(), {
|
194
|
+
'color': css.color.text,
|
195
|
+
'font-size': css.fontSize.small,
|
196
|
+
'font-weight': css.fontWeight.regular,
|
197
|
+
'font-style': 'italic'
|
198
|
+
});
|
199
|
+
});
|
200
|
+
|
201
|
+
it('Accessibility of message displayed below audio player in preview tab', { tags: 'a11y' }, () => {
|
202
|
+
cy.checkAccessibility(audioPlayerPage.playbackLimitHelpText().parents('.audio-resource-preview-wrapper'));
|
203
|
+
});
|
204
|
+
|
205
|
+
it('When user reaches maximum playback limit in preview tab, message displayed below audio player should be updated to \'You\'ve reached the playback limit for this audio clip.\' and play button should get disabled.', () => {
|
206
|
+
audioPlayerPage.steps.startPlayback();
|
207
|
+
audioPlayerPage.steps.waitForPlaybackToBegin();
|
208
|
+
audioPlayerPage.steps.verifyAudioPlaybackTimer('00:10', '00:10');
|
209
|
+
utilities.verifyInnerText(audioPlayerPage.playbackLimitHelpText(), 'You\'ve reached the playback limit for this audio clip.');
|
210
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.playbackLimitHelpText(), 'visible');
|
211
|
+
audioPlayerPage.steps.verifyPlaybackPlayButtonDisabledState();
|
212
|
+
});
|
213
|
+
|
214
|
+
it('CSS of \'You\'ve reached the playback limit for this audio clip.\' message', { tags: 'css' }, () => {
|
215
|
+
utilities.verifyCSS(audioPlayerPage.playbackLimitHelpText(), {
|
216
|
+
'color': css.color.text,
|
217
|
+
'font-size': css.fontSize.small,
|
218
|
+
'font-weight': css.fontWeight.regular,
|
219
|
+
'font-style': 'italic'
|
220
|
+
});
|
221
|
+
});
|
222
|
+
|
223
|
+
it('Accessibility of \'You\'ve reached the playback limit for this audio clip.\' message and play button', { tags: 'a11y' }, () => {
|
224
|
+
cy.checkAccessibility(audioPlayerPage.playbackLimitHelpText().parents('.audio-resource-preview-wrapper'));
|
225
|
+
});
|
226
|
+
|
227
|
+
it('The playback limit should reset if the user revisits preview tab', () => {
|
228
|
+
audioPlayerPage.steps.resetQuestionPreview();
|
229
|
+
audioPlayerPage.steps.verifyPlaybackLimitHelpTextPreviewTab(2);
|
230
|
+
});
|
231
|
+
|
232
|
+
it('When user updates the play limit, then it should be reflected in the preview tab help text', () => {
|
233
|
+
audioPlayerPage.steps.switchToEditTab();
|
234
|
+
audioPlayerPage.steps.setPlaybackLimit(3);
|
235
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
236
|
+
audioPlayerPage.steps.verifyPlaybackLimitHelpTextPreviewTab(3);
|
237
|
+
});
|
238
|
+
|
239
|
+
it('When user removes the play limit, then user should be able to play the audio multiple times', () => {
|
240
|
+
audioPlayerPage.steps.switchToEditTab();
|
241
|
+
audioPlayerPage.steps.uncheckLimitPlayAttemptsCheckbox();
|
242
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
243
|
+
audioPlayerPage.steps.startPlayback();
|
244
|
+
utilities.verifyElementNotDisabled(audioPlayerPage.playbackPlayButton());
|
245
|
+
audioPlayerPage.steps.startPlayback();
|
246
|
+
utilities.verifyElementNotDisabled(audioPlayerPage.playbackPlayButton());
|
247
|
+
audioPlayerPage.steps.startPlayback();
|
248
|
+
utilities.verifyElementNotDisabled(audioPlayerPage.playbackPlayButton());
|
249
|
+
audioPlayerPage.steps.startPlayback();
|
250
|
+
utilities.verifyElementNotDisabled(audioPlayerPage.playbackPlayButton());
|
251
|
+
})
|
252
|
+
});
|
253
|
+
});
|
@@ -0,0 +1,313 @@
|
|
1
|
+
import { audioPlayerPage } from "../../../pages";
|
2
|
+
import utilities from "../../../support/helpers/utilities";
|
3
|
+
import abortEarlySetup from "../../../support/helpers/abortEarly";
|
4
|
+
import constants from "../../../fixtures/constants";
|
5
|
+
const css = Cypress.env('css');
|
6
|
+
|
7
|
+
describe('Audio player: Edit tab', () => {
|
8
|
+
before(() => {
|
9
|
+
cy.loginAs('admin');
|
10
|
+
});
|
11
|
+
|
12
|
+
//TODO: Update delete cases after https://redmine.zeuslearning.com/issues/569731 is resolved
|
13
|
+
describe('\'Upload audio file\' section', () => {
|
14
|
+
abortEarlySetup();
|
15
|
+
before(() => {
|
16
|
+
audioPlayerPage.steps.navigateToCreateResource('audio player');
|
17
|
+
});
|
18
|
+
|
19
|
+
it('\'Upload audio file\' and \'Add audio URL\' radio buttons should be displayed. By default \'Upload audio file\' button should be selected', () => {
|
20
|
+
utilities.verifyInnerText(audioPlayerPage.uploadAudioFileLabel(), 'Upload audio file');
|
21
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.uploadAudioFileLabel(), 'visible');
|
22
|
+
audioPlayerPage.steps.verifyUploadAudioFileRadioButtonIsSelected();
|
23
|
+
utilities.verifyInnerText(audioPlayerPage.addAudioURLLabel(), 'Add audio URL');
|
24
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.addAudioURLLabel(), 'visible');
|
25
|
+
audioPlayerPage.steps.verifyAddAudioURLRadioButtonIsNotSelected();
|
26
|
+
});
|
27
|
+
|
28
|
+
it('\'Upload\' label should be displayed', () => {
|
29
|
+
utilities.verifyInnerText(audioPlayerPage.uploadAudioFileUploadLabel(), 'Upload');
|
30
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.uploadAudioFileUploadLabel(), 'visible');
|
31
|
+
});
|
32
|
+
|
33
|
+
it('\'File name\' label should be displayed', () => {
|
34
|
+
utilities.verifyInnerText(audioPlayerPage.uploadAudioFileNameLabel(), 'File name');
|
35
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.uploadAudioFileNameLabel(), 'visible');
|
36
|
+
});
|
37
|
+
|
38
|
+
it('\'Choose file\' button should be displayed', () => {
|
39
|
+
utilities.verifyInnerText(audioPlayerPage.uploadAudioChooseFileButton(), 'Choose file');
|
40
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.uploadAudioChooseFileButton(), 'visible');
|
41
|
+
});
|
42
|
+
|
43
|
+
it('By default \'No file chosen\' text should be displayed below the \'File name\' label.', () => {
|
44
|
+
utilities.verifyInnerText(audioPlayerPage.uploadAudioNoFileChosenLabel(), 'No file chosen');
|
45
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.uploadAudioNoFileChosenLabel(), 'visible');
|
46
|
+
});
|
47
|
+
|
48
|
+
it('CSS of \'Upload audio file\' section', { tags: 'css' }, () => {
|
49
|
+
utilities.verifyCSS(audioPlayerPage.uploadAudioFileRadioButton().parent().find('svg'), {
|
50
|
+
'fill': css.color.secondaryBtnActive
|
51
|
+
});
|
52
|
+
utilities.verifyCSS(audioPlayerPage.addAudioURLRadioButton().parent().find('svg path'), {
|
53
|
+
'color': css.color.uncheckedCheckbox
|
54
|
+
});
|
55
|
+
utilities.verifyCSS(audioPlayerPage.uploadAudioFileLabel(), {
|
56
|
+
'color': css.color.labels,
|
57
|
+
'font-size': css.fontSize.normal,
|
58
|
+
'font-weight': css.fontWeight.semibold
|
59
|
+
});
|
60
|
+
utilities.verifyCSS(audioPlayerPage.uploadAudioFileNameLabel(), {
|
61
|
+
'color': css.color.labels,
|
62
|
+
'font-size': css.fontSize.normal,
|
63
|
+
'font-weight': css.fontWeight.semibold
|
64
|
+
});
|
65
|
+
utilities.verifyCSS(audioPlayerPage.uploadAudioNoFileChosenLabel(), {
|
66
|
+
'color': css.color.liText,
|
67
|
+
'font-size': css.fontSize.default,
|
68
|
+
'font-weight': css.fontWeight.regular
|
69
|
+
});
|
70
|
+
utilities.verifyCSS(audioPlayerPage.uploadAudioChooseFileButton(), {
|
71
|
+
'background-color': css.color.transparent,
|
72
|
+
'border': `1px solid ${css.color.secondaryBtnBorder}`,
|
73
|
+
'color': css.color.secondaryBtn,
|
74
|
+
'font-size': css.fontSize.default,
|
75
|
+
'font-weight': css.fontWeight.regular
|
76
|
+
});
|
77
|
+
});
|
78
|
+
|
79
|
+
it('Accessibility of \'Upload audio file\' section', { tags: 'a11y' }, () => {
|
80
|
+
cy.checkAccessibility(audioPlayerPage.uploadAudioFileLabel().parents('.audio-player-resource'));
|
81
|
+
});
|
82
|
+
|
83
|
+
it('When the user adds the audio file and file upload is inprogress, file name and progress bar should be displayed below \'File name\' label. Progress bar should disappear once file is uploaded', () => {
|
84
|
+
audioPlayerPage.steps.uploadFile('uploads/sample.mp3');
|
85
|
+
utilities.verifyInnerText(audioPlayerPage.uploadedFileNameLabel(), 'sample.mp3');
|
86
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.uploadedFileNameLabel(), 'visible');
|
87
|
+
});
|
88
|
+
|
89
|
+
it('CSS of progress bar and file name when file upload is in progress', { tags: 'css' }, () => {
|
90
|
+
audioPlayerPage.steps.attachFile('uploads/sample1.mp3');
|
91
|
+
audioPlayerPage.audioFileUploadProgressBar()
|
92
|
+
.verifyPseudoClassBeforeProperty('background-color', css.color.fileUploadProgressBarFill);
|
93
|
+
});
|
94
|
+
|
95
|
+
it('Accessibility of progress bar and file name when file upload is in progress', { tags: 'a11y' }, () => {
|
96
|
+
cy.checkAccessibility(audioPlayerPage.uploadAudioFileLabel().parents('.audio-player-resource'));
|
97
|
+
});
|
98
|
+
|
99
|
+
it('When user clicks on \'Choose file\' button again and upload another audio file, previously uploaded audio file should get replaced with new audio file', () => {
|
100
|
+
audioPlayerPage.steps.uploadFile('uploads/sample2.mp3');
|
101
|
+
utilities.verifyInnerText(audioPlayerPage.uploadedFileNameLabel(), 'sample2.mp3');
|
102
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.uploadedFileNameLabel(), 'visible');
|
103
|
+
});
|
104
|
+
|
105
|
+
it('When the user uploads a file that is not supported, following error message should be displayed: \'Error: The file type is not supported. Please upload a file with the following supported formats: MP3, WAV, AAC.\'', () => {
|
106
|
+
audioPlayerPage.steps.uploadFile('uploads/sample.mp4')
|
107
|
+
utilities.verifyInnerText(audioPlayerPage.errorMessage(), 'Error: The file type is not supported. Please upload a file with the following supported formats: MP3, WAV, AAC.');
|
108
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.errorMessage(), 'visible');
|
109
|
+
});
|
110
|
+
|
111
|
+
audioPlayerPage.tests.verifyErrorMessageCSSAndA11y();
|
112
|
+
|
113
|
+
it('When user upload supported format of audio file, error message should disappear', () => {
|
114
|
+
audioPlayerPage.steps.uploadFile('uploads/sample2.mp3');
|
115
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.errorMessage(), 'notExist');
|
116
|
+
});
|
117
|
+
|
118
|
+
it('When user has uploaded an audio file, then delete button should appear beside uploaded file\'s name', () => {
|
119
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.deleteAudioFileButton(), 'visible');
|
120
|
+
});
|
121
|
+
|
122
|
+
it('When the user hovers on \'Delete\' button, \'Delete audio file\' text should be displayed in tooltip', () => {
|
123
|
+
audioPlayerPage.deleteAudioFileButton()
|
124
|
+
.verifyTooltip('Delete audio file');
|
125
|
+
});
|
126
|
+
|
127
|
+
it('CSS of tooltip', { tags: 'css' }, () => {
|
128
|
+
audioPlayerPage.deleteAudioFileButton()
|
129
|
+
.trigger('mouseover');
|
130
|
+
utilities.verifyCSS(audioPlayerPage.tooltipText(), {
|
131
|
+
'color': css.color.whiteText,
|
132
|
+
'font-size': css.fontSize.normal,
|
133
|
+
'font-weight': css.fontWeight.regular,
|
134
|
+
'background-color': css.color.tooltipBg
|
135
|
+
});
|
136
|
+
});
|
137
|
+
|
138
|
+
it('When user clicks on the \'Delete\' button, then \'Delete\' popup should be displayed', () => {
|
139
|
+
audioPlayerPage.steps.deleteAudioFile();
|
140
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.dialogBox(), 'visible');
|
141
|
+
utilities.verifyInnerText(audioPlayerPage.dialogBoxTitle(), 'Delete');
|
142
|
+
});
|
143
|
+
|
144
|
+
it('The pop up should be displayed with the message \'Are you sure you want to delete the audio file?\'', () => {
|
145
|
+
utilities.verifyInnerText(audioPlayerPage.dialogBoxContent(), 'Are you sure you want to delete the audio file?');
|
146
|
+
utilities.verifyInnerText(audioPlayerPage.buttonAccept(), 'Delete audio file');
|
147
|
+
utilities.verifyInnerText(audioPlayerPage.buttonReject(), 'Cancel');
|
148
|
+
});
|
149
|
+
|
150
|
+
it('CSS of popup', { tags: 'css' }, () => {
|
151
|
+
utilities.verifyCSS(audioPlayerPage.dialogBox(), {
|
152
|
+
'background-color': css.color.defaultBackground,
|
153
|
+
});
|
154
|
+
utilities.verifyCSS(audioPlayerPage.dialogBoxContent().find('[class*="DeletePopupWrapper"]'), {
|
155
|
+
'color': css.color.sectionHeading,
|
156
|
+
'font-size': css.fontSize.default,
|
157
|
+
'font-weight': css.fontWeight.regular
|
158
|
+
});
|
159
|
+
utilities.verifyCSS(audioPlayerPage.buttonAccept(), {
|
160
|
+
'color': css.color.primaryBtn,
|
161
|
+
'font-size': css.fontSize.default,
|
162
|
+
'font-weight': css.fontWeight.semibold
|
163
|
+
});
|
164
|
+
utilities.verifyCSS(audioPlayerPage.buttonReject(), {
|
165
|
+
'color': css.color.secondaryBtn,
|
166
|
+
'font-size': css.fontSize.default,
|
167
|
+
'font-weight': css.fontWeight.semibold,
|
168
|
+
'background-color': css.color.defaultBackground
|
169
|
+
});
|
170
|
+
});
|
171
|
+
|
172
|
+
it('Accessibility of the popup', () => {
|
173
|
+
cy.checkAccessibility(audioPlayerPage.dialogBox());
|
174
|
+
});
|
175
|
+
|
176
|
+
it('When user clicks on \'Cancel\' button, then popup should close and user should remain on the edit interface of the question', () => {
|
177
|
+
audioPlayerPage.steps.clickOnRejectButtonInDialogBox();
|
178
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.dialogBox(), 'notExist');
|
179
|
+
utilities.verifyInnerText(audioPlayerPage.uploadedFileNameLabel(), 'sample2.mp3');
|
180
|
+
});
|
181
|
+
|
182
|
+
it('When user clicks on \'Delete\' button, then popup should close and uploaded audio file should be deleted', () => {
|
183
|
+
audioPlayerPage.steps.deleteAudioFile();
|
184
|
+
audioPlayerPage.steps.clickOnAcceptButtonInDialogBox();
|
185
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.dialogBox(), 'notExist');
|
186
|
+
utilities.verifyInnerText(audioPlayerPage.uploadAudioNoFileChosenLabel(), 'No file chosen');
|
187
|
+
});
|
188
|
+
});
|
189
|
+
|
190
|
+
describe('\'Add audio URL\' section', () => {
|
191
|
+
abortEarlySetup();
|
192
|
+
before(() => {
|
193
|
+
audioPlayerPage.steps.navigateToCreateResource('audio player');
|
194
|
+
});
|
195
|
+
|
196
|
+
it('User should be able to select \'Add audio URL\' radio button', () => {
|
197
|
+
audioPlayerPage.steps.selectAddAudioURLRadioButton();
|
198
|
+
audioPlayerPage.steps.verifyUploadAudioFileRadioButtonIsNotSelected();
|
199
|
+
})
|
200
|
+
|
201
|
+
it('\'Source URL\' label and input field should be displayed. By default, the source url input field should be empty', () => {
|
202
|
+
utilities.verifyInnerText(audioPlayerPage.sourceUrlLabel(), 'Source URL');
|
203
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.sourceUrlLabel(), 'visible');
|
204
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.sourceUrlInputField(), 'visible');
|
205
|
+
utilities.verifyInnerText(audioPlayerPage.sourceUrlInputField(), '');
|
206
|
+
});
|
207
|
+
|
208
|
+
it('CSS of \'Add audio URL\' Section', { tags: 'css' }, () => {
|
209
|
+
utilities.verifyCSS(audioPlayerPage.sourceUrlLabel(), {
|
210
|
+
'color': css.color.labels,
|
211
|
+
'font-size': css.fontSize.normal,
|
212
|
+
'font-weight': css.fontWeight.semibold
|
213
|
+
});
|
214
|
+
utilities.verifyCSS(audioPlayerPage.sourceUrlInputField(), {
|
215
|
+
'color': css.color.text,
|
216
|
+
'font-size': css.fontSize.default,
|
217
|
+
'font-weight': css.fontWeight.regular
|
218
|
+
});
|
219
|
+
});
|
220
|
+
|
221
|
+
it('Accessibility of \'Add audio URL\' section', { tags: 'a11y' }, () => {
|
222
|
+
cy.checkAccessibility(audioPlayerPage.addAudioURLLabel().parents('.audio-player-resource'));
|
223
|
+
});
|
224
|
+
|
225
|
+
it('When user focuses in and out of the \'Source URL\' input field, \'Error: Source URL is required.\' error message should be displayed below \'Source URL\' input field.', () => {
|
226
|
+
audioPlayerPage.steps.focusInAndFocusOutOfSourceURLInputField();
|
227
|
+
utilities.verifyInnerText(audioPlayerPage.errorMessage(), 'Error: Source URL is required.');
|
228
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.errorMessage(), 'visible');
|
229
|
+
});
|
230
|
+
|
231
|
+
audioPlayerPage.tests.verifyErrorMessageCSSAndA11y();
|
232
|
+
|
233
|
+
it('When user adds a MP3 file in \'Source URL\' input field, \'Error: Source URL is required.\' validation message should disappear', () => {
|
234
|
+
audioPlayerPage.steps.enterTextInSourceURLInputField(constants.sampleMp3Link);
|
235
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.errorMessage(), 'notExist');
|
236
|
+
});
|
237
|
+
|
238
|
+
it('When user adds invalid file format URL in \'Source URL\' input field, \'Error: The provided URL does not link to a supported audio file. Please enter a URL for a MP3, WAV, AAC file.\' validation message should be displayed', () => {
|
239
|
+
audioPlayerPage.steps.clearTextInSourceURLInputField();
|
240
|
+
audioPlayerPage.steps.enterTextInSourceURLInputField(constants.foxImageLink);
|
241
|
+
utilities.verifyInnerText(audioPlayerPage.errorMessage(), 'Error: The provided URL does not link to a supported audio file. Please enter a URL for a MP3, WAV, AAC file.');
|
242
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.errorMessage(), 'visible');
|
243
|
+
});
|
244
|
+
|
245
|
+
audioPlayerPage.tests.verifyErrorMessageCSSAndA11y();
|
246
|
+
|
247
|
+
it('When user adds valid file URL in \'Source URL\' input field, \'Error: The provided URL does not link to a supported audio file. Please enter a URL for a MP3, WAV, AAC file.\' validation message should disappear', () => {
|
248
|
+
audioPlayerPage.steps.clearTextInSourceURLInputField();
|
249
|
+
audioPlayerPage.steps.enterTextInSourceURLInputField(constants.sampleMp3Link);
|
250
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.errorMessage(), 'notExist');
|
251
|
+
});
|
252
|
+
|
253
|
+
it('When user adds invalid text in \'Source URL\' input field, \'Error: The provided URL does not link to a supported audio file. Please enter a URL for a MP3, WAV, AAC file.\' validation message should be displayed', () => {
|
254
|
+
audioPlayerPage.steps.clearTextInSourceURLInputField();
|
255
|
+
audioPlayerPage.steps.enterTextInSourceURLInputField('Invalid text');
|
256
|
+
utilities.verifyInnerText(audioPlayerPage.errorMessage(), 'Error: The provided URL does not link to a supported audio file. Please enter a URL for a MP3, WAV, AAC file.');
|
257
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.errorMessage(), 'visible');
|
258
|
+
});
|
259
|
+
});
|
260
|
+
|
261
|
+
describe('\'Upload audio file\' and \'Add audio URL\' functionality in preview tab', () => {
|
262
|
+
abortEarlySetup();
|
263
|
+
before(() => {
|
264
|
+
audioPlayerPage.steps.navigateToCreateResource('audio player');
|
265
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
266
|
+
});
|
267
|
+
|
268
|
+
it('When user has not uploaded any audio file nor added any URL and clicks on \'Play\' button in preview tab, then error message \'Error loading audio\'', () => {
|
269
|
+
audioPlayerPage.steps.startPlayback();
|
270
|
+
utilities.verifyInnerText(audioPlayerPage.errorMessage(), 'Error loading audio');
|
271
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.errorMessage(), 'visible');
|
272
|
+
});
|
273
|
+
|
274
|
+
audioPlayerPage.tests.verifyErrorMessageCSSAndA11y();
|
275
|
+
|
276
|
+
it('When user has uploaded an invalid file and clicks on \'Play\' button in preview tab, then error message \'Error loading audio\'', () => {
|
277
|
+
audioPlayerPage.steps.switchToEditTab();
|
278
|
+
audioPlayerPage.steps.uploadFile('uploads/sample.mp4');
|
279
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
280
|
+
audioPlayerPage.steps.startPlayback();
|
281
|
+
utilities.verifyInnerText(audioPlayerPage.errorMessage(), 'Error loading audio');
|
282
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.errorMessage(), 'visible');
|
283
|
+
});
|
284
|
+
|
285
|
+
it('When user adds invalid file format URL in \'Source URL\' input field and clicks on \'Play\' button in preview tab, then error message \'Error loading audio\'', () => {
|
286
|
+
audioPlayerPage.steps.switchToEditTab();
|
287
|
+
audioPlayerPage.steps.selectAddAudioURLRadioButton();
|
288
|
+
audioPlayerPage.steps.enterTextInSourceURLInputField(constants.foxImageLink);
|
289
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
290
|
+
audioPlayerPage.steps.startPlayback();
|
291
|
+
utilities.verifyInnerText(audioPlayerPage.errorMessage(), 'Error loading audio');
|
292
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.errorMessage(), 'visible');
|
293
|
+
});
|
294
|
+
|
295
|
+
it('When user valid file format URL in \'Source URL\' input field, then audio player should be displayed in preview tab and user should be able to play MP3 audio file.', () => {
|
296
|
+
audioPlayerPage.steps.switchToEditTab();
|
297
|
+
audioPlayerPage.steps.clearTextInSourceURLInputField();
|
298
|
+
audioPlayerPage.steps.enterTextInSourceURLInputField(constants.sampleWAVLink);
|
299
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
300
|
+
audioPlayerPage.steps.startPlayback();
|
301
|
+
audioPlayerPage.steps.waitForPlaybackToBegin();
|
302
|
+
});
|
303
|
+
|
304
|
+
it('When user uploads a valid file, then audio player should be displayed in preview tab and user should be able to play MP3 audio file.', () => {
|
305
|
+
audioPlayerPage.steps.switchToEditTab();
|
306
|
+
audioPlayerPage.steps.selectUploadAudioFileRadioButton();
|
307
|
+
audioPlayerPage.steps.uploadFile('uploads/sample.mp3');
|
308
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
309
|
+
audioPlayerPage.steps.startPlayback();
|
310
|
+
audioPlayerPage.steps.waitForPlaybackToBegin();
|
311
|
+
});
|
312
|
+
});
|
313
|
+
});
|
@@ -76,29 +76,8 @@ describe('Audio response - Additional settings', () => {
|
|
76
76
|
audioResponsePage.steps.expandAdditionalSettings();
|
77
77
|
});
|
78
78
|
|
79
|
-
|
80
|
-
utilities.verifyInnerText(audioResponsePage.allowTeachersToDownloadStudentResponseLabel(), 'Allow teachers to download student response');
|
81
|
-
utilities.verifyElementVisibilityState(audioResponsePage.allowTeachersToDownloadStudentResponseLabel(), 'visible');
|
82
|
-
utilities.verifyElementVisibilityState(audioResponsePage.allowTeachersToDownloadStudentResponseCheckbox(), 'exist');
|
83
|
-
audioResponsePage.steps.verifyAllowTeachersToDownloadStudentResponseCheckboxChecked();
|
84
|
-
});
|
85
|
-
|
86
|
-
it('User should be able to uncheck and check \'Allow teachers to download student response\' checkbox', () => {
|
87
|
-
audioResponsePage.steps.uncheckAllowTeachersToDownloadStudentResponseCheckbox();
|
88
|
-
audioResponsePage.steps.checkAllowTeachersToDownloadStudentResponseCheckbox();
|
89
|
-
});
|
79
|
+
audioResponsePage.tests.verifyAllowTeachersToDownloadStudentResponseSection();
|
90
80
|
|
91
81
|
audioResponsePage.tests.verifyDetailsSection();
|
92
|
-
|
93
|
-
it('CSS of \'Allow teachers to download student response\' checkbox and label section', { tags: 'css' }, () => {
|
94
|
-
utilities.verifyCSS(audioResponsePage.allowTeachersToDownloadStudentResponseLabel(), {
|
95
|
-
'color': css.color.labelText,
|
96
|
-
'font-size': css.fontSize.normal,
|
97
|
-
'font-weight': css.fontWeight.regular
|
98
|
-
});
|
99
|
-
utilities.verifyCSS(audioResponsePage.allowTeachersToDownloadStudentResponseCheckbox().parents('.icon-checkbox-selected').find('.checkbox-icon-border-rect'), {
|
100
|
-
'fill': css.color.activeButtons
|
101
|
-
});
|
102
|
-
})
|
103
82
|
});
|
104
83
|
});
|
@@ -434,7 +434,7 @@ describe('Preview of Audio response for bar audio recorder style', () => {
|
|
434
434
|
audioResponsePage.steps.recordAndSaveAudioBarPreview(10000);
|
435
435
|
});
|
436
436
|
|
437
|
-
audioResponsePage.tests.verifyPlaybackSpeedContents();
|
437
|
+
audioResponsePage.tests.verifyPlaybackSpeedContents(playbackSpeedOptions);
|
438
438
|
|
439
439
|
for (let index = 0; index < playbackSpeedOptions.length; index++) {
|
440
440
|
it(`When the user selects playback speed option ${playbackSpeedOptions[index]}x, the audio playback speed should be changed accordingly`, () => {
|
@@ -426,7 +426,7 @@ describe('Preview of Audio response for compact audio recorder style', () => {
|
|
426
426
|
audioResponsePage.steps.recordAndSaveAudioCompactPreview(10000);
|
427
427
|
});
|
428
428
|
|
429
|
-
audioResponsePage.tests.verifyPlaybackSpeedContents();
|
429
|
+
audioResponsePage.tests.verifyPlaybackSpeedContents(playbackSpeedOptions);
|
430
430
|
|
431
431
|
for (let index = 0; index < playbackSpeedOptions.length; index++) {
|
432
432
|
it(`When the user selects playback speed option ${playbackSpeedOptions[index]}x, the audio playback speed should be changed accordingly`, () => {
|
@@ -465,7 +465,7 @@ describe('Preview of Audio response for standard audio recorder style', () => {
|
|
465
465
|
audioResponsePage.steps.recordAndSaveAudioStandardPreview(10000);
|
466
466
|
});
|
467
467
|
|
468
|
-
audioResponsePage.tests.verifyPlaybackSpeedContents();
|
468
|
+
audioResponsePage.tests.verifyPlaybackSpeedContents(playbackSpeedOptions);
|
469
469
|
|
470
470
|
for (let index = 0; index < playbackSpeedOptions.length; index++) {
|
471
471
|
it(`When the user selects playback speed option ${playbackSpeedOptions[index]}x, the audio playback speed should be changed accordingly`, () => {
|