itemengine-cypress-automation 1.0.342-regressionFixes18thMarch-b97f3ea.0 → 1.0.342
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cypress/e2e/ILC/AudioResponseNew/editTabBasicSection.js +4 -16
- package/cypress/e2e/ILC/BrainingCampManipulative/editTabBasicSection.js +1 -1
- package/cypress/e2e/ILC/BrowseItems/browseReviewItems.js +398 -0
- package/cypress/e2e/ILC/BrowseItems/browseReviewItemsMobileView.js +329 -0
- package/cypress/e2e/ILC/BrowseItems/browseThinkSphereItems.js +260 -0
- package/cypress/e2e/ILC/BrowseItems/browseThinkSphereItemsMobileView.js +368 -0
- package/cypress/e2e/ILC/ChartsBar/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +33 -0
- package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightBasic.js +2 -2
- package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +1 -0
- package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +1 -0
- package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +1 -0
- package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -0
- package/cypress/e2e/ILC/ChartsBar/editTabBasicSection.js +37 -0
- package/cypress/e2e/ILC/ChartsBar/headerSection.js +50 -2
- package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightBasic.js +1 -0
- package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +1 -0
- package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +1 -0
- package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +1 -0
- package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -0
- package/cypress/e2e/ILC/ChartsLine/headerSection.js +18 -1
- package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddFeatureRadioButton.js +2 -3
- package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddTranscriptRadioButton .js +0 -2
- package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabStudentViewSettings.js +3 -3
- package/cypress/e2e/ILC/CkEditorEquationEditor/equationEditorBasicFile.js +4 -4
- package/cypress/e2e/ILC/CkEditorInsertImage/imageInfo.js +1 -1
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +3 -3
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/headerSection.js +2 -0
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/manuallyAndNonScoredScoringEditTab.js +4 -1
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +3 -0
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/styleAndLayoutCustomizationLayoutProperties.js +3 -0
- package/cypress/e2e/ILC/DrawingResponse/drawingResponseAdditionalSettings.js +1 -0
- package/cypress/e2e/ILC/DrawingResponse/drawingResponseBackground.js +2 -8
- package/cypress/e2e/ILC/DrawingResponse/drawingResponseCustomizeAdditionalOptions.js +1 -0
- package/cypress/e2e/ILC/DrawingResponse/drawingResponseEditTabBasicSection.js +3 -3
- package/cypress/e2e/ILC/DrawingResponse/drawingResponsePreviewTabContents.smoke.js +3 -4
- package/cypress/e2e/ILC/EssayResponse/createCustomCategory.smoke.js +1 -1
- package/cypress/e2e/ILC/EssayResponse/editCategoryFlyout.js +0 -1
- package/cypress/e2e/ILC/EssayResponse/editTabBasicSections.js +23 -37
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/blankResponseScoring.js +29 -25
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +210 -0
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/dropzoneStyleAndLayoutCustomization.js +6 -3
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/headerSection.js +1 -0
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/allOrNothingForAllView.smoke.js +201 -0
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/dropdownAndDropdownMenuSection.js +4 -1
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/dropdownOptionsSection.js +2 -2
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/specifyCorrectAnswerSection.js +0 -1
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/Scoring/blankResponseScoring.js +18 -20
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +216 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/backgroundImageAndCanvasProperties.js +0 -1
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/headerSection.js +1 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/studentViewSettings.js +5 -1
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/styleAndLayoutCustomization.js +2 -1
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/Scoring/blankResponseScoring.js +21 -30
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/allOrNothingForAllView.smoke.js +211 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/dropdownAndDropdownMenuSection.js +4 -1
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editTabBasicSection.js +0 -1
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/headerSection.js +2 -2
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/HeaderSection.js +2 -2
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/blankResponseScoring.js +23 -30
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/allOrNothingForAllViews.smoke.js +213 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/editTabScoringSection.js +2 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/responseAnswersAndAcceptedStudentInput.js +2 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/supportedFileTypes.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/blankResponseScoring.js +25 -30
- package/cypress/e2e/ILC/FillInTheGapsTextNew/allOrNothingForAllViews.smoke.js +207 -0
- package/cypress/e2e/ILC/FillInTheGapsTextNew/editTabBasicSection.js +2 -10
- package/cypress/e2e/ILC/FillInTheGapsTextNew/editTabScoringSection.js +2 -0
- package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +72 -0
- package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +38 -0
- package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +38 -0
- package/cypress/e2e/ILC/Graphing/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +86 -0
- package/cypress/e2e/ILC/Graphing/checkAddAlternativeButton.js +35 -0
- package/cypress/e2e/ILC/Graphing/editQuestion.smoke.js +28 -0
- package/cypress/e2e/ILC/Graphing/editTabBasicSection.js +38 -0
- package/cypress/e2e/ILC/Graphing/headerSection.js +36 -4
- package/cypress/e2e/ILC/Graphing/layoutAndGridOptions.js +6 -3
- package/cypress/e2e/ILC/GridFill/addAlternateButton.js +40 -0
- package/cypress/e2e/ILC/GridFill/customizeLayoutFillImageBackgroundImage.js +5 -6
- package/cypress/e2e/ILC/GridFill/customizeLayoutSectionShadeCellsGridBorders.js +2 -0
- package/cypress/e2e/ILC/GridFill/editTabScoringSection.js +3 -0
- package/cypress/e2e/ILC/GridFill/headerSection.js +1 -3
- package/cypress/e2e/ILC/GridFill/scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +39 -0
- package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
- package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +39 -0
- package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountAllOrNothingCorrectPointsGreaterThanAlternativePoints.js +37 -0
- package/cypress/e2e/ILC/GridFill/scoring/cellShadeCountallOrNothingCorrectPointsEqualToAlternativePoints.js +39 -0
- package/cypress/e2e/ILC/GridFill/scoring/cellshadeCountAllOrNothingAlternativePointsGreaterThanCorrectPoints.js +36 -0
- package/cypress/e2e/ILC/GridFill/scoring/checkLabelSaveAsYouGo.js +75 -0
- package/cypress/e2e/ILC/GridFill/specifyCorrectAnswerSection.js +2 -4
- package/cypress/e2e/ILC/ImageHighlight/Scoring/partialDifferentWeightsScoring.js +2 -1
- package/cypress/e2e/ILC/ImageHighlight/headerSection.js +2 -1
- package/cypress/e2e/ILC/ImageHighlight/studentViewSettings.js +2 -2
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +24 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +24 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +24 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +86 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +1 -1
- package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +1 -1
- package/cypress/e2e/ILC/ListOrderingDropdown/checkAddAlternativeButton.js +35 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/editTabBasicSection.js +24 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/headerSection.js +108 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/specifyCorrectAnswerSection.js +6 -10
- package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/specifyCorrectAnswerSection.js +2 -1
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +52 -0
- package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +2 -1
- package/cypress/e2e/ILC/ListOrderingNew/editTabBasicSection.js +23 -0
- package/cypress/e2e/ILC/ListOrderingNew/headerSection.js +35 -9
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +41 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +30 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +50 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +101 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/checkAddAlternativeButton.js +38 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabBasicSection.js +24 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabScoring.js +4 -1
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/headerSection.js +35 -1
- package/cypress/e2e/ILC/Matching/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +98 -0
- package/cypress/e2e/ILC/Matching/checkAlternativeButton.js +38 -0
- package/cypress/e2e/ILC/Matching/clickAndDrop.js +3 -5
- package/cypress/e2e/ILC/Matching/draggableOptions.js +4 -0
- package/cypress/e2e/ILC/Matching/editTabBasicSection.js +41 -0
- package/cypress/e2e/ILC/Matching/headerSection.js +36 -11
- package/cypress/e2e/ILC/Matching/questionInstructionsAndPromptSection.js +2 -15
- package/cypress/e2e/ILC/MultipleSelection/allOrNothingBasicForAllViews.smoke.js +226 -0
- package/cypress/e2e/ILC/MultipleSelection/allOrNothingWithAlternativeAnswer.js +6 -3
- package/cypress/e2e/ILC/MultipleSelection/checkScoringLabelBannerAndCorrectAnswer.js +3 -1
- package/cypress/e2e/ILC/MultipleSelection/editTabScoringSection.js +6 -3
- package/cypress/e2e/ILC/MultipleSelection/headerSection.js +1 -0
- package/cypress/e2e/ILC/MultipleSelection/minimumScoringPenaltyPointsAndRoundingDropdown.js +1 -1
- package/cypress/e2e/ILC/MultipleSelection/partialDifferentWeightsBasic.js +1 -1
- package/cypress/e2e/ILC/MultipleSelection/partialDifferentWeightsWithAlternativeAnswer.js +69 -64
- package/cypress/e2e/ILC/MultipleSelection/partialEqualWeightsWithAlternativeAnswer.js +6 -4
- package/cypress/e2e/ILC/MultipleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +220 -0
- package/cypress/e2e/ILC/MultipleSelectionGridNew/editTabScoringSection.js +11 -5
- package/cypress/e2e/ILC/MultipleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +4 -2
- package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +79 -0
- package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +42 -0
- package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +42 -0
- package/cypress/e2e/ILC/NumberLine/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +73 -0
- package/cypress/e2e/ILC/NumberLine/checkAddAlternativeButton.js +32 -0
- package/cypress/e2e/ILC/NumberLine/editTabSection.js +38 -0
- package/cypress/e2e/ILC/NumberLine/headerSection.js +33 -4
- package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +81 -0
- package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +43 -0
- package/cypress/e2e/ILC/NumberLineLabel/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +43 -0
- package/cypress/e2e/ILC/NumberLineLabel/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +76 -0
- package/cypress/e2e/ILC/NumberLineLabel/additionalSettingsBasic.js +1 -1
- 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 -5
- package/cypress/e2e/ILC/NumberLineLabel/manuallyAndNonScoredEditTab.js +2 -1
- package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +31 -48
- package/cypress/e2e/ILC/ShortTextResponseNew/headerSection.js +2 -4
- package/cypress/e2e/ILC/SingleSelection/allOrNothingBasicForAllViews.smoke.js +192 -0
- package/cypress/e2e/ILC/SingleSelection/checkScoringLabelBannerAndCorrectAnswer.js +3 -1
- package/cypress/e2e/ILC/SingleSelection/headerSection.js +1 -0
- package/cypress/e2e/ILC/SingleSelection/manuallyAndNonScoredScoring.js +94 -88
- package/cypress/e2e/ILC/SingleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +3 -1
- package/cypress/e2e/ILC/SingleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +209 -0
- package/cypress/e2e/ILC/SingleSelectionGridNew/editTabScoringSection.js +5 -0
- package/cypress/e2e/ILC/SingleSelectionGridNew/styleAndLayoutCustomizationLayoutProperties.js +8 -2
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +84 -0
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +84 -0
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +63 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +62 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +62 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +63 -0
- package/cypress/e2e/ILC/TextEntryMath/Scoring/blankResponseScoring.js +2 -8
- package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViews.smoke.js +0 -8
- package/cypress/e2e/ILC/TextEntryMath/customSettings.js +4 -0
- package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +27 -3
- package/cypress/e2e/ILC/TextEntryMath/equationEditor.smoke.js +8 -0
- package/cypress/e2e/ILC/TextEntryMath/evaluationMethodEquivalentStructures.smoke.js +86 -0
- package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchExact.smoke.js +97 -0
- package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchValue.smoke.js +97 -0
- package/cypress/e2e/ILC/TextEntryMath/evaluationMethodSymbolsAreEquivalent.smoke.js +167 -0
- package/cypress/e2e/ILC/TextEntryMath/evaluationMethodValueIsEquivalent.smoke.js +167 -2
- package/cypress/e2e/ILC/TextEntryMath/evaluationMethodsWithoutSetResponse.smoke.js +1 -0
- package/cypress/e2e/ILC/TextEntryMath/headerSection.js +43 -0
- package/cypress/e2e/ILC/TextEntryMath/previewContentsForAllViews.smoke.js +10 -7
- package/cypress/e2e/ILC/TextEntryMathWithImage/styleAndLayoutCustomization.js +1 -1
- package/cypress/e2e/ILC/TextSelection/ScoringParagraph/checkScoringLabelBannerAndCorrectAnswerSection.js +0 -1
- package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyPossibleOptionsSection.js +7 -12
- package/cypress/e2e/ILC/ThinkSphere/additionalSettings.js +52 -0
- package/cypress/e2e/ILC/ThinkSphere/createReviewItem.js +112 -0
- package/cypress/e2e/ILC/ThinkSphere/editTabBasicSection.js +561 -0
- package/cypress/e2e/ILC/ThinkSphere/editThinkSphereQuestion.smoke.js +185 -0
- package/cypress/e2e/ILC/ThinkSphere/equationEditorCreateCustomCategory.smoke.js +417 -0
- package/cypress/e2e/ILC/ThinkSphere/equationEditorEditCategoryFlyOut.js +289 -0
- package/cypress/e2e/ILC/ThinkSphere/headerSection.js +53 -0
- package/cypress/e2e/ILC/ThinkSphere/planPhase.js +581 -0
- package/cypress/e2e/ILC/ThinkSphere/previewTabPlanSection.js +541 -0
- package/cypress/e2e/ILC/ThinkSphere/solvePhase.js +296 -0
- package/cypress/e2e/ILC/ToolAudioPlayerNew/headerSection.js +1 -1
- package/cypress/e2e/ILC/UploadResponse/editTabBasicSection.js +34 -0
- package/cypress/e2e/ILC/UploadResponse/headerSection.js +38 -1
- package/cypress/e2e/ILC/VideoResponseNew/editTabBasicSection.js +14 -29
- package/cypress/e2e/ILC/chartsDotsPlot/headerSection.js +16 -1
- package/cypress/e2e/Sessions/fetchResponses.js +3 -3
- package/cypress/e2e/Sessions/scores.js +9 -5
- package/cypress/e2e/applitools.config.js +3 -3
- package/cypress/fixtures/theme/ilc.json +14 -1
- package/cypress/fixtures/uploads/sample.webm +0 -0
- package/cypress/fixtures/uploads/sample.wmv +0 -0
- package/cypress/fixtures/uploads/sample20MB.mp4 +0 -0
- package/cypress/fixtures/uploads/sample2MB.mp4 +0 -0
- package/cypress/fixtures/uploads/sample2MB_2.mp4 +0 -0
- package/cypress/fixtures/uploads/sample30MB.mp4 +0 -0
- package/cypress/pages/audioPlayerPage.js +22 -22
- package/cypress/pages/chartsBarPage.js +20 -0
- package/cypress/pages/components/additionalSettingsPanel.js +3 -2
- package/cypress/pages/components/autoScoredScoringPreviewTab.js +7 -1
- package/cypress/pages/components/autoScoredScoringSectionMultiResponseType.js +2 -0
- package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +16 -28
- package/cypress/pages/components/backgroundImageUploadComponent.js +32 -25
- package/cypress/pages/components/browseItemsPage.js +998 -7
- package/cypress/pages/components/ckEditorAudioPlayerComponent.js +1 -1
- package/cypress/pages/components/ckEditorEquationEditorComponent.js +4 -4
- package/cypress/pages/components/ckEditorInsertImageComponent.js +3 -3
- package/cypress/pages/components/ckEditorLinkComponent.js +3 -3
- package/cypress/pages/components/commonComponents.js +8 -1
- package/cypress/pages/components/createQuestionBasePage.js +8 -1
- package/cypress/pages/components/defaultToolDropdown.js +7 -6
- package/cypress/pages/components/editCategoryFlyout.js +2 -2
- package/cypress/pages/components/equationEditorSectionCommonComponent.js +13 -26
- package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +3 -3
- package/cypress/pages/components/fillInTheGapsTextCommonComponent.js +29 -35
- package/cypress/pages/components/gridQuestionCommonComponent.js +8 -37
- package/cypress/pages/components/imageCanvasComponent.js +7 -6
- package/cypress/pages/components/mcqAdditionalSettingsBase.js +4 -0
- package/cypress/pages/components/questionInstructionsComponent.js +7 -0
- package/cypress/pages/components/scoringSectionBaseEditTab.js +14 -12
- package/cypress/pages/desmos3DGraphingPage.js +149 -4
- package/cypress/pages/desmosGeometryPage.js +184 -4
- package/cypress/pages/dialogBoxBase.js +2 -1
- package/cypress/pages/drawingResponsePage.js +16 -15
- package/cypress/pages/fillInTheGapsOverImageDropdownPage.js +1 -1
- package/cypress/pages/gradingViewPage.js +8 -0
- package/cypress/pages/graphingPage.js +27 -8
- package/cypress/pages/gridFillPage.js +15 -6
- package/cypress/pages/index.js +2 -1
- package/cypress/pages/listOrderingPage.js +32 -1
- package/cypress/pages/matchingPage.js +26 -7
- package/cypress/pages/multipleSelectionPage.js +10 -39
- package/cypress/pages/numberLineLabelPage.js +31 -8
- package/cypress/pages/numberLinePage.js +19 -7
- package/cypress/pages/selectQuestionResourceToolPage.js +8 -2
- package/cypress/pages/singleSelectionPage.js +0 -37
- package/cypress/pages/textEntryMathPage.js +21 -0
- package/cypress/pages/thinkSpherePage.js +1874 -0
- package/cypress/pages/uploadResponsePage.js +2 -1
- package/cypress/pages/videoResponsePage.js +3 -0
- package/cypress/support/commands.js +7 -4
- package/cypress/support/e2e.js +1 -0
- package/cypress/support/helpers/createItem.js +1181 -1
- package/cypress/support/helpers/utilities.js +75 -1
- package/deploy/smoke/deploy.yaml +2 -2
- package/package.json +4 -4
- package/scripts/dataApi.mjs +3 -0
- package/scripts/sorry-cypress.mjs +13 -0
@@ -0,0 +1,296 @@
|
|
1
|
+
import { equationEditorCategoriesAndSymbols } from "../../../fixtures/equationEditorCategoriesAndSymbols ";
|
2
|
+
import { thinkSpherePage } from "../../../pages";
|
3
|
+
import abortEarlySetup from "../../../support/helpers/abortEarly";
|
4
|
+
import utilities from "../../../support/helpers/utilities";
|
5
|
+
const css = Cypress.env('css');
|
6
|
+
const canvasTools = [
|
7
|
+
'Text', 'Pen', 'Highlighter', 'Image', 'Shapes',
|
8
|
+
'Stamps', 'Unifix Cube', 'Diagrams', 'Array',
|
9
|
+
'Number line', 'Fraction bars', 'Protractor', 'Table', 'Grids',
|
10
|
+
'Equation editor', 'Algebra tiles'
|
11
|
+
];
|
12
|
+
const defaultSelectedCanvasTools = ['Text', 'Pen', 'Highlighter', 'Image', 'Shapes', 'Stamps'];
|
13
|
+
const canvasControls = ['Move', 'Delete', 'Undo', 'Redo', 'Clear all'];
|
14
|
+
const defaultSelectedCanvasControls = ['Move', 'Delete', 'Undo', 'Redo', 'Clear all'];
|
15
|
+
const defaultTool = 'Pen';
|
16
|
+
const defaultSelectedCategories = ['Numpad', 'Keypad', 'Intermediate', 'Primary', 'General', 'Common', 'Algebra', 'Geo', 'Compare', 'Matrices'];
|
17
|
+
const defaultSelectedStamps = ['Stamp 1', 'Stamp 2', 'Stamp 3', 'Stamp 4', 'Stamp 5', 'Stamp 6', 'Stamp 7', 'Stamp 8', 'Stamp 9', 'Stamp 10', 'Stamp 11', 'Stamp 12', 'Stamp 13'];
|
18
|
+
const defaultToolsOptions = ['Text', 'Pen', 'Highlighter'];
|
19
|
+
|
20
|
+
|
21
|
+
describe('ThinkSphere Question - Solve Phases Section', () => {
|
22
|
+
before(() => {
|
23
|
+
cy.loginAs('admin');
|
24
|
+
});
|
25
|
+
|
26
|
+
describe('Create item : ThinkSphere Question - Solve Phases Section - Edit tab', () => {
|
27
|
+
abortEarlySetup();
|
28
|
+
before(() => {
|
29
|
+
cy.loginAs('admin');
|
30
|
+
thinkSpherePage.steps.navigateToThinkSphereCreateQuestion();
|
31
|
+
cy.barsPreLoaderWait();
|
32
|
+
});
|
33
|
+
|
34
|
+
it('By default \'Solve phase\' accordion should be expanded', () => {
|
35
|
+
utilities.verifyInnerText(thinkSpherePage.solvePhaseAccordionLabel(), 'Solve');
|
36
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.solvePhaseAccordionExpandIcon(), 'exist');
|
37
|
+
});
|
38
|
+
|
39
|
+
it('When the user clicks the expanded \'Solve phase\' accordion should be collapsed when collapsed accordion is clicked it should be expanded', () => {
|
40
|
+
thinkSpherePage.steps.clickOnSolvePhaseAccordionIcon();
|
41
|
+
thinkSpherePage.steps.verifySolvePhaseAccordionCollapsed();
|
42
|
+
thinkSpherePage.steps.clickOnSolvePhaseAccordionIcon();
|
43
|
+
thinkSpherePage.steps.verifySolvePhaseAccordionExpanded();
|
44
|
+
});
|
45
|
+
|
46
|
+
it('By default \'Customize toolbar options and controls\' accordion should be collapsed and by clicking on the \'Customize toolbar options and controls\' accordion, user should be able to expand the accordion', () => {
|
47
|
+
utilities.verifyInnerText(thinkSpherePage.customizeToolsAndControlsLabel(), 'Customize toolbar options and controls');
|
48
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.customizeToolsAndControlsIcon(), 'exist');
|
49
|
+
thinkSpherePage.steps.expandCustomizeToolsAndControls();
|
50
|
+
});
|
51
|
+
|
52
|
+
it('Accessibility of \'Solve phase\' accordion and contents', { tags: 'a11y' }, () => {
|
53
|
+
cy.checkAccessibility(thinkSpherePage.solvePhaseAccordionContentWrapper());
|
54
|
+
});
|
55
|
+
|
56
|
+
it('CSS of \'Solve phase\' accordion and contents', { tags: 'css' }, () => {
|
57
|
+
cy.log('CSS of accordion label and chevron icon')
|
58
|
+
utilities.verifyCSS(thinkSpherePage.solvePhaseAccordionLabel(), {
|
59
|
+
'color': css.color.accordionLabel,
|
60
|
+
'font-size': css.fontSize.default,
|
61
|
+
'font-weight': css.fontWeight.bold
|
62
|
+
});
|
63
|
+
utilities.verifyCSS(thinkSpherePage.solvePhaseAccordionSvg(), {
|
64
|
+
'fill': css.color.activeButtons
|
65
|
+
});
|
66
|
+
utilities.verifyCSS(thinkSpherePage.customizeToolsAndControlsLabel(), {
|
67
|
+
'color': css.color.accordionLabel,
|
68
|
+
'font-size': css.fontSize.default,
|
69
|
+
'font-weight': css.fontWeight.bold
|
70
|
+
});
|
71
|
+
utilities.verifyCSS(thinkSpherePage.customizeToolsAndControlsPath(), {
|
72
|
+
'fill': css.color.activeButtons
|
73
|
+
});
|
74
|
+
|
75
|
+
cy.log('CSS of selected toolbar formatting option')
|
76
|
+
utilities.verifyCSS(thinkSpherePage.solveToolsAndControlsOptionsTiles('Text'), {
|
77
|
+
'background-color': css.color.primaryBtnBg
|
78
|
+
});
|
79
|
+
cy.log('CSS of tick icon of selected toolbar formatting option')
|
80
|
+
utilities.verifyCSS(thinkSpherePage.solvePhaseToolsAndControlsOptionsTilesFeatherCheckIcon(), {
|
81
|
+
'fill': css.color.activeButtons
|
82
|
+
});
|
83
|
+
cy.log('CSS of background of tick icon of selected toolbar formatting option')
|
84
|
+
utilities.verifyCSS(thinkSpherePage.solvePhaseToolsAndControlsOptionsTilesRectangle(), {
|
85
|
+
'fill': css.color.defaultBackground
|
86
|
+
});
|
87
|
+
cy.log('CSS of icon of selected toolbar formatting option')
|
88
|
+
utilities.verifyCSS(thinkSpherePage.solvePhaseToolsAndControlsOptionsTilesDragItemFlexWrapperSvg(), {
|
89
|
+
'fill': 'none'
|
90
|
+
});
|
91
|
+
cy.log('CSS of drag handle of selected toolbar formatting option')
|
92
|
+
utilities.verifyCSS(
|
93
|
+
utilities.getNthElement(thinkSpherePage.solvePhaseToolsAndControlsOptionsTilesTextDragIconSvgPath(), 1),
|
94
|
+
{
|
95
|
+
'color': css.color.activeButtons
|
96
|
+
},
|
97
|
+
);
|
98
|
+
cy.log('CSS of unselected toolbar formatting option')
|
99
|
+
utilities.verifyCSS(thinkSpherePage.solveToolsAndControlsOptionsTiles('Array'), {
|
100
|
+
'background-color': css.color.secondaryBtnBg
|
101
|
+
});
|
102
|
+
cy.log('CSS of drag handle of unselected toolbar formatting option')
|
103
|
+
utilities.verifyCSS(
|
104
|
+
utilities.getNthElement(thinkSpherePage.solvePhaseToolsAndControlsOptionsTilesArrayDragIconSvgPath(), 1),
|
105
|
+
{
|
106
|
+
'fill': css.color.secondaryBtn
|
107
|
+
},
|
108
|
+
);
|
109
|
+
});
|
110
|
+
|
111
|
+
it('When \'Solve phase\' accordion is in expanded state, then all the tool options should be displayed along with drag handle.', () => {
|
112
|
+
thinkSpherePage.steps.verifyToolsAndControlsOptions(canvasTools);
|
113
|
+
});
|
114
|
+
|
115
|
+
it(`When the \'Solve phase\' accordion is in expanded state, then the following tools should be in selected state by default - ${defaultSelectedCanvasTools}. All the other options should be in unselected state.`, () => {
|
116
|
+
defaultSelectedCanvasTools.forEach(tool => {
|
117
|
+
thinkSpherePage.steps.verifyOptionIsSelected(tool);
|
118
|
+
});
|
119
|
+
canvasTools.filter(tool => !defaultSelectedCanvasTools.includes(tool)).forEach(tool => {
|
120
|
+
thinkSpherePage.steps.verifyOptionIsNotSelected(tool);
|
121
|
+
});
|
122
|
+
});
|
123
|
+
|
124
|
+
it('User should be able to unselect any default selected tool and should be able to select any default unselected tool.', () => {
|
125
|
+
thinkSpherePage.steps.deselectOptionFromToolsAndControls('Text');
|
126
|
+
thinkSpherePage.steps.verifyOptionIsNotSelected('Text');
|
127
|
+
thinkSpherePage.steps.selectOptionFromToolsAndControls('Array');
|
128
|
+
thinkSpherePage.steps.verifyOptionIsSelected('Array');
|
129
|
+
});
|
130
|
+
|
131
|
+
it('When \'Solve phase\' accordion is in expanded state, then all the control options should be displayed along with drag handle.', () => {
|
132
|
+
thinkSpherePage.steps.verifyToolsAndControlsOptions(canvasControls);
|
133
|
+
});
|
134
|
+
|
135
|
+
it(`When the \'Solve phase\' accordion is in expanded state, then the following controls should be in selected state by default - ${defaultSelectedCanvasControls}. All the other options should be in unselected state.`, () => {
|
136
|
+
defaultSelectedCanvasControls.forEach(control => {
|
137
|
+
thinkSpherePage.steps.verifyOptionIsSelected(control);
|
138
|
+
});
|
139
|
+
canvasControls.filter(control => !defaultSelectedCanvasControls.includes(control)).forEach(control => {
|
140
|
+
thinkSpherePage.steps.verifyOptionIsNotSelected(control);
|
141
|
+
});
|
142
|
+
});
|
143
|
+
|
144
|
+
it('User should be able to unselect any default selected control.', () => {
|
145
|
+
thinkSpherePage.steps.deselectOptionFromToolsAndControls('Move');
|
146
|
+
thinkSpherePage.steps.verifyOptionIsNotSelected('Move');
|
147
|
+
});
|
148
|
+
|
149
|
+
thinkSpherePage.tests.verifyDefaultToolDropdown(defaultToolsOptions, defaultTool);
|
150
|
+
|
151
|
+
it('\'Customize stamps\' component should be present inside \'Customize toolbar options and controls\' accordion of solve phase', () => {
|
152
|
+
thinkSpherePage.steps.verifyCustomizeStampsComponent();
|
153
|
+
utilities.verifyInnerText(thinkSpherePage.customizeStampHeading(), 'Customize stamp');
|
154
|
+
});
|
155
|
+
|
156
|
+
it('Default stamps should be displayed and selected by default in the \'Customize stamps\' component', () => {
|
157
|
+
thinkSpherePage.steps.verifyDefaultStamps(defaultSelectedStamps);
|
158
|
+
});
|
159
|
+
|
160
|
+
it('Default stamps should have visible tool tips', () => {
|
161
|
+
defaultSelectedStamps.forEach((ele) => {
|
162
|
+
thinkSpherePage.customizeStampCard(ele).verifyTooltip(ele);
|
163
|
+
});
|
164
|
+
});
|
165
|
+
|
166
|
+
it('When user select deselect stamps tool from tools section, then customize stamps section should be visible and hide respectively', () => {
|
167
|
+
thinkSpherePage.steps.clickOnStampsTool();
|
168
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.customizeStampComponent(), 'notExist');
|
169
|
+
thinkSpherePage.steps.clickOnStampsTool();
|
170
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.customizeStampComponent(), 'visible');
|
171
|
+
});
|
172
|
+
|
173
|
+
it('CSS of \'Customize stamps\' component', { tags: 'css' }, () => {
|
174
|
+
thinkSpherePage.customizeStampComponent()
|
175
|
+
.within(() => {
|
176
|
+
utilities.verifyCSS(thinkSpherePage.customizeStampHeading(), {
|
177
|
+
'color': css.color.sectionHeading,
|
178
|
+
'font-size': css.fontSize.normal,
|
179
|
+
'font-weight': css.fontWeight.semibold,
|
180
|
+
'padding-bottom': '8px'
|
181
|
+
});
|
182
|
+
utilities.verifyCSS(utilities.getNthElement(thinkSpherePage.customizeStampCard(), 0), {
|
183
|
+
'width': '80px',
|
184
|
+
'height': '80px',
|
185
|
+
'border': `1px solid ${css.color.figDefaultComponentBorder}`,
|
186
|
+
'background-color': css.color.primaryBtn,
|
187
|
+
'border-radius': '8px',
|
188
|
+
});
|
189
|
+
});
|
190
|
+
});
|
191
|
+
|
192
|
+
it('User should be able to select and unselect any stamp from the \'Customize stamps\' component', () => {
|
193
|
+
thinkSpherePage.steps.verifySelectAndUnselectStamps();
|
194
|
+
});
|
195
|
+
|
196
|
+
it('CSS of unselected \'Customize stamp\' card component', { tags: 'css' }, () => {
|
197
|
+
thinkSpherePage.steps.clickOnCustomizeCard(0);
|
198
|
+
utilities.verifyCSS(utilities.getNthElement(thinkSpherePage.customizeStampCard(), 0), {
|
199
|
+
'width': '80px',
|
200
|
+
'height': '80px',
|
201
|
+
'border': `1px solid ${css.color.secondaryBtnDisabled}`,
|
202
|
+
'background-color': css.color.primaryBtn,
|
203
|
+
'border-radius': '8px',
|
204
|
+
});
|
205
|
+
thinkSpherePage.steps.clickOnCustomizeCard(0);
|
206
|
+
});
|
207
|
+
|
208
|
+
thinkSpherePage.tests.verifyDefaultToolDropdown(defaultToolsOptions, defaultTool);
|
209
|
+
|
210
|
+
it('By default, Equation Editor categories should not be displayed', () => {
|
211
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.equationEditorSectionWrapper(), 'notExist');
|
212
|
+
});
|
213
|
+
|
214
|
+
it('When clicking the Equation Editor Tool, Equation Editor categories should be displayed', () => {
|
215
|
+
thinkSpherePage.steps.selectCustomizedFormattingOption(['Equation editor']);
|
216
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.equationEditorSectionWrapper(), 'exist');
|
217
|
+
});
|
218
|
+
|
219
|
+
it(`By default, ${defaultSelectedCategories.toString()} should be selected`, () => {
|
220
|
+
defaultSelectedCategories.forEach((category) => {
|
221
|
+
thinkSpherePage.steps.verifySelectedCategoryInEquationEditorSectionEditTab(category);
|
222
|
+
});
|
223
|
+
});
|
224
|
+
|
225
|
+
it('CSS of selected and deselected category', { tags: 'css' }, () => {
|
226
|
+
cy.log('CSS of selected category')
|
227
|
+
|
228
|
+
utilities.verifyCSS(utilities.getNthElement(thinkSpherePage.equationEditorSectionCategories(), 0), {
|
229
|
+
'background-color': css.color.activeButtons
|
230
|
+
});
|
231
|
+
|
232
|
+
utilities.getNthElement(thinkSpherePage.equationEditorSectionCategories(), 0)
|
233
|
+
.within(() => {
|
234
|
+
utilities.verifyCSS(thinkSpherePage.equationEditorSectionCategoryLabel(), {
|
235
|
+
'color': css.color.primaryBtn,
|
236
|
+
'font-size': css.fontSize.small,
|
237
|
+
'font-weight': css.fontWeight.regular
|
238
|
+
});
|
239
|
+
utilities.verifyCSS(thinkSpherePage.equationEditorSectionTickIcon(), {
|
240
|
+
'fill': css.color.activeButtons
|
241
|
+
});
|
242
|
+
utilities.verifyCSS(thinkSpherePage.equationEditorSectionCategoriesDragIcon(), {
|
243
|
+
'fill': css.color.activeButtons
|
244
|
+
});
|
245
|
+
});
|
246
|
+
|
247
|
+
cy.log('CSS of deselected category')
|
248
|
+
|
249
|
+
utilities.verifyCSS(utilities.getNthElement(thinkSpherePage.equationEditorSectionCategories(), 12), {
|
250
|
+
'background-color': css.color.primaryBtn
|
251
|
+
});
|
252
|
+
|
253
|
+
utilities.getNthElement(thinkSpherePage.equationEditorSectionCategories(), 12)
|
254
|
+
.within(() => {
|
255
|
+
utilities.verifyCSS(thinkSpherePage.equationEditorSectionCategoryLabel(), {
|
256
|
+
'color': css.color.secondaryBtn,
|
257
|
+
'font-size': css.fontSize.small,
|
258
|
+
'font-weight': css.fontWeight.regular
|
259
|
+
});
|
260
|
+
utilities.verifyCSS(thinkSpherePage.equationEditorSectionCategoriesDragIcon(), {
|
261
|
+
'fill': css.color.secondaryBtn
|
262
|
+
});
|
263
|
+
});
|
264
|
+
});
|
265
|
+
|
266
|
+
it('The edit button should not be displayed for the keypad category button.', () => {
|
267
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.equationEditorSectionCategories().contains(`${equationEditorCategoriesAndSymbols['keyPad'].displayName}`).find(thinkSpherePage.equationEditorSectionCategoriesEditIcon()), 'visible');
|
268
|
+
})
|
269
|
+
|
270
|
+
it('User should be able to unselect default selected category and should be able to select default unselected category.', () => {
|
271
|
+
thinkSpherePage.equationEditorSectionCategories().contains(`${equationEditorCategoriesAndSymbols['keyPad'].displayName}`).click();
|
272
|
+
thinkSpherePage.steps.verifyEquationEditorSectionCategoryNotPressed()
|
273
|
+
thinkSpherePage.equationEditorSectionCategories().contains(`${equationEditorCategoriesAndSymbols['setNotation'].displayName}`).click();
|
274
|
+
thinkSpherePage.steps.verifyEquationEditorSectionCategoryIsPressed();
|
275
|
+
});
|
276
|
+
|
277
|
+
it('The \'Equation Editor\' should be displayed along with helper text \'Select the categories to display to the students in the equation editor.\' and \'Create custom category\' button should be displayed', () => {
|
278
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.equationEditorSectionTitle(), 'visible');
|
279
|
+
utilities.verifyInnerText(thinkSpherePage.equationEditorSectionTitle(), 'Equation editor');
|
280
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.equationEditorSectionHelperText(), 'visible');
|
281
|
+
utilities.verifyInnerText(thinkSpherePage.equationEditorSectionHelperText(), 'Select the categories to display to the students in the equation editor.');
|
282
|
+
utilities.verifyElementVisibilityState(thinkSpherePage.createCustomCategoryButton(), 'visible');
|
283
|
+
utilities.verifyInnerText(thinkSpherePage.createCustomCategoryButton(), 'Create custom category');
|
284
|
+
});
|
285
|
+
|
286
|
+
it.skip('Accessibility of selected and deselected category', { tags: 'a11y' }, () => {
|
287
|
+
cy.checkAccessibility(thinkSpherePage.equationEditorSectionCategories().contains(`${equationEditorCategoriesAndSymbols['numPad'].displayName}`).parents('[class*="DraggableItemsGrid"]'))
|
288
|
+
});
|
289
|
+
|
290
|
+
it('When user add question image then it should replicate at customize stamps first card and it should be unselected', () => {
|
291
|
+
thinkSpherePage.steps.uploadFile('uploads/highlightImage.jpg');
|
292
|
+
cy.wait(5000);
|
293
|
+
thinkSpherePage.steps.verifyQuestionImageCustomStamp();
|
294
|
+
});
|
295
|
+
});
|
296
|
+
})
|
@@ -99,7 +99,7 @@ describe('Create question page - Audio player: Header section and saving resourc
|
|
99
99
|
});
|
100
100
|
|
101
101
|
describe('Validation error messages', () => {
|
102
|
-
dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton();
|
102
|
+
dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please upload a file']);
|
103
103
|
|
104
104
|
it('Validation error message(s) should be displayed below required input field(s)', () => {
|
105
105
|
utilities.verifyElementVisibilityState(audioPlayerPage.errorMessage(), 'visible');
|
@@ -2,6 +2,7 @@ import abortEarlySetup from "../../../support/helpers/abortEarly";
|
|
2
2
|
import { uploadResponsePage } from "../../../pages";
|
3
3
|
import utilities from "../../../support/helpers/utilities";
|
4
4
|
import { supportedFileType } from "../../../fixtures/uploadResponseFileType";
|
5
|
+
import { commonComponents } from "../../../pages/components";
|
5
6
|
const css = Cypress.env('css');
|
6
7
|
|
7
8
|
const fileSizeLimitOptions = ['5', '10', '15', '20', '100'];
|
@@ -373,4 +374,37 @@ describe('Create question page - Upload Response: Question Instructions, Support
|
|
373
374
|
|
374
375
|
uploadResponsePage.tests.verifyWarningMessageDisappear();
|
375
376
|
});
|
377
|
+
|
378
|
+
describe('User should be able to edit incomplete authored question', () => {
|
379
|
+
abortEarlySetup();
|
380
|
+
before(() => {
|
381
|
+
uploadResponsePage.steps.navigateToCreateQuestion('upload response');
|
382
|
+
cy.barsPreLoaderWait();
|
383
|
+
uploadResponsePage.steps.clickOnSupportedFilesTypesAccordion();
|
384
|
+
uploadResponsePage.steps.uncheckDefaultSelectedFileTypes();
|
385
|
+
uploadResponsePage.steps.saveAQuestionWithIncompleteAuthoring();
|
386
|
+
uploadResponsePage.steps.editItem();
|
387
|
+
});
|
388
|
+
|
389
|
+
it('Warning icons should be displayed on the required fields', () => {
|
390
|
+
uploadResponsePage.steps.verifyWarningIconOnRequiredFields(['Please select a file type']);
|
391
|
+
});
|
392
|
+
|
393
|
+
it('When file type is selected then warning icons should disappear', () => {
|
394
|
+
uploadResponsePage.steps.clickOnSupportedFilesTypesAccordion();
|
395
|
+
uploadResponsePage.steps.selectSupportedFileTypeOption(0);
|
396
|
+
uploadResponsePage.supportedFileTypesAccordionWrapper()
|
397
|
+
.within(() => {
|
398
|
+
utilities.verifyElementVisibilityState(commonComponents.warningIcon(), 'notExist');
|
399
|
+
});
|
400
|
+
});
|
401
|
+
|
402
|
+
it('Clicking on Save Question button the question should get saved and a snackbar with text \'Saved successfully!\' should be displayed', () => {
|
403
|
+
uploadResponsePage.steps.saveAQuestionAndVerifySnackbar();
|
404
|
+
});
|
405
|
+
|
406
|
+
it('Warning icon should not be visible', () => {
|
407
|
+
utilities.verifyElementVisibilityState(uploadResponsePage.warningIcon(), 'notExist');
|
408
|
+
});
|
409
|
+
});
|
376
410
|
});
|
@@ -1,6 +1,9 @@
|
|
1
1
|
import abortEarlySetup from "../../../support/helpers/abortEarly";
|
2
|
-
import { uploadResponsePage, dialogBoxBase } from "../../../pages";
|
2
|
+
import { uploadResponsePage, dialogBoxBase, itemPreviewPage } from "../../../pages";
|
3
3
|
import utilities from "../../../support/helpers/utilities";
|
4
|
+
import { browseItemsPage } from "../../../pages/components";
|
5
|
+
var itemReferenceID = ""
|
6
|
+
|
4
7
|
|
5
8
|
describe('Create question page - Upload Response: Header section and Saving question', () => {
|
6
9
|
before(() => {
|
@@ -49,4 +52,38 @@ describe('Create question page - Upload Response: Header section and Saving ques
|
|
49
52
|
|
50
53
|
uploadResponsePage.tests.verifySavedSuccessfullySnackbarCSSAndA11y();
|
51
54
|
});
|
55
|
+
|
56
|
+
describe('Saving a question with incomplete authoring', () => {
|
57
|
+
abortEarlySetup();
|
58
|
+
before(() => {
|
59
|
+
uploadResponsePage.steps.navigateToCreateQuestion('upload response');
|
60
|
+
cy.barsPreLoaderWait();
|
61
|
+
uploadResponsePage.steps.clickOnSupportedFilesTypesAccordion();
|
62
|
+
uploadResponsePage.steps.uncheckDefaultSelectedFileTypes();
|
63
|
+
});
|
64
|
+
|
65
|
+
it('User should be able to save the question with incomplete authoring and display a snackbar with the text "Saved successfully!" when the Save Question button is clicked', () => {
|
66
|
+
dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please select a file type']);
|
67
|
+
uploadResponsePage.steps.saveAQuestionWithIncompleteAuthoring();
|
68
|
+
});
|
69
|
+
uploadResponsePage.tests.verifySavedSuccessfullySnackbarCSSAndA11y();
|
70
|
+
});
|
71
|
+
|
72
|
+
describe('Save as you go - Browse item page contents', () => {
|
73
|
+
abortEarlySetup();
|
74
|
+
before(() => {
|
75
|
+
uploadResponsePage.steps.navigateToCreateQuestion('upload response');
|
76
|
+
cy.barsPreLoaderWait();
|
77
|
+
uploadResponsePage.steps.clickOnSupportedFilesTypesAccordion();
|
78
|
+
uploadResponsePage.steps.uncheckDefaultSelectedFileTypes();
|
79
|
+
uploadResponsePage.steps.saveAQuestionWithIncompleteAuthoring();
|
80
|
+
utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
|
81
|
+
itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
|
82
|
+
browseItemsPage.steps.navigateToBrowseItemsPage();
|
83
|
+
});
|
84
|
+
|
85
|
+
it('When user saves an incompletely authored question then a warning icon should be visible in browse items page', () => {
|
86
|
+
browseItemsPage.steps.verifyWarningIconInBrowseItemPage(`${itemReferenceID}`);
|
87
|
+
});
|
88
|
+
});
|
52
89
|
});
|
@@ -159,31 +159,21 @@ describe('Create item page - Video response: Question instructions, Maximum reco
|
|
159
159
|
});
|
160
160
|
});
|
161
161
|
|
162
|
-
it('When the user focuses in and out of the empty \'Maximum recording duration\' input field,
|
162
|
+
it('When the user focuses in and out of the empty \'Maximum recording duration\' input field, Validation error should not be displayed below the \'Maximum recording duration\' input field and it should take up default value i.e. 300', () => {
|
163
163
|
videoResponsePage.steps.clearMaximumRecordingDurationInputField();
|
164
|
-
|
165
|
-
utilities.verifyElementVisibilityState(videoResponsePage.errorMessage(), '
|
164
|
+
videoResponsePage.steps.verifyMaximumRecordingDuration(300);
|
165
|
+
utilities.verifyElementVisibilityState(videoResponsePage.errorMessage(), 'notExist');
|
166
166
|
});
|
167
167
|
|
168
|
-
videoResponsePage.tests.verifyErrorMessageCSSAndA11y();
|
169
|
-
|
170
168
|
it('When the user updates the \'Maximum recording duration\' value, then the validation message \'Error: Maximum recording duration is required.\' should disappear.', () => {
|
171
169
|
videoResponsePage.steps.setMaximumRecordingDuration(1000);
|
172
170
|
videoResponsePage.steps.verifyErrorMessageIsNotDisplayed();
|
173
171
|
});
|
174
172
|
|
175
|
-
it('When the user has set \'Maximum recording duration\' to \'0\' (zero),
|
173
|
+
it('When the user has set \'Maximum recording duration\' to \'0\' (zero), error message should not be displayed and it should take default value i.e 300', () => {
|
176
174
|
videoResponsePage.steps.setMaximumRecordingDuration(0);
|
177
|
-
videoResponsePage.steps.verifyMaximumRecordingDuration(
|
178
|
-
utilities.
|
179
|
-
utilities.verifyElementVisibilityState(videoResponsePage.errorMessage(), 'visible');
|
180
|
-
});
|
181
|
-
|
182
|
-
videoResponsePage.tests.verifyErrorMessageCSSAndA11y();
|
183
|
-
|
184
|
-
it('When the user updates the \'Maximum recording duration\' value, then the validation message \'Error: Value must be greater than 0 secs.\' should disappear', () => {
|
185
|
-
videoResponsePage.steps.setMaximumRecordingDuration(1000);
|
186
|
-
videoResponsePage.steps.verifyErrorMessageIsNotDisplayed();
|
175
|
+
videoResponsePage.steps.verifyMaximumRecordingDuration(300);
|
176
|
+
utilities.verifyElementVisibilityState(videoResponsePage.errorMessage(), 'notExist');
|
187
177
|
});
|
188
178
|
|
189
179
|
it('When user adds decimal values or alphanumeric values then only numeric values should be displayed in the maximum recording length input field', () => {
|
@@ -204,32 +194,27 @@ describe('Create item page - Video response: Question instructions, Maximum reco
|
|
204
194
|
videoResponsePage.steps.verifyMaximumRecordingDuration(5);
|
205
195
|
});
|
206
196
|
|
207
|
-
it('When the user focuses in and out of the empty \'Maximum recording duration\' input field,
|
197
|
+
it('When the user focuses in and out of the empty \'Maximum recording duration\' input field, validation error should not be displayed below the \'Maximum recording duration\' input field', () => {
|
208
198
|
videoResponsePage.steps.clearMaximumRecordingDurationInputField();
|
209
199
|
videoResponsePage.steps.toggleMaximumRecordingDurationInputField('Secs');
|
210
200
|
videoResponsePage.steps.clearMaximumRecordingDurationInputField();
|
211
|
-
utilities.
|
212
|
-
utilities.verifyElementVisibilityState(videoResponsePage.errorMessage(), 'visible');
|
201
|
+
utilities.verifyElementVisibilityState(videoResponsePage.errorMessage(), 'notExist');
|
213
202
|
});
|
214
203
|
|
215
|
-
|
216
|
-
|
217
|
-
it('When the user updates the \'Maximum recording duration\' value, then the validation message \'Error: Maximum recording duration is required.\' should disappear.', () => {
|
204
|
+
it('When the user updates the \'Maximum recording duration\' value, then the validation message should not be displayed', () => {
|
218
205
|
videoResponsePage.steps.setMaximumRecordingDuration(5);
|
219
206
|
videoResponsePage.steps.verifyErrorMessageIsNotDisplayed();
|
220
207
|
});
|
221
208
|
|
222
|
-
it('When the user has set \'Maximum recording duration\' to \'0\' (zero), a validation message
|
223
|
-
videoResponsePage.steps.
|
224
|
-
videoResponsePage.steps.verifyMaximumRecordingDuration(
|
209
|
+
it('When the user has set \'Maximum recording duration\' to \'0\' (zero), a validation message should not be displayed and it should take default value i.e. 300', () => {
|
210
|
+
videoResponsePage.steps.setMaximumRecordingDuration(0);
|
211
|
+
videoResponsePage.steps.verifyMaximumRecordingDuration(300);
|
225
212
|
// Uncomment once https://redmine.zeuslearning.com/issues/583618 is resolved
|
226
213
|
// utilities.verifyInnerText(videoResponsePage.errorMessage(), 'Error: Value must be greater than 0 mins.');
|
227
|
-
utilities.verifyElementVisibilityState(videoResponsePage.errorMessage(), '
|
214
|
+
utilities.verifyElementVisibilityState(videoResponsePage.errorMessage(), 'notExist');
|
228
215
|
});
|
229
216
|
|
230
|
-
|
231
|
-
|
232
|
-
it('When the user updates the \'Maximum recording duration\' value, then the validation message \'Error: Value must be greater than 0 mins.\' should disappear', () => {
|
217
|
+
it('When the user updates the \'Maximum recording duration\' value, then the validation message should not be displayed', () => {
|
233
218
|
videoResponsePage.steps.setMaximumRecordingDuration(5);
|
234
219
|
videoResponsePage.steps.verifyErrorMessageIsNotDisplayed();
|
235
220
|
videoResponsePage.steps.toggleMaximumRecordingDurationInputField('Mins');
|
@@ -98,7 +98,22 @@ describe('Create item page - Charts - Dot plot: Header section and saving questi
|
|
98
98
|
chartsDotPlotPage.steps.selectDotPlot();
|
99
99
|
});
|
100
100
|
|
101
|
-
|
101
|
+
describe('Validation error messages', () => {
|
102
|
+
dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please set points']);
|
103
|
+
|
104
|
+
it('Validation error messages should be displayed below required input fields', () => {
|
105
|
+
chartsDotPlotPage.steps.verifyQuestionInstructionsErrorMessageIsNotDisplayed();
|
106
|
+
chartsDotPlotPage.steps.verifyWarningIconOnRequiredFields(['Please set points']);
|
107
|
+
chartsDotPlotPage.steps.verifySpecifyCorrectAnswerErrorIconNotExists();
|
108
|
+
});
|
109
|
+
|
110
|
+
it('Validation error messages should disappear when required input fields are filled', () => {
|
111
|
+
chartsDotPlotPage.steps.allotPoints(10);
|
112
|
+
chartsDotPlotPage.steps.verifyErrorMessageIsNotDisplayed();
|
113
|
+
});
|
114
|
+
|
115
|
+
chartsDotPlotPage.tests.verifyCreateItemWrapperContentsA11y();
|
116
|
+
});
|
102
117
|
|
103
118
|
describe('Saving a question', () => {
|
104
119
|
it('When user clicks on "Save question" button, then the question should get saved and a snackbar with text \'Saved successfully!\' should be displayed', () => {
|
@@ -15,7 +15,7 @@ describe('Fetch Responses API', () => {
|
|
15
15
|
let activityTemplateIdNew1;
|
16
16
|
before(() => {
|
17
17
|
cy.loginAs('admin');
|
18
|
-
cy.createItem('
|
18
|
+
cy.createItem('FetchResponseTest12');
|
19
19
|
cy.wait(5000)
|
20
20
|
cy.visit(`${Cypress.env('itemEngineHomePage')}`);
|
21
21
|
});
|
@@ -40,7 +40,7 @@ describe('Fetch Responses API', () => {
|
|
40
40
|
.click();
|
41
41
|
cy.get('textarea[class="body-param__text"]')
|
42
42
|
.clear()
|
43
|
-
.fill(`{\n "item_references": ["
|
43
|
+
.fill(`{\n "item_references": ["FetchResponseTest12"],\n "references": [],\n "types": [],\n "limit": 50,\n "sort_field": "created",\n "sort": "desc"\n}\n`);
|
44
44
|
cy.get('.execute')
|
45
45
|
.click();
|
46
46
|
cy.wait(2000);
|
@@ -52,7 +52,7 @@ describe('Fetch Responses API', () => {
|
|
52
52
|
.then((text) => {
|
53
53
|
// Parse the JSON from the DOM
|
54
54
|
const actualResponse = JSON.parse(text);
|
55
|
-
const test1Data = actualResponse.data.
|
55
|
+
const test1Data = actualResponse.data.FetchResponseTest12[0];
|
56
56
|
const { reference: ref1 } = test1Data;
|
57
57
|
itemReferenceIdNew = ref1;
|
58
58
|
});
|
@@ -5,7 +5,15 @@ describe('Scores API cases', () => {
|
|
5
5
|
var sessionData = [{}, {}, {}];
|
6
6
|
var timestamp;
|
7
7
|
var dtScoreUpdateArray = [];
|
8
|
-
|
8
|
+
|
9
|
+
let itemReferenceIdNew;
|
10
|
+
const domainMapping = {
|
11
|
+
'sandbox.itemengine-qa.il-apps.com': "0ee6c7-ef6e-717-4b8-cda87eaac101",
|
12
|
+
'sandbox.itemengine-staging.il-apps.com': "a50ba14-5603-b55e-7cc-d17404ce5afb",
|
13
|
+
'sandbox.itemengine-prod.il-apps.com': "444d582-3e4-b18f-e52c-5c8c732717"
|
14
|
+
};
|
15
|
+
|
16
|
+
itemReferenceIdNew = domainMapping[domainName] || null;
|
9
17
|
let dt_score_update;
|
10
18
|
let response_id;
|
11
19
|
let dt_saved;
|
@@ -121,10 +129,6 @@ describe('Scores API cases', () => {
|
|
121
129
|
it('If the user clicks on the Scores option from the menu bar, user should be navigated to the Scores API page', () => {
|
122
130
|
cy.contains('Scores')
|
123
131
|
.click();
|
124
|
-
cy.contains('Scores')
|
125
|
-
.parent()
|
126
|
-
.parent()
|
127
|
-
.should('have.class', 'Mui-selected');
|
128
132
|
cy.url()
|
129
133
|
.should('eq', Cypress.config().baseUrl + '/item-engine/data-api/sessions/fetch-scores');
|
130
134
|
});
|
@@ -3,9 +3,9 @@ module.exports = {
|
|
3
3
|
serverUrl: 'https://eyes.applitools.com',
|
4
4
|
browser: [
|
5
5
|
{ width: 1366, height: 609, name: 'chrome' },
|
6
|
-
|
7
|
-
|
8
|
-
|
6
|
+
{ width: 1280, height: 832, name: 'edgechromium' },
|
7
|
+
{ width: 1536, height: 960, name: 'safari' },
|
8
|
+
{ width: 1024, height: 1366, name: 'safari' }
|
9
9
|
],
|
10
10
|
//Configuration options: https://applitools.com/tutorials/sdks/cypress/configuration
|
11
11
|
APPLITOOLS_IS_DISABLED: true
|
@@ -1,5 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"color": {
|
3
|
+
"boxShadow": "rgba(82, 0, 255, 0.1)",
|
3
4
|
"primaryBtn": "rgb(255, 255, 255)",
|
4
5
|
"primaryBtnBg": "rgb(82, 0, 255)",
|
5
6
|
"primaryBtnBorder": "rgb(0, 0, 124)",
|
@@ -157,7 +158,19 @@
|
|
157
158
|
"newFontColor": "rgb(128, 25, 0)",
|
158
159
|
"newResponseFieldColor": "rgb(119, 60, 60)",
|
159
160
|
"blackText": "rgb(0, 0, 0)",
|
160
|
-
"blackTextBoxText":"rgba(0, 0, 0, 0.38)"
|
161
|
+
"blackTextBoxText":"rgba(0, 0, 0, 0.38)",
|
162
|
+
"whiteColor": "rgba(255, 255, 255, 1)",
|
163
|
+
"phasesSectionBorderColor": "rgba(186, 201, 255, 1)",
|
164
|
+
"optionColor": "rgb(13, 71, 161)",
|
165
|
+
"borderColor": "rgb(205, 205, 206)",
|
166
|
+
"buttonHoverColor": "rgb(68, 0, 211)",
|
167
|
+
"tableRowHoverColor": "rgba(0, 0, 0, 0.04)",
|
168
|
+
"dialogBoxBoxShadow": "rgba(0, 0, 0, 0.25)",
|
169
|
+
"desktopMobileViewtoggleButtonSelectedBg": "rgb(227, 242, 253)",
|
170
|
+
"progressBarBackgroundColor": "rgba(0, 0, 46, 0.7)",
|
171
|
+
"questionInstructionBG": "rgb(235, 239, 255)",
|
172
|
+
"deletePageColor": "rgb(124, 0, 0)",
|
173
|
+
"dropdownDefaultBG": "rgb(227, 240, 237)"
|
161
174
|
},
|
162
175
|
"fontSize": {
|
163
176
|
"extraSmall": "10px",
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|