itemengine-cypress-automation 1.0.389-graphAndCharts-04d27f6.0 → 1.0.390-IEI-6314-testScriptForTextEntryMathValidations-dcad527.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Dockerfile +1 -0
- package/cypress/e2e/GradingGridView/gradingGridView.js +156 -0
- package/cypress/e2e/ILC/AudioResponseNew/barRecorderStyle.smoke.js +2 -0
- package/cypress/e2e/ILC/AudioResponseNew/compactRecorderStyle.smoke.js +4 -0
- package/cypress/e2e/ILC/AudioResponseNew/editTabBasicSection.js +4 -16
- package/cypress/e2e/ILC/BrainingCampManipulative/editTabBasicSection.js +1 -1
- package/cypress/e2e/ILC/BrowseItems/browseReviewItems.js +3 -3
- package/cypress/e2e/ILC/BrowseItems/browseReviewItemsMobileView.js +3 -3
- package/cypress/e2e/ILC/BrowseItems/browseThinkSphereItems.js +6 -6
- package/cypress/e2e/ILC/BrowseItems/browseThinkSphereItemsMobileView.js +6 -6
- package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/allOrNothingScoringForAllViews.smoke.js +356 -0
- package/cypress/e2e/ILC/ChartsBar/HorizontalOrientationBarChart/gradingViewAndCorrectAnswerView.smoke.js +1 -1
- package/cypress/e2e/ILC/ChartsBar/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +33 -0
- package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightBasic.js +27 -27
- package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +37 -37
- package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +37 -37
- package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +37 -37
- package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightBasic.js +26 -25
- package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +39 -38
- package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +31 -30
- package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +35 -34
- package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePointsLocked.js +247 -0
- package/cypress/e2e/ILC/ChartsBar/allOrNothingScoringForAllViews.smoke.js +287 -0
- package/cypress/e2e/ILC/ChartsBar/editQuestion.smoke.js +1 -1
- package/cypress/e2e/ILC/ChartsBar/editTabBasicSection.js +37 -0
- package/cypress/e2e/ILC/ChartsBar/headerSection.js +50 -2
- package/cypress/e2e/ILC/ChartsBar/specifyCorrectAnswerSection.js +92 -0
- package/cypress/e2e/ILC/ChartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePointsLocked.js +220 -0
- package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightBasic.js +25 -26
- package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +47 -47
- package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +25 -25
- package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +25 -25
- package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightBasic.js +25 -25
- package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +24 -23
- package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +21 -20
- package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +48 -46
- package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePointsLocked.js +249 -0
- package/cypress/e2e/ILC/ChartsLine/allOrNothingScoringForAllViews.smoke.js +247 -0
- package/cypress/e2e/ILC/ChartsLine/editQuestion.smoke.js +3 -1
- package/cypress/e2e/ILC/ChartsLine/headerSection.js +18 -1
- package/cypress/e2e/ILC/ChartsLine/specifyCorrectAnswerSection.js +94 -0
- package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddTranscriptRadioButton .js +2 -2
- package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerHeaderSectionAndButtons.js +2 -2
- package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTab.js +1 -1
- package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabSupportedFileTypes.js +6 -0
- package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerPreviewTabTranscript.js +2 -3
- package/cypress/e2e/ILC/CkEditorEquationEditor/selectModeEditorBasic.js +4 -1
- package/cypress/e2e/ILC/CkEditorInsertImage/imageInfo.js +4 -3
- package/cypress/e2e/ILC/CkEditorInsertImage/insertImageBasicFile.js +2 -0
- package/cypress/e2e/ILC/CkEditorInsertTable/tableDimension&FooterProperties.js +8 -8
- package/cypress/e2e/ILC/CkEditorInsertTable/tableStyle.js +11 -11
- package/cypress/e2e/ILC/CkEditorLink/linkPreview.js +2 -1
- package/cypress/e2e/ILC/CkEditorLink/uploadSection.js +1 -1
- package/cypress/e2e/ILC/ContentBlocks/editTabBasics.js +63 -4
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +116 -7
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabBasicSection.js +3 -3
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabScoring.js +1 -0
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/headerSection.js +3 -3
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/pagination.js +1 -1
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/studentViewSettingsForGroupedLayout.js +3 -0
- package/cypress/e2e/ILC/DrawingResponse/drawingResponseEditTabBasicSection.js +11 -3
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +210 -0
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/draggableOptions.js +2 -0
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/editTabBasicSection.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/headerSection.js +3 -3
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViewInIncompleteAuthoring.smoke.js +7 -7
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViews.smoke.js +15 -16
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editQuestion.smoke.js +40 -0
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editTabBasicSection.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/headerSection.js +3 -3
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +216 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/editTabBasicSection.js +2 -2
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/headerSection.js +3 -3
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editQuestion.smoke.js +45 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editTabBasicSection.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/headerSection.js +4 -4
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/HeaderSection.js +4 -4
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/editQuestion.smoke.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/responseAnswersAndAcceptedStudentInput.js +4 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/supportedFileTypes.js +3 -1
- package/cypress/e2e/ILC/FillInTheGapsTextNew/editTabBasicSection.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsTextNew/headerSection.js +3 -3
- package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +73 -0
- package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +38 -0
- package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +38 -0
- package/cypress/e2e/ILC/Graphing/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +87 -0
- package/cypress/e2e/ILC/Graphing/allOrNothingForAllViews.smoke.js +213 -2
- package/cypress/e2e/ILC/Graphing/checkAddAlternativeButton.js +35 -0
- package/cypress/e2e/ILC/Graphing/editQuestion.smoke.js +28 -0
- package/cypress/e2e/ILC/Graphing/editTabBasicSection.js +38 -0
- package/cypress/e2e/ILC/Graphing/editTabScoringSection.js +1 -0
- package/cypress/e2e/ILC/Graphing/headerSection.js +37 -4
- package/cypress/e2e/ILC/Graphing/specifyCorrectAnswerSection.js +28 -0
- package/cypress/e2e/ILC/GridFill/addAlternateButton.js +40 -0
- package/cypress/e2e/ILC/GridFill/allOrNothingBasicForAllViews.smoke.js +210 -0
- package/cypress/e2e/ILC/GridFill/customizeLayoutFillImageBackgroundImage.js +2 -2
- package/cypress/e2e/ILC/GridFill/headerSection.js +4 -4
- package/cypress/e2e/ILC/GridFill/scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +39 -0
- package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
- package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +39 -0
- package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountAllOrNothingCorrectPointsGreaterThanAlternativePoints.js +37 -0
- package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountallOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
- package/cypress/e2e/ILC/GridFill/scoring/cellshadeCountAllOrNothingAlternativePointsGreaterThanCorrectPoints.js +36 -0
- package/cypress/e2e/ILC/GridFill/scoring/checkLabelSaveAsYouGo.js +75 -0
- package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +2 -1
- package/cypress/e2e/ILC/ImageHighlight/additionalSettingsBasic.js +1 -0
- package/cypress/e2e/ILC/ImageHighlight/allOrNothingForAllViews.smoke.js +212 -0
- package/cypress/e2e/ILC/ImageHighlight/customiseHighlightStyle.js +29 -0
- package/cypress/e2e/ILC/ImageHighlight/editTabBasicSection.js +1 -1
- package/cypress/e2e/ILC/ImageHighlight/headerSection.js +3 -3
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +24 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +24 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +24 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +86 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/manuallyAndNonScored.js +2 -4
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +1 -1
- package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +237 -1
- package/cypress/e2e/ILC/ListOrderingDropdown/checkAddAlternativeButton.js +35 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/editTabBasicSection.js +26 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/headerSection.js +108 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/manuallyAndNonScoredEditTab.js +2 -1
- package/cypress/e2e/ILC/ListOrderingDropdown/previewContentsForAllViews.smoke.js +2 -4
- package/cypress/e2e/ILC/ListOrderingDropdown/specifyCorrectAnswerSection.js +7 -12
- package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/specifyCorrectAnswerSection.js +10 -14
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +52 -0
- package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +215 -0
- package/cypress/e2e/ILC/ListOrderingNew/editTabBasicSection.js +23 -0
- package/cypress/e2e/ILC/ListOrderingNew/headerSection.js +36 -9
- package/cypress/e2e/ILC/ListOrderingNew/manuallyAndNonScoredEditTab.js +2 -0
- package/cypress/e2e/ILC/ListOrderingNew/specifyCorrectAnswerSection.js +7 -23
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +41 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +30 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +50 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +101 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/allOrNothingForAllViews.smoke.js +309 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/checkAddAlternativeButton.js +38 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabBasicSection.js +24 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabScoring.js +4 -1
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/headerSection.js +38 -3
- package/cypress/e2e/ILC/Matching/Scoring/blankResponseScoring.js +38 -41
- package/cypress/e2e/ILC/Matching/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +98 -0
- package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +210 -0
- package/cypress/e2e/ILC/Matching/checkAlternativeButton.js +38 -0
- package/cypress/e2e/ILC/Matching/clickAndDrop.js +5 -5
- package/cypress/e2e/ILC/Matching/draggableOptions.js +7 -0
- package/cypress/e2e/ILC/Matching/editQuestion.smoke.js +3 -2
- package/cypress/e2e/ILC/Matching/editTabBasicSection.js +41 -0
- package/cypress/e2e/ILC/Matching/headerSection.js +38 -12
- package/cypress/e2e/ILC/Matching/questionInstructionsAndPromptSection.js +2 -15
- package/cypress/e2e/ILC/Matching/studentViewSettings.js +3 -1
- package/cypress/e2e/ILC/Matching/studentViewSettingsForGroupedLayout.js +1 -1
- package/cypress/e2e/ILC/MatchingDropdown/Scoring/blankResponseScoring.js +7 -6
- package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsScoringBasic.js +6 -6
- package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +208 -0
- package/cypress/e2e/ILC/MultipleSelection/allOrNothingBasicForAllViews.smoke.js +2 -1
- package/cypress/e2e/ILC/MultipleSelection/editTabBasicSection.js +1 -1
- package/cypress/e2e/ILC/MultipleSelection/headerSection.js +3 -3
- package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswer.js +1 -0
- package/cypress/e2e/ILC/MultipleSelectionGridNew/editTabBasicSection.js +2 -2
- package/cypress/e2e/ILC/MultipleSelectionGridNew/headerSection.js +3 -3
- package/cypress/e2e/ILC/MultipleSelectionGridNew/previewContentsForAllViews.smoke.js +100 -69
- package/cypress/e2e/ILC/MultipleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +1 -0
- package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +79 -0
- package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +42 -0
- package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +42 -0
- package/cypress/e2e/ILC/NumberLine/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +75 -0
- package/cypress/e2e/ILC/NumberLine/allOrNothingScoringForAllViews.smoke.js +213 -0
- package/cypress/e2e/ILC/NumberLine/checkAddAlternativeButton.js +32 -0
- package/cypress/e2e/ILC/NumberLine/editTabSection.js +38 -0
- package/cypress/e2e/ILC/NumberLine/headerSection.js +34 -4
- package/cypress/e2e/ILC/NumberLine/verticalNumberLine/allOrNothingScoringForAllViews.smoke.js +249 -0
- package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +81 -0
- package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +43 -0
- package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +43 -0
- package/cypress/e2e/ILC/NumberLineLabel/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +76 -0
- package/cypress/e2e/ILC/NumberLineLabel/additionalSettingsBasic.js +0 -1
- package/cypress/e2e/ILC/NumberLineLabel/allOrNothingForAllViews.smoke.js +266 -0
- package/cypress/e2e/ILC/NumberLineLabel/checkAddAlternativeButton.js +34 -0
- package/cypress/e2e/ILC/NumberLineLabel/editTabSection.js +38 -0
- package/cypress/e2e/ILC/NumberLineLabel/headerSection.js +37 -4
- package/cypress/e2e/ILC/NumberLineLabel/manuallyAndNonScoredEditTab.js +2 -1
- package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/allOrNothingForAllViews.smoke.js +268 -0
- package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/editQuestion.smoke.js +1 -1
- package/cypress/e2e/ILC/ShortTextResponseNew/allOrNothingBasicForAllViews.smoke.js +186 -0
- package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +4 -3
- package/cypress/e2e/ILC/ShortTextResponseNew/headerSection.js +2 -4
- package/cypress/e2e/ILC/SingleSelection/editTabBasicSection.js +1 -1
- package/cypress/e2e/ILC/SingleSelection/headerSection.js +2 -2
- package/cypress/e2e/ILC/SingleSelectionGridNew/editTabBasicSection.js +2 -2
- package/cypress/e2e/ILC/SingleSelectionGridNew/headerSection.js +3 -3
- package/cypress/e2e/ILC/SingleSelectionGridNew/previewContentsForAllViews.smoke.js +101 -70
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +86 -0
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +86 -0
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +4 -2
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsScoringBasic.js +9 -2
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +4 -2
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +3 -1
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsScoringBasic.js +4 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +64 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAddEvaluation.js +2 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAlternateAnswer.js +2 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +64 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +65 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/blankResponseScoring.js +2 -2
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsScoringBasic.js +8 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +2 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasic.js +1 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasicForAlternateAnswer.js +2 -0
- package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViews.smoke.js +263 -0
- package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +219 -0
- package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +27 -3
- package/cypress/e2e/ILC/TextEntryMath/equationEditor.smoke.js +1 -1
- package/cypress/e2e/ILC/TextEntryMath/evaluationMethodEquivalentStructures.smoke.js +3 -3
- package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchValue.smoke.js +310 -1
- package/cypress/e2e/ILC/TextEntryMath/evaluationMethodSymbolsAreEquivalent.smoke.js +205 -1
- package/cypress/e2e/ILC/TextEntryMath/headerSection.js +43 -0
- package/cypress/e2e/ILC/TextEntryMathWithImage/allOrNothingScoringForAllViews.smoke.js +263 -0
- package/cypress/e2e/ILC/TextEntryMathWithImage/backgroundImageAndCanvasProperties.js +0 -1
- package/cypress/e2e/ILC/TextEntryMathWithImage/styleAndLayoutCustomization.js +1 -1
- package/cypress/e2e/ILC/TextSelection/additionalSettings.js +1 -0
- package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +231 -0
- package/cypress/e2e/ILC/TextSelection/editTabBasicSection.js +2 -2
- package/cypress/e2e/ILC/TextSelection/headerSection.js +3 -3
- package/cypress/e2e/ILC/TextSelection/minimumScoringPenaltyPointsAndRoundingDropdown.js +1 -0
- package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyPossibleOptionsSection.js +1 -0
- package/cypress/e2e/ILC/ThinkSphere/createReviewItem.js +1 -1
- package/cypress/e2e/ILC/ThinkSphere/editTabBasicSection.js +1 -1
- package/cypress/e2e/ILC/ThinkSphere/editThinkSphereQuestion.smoke.js +145 -54
- package/cypress/e2e/ILC/ThinkSphere/equationEditorEditCategoryFlyOut.js +2 -0
- package/cypress/e2e/ILC/ThinkSphere/gradingViewPlanTabSection.js +334 -0
- package/cypress/e2e/ILC/ThinkSphere/gradingViewReviewTabSection.js +140 -0
- package/cypress/e2e/ILC/ThinkSphere/gradingViewSolveTabSection.js +65 -0
- package/cypress/e2e/ILC/ThinkSphere/planPhase.js +45 -5
- package/cypress/e2e/ILC/ThinkSphere/previewTabPlanSection.js +8 -8
- package/cypress/e2e/ILC/ThinkSphere/previewTabReviewSection.js +102 -0
- package/cypress/e2e/ILC/ThinkSphere/previewTabSolveSection.js +41 -0
- package/cypress/e2e/ILC/ThinkSphere/solvePhase.js +3 -3
- package/cypress/e2e/ILC/ThinkSphere/studentViewPlanTabSection.js +393 -0
- package/cypress/e2e/ILC/ThinkSphere/studentViewReviewTabSection.js +146 -0
- package/cypress/e2e/ILC/ThinkSphere/studentViewSolveSection.js +53 -0
- package/cypress/e2e/ILC/ToolAudioPlayerNew/headerSection.js +90 -2
- package/cypress/e2e/ILC/UploadResponse/editTabBasicSection.js +34 -0
- package/cypress/e2e/ILC/UploadResponse/headerSection.js +38 -1
- package/cypress/e2e/ILC/UploadResponse/uploadResponsePreview.js +50 -13
- package/cypress/e2e/ILC/VideoResponseNew/editTabBasicSection.js +14 -29
- package/cypress/e2e/ILC/chartsDotsPlot/allOrNothingForAllViews.smoke.js +248 -0
- package/cypress/e2e/ILC/chartsDotsPlot/headerSection.js +16 -1
- package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsBasic.js +27 -28
- package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +31 -30
- package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +24 -24
- package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +39 -37
- package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsBasic.js +22 -23
- package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +31 -30
- package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +25 -24
- package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +31 -31
- package/cypress/e2e/ILC/chartsDotsPlot/scoring/toleranceThresholdScoring.js +18 -19
- package/cypress/e2e/ILC/chartsDotsPlot/specifyCorrectAnswerSection.js +96 -0
- package/cypress/e2e/Sessions/fetchResponses.js +3 -3
- package/cypress/e2e/Sessions/saveResponseScores.js +2 -2
- package/cypress/fixtures/thinkSphereWhiteboardTools.js +66 -0
- package/cypress/pages/audioPlayerPage.js +25 -0
- package/cypress/pages/brainingCampManipulativePage.js +1 -1
- package/cypress/pages/chartsBarPage.js +45 -0
- package/cypress/pages/chartsDotPlotPage.js +25 -0
- package/cypress/pages/chartsLinePage.js +29 -2
- package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +5 -1
- package/cypress/pages/components/chartsCommonComponent.js +21 -2
- package/cypress/pages/components/ckEditorEquationEditorComponent.js +1 -0
- package/cypress/pages/components/ckEditorInsertImageComponent.js +3 -3
- package/cypress/pages/components/ckEditorInsertTableComponent.js +3 -3
- package/cypress/pages/components/ckEditorLinkComponent.js +8 -9
- package/cypress/pages/components/colorPopupComponent.js +6 -0
- package/cypress/pages/components/createQuestionBasePage.js +19 -6
- package/cypress/pages/components/desmosToolComponent.js +1 -1
- package/cypress/pages/components/draggableOptionsSectionComponent.js +2 -0
- package/cypress/pages/components/equationEditorSectionCommonComponent.js +4 -4
- package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +31 -3
- package/cypress/pages/components/fillInTheGapsTextCommonComponent.js +1 -1
- package/cypress/pages/components/gridQuestionCommonComponent.js +55 -2
- package/cypress/pages/components/imageCanvasComponent.js +11 -5
- package/cypress/pages/components/playbackControlsBaseComponent.js +6 -3
- package/cypress/pages/components/questionInstructionsComponent.js +2 -0
- package/cypress/pages/components/scoringSectionBaseEditTab.js +3 -0
- package/cypress/pages/components/specifyRowsAndColumnsComponent.js +16 -0
- package/cypress/pages/contentBlocksPage.js +2 -0
- package/cypress/pages/desmos3DGraphingPage.js +149 -4
- package/cypress/pages/desmosGeometryPage.js +184 -4
- package/cypress/pages/drawingResponsePage.js +9 -2
- package/cypress/pages/fillInTheGapsDragAndDropPage.js +3 -8
- package/cypress/pages/gradingGridViewPage.js +64 -0
- package/cypress/pages/graphingPage.js +28 -5
- package/cypress/pages/gridFillPage.js +24 -9
- package/cypress/pages/imageHighlightPage.js +115 -15
- package/cypress/pages/index.js +1 -0
- package/cypress/pages/listOrderingPage.js +46 -2
- package/cypress/pages/matchingPage.js +29 -10
- package/cypress/pages/numberLineLabelPage.js +26 -0
- package/cypress/pages/numberLinePage.js +15 -0
- package/cypress/pages/singleSelectionPage.js +30 -1
- package/cypress/pages/textEntryMathPage.js +29 -10
- package/cypress/pages/textSelectionPage.js +2 -2
- package/cypress/pages/thinkSpherePage.js +1118 -87
- package/cypress/pages/uploadResponsePage.js +17 -1
- package/cypress/pages/videoResponsePage.js +3 -0
- package/cypress/support/commands.js +9 -0
- package/cypress/support/helpers/createItem.js +22 -3
- package/cypress/support/helpers/utilities.js +14 -1
- package/package.json +1 -1
- /package/cypress/e2e/ILC/{ChartsDotsPlot → chartsDotsPlot}/checkAnswerFunctionalityForAllViews.js +0 -0
- /package/cypress/e2e/ILC/{ChartsDotsPlot → chartsDotsPlot}/editQuestion.smoke.js +0 -0
@@ -31,7 +31,7 @@ const selectors = {
|
|
31
31
|
...editCategoryFlyout,
|
32
32
|
...createCustomCategoryFlyout,
|
33
33
|
...createQuestionBasePage,
|
34
|
-
|
34
|
+
|
35
35
|
editQuestionPencil: () => cy.get('[class*="Widgetstyles__HeaderContainer"] button.icon-pencil'),
|
36
36
|
widgetHeaderQuestionTitle: () => cy.get('[class*="Widgetstyles__HeaderContainer"] [class*="Widgetstyles__QuestionTypeText"]'),
|
37
37
|
imageUploadSection: () => cy.get('[class*="TabsComponentstyles__ImageUploadComponentWrapper"]'),
|
@@ -80,13 +80,13 @@ const selectors = {
|
|
80
80
|
planStrategyListResetToDefault: () => cy.get('[class*="Planstyles__StrategiesWrapper"] [class*="Planstyles__DefaultResetWrapper"]'),
|
81
81
|
planStrategyAddItemButton: () => cy.get('[class*="Planstyles__StrategiesWrapper"] [class*="ListOptionsComponentstyles__AddItemWrapper"] [role="button"]'),
|
82
82
|
planStrategyCheckbox: () => cy.get('[class*="Planstyles__StrategiesWrapper"] .thinksphere-option-text-field-wrapper [data-ngie-testid*="-checkbox"]'),
|
83
|
-
videoLinkComponent: () => utilities.getNthElement(cy.get('[class*="ListOptionsComponentstyles__UploadVideoWrapper"]'),
|
83
|
+
videoLinkComponent: (nthElement = 0) => utilities.getNthElement(cy.get('[class*="ListOptionsComponentstyles__UploadVideoWrapper"]'), nthElement),
|
84
84
|
uploadVideoLinkButton: () => cy.get('[class*="ListOptionsComponentstyles__UploadVideoTextWrapper"]'),
|
85
85
|
planSentenceStarterSection: () => cy.get('[class*="Planstyles__SentenceFramesWrapper"]'),
|
86
86
|
planSentenceStarterListHeader: () => cy.get('[class*="Planstyles__SentenceFramesWrapper"] [class*="Planstyles__HeadingTextWrapper"]'),
|
87
87
|
planSentenceStarterListResetToDefault: () => cy.get('[class*="Planstyles__SentenceFramesWrapper"] [class*="Planstyles__DefaultResetWrapper"]'),
|
88
88
|
planSentenceStarterAddItemButton: () => cy.get('[class*="Planstyles__SentenceFramesWrapper"] [class*="ListOptionsComponentstyles__AddItemWrapper"] [role="button"]'),
|
89
|
-
planSentenceStarterCheckbox
|
89
|
+
planSentenceStarterCheckbox: () => cy.get('[class*="Planstyles__SentenceFramesWrapper"] .thinksphere-option-text-field-wrapper [data-ngie-testid*="-checkbox"]'),
|
90
90
|
solvePhaseAccordian: () => cy.get('[class*="Planstyles__SolveAccordianWrapper"] [class~="MuiAccordionSummary-root"] [role="button"]'),
|
91
91
|
solvePhaseAccordianLabel: () => cy.get('[class*="Solvestyles__AccordionLabel"]'),
|
92
92
|
inputTypeVideoFile: () => cy.get('[class*="Planstyles__StrategiesWrapper"] input[type="file"]'),
|
@@ -98,7 +98,7 @@ const selectors = {
|
|
98
98
|
editVideoButton: () => cy.get('[aria-label*="Change video"]'),
|
99
99
|
deleteVideoButton: () => cy.get('[aria-label*="Delete video"]'),
|
100
100
|
listInputField: () => cy.get('.option-component textarea[placeholder]'),
|
101
|
-
deleteButton: () => cy.get('button[aria-label*="Delete"]'),
|
101
|
+
deleteButton: () => cy.get('button[aria-label*="Delete"].ngie-icon-btn-cls'),
|
102
102
|
optionNumeration: () => cy.get('[class*="MuiInputAdornment-positionStart"]'),
|
103
103
|
iconPencil: () => cy.get('div[class*="icon-pencil"]'),
|
104
104
|
iconXCircle: () => cy.get('div[class*="icon-x-circle"]'),
|
@@ -110,8 +110,8 @@ const selectors = {
|
|
110
110
|
thinkSphereMathQuestionHeaderDeleteIcon: () => cy.get('[class*="Widgetstyles__HeaderContainer"] [class*="icon-Delete"]'),
|
111
111
|
addCheckMathQuestionButton: () => cy.get('.ngie-btn-typography').contains(`Add 'Check your math' question`),
|
112
112
|
firstAvailableItemLink: () => utilities.getNthElement(cy.get('.browse-item-styled-link'), 0),
|
113
|
-
saveButton: () => cy.get('.ngie-btn-typography').contains('save',{matchCase: false}),
|
114
|
-
cancelButton: () => cy.get('.ngie-btn-typography').contains('cancel',{matchCase: false}),
|
113
|
+
saveButton: () => cy.get('.ngie-btn-typography').contains('save', { matchCase: false }),
|
114
|
+
cancelButton: () => cy.get('.ngie-btn-typography').contains('cancel', { matchCase: false }),
|
115
115
|
AddCheckMathQuestionHeader: () => cy.get('.browse-title-wrapper').contains(`Add 'Check your math' question`),
|
116
116
|
singleOptionTextFieldWrapper: () => cy.get('[class*="SingleOptionstyle__TextFieldWrapper"]'),
|
117
117
|
customizeStampComponent: () => cy.get('[class*="CustomizeStampstyles__CustomizeStampWrapper"]'),
|
@@ -150,9 +150,9 @@ const selectors = {
|
|
150
150
|
popupTitle: () => cy.get('[class*="dialog-title-wrapper"]'),
|
151
151
|
strategyNameLabel: () => cy.get('[class*="ThinkSpherePreviewstyles__StrategyNameTextWrapper"]'),
|
152
152
|
strategyNameInputField: () => cy.get('[class*="new-strategy-name-field"]'),
|
153
|
-
addStrategyPopupCancelButton: () =>
|
153
|
+
addStrategyPopupCancelButton: () =>
|
154
154
|
cy.get('.dialog-content').contains('Cancel'),
|
155
|
-
addStrategyPopupSaveButton: () =>
|
155
|
+
addStrategyPopupSaveButton: () =>
|
156
156
|
cy.get('.dialog-content').contains('Save'),
|
157
157
|
// preview tab plan section selection
|
158
158
|
questionInstructionPreviewTexWrapper: () => cy.get('.question-instruction.question-text-wrapper'),
|
@@ -160,9 +160,9 @@ const selectors = {
|
|
160
160
|
questionInstructionPreviewImageExpandButton: () => cy.get('[class*="ThinkSpherePreviewstyles__ExpandImageIconWrapper"]'),
|
161
161
|
questionInstructionImagePopup: () => cy.get('[class*="QuestionTextstyle__ImagePopupDiv"]'),
|
162
162
|
closeExpandImagePopupButton: () => cy.get('.close-popup-btn'),
|
163
|
-
PlanningPreviewWrapper
|
163
|
+
PlanningPreviewWrapper: () => cy.get('[class*="PlanningPreviewstyles__PlanningPreviewWrapper"]'),
|
164
164
|
planningPreviewHeading: () => cy.get('[class*="PlanningPreviewstyles__HeadingWrapper"]'),
|
165
|
-
planningWriteWrapper
|
165
|
+
planningWriteWrapper: () => cy.get('[class*="PlanningPreviewstyles__WriteWrapper"]'),
|
166
166
|
problemAskingWrapper: () => cy.get('[class*="PlanningPreviewstyles__ProblemAskingWrapper"]'),
|
167
167
|
contentEditableDiv: () => cy.get('[class*="PlanningPreviewstyles__ContentEditableDiv"]'),
|
168
168
|
micIconWrapper: () => cy.get('[class*="PlanningPreviewstyles__MicIconWrapper"]'),
|
@@ -212,6 +212,53 @@ const selectors = {
|
|
212
212
|
cardWrapper: () => cy.get('.card-wrapper'),
|
213
213
|
cardLabel: () => cy.get('.widget-card-label'),
|
214
214
|
thinkSphereQuestionInstructionCKEditor: () => cy.get('div.cke_editable[contenteditable="true"]'),
|
215
|
+
reviewTab: () => cy.get('div[aria-label="Review tab"]'),
|
216
|
+
solveTab: () => cy.get('div[aria-label="Solve tab"]'),
|
217
|
+
planTab: () => cy.get('div[aria-label="Plan tab"]'),
|
218
|
+
checkYourMathHeading: () => utilities.getNthElement(cy.get('div[class*="ReviewTabstyles__CheckYourMathTextWrapper"]'), 0),
|
219
|
+
problemAskingToMeTextWrapper: () => utilities.getNthElement(cy.get('div[class*="ReviewTabstyles__ProblemAskingToMeTextWrapper"]'), 0),
|
220
|
+
reviewQuestionWrapper: () => utilities.getNthElement(cy.get('div[class*="ReviewTabstyles__QuestionWrapper"]'), 0),
|
221
|
+
reviewComponentWrapper: () => utilities.getNthElement(cy.get('div[class*="ReviewTabstyles__ComponentWrapper"]'), 0),
|
222
|
+
problemStatementWrapper: () => utilities.getNthElement(cy.get('div[class*="ReviewTabstyles__ProblemStatementWrapper"]'), 0),
|
223
|
+
gradingViewRadioButton: () => cy.get('label[aria-label="Grading View"]'),
|
224
|
+
studentViewRadioButton: () => cy.get('label[aria-label="Student View"]'),
|
225
|
+
correctAnswerLabelWrapper: () => cy.get('div[class*="CorrectAnswerLabelWrapper"]'),
|
226
|
+
whiteboardComponent: () => cy.get('.whiteboard'),
|
227
|
+
whiteBoardTools: () => cy.get('.tools'),
|
228
|
+
whiteBoardSubTools: () => cy.get('.subtools'),
|
229
|
+
whiteBoardCanvasContainer: () => cy.get('.canvas-container'),
|
230
|
+
whiteBoardFooter: () => cy.get('.footer-container'),
|
231
|
+
whiteBoardNewPage: () => cy.get('[data-testid=new-page]'),
|
232
|
+
whiteBoardPreviousPage: () => cy.get('[data-testid=previous]'),
|
233
|
+
whiteBoardNextPage: () => cy.get('[data-testid=next]'),
|
234
|
+
whiteBoardRecordOrPauseButton: () => cy.get('[data-testid=record]'),
|
235
|
+
whiteBoardStopButton: () => cy.get('[data-testid=stop]'),
|
236
|
+
whiteBoardPage: () => cy.get('.page'),
|
237
|
+
whiteboardRecordingStatus: () => cy.get('.status-container'),
|
238
|
+
whiteboardRecordingTimeStatus: () => cy.get('.timecode-container'),
|
239
|
+
whiteboardPlayBackStatus: () => cy.get('[class*=ReviewTabstyles__ThinkSphereWhiteboardPlayerContainer]'),
|
240
|
+
whiteboardPlayer: () => cy.get('[class*=ThinkSphereWhiteboardPlayerstyles__ThinkSphereWhiteboardPlayerWrapper]'),
|
241
|
+
whiteboardRecordingInProgressWarning: () => cy.get('[class*=whiteboard-recording-warning-popup]'),
|
242
|
+
whiteboardRecordingInProgressWarningOkButton: () => cy.get('[data-testid=accept-button]'),
|
243
|
+
whiteboardRecordingInProgressWarningHeader: () => cy.get('#alert-dialog-title'),
|
244
|
+
whiteboardRecordingInProgressWarningDescription: () => cy.get('#alert-dialog-description'),
|
245
|
+
whiteboardPlaybackPlayButton: () => cy.get('[data-testid=play]'),
|
246
|
+
whiteboardPlaybackPauseButton: () => cy.get('[data-testid=pause]'),
|
247
|
+
whiteboardPlaybackTime: () => cy.get('[data-testid=time]'),
|
248
|
+
whiteboardPlaybackSpeakerButton: () => cy.get('.speaker-button'),
|
249
|
+
whiteboardVolumeIcon: () => cy.get('.volume-icon'),
|
250
|
+
whiteboardMutedIcon: () => cy.get('.mute-icon'),
|
251
|
+
whiteboardVolumeSlider: () => cy.get('[class*=slider-container]'),
|
252
|
+
submitButton: () => cy.get('button[aria-label="Submit"]'),
|
253
|
+
goToGradingViewButton: () => cy.contains('button', 'GO TO GRADING VIEW'),
|
254
|
+
yourPlanButton: () => cy.get('button[class*="YourPlanButton"]'),
|
255
|
+
yourPlanContainer: () => cy.get('[class*="YourPlanContainer"]'),
|
256
|
+
yourPlanHeaderContainer: () => cy.get('[class*="ThinkSpherePreviewstyles__YourPlanHeaderContainer"]'),
|
257
|
+
yourPlanHeadingLabel: () => cy.get('[class*="ThinkSpherePreviewstyles__HeadingLabel"]'),
|
258
|
+
yourPlanCloseButton: () => cy.get('[class*="ThinkSpherePreviewstyles__CloseButton"]'),
|
259
|
+
yourPlanSubheading: () => cy.get('[class*="YourPlanstyles__Subheading"]'),
|
260
|
+
yourPlanTextarea: () => cy.get('[class*="YourPlanstyles__TextareaBox"]'),
|
261
|
+
yourPlanStrategiesList: () => cy.get('[class*="YourPlanstyles__StrategiesList"]'),
|
215
262
|
};
|
216
263
|
|
217
264
|
const steps = {
|
@@ -365,20 +412,20 @@ const steps = {
|
|
365
412
|
*/
|
366
413
|
uploadVideoFile: (file) => {
|
367
414
|
const fileName = file.split('/').pop(); // Extracts only 'sample.mp4'
|
368
|
-
|
415
|
+
|
369
416
|
cy.fixture(file, 'binary') // Read the file as binary
|
370
417
|
.then(Cypress.Blob.binaryStringToBlob)
|
371
418
|
.then((blob) => {
|
372
419
|
const fileObj = new File([blob], fileName, { type: 'video/mp4' });
|
373
420
|
const dataTransfer = new DataTransfer();
|
374
421
|
dataTransfer.items.add(fileObj);
|
375
|
-
|
422
|
+
|
376
423
|
thinkSpherePage.inputTypeVideoFile().then(($input) => {
|
377
424
|
$input[0].files = dataTransfer.files;
|
378
425
|
cy.wrap($input).trigger('change', { force: true });
|
379
426
|
});
|
380
427
|
});
|
381
|
-
|
428
|
+
|
382
429
|
cy.wait(4000);
|
383
430
|
},
|
384
431
|
|
@@ -454,13 +501,13 @@ const steps = {
|
|
454
501
|
},
|
455
502
|
expandSolvePhaseAccordion: () => {
|
456
503
|
thinkSpherePage.solvePhaseAccordion()
|
457
|
-
|
458
|
-
|
504
|
+
.click()
|
505
|
+
.should('have.attr', 'aria-expanded', 'true');
|
459
506
|
},
|
460
507
|
expandCustomizeToolsAndControls: () => {
|
461
508
|
thinkSpherePage.customizeToolsAndControls()
|
462
|
-
|
463
|
-
|
509
|
+
.click()
|
510
|
+
.should('have.attr', 'aria-expanded', 'true');
|
464
511
|
},
|
465
512
|
/**
|
466
513
|
* Verifies the tools and controls options.
|
@@ -477,9 +524,9 @@ const steps = {
|
|
477
524
|
*/
|
478
525
|
selectOptionFromToolsAndControls: (option) => {
|
479
526
|
thinkSpherePage.solveToolsAndControlsOptionsTiles(option)
|
480
|
-
|
527
|
+
.click();
|
481
528
|
thinkSpherePage.solveToolsAndControlsOptionsTiles(option)
|
482
|
-
|
529
|
+
.should('have.attr', 'data-aria-pressed', 'true');
|
483
530
|
},
|
484
531
|
/**
|
485
532
|
* Deselects an option from tools and controls.
|
@@ -487,9 +534,9 @@ const steps = {
|
|
487
534
|
*/
|
488
535
|
deselectOptionFromToolsAndControls: (option) => {
|
489
536
|
thinkSpherePage.solveToolsAndControlsOptionsTiles(option)
|
490
|
-
|
537
|
+
.click();
|
491
538
|
thinkSpherePage.solveToolsAndControlsOptionsTiles(option)
|
492
|
-
|
539
|
+
.should('have.attr', 'data-aria-pressed', 'false');
|
493
540
|
},
|
494
541
|
/**
|
495
542
|
* Verifies if an option is selected.
|
@@ -497,7 +544,7 @@ const steps = {
|
|
497
544
|
*/
|
498
545
|
verifyOptionIsSelected: (option) => {
|
499
546
|
thinkSpherePage.solveToolsAndControlsOptionsTiles(option)
|
500
|
-
|
547
|
+
.should('have.attr', 'data-aria-pressed', 'true');
|
501
548
|
},
|
502
549
|
/**
|
503
550
|
* Verifies if an option is not selected.
|
@@ -505,7 +552,7 @@ const steps = {
|
|
505
552
|
*/
|
506
553
|
verifyOptionIsNotSelected: (option) => {
|
507
554
|
thinkSpherePage.solveToolsAndControlsOptionsTiles(option)
|
508
|
-
|
555
|
+
.should('have.attr', 'data-aria-pressed', 'false');
|
509
556
|
},
|
510
557
|
|
511
558
|
/**
|
@@ -538,7 +585,7 @@ const steps = {
|
|
538
585
|
utilities.getNthElement(thinkSpherePage.deleteButton(), index)
|
539
586
|
.click();
|
540
587
|
},
|
541
|
-
|
588
|
+
|
542
589
|
/**
|
543
590
|
* Verifies the delete option button disabled state.
|
544
591
|
* @param {string} list - The list to verify ('strategy' or other).
|
@@ -620,14 +667,14 @@ const steps = {
|
|
620
667
|
.within(() => {
|
621
668
|
utilities.getNthElement(thinkSpherePage.listInputField(), optionCount)
|
622
669
|
.clear()
|
623
|
-
.type(text);
|
670
|
+
.type(text, { delay: 500 });
|
624
671
|
});
|
625
672
|
} else {
|
626
673
|
thinkSpherePage.planSentenceStarterSection()
|
627
674
|
.within(() => {
|
628
675
|
utilities.getNthElement(thinkSpherePage.listInputField(), optionCount)
|
629
676
|
.clear()
|
630
|
-
.type(text);
|
677
|
+
.type(text, { delay: 500 });
|
631
678
|
});
|
632
679
|
}
|
633
680
|
},
|
@@ -754,9 +801,9 @@ const steps = {
|
|
754
801
|
},
|
755
802
|
|
756
803
|
verifyOptionAlignmentIsSelected: (direction) => {
|
757
|
-
if(direction === 'topLeft') {
|
804
|
+
if (direction === 'topLeft') {
|
758
805
|
thinkSpherePage.whiteBoardCanvas()
|
759
|
-
|
806
|
+
.should('not.have.css', 'justify-content', 'start');
|
760
807
|
} else {
|
761
808
|
thinkSpherePage.whiteBoardCanvas()
|
762
809
|
.should('have.css', 'justify-content', (direction === 'center' || direction === 'flex-end') ? 'normal' : direction);
|
@@ -766,7 +813,7 @@ const steps = {
|
|
766
813
|
}
|
767
814
|
}
|
768
815
|
},
|
769
|
-
|
816
|
+
|
770
817
|
clickOnImageRadioButton: () => {
|
771
818
|
thinkSpherePage.imageRadioButton()
|
772
819
|
.click();
|
@@ -775,10 +822,11 @@ const steps = {
|
|
775
822
|
clickOnEditQuestionIcon: () => {
|
776
823
|
utilities.getNthElement(thinkSpherePage.editQuestionPencil(), 0)
|
777
824
|
.click();
|
825
|
+
cy.wait(1000);
|
778
826
|
},
|
779
827
|
|
780
828
|
clickOnQuestionInstructionExpandImageButton: () => {
|
781
|
-
thinkSpherePage.questionInstructionPreviewImageExpandButton()
|
829
|
+
utilities.getNthElement(thinkSpherePage.questionInstructionPreviewImageExpandButton(), 0)
|
782
830
|
.click();
|
783
831
|
},
|
784
832
|
|
@@ -937,20 +985,20 @@ const steps = {
|
|
937
985
|
|
938
986
|
verifyCategoryCharactersAndUnSelectedState: (arrayOfSymbolsAriaLabel) => {
|
939
987
|
thinkSpherePage.categoryCharacters()
|
940
|
-
|
941
|
-
|
942
|
-
editCategoryFlyout.categoryCharacters()
|
943
|
-
.eq(index)
|
944
|
-
.should('not.have.class', 'Mui-selected')
|
945
|
-
.invoke('attr', 'aria-label')
|
946
|
-
.then((ariaLabel) => {
|
947
|
-
const tooltipText = ariaLabel.split(' ').slice(0, -1).join(' ');
|
988
|
+
.then(($symbols) => {
|
989
|
+
for (let index = 10; index < $symbols.length - 1; index++) {
|
948
990
|
editCategoryFlyout.categoryCharacters()
|
949
991
|
.eq(index)
|
950
|
-
.
|
951
|
-
|
952
|
-
|
953
|
-
|
992
|
+
.should('not.have.class', 'Mui-selected')
|
993
|
+
.invoke('attr', 'aria-label')
|
994
|
+
.then((ariaLabel) => {
|
995
|
+
const tooltipText = ariaLabel.split(' ').slice(0, -1).join(' ');
|
996
|
+
editCategoryFlyout.categoryCharacters()
|
997
|
+
.eq(index)
|
998
|
+
.verifyTooltip(tooltipText);
|
999
|
+
});
|
1000
|
+
}
|
1001
|
+
});
|
954
1002
|
},
|
955
1003
|
|
956
1004
|
verifyCategoryCharactersAndSelectedState: (arrayOfSymbolsAriaLabel) => {
|
@@ -958,15 +1006,15 @@ const steps = {
|
|
958
1006
|
.then(($symbols) => {
|
959
1007
|
for (let index = 0; index < arrayOfSymbolsAriaLabel.length - 1; index++) {
|
960
1008
|
editCategoryFlyout.categoryCharacters()
|
961
|
-
|
962
|
-
|
963
|
-
|
964
|
-
|
965
|
-
|
966
|
-
|
967
|
-
|
968
|
-
|
969
|
-
|
1009
|
+
.eq(index)
|
1010
|
+
.should('have.class', 'Mui-selected')
|
1011
|
+
.invoke('attr', 'aria-label')
|
1012
|
+
.then((ariaLabel) => {
|
1013
|
+
const tooltipText = ariaLabel.split(' ').slice(0, -1).join(' ');
|
1014
|
+
editCategoryFlyout.categoryCharacters()
|
1015
|
+
.eq(index)
|
1016
|
+
.verifyTooltip(tooltipText);
|
1017
|
+
});
|
970
1018
|
}
|
971
1019
|
});
|
972
1020
|
},
|
@@ -978,12 +1026,12 @@ const steps = {
|
|
978
1026
|
|
979
1027
|
verifyDropdownOptions: (dropDownListArray) => {
|
980
1028
|
thinkSpherePage.categoriesDropDownMenuItem().should('have.length', dropDownListArray.length).each(($item) => {
|
981
|
-
|
982
|
-
|
983
|
-
|
984
|
-
|
985
|
-
|
986
|
-
|
1029
|
+
cy.wrap($item)
|
1030
|
+
.invoke('text')
|
1031
|
+
.then((text) => {
|
1032
|
+
const trimmedText = text.trim();
|
1033
|
+
expect(dropDownListArray).to.include(trimmedText);
|
1034
|
+
});
|
987
1035
|
});
|
988
1036
|
},
|
989
1037
|
|
@@ -993,22 +1041,22 @@ const steps = {
|
|
993
1041
|
|
994
1042
|
clickOnQuestionTypesAccordion: () => {
|
995
1043
|
thinkSpherePage.filterSectionQuestionTypesAccordion()
|
996
|
-
|
1044
|
+
.click()
|
997
1045
|
},
|
998
1046
|
|
999
1047
|
typeInSearchBar: (input) => {
|
1000
1048
|
thinkSpherePage.searchBar()
|
1001
|
-
|
1002
|
-
|
1003
|
-
|
1049
|
+
.clear()
|
1050
|
+
.type(input)
|
1051
|
+
.should('have.value', input);
|
1004
1052
|
},
|
1005
1053
|
|
1006
1054
|
searchInSearchBar: (input) => {
|
1007
1055
|
thinkSpherePage.searchBar()
|
1008
|
-
|
1009
|
-
|
1010
|
-
|
1011
|
-
|
1056
|
+
.clear()
|
1057
|
+
.type(input)
|
1058
|
+
.should('have.value', input)
|
1059
|
+
.type('{enter}');
|
1012
1060
|
},
|
1013
1061
|
|
1014
1062
|
clickOnSolvePhaseAccordionIcon: (element) => {
|
@@ -1062,7 +1110,7 @@ const steps = {
|
|
1062
1110
|
|
1063
1111
|
verifyTextIsNotEmpty: (element) => {
|
1064
1112
|
element.invoke('text')
|
1065
|
-
|
1113
|
+
.should('not.be.empty');
|
1066
1114
|
},
|
1067
1115
|
|
1068
1116
|
verifyLength: (element, length) => {
|
@@ -1104,6 +1152,516 @@ const steps = {
|
|
1104
1152
|
expect(scrollWidth).to.be.greaterThan(clientWidth);
|
1105
1153
|
});
|
1106
1154
|
},
|
1155
|
+
|
1156
|
+
verifyQuestionImagePopup: () => {
|
1157
|
+
thinkSpherePage.dialogBoxRoot()
|
1158
|
+
.within(() => {
|
1159
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.questionInstructionImagePopup(), 'visible');
|
1160
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.closeExpandImagePopupButton(), 'visible');
|
1161
|
+
});
|
1162
|
+
},
|
1163
|
+
|
1164
|
+
verifyAddNewStrategyPopupCloseFunctionality: () => {
|
1165
|
+
let countBeforeOpeningPopup, countAfterClosingPopup;
|
1166
|
+
cy.get(thinkSpherePage.strategiesBoxPreviewTab())
|
1167
|
+
.its('length')
|
1168
|
+
.then((count) => {
|
1169
|
+
countBeforeOpeningPopup = count;
|
1170
|
+
cy.log('Count before opening popup:', countBeforeOpeningPopup);
|
1171
|
+
});
|
1172
|
+
thinkSpherePage.addNewStrategyButton().click();
|
1173
|
+
thinkSpherePage.addStrategyPopupCancelButton().click();
|
1174
|
+
cy.get(thinkSpherePage.strategiesBoxPreviewTab())
|
1175
|
+
.its('length')
|
1176
|
+
.then((count) => {
|
1177
|
+
countAfterClosingPopup = count;
|
1178
|
+
cy.log('Count after closing popup:', countAfterClosingPopup);
|
1179
|
+
expect(countAfterClosingPopup).to.equal(countBeforeOpeningPopup);
|
1180
|
+
});
|
1181
|
+
},
|
1182
|
+
|
1183
|
+
verifyAddNewStrategyPopupSaveFunctionality: () => {
|
1184
|
+
let countBeforeOpeningPopup, countAfterClosingPopup;
|
1185
|
+
thinkSpherePage.strategiesBoxPreviewTab()
|
1186
|
+
.its('length')
|
1187
|
+
.then((count) => {
|
1188
|
+
countBeforeOpeningPopup = count;
|
1189
|
+
cy.log('Count before opening popup:', countBeforeOpeningPopup);
|
1190
|
+
});
|
1191
|
+
thinkSpherePage.addNewStrategyButton().click();
|
1192
|
+
thinkSpherePage.strategyNameInputField().type('Test Strategy');
|
1193
|
+
thinkSpherePage.addStrategyPopupSaveButton().click();
|
1194
|
+
thinkSpherePage.strategiesBoxPreviewTab()
|
1195
|
+
.its('length')
|
1196
|
+
.then((count) => {
|
1197
|
+
countAfterClosingPopup = count;
|
1198
|
+
cy.log('Count after closing popup:', countAfterClosingPopup);
|
1199
|
+
expect(countAfterClosingPopup).to.equal(countBeforeOpeningPopup + 1);
|
1200
|
+
});
|
1201
|
+
},
|
1202
|
+
|
1203
|
+
verifyVideoPopupDialogBox: () => {
|
1204
|
+
thinkSpherePage.dialogBoxRoot()
|
1205
|
+
.within(() => {
|
1206
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.dialogBoxTitle(), 'visible');
|
1207
|
+
utilities.verifyInnerText(thinkSpherePage.dialogBoxTitle(), 'Create_a_model');
|
1208
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.buttonClose(), 'visible');
|
1209
|
+
});
|
1210
|
+
},
|
1211
|
+
|
1212
|
+
verifySentenceStartersDropdown: () => {
|
1213
|
+
thinkSpherePage.chooseStarterTextIconWrapper()
|
1214
|
+
.within(() => {
|
1215
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.starterIocn(), 'visible');
|
1216
|
+
utilities.verifyInnerText(thinkSpherePage.starterTextWrapper(), 'Starters');
|
1217
|
+
});
|
1218
|
+
thinkSpherePage.chooseStarterDropdown()
|
1219
|
+
.verifyPseudoClassBeforeProperty('content', '""');
|
1220
|
+
},
|
1221
|
+
|
1222
|
+
verifySentenceStartersDropdownOptions: (sentenceStartersTextDefault) => {
|
1223
|
+
sentenceStartersTextDefault.forEach((label, index) => {
|
1224
|
+
utilities.verifyInnerText(utilities.getNthElement(thinkSpherePage.chooseStartersListOptionLabels(), index), label);
|
1225
|
+
});
|
1226
|
+
},
|
1227
|
+
|
1228
|
+
verifySentenceStartersDropdownFunctionality: () => {
|
1229
|
+
thinkSpherePage.writePlanWrapper()
|
1230
|
+
.within(() => {
|
1231
|
+
thinkSpherePage.contentEditableDiv().clear();
|
1232
|
+
});
|
1233
|
+
thinkSpherePage.steps.expandChooseStarterDropdown();
|
1234
|
+
utilities.getNthElement(thinkSpherePage.chooseStartersListOptions(), 1).click();
|
1235
|
+
thinkSpherePage.writePlanWrapper()
|
1236
|
+
.within(() => {
|
1237
|
+
thinkSpherePage.contentEditableDiv().should('have.value', 'First, I will ');
|
1238
|
+
thinkSpherePage.contentEditableDiv().clear();
|
1239
|
+
});
|
1240
|
+
},
|
1241
|
+
|
1242
|
+
verifyProblemAskingHeading: () => {
|
1243
|
+
thinkSpherePage.problemAskingWrapper()
|
1244
|
+
.within(() => {
|
1245
|
+
utilities.verifyInnerText(thinkSpherePage.subheadingWrapper(), 'The problem is asking me to');
|
1246
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.subheadingWrapper(), 'visible');
|
1247
|
+
});
|
1248
|
+
},
|
1249
|
+
|
1250
|
+
verifyProblemAskingTextArea: () => {
|
1251
|
+
thinkSpherePage.problemAskingWrapper()
|
1252
|
+
.within(() => {
|
1253
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.contentEditableDiv(), 'visible');
|
1254
|
+
utilities.verifyElementAttribute(thinkSpherePage.contentEditableDiv(), 'placeholder', 'Enter your text here');
|
1255
|
+
});
|
1256
|
+
},
|
1257
|
+
|
1258
|
+
verifyProblemAskingMicSection: (isGrading=false) => {
|
1259
|
+
thinkSpherePage.problemAskingWrapper()
|
1260
|
+
.within(() => {
|
1261
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.micIconWrapper(), 'visible');
|
1262
|
+
utilities.verifyElementAttribute(thinkSpherePage.micIconWrapper(), 'role', 'button');
|
1263
|
+
utilities.verifyElementAttribute(thinkSpherePage.micIconWrapper(), 'aria-label', 'Mic button');
|
1264
|
+
if(isGrading) {
|
1265
|
+
utilities.verifyElementAttribute(thinkSpherePage.micIconWrapper(), 'tabindex', -1);
|
1266
|
+
}
|
1267
|
+
});
|
1268
|
+
},
|
1269
|
+
|
1270
|
+
verifyProblemAskingTextAreaFunctionality: (textToEnter) => {
|
1271
|
+
thinkSpherePage.problemAskingWrapper()
|
1272
|
+
.within(() => {
|
1273
|
+
thinkSpherePage.contentEditableDiv().type(textToEnter);
|
1274
|
+
thinkSpherePage.contentEditableDiv().should('have.value', textToEnter);
|
1275
|
+
});
|
1276
|
+
},
|
1277
|
+
|
1278
|
+
verifyStrategiesToPlanHeading: () => {
|
1279
|
+
thinkSpherePage.strategiesToPlanWrapper()
|
1280
|
+
.within(() => {
|
1281
|
+
utilities.verifyInnerText(thinkSpherePage.subheadingWrapper(), 'Add strategies to plan');
|
1282
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.subheadingWrapper(), 'visible');
|
1283
|
+
});
|
1284
|
+
},
|
1285
|
+
|
1286
|
+
verifyWritePlanHeading: () => {
|
1287
|
+
thinkSpherePage.writePlanWrapper()
|
1288
|
+
.within(() => {
|
1289
|
+
utilities.verifyInnerText(thinkSpherePage.subheadingWrapper(), 'Write your plan');
|
1290
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.subheadingWrapper(), 'visible');
|
1291
|
+
});
|
1292
|
+
},
|
1293
|
+
|
1294
|
+
verifyWritePlanTextArea: () => {
|
1295
|
+
thinkSpherePage.writePlanWrapper()
|
1296
|
+
.within(() => {
|
1297
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.contentEditableDiv(), 'visible');
|
1298
|
+
utilities.verifyElementAttribute(thinkSpherePage.contentEditableDiv(), 'placeholder', 'Enter your plan here');
|
1299
|
+
});
|
1300
|
+
},
|
1301
|
+
|
1302
|
+
verifyWritePlanMicSection: (isGrading=false) => {
|
1303
|
+
thinkSpherePage.writePlanWrapper()
|
1304
|
+
.within(() => {
|
1305
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.micIconWrapper(), 'visible');
|
1306
|
+
utilities.verifyElementAttribute(thinkSpherePage.micIconWrapper(), 'role', 'button');
|
1307
|
+
utilities.verifyElementAttribute(thinkSpherePage.micIconWrapper(), 'aria-label', 'Mic button');
|
1308
|
+
if(isGrading) {
|
1309
|
+
utilities.verifyElementAttribute(thinkSpherePage.micIconWrapper(), 'tabindex', -1);
|
1310
|
+
}
|
1311
|
+
});
|
1312
|
+
},
|
1313
|
+
|
1314
|
+
verifyWritePlanTextAreaFunctionality: (planTextToEnter) => {
|
1315
|
+
thinkSpherePage.writePlanWrapper()
|
1316
|
+
.within(() => {
|
1317
|
+
thinkSpherePage.contentEditableDiv().type(planTextToEnter);
|
1318
|
+
thinkSpherePage.contentEditableDiv().should('have.value', planTextToEnter);
|
1319
|
+
thinkSpherePage.contentEditableDiv().clear();
|
1320
|
+
});
|
1321
|
+
},
|
1322
|
+
|
1323
|
+
verifyStrategyChipClickFunctionality: () => {
|
1324
|
+
thinkSpherePage.writePlanWrapper()
|
1325
|
+
.within(() => {
|
1326
|
+
thinkSpherePage.contentEditableDiv().clear();
|
1327
|
+
});
|
1328
|
+
thinkSpherePage.strategyChip().click();
|
1329
|
+
thinkSpherePage.writePlanWrapper()
|
1330
|
+
.within(() => {
|
1331
|
+
thinkSpherePage.contentEditableDiv().should('have.value', 'look for a pattern ');
|
1332
|
+
});
|
1333
|
+
},
|
1334
|
+
clickUploadVideoButton: () => {
|
1335
|
+
thinkSpherePage.uploadVideoLinkButton()
|
1336
|
+
.click();
|
1337
|
+
},
|
1338
|
+
|
1339
|
+
verifyPreAuthoredVideoTitles: (defaultStrategyTexts) => {
|
1340
|
+
defaultStrategyTexts.forEach((text, index) => {
|
1341
|
+
thinkSpherePage.videoLinkComponent(index)
|
1342
|
+
.within(() => {
|
1343
|
+
utilities.verifyInnerText(thinkSpherePage.uploadVideoLinkButton(), text);
|
1344
|
+
})
|
1345
|
+
});
|
1346
|
+
},
|
1347
|
+
|
1348
|
+
verifyPreAuthoredVideos: (preAuthoredVideos) => {
|
1349
|
+
preAuthoredVideos.forEach(({ duration }, optionIndex) => {
|
1350
|
+
thinkSpherePage.videoLinkComponent(optionIndex)
|
1351
|
+
.within(thinkSpherePage.steps.clickUploadVideoButton);
|
1352
|
+
thinkSpherePage.steps.startPlayback();
|
1353
|
+
thinkSpherePage.steps.waitForPlaybackToBegin();
|
1354
|
+
thinkSpherePage.playerTimer()
|
1355
|
+
.should('contain', `/${duration}`);
|
1356
|
+
thinkSpherePage.steps.closeVideoPopup();
|
1357
|
+
})
|
1358
|
+
},
|
1359
|
+
|
1360
|
+
/**
|
1361
|
+
* @description simulate a keyboard key press
|
1362
|
+
* @param {string} key - key to be pressed at the cursor
|
1363
|
+
*/
|
1364
|
+
|
1365
|
+
clickOnReviewTab: () => {
|
1366
|
+
thinkSpherePage.reviewTab()
|
1367
|
+
.click();
|
1368
|
+
},
|
1369
|
+
|
1370
|
+
clickOnSolveTab: () => {
|
1371
|
+
thinkSpherePage.solveTab()
|
1372
|
+
.click();
|
1373
|
+
},
|
1374
|
+
|
1375
|
+
clickOnPlanTab: () => {
|
1376
|
+
thinkSpherePage.planTab()
|
1377
|
+
.click();
|
1378
|
+
},
|
1379
|
+
|
1380
|
+
clickOnYourPlanButton : () => {
|
1381
|
+
thinkSpherePage.yourPlanButton()
|
1382
|
+
.click();
|
1383
|
+
},
|
1384
|
+
|
1385
|
+
switchToGradingView: () => {
|
1386
|
+
thinkSpherePage.gradingViewRadioButton()
|
1387
|
+
.click();
|
1388
|
+
},
|
1389
|
+
|
1390
|
+
switchToStudentView: () => {
|
1391
|
+
thinkSpherePage.studentViewRadioButton()
|
1392
|
+
.click();
|
1393
|
+
},
|
1394
|
+
|
1395
|
+
verifyCorrectAnswerLabel: () => {
|
1396
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.correctAnswerLabelWrapper(), 'visible');
|
1397
|
+
},
|
1398
|
+
|
1399
|
+
addImageAlternativeTextInputFieldText: (alternateTextForImage) => {
|
1400
|
+
thinkSpherePage.imageAlternativeTextInputField().type(alternateTextForImage);
|
1401
|
+
cy.wait(2000);
|
1402
|
+
},
|
1403
|
+
|
1404
|
+
submitResponseAndGotoGradingView : () => {
|
1405
|
+
thinkSpherePage.submitButton().click();
|
1406
|
+
thinkSpherePage.goToGradingViewButton().click();
|
1407
|
+
},
|
1408
|
+
|
1409
|
+
stepsBeforeGradingView: () => {
|
1410
|
+
thinkSpherePage.steps.expandChooseStarterDropdown();
|
1411
|
+
utilities.getNthElement(thinkSpherePage.chooseStartersListOptions(), 1).click();
|
1412
|
+
thinkSpherePage.problemAskingWrapper().first()
|
1413
|
+
.within(() => {
|
1414
|
+
thinkSpherePage.contentEditableDiv().type('This is a test text for the problem.');
|
1415
|
+
});
|
1416
|
+
thinkSpherePage.strategyChip().click();
|
1417
|
+
thinkSpherePage.submitButton().click();
|
1418
|
+
thinkSpherePage.goToGradingViewButton().click();
|
1419
|
+
},
|
1420
|
+
|
1421
|
+
verifyAddStrategiesButtonDisabled: () => {
|
1422
|
+
thinkSpherePage.addNewStrategyButton().should('have.attr', 'tabindex', '-1');
|
1423
|
+
thinkSpherePage.addNewStrategyButton().click({ force: true });
|
1424
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.popupTitle(), 'notExist');
|
1425
|
+
},
|
1426
|
+
|
1427
|
+
verifyStrategiesListButtonDisabled: () => {
|
1428
|
+
utilities.getNthElement(thinkSpherePage.strategiesPreviewListLI(), 0).should('have.attr', 'tabindex', '-1');
|
1429
|
+
utilities.getNthElement(thinkSpherePage.strategiesPreviewListLI(), 0).should('have.attr', 'aria-disabled', 'true');
|
1430
|
+
},
|
1431
|
+
|
1432
|
+
verifySentenceStarterDropDownDisabled: () => {
|
1433
|
+
thinkSpherePage.chooseStarterDropdown().should('have.attr', 'aria-disabled', 'true');
|
1434
|
+
},
|
1435
|
+
|
1436
|
+
verifyDisabledProblemTextContainer: (textToEnter) => {
|
1437
|
+
thinkSpherePage.problemAskingWrapper()
|
1438
|
+
.within(() => {
|
1439
|
+
thinkSpherePage.contentEditableDiv().should('have.attr', 'readonly');
|
1440
|
+
thinkSpherePage.contentEditableDiv().should('have.value', textToEnter);
|
1441
|
+
});
|
1442
|
+
},
|
1443
|
+
|
1444
|
+
verifyDisabledWriteYourPlanTextContainer: (textToEnter) => {
|
1445
|
+
thinkSpherePage.writePlanWrapper()
|
1446
|
+
.within(() => {
|
1447
|
+
thinkSpherePage.contentEditableDiv().should('have.attr', 'readonly');
|
1448
|
+
thinkSpherePage.contentEditableDiv().should('have.value', textToEnter);
|
1449
|
+
});
|
1450
|
+
},
|
1451
|
+
|
1452
|
+
verifyDisabledStrategyChip: () => {
|
1453
|
+
thinkSpherePage.strategyChip().should('have.attr', 'tabindex', -1);
|
1454
|
+
},
|
1455
|
+
|
1456
|
+
verifyQuestionInstructionPreviewTexWrapperVisibility: (instructionText) => {
|
1457
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.questionInstructionPreviewTexWrapper(), 'visible');
|
1458
|
+
utilities.verifyInnerText(thinkSpherePage.questionInstructionPreviewTexWrapper(), instructionText);
|
1459
|
+
},
|
1460
|
+
|
1461
|
+
verifyQuestionInstructionPreviewImageWrapperVisibility: () => {
|
1462
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.questionInstructionPreviewImageWrapper(), 'visible');
|
1463
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.questionInstructionPreviewImageExpandButton(), 'visible');
|
1464
|
+
},
|
1465
|
+
|
1466
|
+
verifyWhiteBoardVisibility: () => {
|
1467
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.whiteboardComponent(), 'visible');
|
1468
|
+
},
|
1469
|
+
|
1470
|
+
verifyWhiteBoardSectionsVisibility: () => {
|
1471
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.whiteBoardTools(), 'visible');
|
1472
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.whiteBoardSubTools(), 'visible');
|
1473
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.whiteBoardCanvasContainer(), 'visible');
|
1474
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.whiteBoardFooter(), 'visible');
|
1475
|
+
},
|
1476
|
+
|
1477
|
+
/**
|
1478
|
+
* Verifies that the inner text of the whiteboard's page label matches the expected text.
|
1479
|
+
*
|
1480
|
+
* @param {string} text - The exact text expected to be present in the page label element (e.g., "Page1 / 1").
|
1481
|
+
*/
|
1482
|
+
|
1483
|
+
verifyInnerTextOfPageLabel: (text) => {
|
1484
|
+
thinkSpherePage.whiteBoardPage()
|
1485
|
+
.should('have.text', text);
|
1486
|
+
},
|
1487
|
+
|
1488
|
+
clickOnWhiteBoardNewPageButton: () => {
|
1489
|
+
thinkSpherePage.whiteBoardNewPage()
|
1490
|
+
.click();
|
1491
|
+
},
|
1492
|
+
|
1493
|
+
clickOnPreviousButton: () => {
|
1494
|
+
thinkSpherePage.whiteBoardPreviousPage()
|
1495
|
+
.click();
|
1496
|
+
},
|
1497
|
+
|
1498
|
+
clickOnNextButton: () => {
|
1499
|
+
thinkSpherePage.whiteBoardNextPage()
|
1500
|
+
.click();
|
1501
|
+
},
|
1502
|
+
|
1503
|
+
verifyPreviousButtonDisabled: () => {
|
1504
|
+
thinkSpherePage.whiteBoardPreviousPage()
|
1505
|
+
.should('have.attr', 'disabled');
|
1506
|
+
},
|
1507
|
+
|
1508
|
+
verifyNextButtonDisabled: () => {
|
1509
|
+
thinkSpherePage.whiteBoardNextPage()
|
1510
|
+
.should('have.attr', 'disabled');
|
1511
|
+
},
|
1512
|
+
|
1513
|
+
verifyYourPlanButtonInDisableState : () => {
|
1514
|
+
thinkSpherePage.yourPlanButton()
|
1515
|
+
.should('have.attr', 'disabled');
|
1516
|
+
},
|
1517
|
+
|
1518
|
+
verifyYourPlanContainerVisibility: () => {
|
1519
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.yourPlanContainer(), 'visible');
|
1520
|
+
},
|
1521
|
+
|
1522
|
+
/**
|
1523
|
+
* Verifies that the inner text of the whiteboard's recording status matches the expected text.
|
1524
|
+
*
|
1525
|
+
* @param {string} text - The exact text expected to be present in the recording status element (e.g., "Ready").
|
1526
|
+
*/
|
1527
|
+
|
1528
|
+
verifyRecordingStatus: (text) => {
|
1529
|
+
thinkSpherePage.whiteboardRecordingStatus()
|
1530
|
+
.should('have.text', text);
|
1531
|
+
},
|
1532
|
+
|
1533
|
+
verifyRecordingTimeStatusNotPresent: () => {
|
1534
|
+
thinkSpherePage.whiteboardRecordingTimeStatus()
|
1535
|
+
.should('have.text', '');
|
1536
|
+
},
|
1537
|
+
|
1538
|
+
verifyRecordingTimeStatusPresent: () => {
|
1539
|
+
thinkSpherePage.whiteboardRecordingTimeStatus()
|
1540
|
+
.invoke('text')
|
1541
|
+
.should('not.be.empty');
|
1542
|
+
},
|
1543
|
+
|
1544
|
+
clickOnRecordingOrPauseButton: () => {
|
1545
|
+
thinkSpherePage.whiteBoardRecordOrPauseButton()
|
1546
|
+
.click();
|
1547
|
+
},
|
1548
|
+
|
1549
|
+
clickOnStopButton: () => {
|
1550
|
+
thinkSpherePage.whiteBoardStopButton()
|
1551
|
+
.click();
|
1552
|
+
},
|
1553
|
+
|
1554
|
+
/**
|
1555
|
+
* Verifies that the inner text of the whiteboard's playback element matches the expected text.
|
1556
|
+
*
|
1557
|
+
* @param {string} text - The exact text expected to be present in the playback element (e.g., "Watch your recordingNo recording available.").
|
1558
|
+
*/
|
1559
|
+
|
1560
|
+
verifyPlayBackNotAvailable: (text) => {
|
1561
|
+
thinkSpherePage.whiteboardPlayBackStatus().should('have.text', text);
|
1562
|
+
},
|
1563
|
+
|
1564
|
+
verifyWhiteBoardPlayer: () => {
|
1565
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.whiteboardPlayer(), 'visible');
|
1566
|
+
},
|
1567
|
+
|
1568
|
+
verifyWhiteBoardRecordingInprogressWarning: () => {
|
1569
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.whiteboardRecordingInProgressWarning(), 'visible');
|
1570
|
+
},
|
1571
|
+
|
1572
|
+
verifyWhiteBoardRecordingInprogressWarningNotVisible: () => {
|
1573
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.whiteboardRecordingInProgressWarning(), 'notExist');
|
1574
|
+
},
|
1575
|
+
|
1576
|
+
clickOnWhiteBoardRecordingInProgressWarningOkButton: () => {
|
1577
|
+
thinkSpherePage.whiteboardRecordingInProgressWarningOkButton()
|
1578
|
+
.click();
|
1579
|
+
},
|
1580
|
+
|
1581
|
+
/**
|
1582
|
+
* Verifies that the inner text of the whiteboard's warning text header matches the expected text.
|
1583
|
+
*
|
1584
|
+
* @param {string} text - The exact text expected to be present in the warning text header element (e.g., "Recording in Progress").
|
1585
|
+
*/
|
1586
|
+
|
1587
|
+
verifyWhiteboardWarningHeaderText: (text) => {
|
1588
|
+
thinkSpherePage.whiteboardRecordingInProgressWarningHeader()
|
1589
|
+
.should('have.text', text);
|
1590
|
+
},
|
1591
|
+
|
1592
|
+
/**
|
1593
|
+
* Verifies that the inner text of the whiteboard's whiteboard warning description matches the expected text.
|
1594
|
+
*
|
1595
|
+
* @param {string} expected - The exact text expected to be present in the whiteboard warning description element (e.g., "You're currently recording your work. To avoid losing progress, please return and click Stop to save the recording.").
|
1596
|
+
*/
|
1597
|
+
|
1598
|
+
verifyWhiteboardWarningDescriptionText: (expected) => {
|
1599
|
+
thinkSpherePage.whiteboardRecordingInProgressWarningDescription()
|
1600
|
+
.invoke('text')
|
1601
|
+
.then((text) => {
|
1602
|
+
const cleanText = text.replace(/\s+/g, ' ').trim();
|
1603
|
+
expect(cleanText).to.eq(expected);
|
1604
|
+
});
|
1605
|
+
},
|
1606
|
+
|
1607
|
+
clickOnWhiteBoardPlaybackPlayButton: () => {
|
1608
|
+
thinkSpherePage.whiteboardPlaybackPlayButton()
|
1609
|
+
.click({ force: true });
|
1610
|
+
},
|
1611
|
+
|
1612
|
+
clickOnWhiteBoardPlaybackPauseButton: () => {
|
1613
|
+
thinkSpherePage.whiteboardPlaybackPauseButton()
|
1614
|
+
.click({ force: true });
|
1615
|
+
},
|
1616
|
+
|
1617
|
+
verifyWhiteBoardPlayerPauseButtonVisible: () => {
|
1618
|
+
thinkSpherePage.whiteboardPlaybackPauseButton()
|
1619
|
+
.should('be.visible')
|
1620
|
+
cy.wait(1000);
|
1621
|
+
},
|
1622
|
+
|
1623
|
+
verifyWhiteBoardPlayerPlayButtonVisible: () => {
|
1624
|
+
thinkSpherePage.whiteboardPlaybackPlayButton()
|
1625
|
+
.should('be.visible');
|
1626
|
+
},
|
1627
|
+
|
1628
|
+
/**
|
1629
|
+
* Verifies that the inner text of the whiteboard's player time status matches the expected text.
|
1630
|
+
*
|
1631
|
+
* @param {string} time - The exact text expected to be present in the player time status element (e.g., "00:00").
|
1632
|
+
*/
|
1633
|
+
|
1634
|
+
verifyWhiteBoardPlayerTimeStatus: (time) => {
|
1635
|
+
thinkSpherePage.whiteboardPlaybackTime()
|
1636
|
+
.invoke('text')
|
1637
|
+
.then((text) => {
|
1638
|
+
const currentTime = text.split('/')[0].trim(); // get part before "/"
|
1639
|
+
expect(currentTime).to.eq(time);
|
1640
|
+
});
|
1641
|
+
},
|
1642
|
+
|
1643
|
+
clickOnWhiteBoardPlaybackSpeakerButton: () => {
|
1644
|
+
thinkSpherePage.whiteboardPlaybackSpeakerButton()
|
1645
|
+
.click();
|
1646
|
+
},
|
1647
|
+
|
1648
|
+
verifyWhiteBoardPlayerVolumeMuted: () => {
|
1649
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.whiteboardMutedIcon(), 'visible');
|
1650
|
+
},
|
1651
|
+
|
1652
|
+
verifyWhiteBoardPlayerVolumeUnmuted: () => {
|
1653
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.whiteboardVolumeIcon(), 'visible');
|
1654
|
+
},
|
1655
|
+
|
1656
|
+
hoverOverWhiteBoardPlaybackSpeakerButton: () => {
|
1657
|
+
thinkSpherePage.whiteboardPlaybackSpeakerButton()
|
1658
|
+
.realHover({ position: 'top' });
|
1659
|
+
},
|
1660
|
+
|
1661
|
+
verifyWhiteBoardPlayerVolumeSliderVisible: () => {
|
1662
|
+
thinkSpherePage.whiteboardVolumeSlider()
|
1663
|
+
.should('be.visible');
|
1664
|
+
}
|
1107
1665
|
};
|
1108
1666
|
|
1109
1667
|
const tests = {
|
@@ -1218,7 +1776,7 @@ const tests = {
|
|
1218
1776
|
utilities.verifyElementVisibilityState(thinkSpherePage.tooltipText(), 'notExist');
|
1219
1777
|
});
|
1220
1778
|
},
|
1221
|
-
|
1779
|
+
|
1222
1780
|
/**
|
1223
1781
|
* Verifies the add option functionality.
|
1224
1782
|
* @param {string} list - The list to add the option to ('strategy' or other).
|
@@ -1234,13 +1792,13 @@ const tests = {
|
|
1234
1792
|
initialOptionCount = count;
|
1235
1793
|
});
|
1236
1794
|
});
|
1237
|
-
|
1795
|
+
|
1238
1796
|
thinkSpherePage.steps.addOption(list);
|
1239
1797
|
thinkSpherePage.planStrategySection()
|
1240
1798
|
.within(() => {
|
1241
1799
|
thinkSpherePage.steps.getOptionCount().should('eq', initialOptionCount + 1);
|
1242
1800
|
thinkSpherePage.steps.verifyOptionsContents(initialOptionCount, '', 'Enter strategy name');
|
1243
|
-
});
|
1801
|
+
});
|
1244
1802
|
thinkSpherePage.steps.deleteOption(5);
|
1245
1803
|
} else {
|
1246
1804
|
thinkSpherePage.planSentenceStarterSection()
|
@@ -1249,13 +1807,13 @@ const tests = {
|
|
1249
1807
|
initialOptionCount = count;
|
1250
1808
|
});
|
1251
1809
|
});
|
1252
|
-
|
1810
|
+
|
1253
1811
|
thinkSpherePage.steps.addOption(list);
|
1254
1812
|
thinkSpherePage.planSentenceStarterSection()
|
1255
1813
|
.within(() => {
|
1256
1814
|
thinkSpherePage.steps.getOptionCount().should('eq', initialOptionCount + 1);
|
1257
1815
|
thinkSpherePage.steps.verifyOptionsContents(initialOptionCount, '', 'Enter sentence starter name');
|
1258
|
-
});
|
1816
|
+
});
|
1259
1817
|
thinkSpherePage.steps.deleteOption(10);
|
1260
1818
|
}
|
1261
1819
|
});
|
@@ -1334,7 +1892,7 @@ const tests = {
|
|
1334
1892
|
}
|
1335
1893
|
});
|
1336
1894
|
},
|
1337
|
-
|
1895
|
+
|
1338
1896
|
/**
|
1339
1897
|
* Verifies the drag handle tooltip.
|
1340
1898
|
* @param {number} NthElement - The index of the drag handle.
|
@@ -1484,17 +2042,17 @@ const tests = {
|
|
1484
2042
|
thinkSpherePage.steps.selectOption(list, 1);
|
1485
2043
|
utilities.verifyCSS(
|
1486
2044
|
utilities.getNthElement(thinkSpherePage.planStrategyCheckbox().find('svg'), 1), {
|
1487
|
-
|
1488
|
-
|
1489
|
-
|
2045
|
+
'fill': css.color.uncheckedCheckbox,
|
2046
|
+
'width': '12px',
|
2047
|
+
'height': '12px',
|
1490
2048
|
});
|
1491
2049
|
} else {
|
1492
2050
|
thinkSpherePage.steps.selectOption(list, 1);
|
1493
2051
|
utilities.verifyCSS(
|
1494
2052
|
utilities.getNthElement(thinkSpherePage.planSentenceStarterCheckbox().find('svg'), 1), {
|
1495
|
-
|
1496
|
-
|
1497
|
-
|
2053
|
+
'fill': css.color.uncheckedCheckbox,
|
2054
|
+
'width': '12px',
|
2055
|
+
'height': '12px',
|
1498
2056
|
});
|
1499
2057
|
}
|
1500
2058
|
});
|
@@ -1549,7 +2107,7 @@ const tests = {
|
|
1549
2107
|
thinkSpherePage.steps.addOptionText(list, optionIndex, inputFieldText);
|
1550
2108
|
});
|
1551
2109
|
});
|
1552
|
-
|
2110
|
+
|
1553
2111
|
it('When the user hovers over the disabled delete buttons of the options then \'Minimum one option is required\' message should be displayed on a tooltip and the tooltip should disappear if focus is removed from the delete button', () => {
|
1554
2112
|
utilities.getNthElement(thinkSpherePage.deleteButton(), list === 'strategy' ? 0 : 5)
|
1555
2113
|
.trigger('mouseover', { force: true });
|
@@ -1614,11 +2172,11 @@ const tests = {
|
|
1614
2172
|
thinkSpherePage.planSentenceStarterListResetToDefault()
|
1615
2173
|
.click();
|
1616
2174
|
thinkSpherePage.planSentenceStarterSection()
|
1617
|
-
|
1618
|
-
|
1619
|
-
|
1620
|
-
|
1621
|
-
|
2175
|
+
.within(() => {
|
2176
|
+
optionList.forEach((option, index) => {
|
2177
|
+
thinkSpherePage.steps.verifyOptionsContents(index, option, 'Enter sentence starter name');
|
2178
|
+
});
|
2179
|
+
})
|
1622
2180
|
});
|
1623
2181
|
}
|
1624
2182
|
},
|
@@ -1755,7 +2313,7 @@ const tests = {
|
|
1755
2313
|
utilities.verifyElementVisibilityState(thinkSpherePage.deleteVideoButton(), 'visible');
|
1756
2314
|
});
|
1757
2315
|
});
|
1758
|
-
|
2316
|
+
|
1759
2317
|
it('CSS of edit video button and delete video button', { tags: 'css' }, () => {
|
1760
2318
|
thinkSpherePage.videoLinkComponent().within(() => {
|
1761
2319
|
utilities.verifyCSS(thinkSpherePage.editVideoButton(), {
|
@@ -1848,7 +2406,7 @@ const tests = {
|
|
1848
2406
|
});
|
1849
2407
|
});
|
1850
2408
|
|
1851
|
-
it('Edit text box and edit icon pencil should exist, and on clicking the edit input field with placeholder \'Enter title\ should allow the user to add title'
|
2409
|
+
it('Edit text box and edit icon pencil should exist, and on clicking the edit input field with placeholder \'Enter title\ should allow the user to add title', () => {
|
1852
2410
|
utilities.verifyElementVisibilityState(thinkSpherePage.editBoxTextInput(), 'visible');
|
1853
2411
|
thinkSpherePage.editBoxTextInput().blur();
|
1854
2412
|
utilities.verifyElementVisibilityState(thinkSpherePage.editIconPencil(), 'visible');
|
@@ -1856,7 +2414,7 @@ const tests = {
|
|
1856
2414
|
thinkSpherePage.editBoxTextInput().should('have.attr', 'placeholder', 'Enter title');
|
1857
2415
|
thinkSpherePage.editBoxTextInput().type('Test Title');
|
1858
2416
|
thinkSpherePage.editBoxTextInput().blur();
|
1859
|
-
utilities.verifyInnerText(thinkSpherePage.editBoxText(),'Test Title');
|
2417
|
+
utilities.verifyInnerText(thinkSpherePage.editBoxText(), 'Test Title');
|
1860
2418
|
});
|
1861
2419
|
},
|
1862
2420
|
|
@@ -1865,6 +2423,479 @@ const tests = {
|
|
1865
2423
|
thinkSpherePage.editTab().should('have.class', 'Mui-selected');
|
1866
2424
|
});
|
1867
2425
|
},
|
2426
|
+
|
2427
|
+
/**
|
2428
|
+
* Verifies the functionality of editing, selecting, and unselecting strategies and sentence starters.
|
2429
|
+
* Ensures that changes are saved successfully and reflected in the preview section.
|
2430
|
+
*
|
2431
|
+
* @param {Object} sentenceStartersObject - The object containing strategies and sentence starters data.
|
2432
|
+
* @param {Array<string>} sentenceStartersObject.editedStrategies - The list of edited strategies to verify.
|
2433
|
+
* @param {Array<string>} sentenceStartersObject.editedSentenceStarters - The list of edited sentence starters to verify.
|
2434
|
+
* @param {Array<string>} sentenceStartersObject.selectStrategies - The list of strategies to select and verify.
|
2435
|
+
* @param {Array<string>} sentenceStartersObject.selectSentenceStarters - The list of sentence starters to select and verify.
|
2436
|
+
*/
|
2437
|
+
verifyStrategiesAndSentenceStartersSection: (sentenceStartersObject) => {
|
2438
|
+
const {
|
2439
|
+
editedStrategies, editedSentenceStarters, selectStrategies, selectSentenceStarters
|
2440
|
+
} = sentenceStartersObject || {};
|
2441
|
+
it('When user edits the strategies and sentence starers, then the changes should be saved successfully and edited strategies and sentence starers should get displayed in preview side', () => {
|
2442
|
+
thinkSpherePage.steps.switchToEditTab();
|
2443
|
+
thinkSpherePage.steps.clickOnEditQuestionIcon();
|
2444
|
+
editedStrategies.forEach((strategy, index) => {
|
2445
|
+
thinkSpherePage.steps.addOptionText('strategy', index, strategy);
|
2446
|
+
});
|
2447
|
+
editedSentenceStarters.forEach((sentenceStarter, index) => {
|
2448
|
+
thinkSpherePage.steps.addOptionText('sentenceStarter', index, sentenceStarter);
|
2449
|
+
});
|
2450
|
+
thinkSpherePage.steps.saveAQuestionAndVerifySnackbar();
|
2451
|
+
thinkSpherePage.steps.switchToPreviewTab();
|
2452
|
+
editedStrategies.forEach((label, index) => {
|
2453
|
+
utilities.verifyInnerText(utilities.getNthElement(thinkSpherePage.strategyTextWrapper(), index), label);
|
2454
|
+
});
|
2455
|
+
thinkSpherePage.steps.expandChooseStarterDropdown();
|
2456
|
+
editedSentenceStarters.forEach((label, index) => {
|
2457
|
+
utilities.verifyInnerText(utilities.getNthElement(thinkSpherePage.chooseStartersListOptionLabels(), index), label);
|
2458
|
+
});
|
2459
|
+
utilities.clickOnBody();
|
2460
|
+
});
|
2461
|
+
|
2462
|
+
it('When user select unselect the strategies and sentence starers, then the changes should be saved successfully and selected strategies and sentence starers should get displayed in preview side', () => {
|
2463
|
+
thinkSpherePage.steps.switchToEditTab();
|
2464
|
+
thinkSpherePage.steps.clickOnEditQuestionIcon();
|
2465
|
+
editedStrategies.forEach((strategy, index) => {
|
2466
|
+
if (!selectStrategies.includes(strategy)) {
|
2467
|
+
thinkSpherePage.steps.selectOption('strategy', index);
|
2468
|
+
}
|
2469
|
+
});
|
2470
|
+
cy.wait(2000);
|
2471
|
+
editedSentenceStarters.forEach((sentenceStarter, index) => {
|
2472
|
+
if (!selectSentenceStarters.includes(sentenceStarter)) {
|
2473
|
+
thinkSpherePage.steps.selectOption('sentenceStarter', index);
|
2474
|
+
}
|
2475
|
+
});
|
2476
|
+
cy.wait(2000);
|
2477
|
+
thinkSpherePage.steps.saveAQuestionAndVerifySnackbar();
|
2478
|
+
thinkSpherePage.steps.switchToPreviewTab();
|
2479
|
+
selectStrategies.forEach((label, index) => {
|
2480
|
+
utilities.verifyInnerText(utilities.getNthElement(thinkSpherePage.strategyTextWrapper(), index), label);
|
2481
|
+
});
|
2482
|
+
thinkSpherePage.steps.expandChooseStarterDropdown();
|
2483
|
+
selectSentenceStarters.forEach((label, index) => {
|
2484
|
+
utilities.verifyInnerText(utilities.getNthElement(thinkSpherePage.chooseStartersListOptionLabels(), index), label);
|
2485
|
+
});
|
2486
|
+
utilities.clickOnBody();
|
2487
|
+
});
|
2488
|
+
},
|
2489
|
+
|
2490
|
+
verifyWhiteBoardAndSections: () => {
|
2491
|
+
it('Whiteboard should be present in the solve tab', () => {
|
2492
|
+
thinkSpherePage.steps.verifyWhiteBoardVisibility();
|
2493
|
+
});
|
2494
|
+
|
2495
|
+
it('Whiteboard should contain toolbar, subtools, whiteboard canvas and footer sections', () => {
|
2496
|
+
thinkSpherePage.steps.verifyWhiteBoardSectionsVisibility();
|
2497
|
+
});
|
2498
|
+
|
2499
|
+
it('CSS of whiteboard sections', { tags: 'css' }, () => {
|
2500
|
+
utilities.verifyCSS(thinkSpherePage.whiteBoardTools(), {
|
2501
|
+
'padding': '5px 8px',
|
2502
|
+
'position': 'static',
|
2503
|
+
'display': 'flex',
|
2504
|
+
'flex-wrap': 'wrap'
|
2505
|
+
});
|
2506
|
+
utilities.verifyCSS(thinkSpherePage.whiteBoardSubTools(), {
|
2507
|
+
'margin': '0px 8px',
|
2508
|
+
'padding': '4px 8px',
|
2509
|
+
'borderTop': `1px solid ${css.color.secondaryBtnBorder}`,
|
2510
|
+
'minHeight': '49px',
|
2511
|
+
});
|
2512
|
+
});
|
2513
|
+
|
2514
|
+
it('Accessibility of Whiteboard', { tags: 'a11y' }, () => {
|
2515
|
+
cy.checkAccessibility(thinkSpherePage.whiteboardComponent());
|
2516
|
+
});
|
2517
|
+
},
|
2518
|
+
|
2519
|
+
/**
|
2520
|
+
* Verifies default visibility, selection, and behavior of whiteboard tools and their subtools.
|
2521
|
+
*
|
2522
|
+
* @param {Array<Object>} whiteBoardTools - An array of tool objects, where each object contains:
|
2523
|
+
* @param {string} whiteBoardTools[].name - Display name of the tool.
|
2524
|
+
* @param {string} whiteBoardTools[].dataTestId - The `data-testid` used to locate the tool in the DOM.
|
2525
|
+
* @param {boolean} [whiteBoardTools[].isDefault] - Whether the tool is visible by default.
|
2526
|
+
* @param {string[]} [whiteBoardTools[].subToolS] - An array of subtool identifiers (data-testid, data-name, or class).
|
2527
|
+
* @param {string} [whiteBoardTools[].popupSelector] - A selector used to locate popup elements that appear after tool interaction.
|
2528
|
+
* @param {string[]} [whiteBoardTools[].popupContent] - Optional array of class names used to verify the popup’s inner content.
|
2529
|
+
*
|
2530
|
+
* @param {string[]} editSectionWhiteBoardToolButtons - A list of tool names that will be enabled during edit phase.
|
2531
|
+
*/
|
2532
|
+
|
2533
|
+
verifyAllDefaultToolIds: (whiteBoardTools, editSectionWhiteBoardToolButtons) => {
|
2534
|
+
const allToolIds = whiteBoardTools.map(tool => tool.dataTestId);
|
2535
|
+
const defaultToolIds = whiteBoardTools.filter(tool => tool.isDefault).map(tool => tool.dataTestId);
|
2536
|
+
|
2537
|
+
it(`${defaultToolIds.join(', ')} should be visible in the whiteboard by default`, () => {
|
2538
|
+
defaultToolIds.forEach((toolId) => {
|
2539
|
+
cy.get(`[data-testid="${toolId}"]`).should('exist').and('be.visible');
|
2540
|
+
});
|
2541
|
+
});
|
2542
|
+
|
2543
|
+
it('All tools should be visible in the whiteboard after selected by the author', () => {
|
2544
|
+
allToolIds.forEach((toolId) => {
|
2545
|
+
cy.get(`[data-testid="${toolId}"]`).should('exist').and('be.visible');
|
2546
|
+
});
|
2547
|
+
})
|
2548
|
+
},
|
2549
|
+
|
2550
|
+
verifyWhiteBoardSubTools: (whiteBoardTools) => {
|
2551
|
+
whiteBoardTools.forEach((tool) => {
|
2552
|
+
it(`When user clicks on "${tool.name}" tool it should display its sub tools`, () => {
|
2553
|
+
// Click the main tool by data-testid
|
2554
|
+
cy.get(`[data-testid="${tool.dataTestId}"]`)
|
2555
|
+
.and('be.visible')
|
2556
|
+
.first()
|
2557
|
+
.click({ force: true }) // force in case some are behind overlays
|
2558
|
+
cy.wait(1000); // Wait for any animations or transitions to complete
|
2559
|
+
|
2560
|
+
// If the tool has subtools, verify each
|
2561
|
+
if (tool.subToolS && tool.subToolS.length > 0) {
|
2562
|
+
tool.subToolS.forEach((subTool) => {
|
2563
|
+
// Try data-testid first, fall back to data-name if needed
|
2564
|
+
cy.get(`[data-testid="${subTool}"], [data-name="${subTool}"], [class*="${subTool}"]`)
|
2565
|
+
.should('exist')
|
2566
|
+
.and('be.visible');
|
2567
|
+
});
|
2568
|
+
}
|
2569
|
+
|
2570
|
+
if(tool.popupSelector) {
|
2571
|
+
// Verify the popup selector if it exists
|
2572
|
+
if(tool.popupSelector === 'eraser-width-picker') {
|
2573
|
+
cy.get(`[data-name="ERASER_THICKNESS"]`)
|
2574
|
+
.should('exist')
|
2575
|
+
.and('be.visible')
|
2576
|
+
.first()
|
2577
|
+
.click({ force: true });
|
2578
|
+
cy.get(`[class*="${tool.popupSelector}"]`).should('exist').and('be.visible');
|
2579
|
+
} else {
|
2580
|
+
cy.get(`[data-testid="${tool.popupSelector}"]`).should('exist').and('be.visible');
|
2581
|
+
}
|
2582
|
+
if(tool.popupContent) {
|
2583
|
+
// Verify the content inside the popup
|
2584
|
+
tool.popupContent.forEach((content) => {
|
2585
|
+
cy.get(`[class="${content}"]`).should('exist').and('be.visible');
|
2586
|
+
});
|
2587
|
+
}
|
2588
|
+
}
|
2589
|
+
|
2590
|
+
if(tool.name === 'simple calculator' || tool.name ==='scientific calculator') {
|
2591
|
+
cy.get(`[data-testid="${tool.dataTestId}"]`)
|
2592
|
+
.and('be.visible')
|
2593
|
+
.first()
|
2594
|
+
.click({ force: true }) // force in case some are behind overlays
|
2595
|
+
cy.wait(1000);
|
2596
|
+
}
|
2597
|
+
});
|
2598
|
+
});
|
2599
|
+
},
|
2600
|
+
|
2601
|
+
verifyWhiteboardToolsAndSubTools: (whiteBoardTools, editSectionWhiteBoardToolButtons) => {
|
2602
|
+
const allToolIds = whiteBoardTools.map(tool => tool.dataTestId);
|
2603
|
+
|
2604
|
+
const defaultToolIds = whiteBoardTools.filter(tool => tool.isDefault).map(tool => tool.dataTestId);
|
2605
|
+
|
2606
|
+
it(`${defaultToolIds.join(', ')} should be visible in the whiteboard by default`, () => {
|
2607
|
+
defaultToolIds.forEach((toolId) => {
|
2608
|
+
cy.get(`[data-testid="${toolId}"]`).should('exist').and('be.visible');
|
2609
|
+
});
|
2610
|
+
});
|
2611
|
+
|
2612
|
+
it('All tools should be visible in the whiteboard after selected by the author', () => {
|
2613
|
+
thinkSpherePage.steps.switchToEditTab();
|
2614
|
+
thinkSpherePage.steps.clickOnSolvePhaseAccordionIcon();
|
2615
|
+
thinkSpherePage.steps.expandCustomizeToolsAndControls();
|
2616
|
+
editSectionWhiteBoardToolButtons.forEach((toolName) => {
|
2617
|
+
thinkSpherePage.steps.selectOptionFromToolsAndControls(toolName);
|
2618
|
+
})
|
2619
|
+
thinkSpherePage.steps.switchToPreviewTab();
|
2620
|
+
thinkSpherePage.steps.clickOnSolveTab();
|
2621
|
+
allToolIds.forEach((toolId) => {
|
2622
|
+
cy.get(`[data-testid="${toolId}"]`).should('exist').and('be.visible');
|
2623
|
+
});
|
2624
|
+
})
|
2625
|
+
|
2626
|
+
thinkSpherePage.tests.verifyWhiteBoardSubTools(whiteBoardTools);
|
2627
|
+
},
|
2628
|
+
|
2629
|
+
verifyDisabledWhiteboardTools: (defaultToolIds, allToolIds) => {
|
2630
|
+
it(`${defaultToolIds.join(', ')} should be visible in the whiteboard by default and it should be disabled with opacity 0.4`, () => {
|
2631
|
+
defaultToolIds.forEach((toolId) => {
|
2632
|
+
cy.get(`[data-testid="${toolId}"]`).should('exist').and('be.visible');
|
2633
|
+
cy.get(`[data-testid="${toolId}"]`).should('have.css', 'opacity', '0.4');
|
2634
|
+
});
|
2635
|
+
});
|
2636
|
+
|
2637
|
+
it('All tools should be visible in the whiteboard after selected by the author and it should be disabled with opacity 0.4', () => {
|
2638
|
+
allToolIds.forEach((toolId) => {
|
2639
|
+
cy.get(`[data-testid="${toolId}"]`).should('exist').and('be.visible');
|
2640
|
+
cy.get(`[data-testid="${toolId}"]`).should('have.css', 'opacity', '0.4');
|
2641
|
+
});
|
2642
|
+
});
|
2643
|
+
},
|
2644
|
+
|
2645
|
+
verifyYourPlanSection: () => {
|
2646
|
+
it('When user clicks on "Your Plan" button then it should navigate to Your Plan section', () => {
|
2647
|
+
thinkSpherePage.steps.clickOnYourPlanButton();
|
2648
|
+
thinkSpherePage.steps.verifyYourPlanContainerVisibility();
|
2649
|
+
});
|
2650
|
+
|
2651
|
+
it('Your Plan section should have a header with title and close button', () => {
|
2652
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.yourPlanHeaderContainer(), 'visible');
|
2653
|
+
utilities.verifyInnerText(thinkSpherePage.yourPlanHeadingLabel(), 'Your plan');
|
2654
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.yourPlanCloseButton(), 'visible');
|
2655
|
+
});
|
2656
|
+
|
2657
|
+
it('Your Plan section should display "The problem is asking me to" section with textarea', () => {
|
2658
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.yourPlanSubheading().contains('The problem is asking me to'), 'visible');
|
2659
|
+
const problemTextarea = thinkSpherePage.yourPlanTextarea().first();
|
2660
|
+
utilities.verifyElementVisibilityState(problemTextarea, 'visible');
|
2661
|
+
problemTextarea.should('have.attr', 'placeholder', 'Enter your text here');
|
2662
|
+
});
|
2663
|
+
|
2664
|
+
it('Your Plan section should display "Selected strategies" section with checkboxes', () => {
|
2665
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.yourPlanSubheading().contains('Selected strategies'), 'visible');
|
2666
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.yourPlanStrategiesList(), 'visible');
|
2667
|
+
thinkSpherePage.yourPlanStrategiesList()
|
2668
|
+
.find('li')
|
2669
|
+
.should('have.length', 5);
|
2670
|
+
});
|
2671
|
+
|
2672
|
+
it('Your Plan section should display correct strategy options with checkboxes', () => {
|
2673
|
+
const expectedStrategies = [
|
2674
|
+
'Create a model',
|
2675
|
+
'Look for a pattern',
|
2676
|
+
'Guess, check, and revise',
|
2677
|
+
'Try with friendlier numbers',
|
2678
|
+
'Show with an equation'
|
2679
|
+
];
|
2680
|
+
|
2681
|
+
expectedStrategies.forEach((strategyText) => {
|
2682
|
+
thinkSpherePage.yourPlanStrategiesList()
|
2683
|
+
.contains(strategyText)
|
2684
|
+
.should('be.visible');
|
2685
|
+
});
|
2686
|
+
|
2687
|
+
thinkSpherePage.yourPlanStrategiesList()
|
2688
|
+
.find('input[type="checkbox"]')
|
2689
|
+
.should('have.length', 5)
|
2690
|
+
.and('not.be.checked');
|
2691
|
+
});
|
2692
|
+
|
2693
|
+
it('Your Plan section should display "Planning journal" section with textarea', () => {
|
2694
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.yourPlanSubheading().contains('Planning journal'), 'visible');
|
2695
|
+
const journalTextarea = thinkSpherePage.yourPlanTextarea().last();
|
2696
|
+
utilities.verifyElementVisibilityState(journalTextarea, 'visible');
|
2697
|
+
journalTextarea.should('have.attr', 'placeholder', 'Enter your text here');
|
2698
|
+
});
|
2699
|
+
|
2700
|
+
it('User should be able to enter text in the "The problem is asking me to" textarea', () => {
|
2701
|
+
const testText = 'Find the value of x in the equation';
|
2702
|
+
thinkSpherePage.yourPlanTextarea().first().click({ force: true }).type(testText);
|
2703
|
+
thinkSpherePage.yourPlanTextarea().first().should('have.value', testText);
|
2704
|
+
});
|
2705
|
+
|
2706
|
+
it('User should be able to check and uncheck strategy options', () => {
|
2707
|
+
// Check first and third strategy options
|
2708
|
+
thinkSpherePage.yourPlanStrategiesList()
|
2709
|
+
.find('input[type="checkbox"]')
|
2710
|
+
.eq(0)
|
2711
|
+
.check()
|
2712
|
+
.should('be.checked');
|
2713
|
+
|
2714
|
+
thinkSpherePage.yourPlanStrategiesList()
|
2715
|
+
.find('input[type="checkbox"]')
|
2716
|
+
.eq(2)
|
2717
|
+
.check()
|
2718
|
+
.should('be.checked');
|
2719
|
+
|
2720
|
+
// Uncheck first strategy option
|
2721
|
+
thinkSpherePage.yourPlanStrategiesList()
|
2722
|
+
.find('input[type="checkbox"]')
|
2723
|
+
.eq(0)
|
2724
|
+
.uncheck()
|
2725
|
+
.should('not.be.checked');
|
2726
|
+
});
|
2727
|
+
|
2728
|
+
it('User should be able to enter text in the "Planning journal" textarea', () => {
|
2729
|
+
const testText = 'I will first identify the variables and then solve the equation';
|
2730
|
+
thinkSpherePage.yourPlanTextarea().last().clear().type(testText);
|
2731
|
+
thinkSpherePage.yourPlanTextarea().last().should('have.value', testText);
|
2732
|
+
});
|
2733
|
+
|
2734
|
+
it('When the user clicks on close button, the Your Plan section should be closed', () => {
|
2735
|
+
thinkSpherePage.yourPlanCloseButton().click();
|
2736
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.yourPlanContainer(), 'notExist');
|
2737
|
+
});
|
2738
|
+
|
2739
|
+
it('CSS of Your Plan section', { tags: 'css' }, () => {
|
2740
|
+
thinkSpherePage.steps.clickOnYourPlanButton();
|
2741
|
+
utilities.verifyCSS(thinkSpherePage.yourPlanHeaderContainer(), {
|
2742
|
+
'display': 'flex',
|
2743
|
+
'justify-content': 'space-between',
|
2744
|
+
'align-items': 'center',
|
2745
|
+
});
|
2746
|
+
|
2747
|
+
utilities.verifyCSS(thinkSpherePage.yourPlanHeadingLabel(), {
|
2748
|
+
'font-size': css.fontSize.huge,
|
2749
|
+
'font-weight': css.fontWeight.bold,
|
2750
|
+
'color': css.color.panelLabel,
|
2751
|
+
});
|
2752
|
+
|
2753
|
+
utilities.verifyCSS(thinkSpherePage.yourPlanStrategiesList(), {
|
2754
|
+
'padding': '0px',
|
2755
|
+
'margin': '0px 0px 24px'
|
2756
|
+
});
|
2757
|
+
});
|
2758
|
+
|
2759
|
+
it('Accessibility of Your Plan section', { tags: 'a11y' }, () => {
|
2760
|
+
cy.checkAccessibility(thinkSpherePage.yourPlanContainer());
|
2761
|
+
});
|
2762
|
+
},
|
2763
|
+
|
2764
|
+
verifyWhiteboardPageNavigation: () => {
|
2765
|
+
it('By default "Previous" and "Next" page buttons should be disabled', () => {
|
2766
|
+
thinkSpherePage.steps.verifyPreviousButtonDisabled();
|
2767
|
+
thinkSpherePage.steps.verifyNextButtonDisabled();
|
2768
|
+
});
|
2769
|
+
it('When user clicks on "New Page" button it should create new page', () => {
|
2770
|
+
thinkSpherePage.steps.verifyInnerTextOfPageLabel('Page1 / 1');
|
2771
|
+
thinkSpherePage.steps.clickOnWhiteBoardNewPageButton();
|
2772
|
+
thinkSpherePage.steps.verifyInnerTextOfPageLabel('Page2 / 2');
|
2773
|
+
thinkSpherePage.steps.verifyNextButtonDisabled();
|
2774
|
+
});
|
2775
|
+
it('When user clicks on "Previous" button then it should navigate to the previous page', () => {
|
2776
|
+
thinkSpherePage.steps.clickOnPreviousButton();
|
2777
|
+
thinkSpherePage.steps.verifyInnerTextOfPageLabel('Page1 / 2');
|
2778
|
+
thinkSpherePage.steps.verifyPreviousButtonDisabled();
|
2779
|
+
});
|
2780
|
+
it('When user clicks on "Next" button then it should navigate to the next page', () => {
|
2781
|
+
thinkSpherePage.steps.clickOnNextButton();
|
2782
|
+
thinkSpherePage.steps.verifyInnerTextOfPageLabel('Page2 / 2');
|
2783
|
+
thinkSpherePage.steps.verifyNextButtonDisabled();
|
2784
|
+
});
|
2785
|
+
},
|
2786
|
+
|
2787
|
+
/**
|
2788
|
+
* Verifies the full recording and playback functionality of the whiteboard, including status changes,
|
2789
|
+
* UI updates, warnings, and accessibility features.
|
2790
|
+
*
|
2791
|
+
* @param {Array<Object>} whiteBoardTools - An array of whiteboard tool objects used to simulate interactions during recording.
|
2792
|
+
* @param {string} whiteBoardTools[].dataTestId - The `data-testid` used to identify the tool.
|
2793
|
+
*/
|
2794
|
+
|
2795
|
+
verifyWhiteboardRecordingAndPlayback: (whiteBoardTools) => {
|
2796
|
+
it('By default the recording status should be "Ready" and there should be no time status of recording', () => {
|
2797
|
+
thinkSpherePage.steps.verifyRecordingStatus('Ready');
|
2798
|
+
thinkSpherePage.steps.verifyRecordingTimeStatusNotPresent();
|
2799
|
+
});
|
2800
|
+
|
2801
|
+
it('By default "Review" tab should contain "Watch your recording No recording available." before recording', () => {
|
2802
|
+
thinkSpherePage.steps.clickOnReviewTab();
|
2803
|
+
thinkSpherePage.steps.verifyPlayBackNotAvailable('Watch your recordingNo recording available.');
|
2804
|
+
thinkSpherePage.steps.clickOnSolveTab();
|
2805
|
+
});
|
2806
|
+
|
2807
|
+
it('When the user clicks on the recording button, the recording status should be "Recording"', () => {
|
2808
|
+
thinkSpherePage.steps.clickOnRecordingOrPauseButton();
|
2809
|
+
thinkSpherePage.steps.verifyRecordingStatus('Recording');
|
2810
|
+
thinkSpherePage.steps.verifyRecordingTimeStatusPresent();
|
2811
|
+
});
|
2812
|
+
|
2813
|
+
it('When the user clicks on the pause button, the recording status should be "Paused"', () => {
|
2814
|
+
thinkSpherePage.steps.clickOnRecordingOrPauseButton();
|
2815
|
+
thinkSpherePage.steps.verifyRecordingStatus('Paused');
|
2816
|
+
});
|
2817
|
+
|
2818
|
+
it('When the user click on Plan, or Review tab while recording, it should show a warning popup to the user', () => {
|
2819
|
+
thinkSpherePage.steps.clickOnRecordingOrPauseButton();
|
2820
|
+
thinkSpherePage.steps.clickOnReviewTab();
|
2821
|
+
thinkSpherePage.steps.verifyWhiteBoardRecordingInprogressWarning();
|
2822
|
+
thinkSpherePage.steps.clickOnWhiteBoardRecordingInProgressWarningOkButton();
|
2823
|
+
thinkSpherePage.steps.clickOnPlanTab();
|
2824
|
+
thinkSpherePage.steps.verifyWhiteboardWarningHeaderText('Recording in Progress');
|
2825
|
+
thinkSpherePage.steps.verifyWhiteboardWarningDescriptionText("You're currently recording your work. To avoid losing progress, please return and click Stop to save the recording.");
|
2826
|
+
});
|
2827
|
+
|
2828
|
+
it('CSS of Recording in Progress warning', { tags: 'css' }, () => {
|
2829
|
+
utilities.verifyCSS(thinkSpherePage.whiteboardRecordingInProgressWarningHeader(), {
|
2830
|
+
'border-bottom': `1px solid ${css.color.secondaryBtnBorder}`,
|
2831
|
+
'padding': '20px 0px',
|
2832
|
+
'margin': '0px 16px',
|
2833
|
+
'text-align': 'left',
|
2834
|
+
});
|
2835
|
+
utilities.verifyCSS(thinkSpherePage.whiteboardRecordingInProgressWarningDescription(), {
|
2836
|
+
'padding': '0px 16px',
|
2837
|
+
'font-size': '16px',
|
2838
|
+
'color': css.color.sectionHeading,
|
2839
|
+
'line-height': '22px',
|
2840
|
+
'font-weight': '400',
|
2841
|
+
});
|
2842
|
+
utilities.verifyCSS(thinkSpherePage.whiteboardRecordingInProgressWarningOkButton(), {
|
2843
|
+
'color': css.color.primaryBtn,
|
2844
|
+
'font-size': css.fontSize.default,
|
2845
|
+
'font-weight': css.fontWeight.semibold,
|
2846
|
+
// 'background-color': css.color.primaryBtnBg
|
2847
|
+
});
|
2848
|
+
});
|
2849
|
+
|
2850
|
+
it('Accessibility of whiteboard warning popup', { tags: 'a11y' }, () => {
|
2851
|
+
cy.checkAccessibility(thinkSpherePage.whiteboardRecordingInProgressWarning());
|
2852
|
+
thinkSpherePage.steps.clickOnWhiteBoardRecordingInProgressWarningOkButton();
|
2853
|
+
});
|
2854
|
+
|
2855
|
+
|
2856
|
+
it('The user should be able to switch to Review tab without warning after stopping the recording and the Review tab should contain the Playback option', () => {
|
2857
|
+
cy.get(`[data-testid="${whiteBoardTools[0].dataTestId}"]`)
|
2858
|
+
.should('exist')
|
2859
|
+
.and('be.visible')
|
2860
|
+
.first()
|
2861
|
+
.click({ force: true });
|
2862
|
+
cy.get('.upper-canvas').click({ force: true });
|
2863
|
+
cy.wait(1000);
|
2864
|
+
thinkSpherePage.steps.clickOnStopButton();
|
2865
|
+
thinkSpherePage.steps.clickOnReviewTab();
|
2866
|
+
thinkSpherePage.steps.verifyWhiteBoardRecordingInprogressWarningNotVisible();
|
2867
|
+
thinkSpherePage.steps.verifyWhiteBoardPlayer();
|
2868
|
+
});
|
2869
|
+
|
2870
|
+
it('By default the user should see the playback time as 00:00 / total duration', () => {
|
2871
|
+
thinkSpherePage.steps.verifyWhiteBoardPlayerTimeStatus('00:00');
|
2872
|
+
});
|
2873
|
+
|
2874
|
+
it('When the user clicks on the Play button, it should play the recording', () => {
|
2875
|
+
cy.wait(1000);
|
2876
|
+
thinkSpherePage.steps.verifyWhiteBoardPlayerPlayButtonVisible();
|
2877
|
+
thinkSpherePage.steps.clickOnWhiteBoardPlaybackPlayButton();
|
2878
|
+
thinkSpherePage.steps.verifyWhiteBoardPlayerPauseButtonVisible();
|
2879
|
+
thinkSpherePage.steps.verifyWhiteBoardPlayerTimeStatus('00:01');
|
2880
|
+
});
|
2881
|
+
|
2882
|
+
it('When the user clicks on the Pause button, it should pause the recording', () => {
|
2883
|
+
thinkSpherePage.steps.clickOnWhiteBoardPlaybackPauseButton();
|
2884
|
+
thinkSpherePage.steps.verifyWhiteBoardPlayerPlayButtonVisible();
|
2885
|
+
});
|
2886
|
+
|
2887
|
+
it('When the user hovers over the speaker button, it should display the volume slider', () => {
|
2888
|
+
thinkSpherePage.steps.hoverOverWhiteBoardPlaybackSpeakerButton();
|
2889
|
+
thinkSpherePage.steps.verifyWhiteBoardPlayerVolumeSliderVisible();
|
2890
|
+
});
|
2891
|
+
|
2892
|
+
it('When the user clicks on the speaker button, it should mute the volume, and when the user clicks on it again, it should unmute the volume', () => {
|
2893
|
+
thinkSpherePage.steps.clickOnWhiteBoardPlaybackSpeakerButton();
|
2894
|
+
thinkSpherePage.steps.verifyWhiteBoardPlayerVolumeMuted();
|
2895
|
+
thinkSpherePage.steps.clickOnWhiteBoardPlaybackSpeakerButton();
|
2896
|
+
thinkSpherePage.steps.verifyWhiteBoardPlayerVolumeUnmuted();
|
2897
|
+
});
|
2898
|
+
}
|
1868
2899
|
};
|
1869
2900
|
|
1870
2901
|
export const thinkSpherePage = {
|