itemengine-cypress-automation 1.0.379-IEI-5744-ecb0cd7.0 → 1.0.379-fullExecutionFixes-683b689.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/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 +25 -25
- package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +37 -36
- package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +37 -36
- package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +37 -36
- package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -0
- 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/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 -25
- package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +47 -46
- package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +25 -24
- package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +25 -24
- package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -0
- 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/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/audioPlayerEditTabAddFeatureRadioButton.js +2 -3
- package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabAddTranscriptRadioButton .js +2 -4
- package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerEditTabStudentViewSettings.js +3 -3
- 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/CkEditorInsertImage/imageInfo.js +3 -3
- package/cypress/e2e/ILC/CkEditorInsertTable/tableDimension&FooterProperties.js +3 -3
- package/cypress/e2e/ILC/CkEditorInsertTable/tableStyle.js +11 -11
- 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/editTabScoring.js +1 -0
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/pagination.js +1 -1
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/studentViewSettingsForGroupedLayout.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 +1 -3
- package/cypress/e2e/ILC/EssayResponse/createCustomCategory.smoke.js +2 -2
- package/cypress/e2e/ILC/EssayResponse/editTabBasicSections.js +23 -37
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +210 -0
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/draggableOptions.js +2 -0
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViewInIncompleteAuthoring.smoke.js +7 -7
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editQuestion.smoke.js +40 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +216 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editQuestion.smoke.js +45 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/responseAnswersAndAcceptedStudentInput.js +3 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/supportedFileTypes.js +3 -1
- 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 +2 -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 +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/allOrNothingBasicForAllViews.smoke.js +210 -0
- package/cypress/e2e/ILC/GridFill/customizeLayoutFillImageBackgroundImage.js +2 -2
- package/cypress/e2e/ILC/GridFill/headerSection.js +3 -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/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +2 -1
- package/cypress/e2e/ILC/ImageHighlight/allOrNothingForAllViews.smoke.js +212 -0
- package/cypress/e2e/ILC/ImageHighlight/customiseHighlightStyle.js +29 -0
- 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 +24 -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 +36 -1
- 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 +2 -0
- package/cypress/e2e/ILC/Matching/studentViewSettingsForGroupedLayout.js +1 -1
- package/cypress/e2e/ILC/MatchingDropdown/Scoring/blankResponseScoring.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/MultipleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswer.js +1 -0
- 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/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/NumberLineLabel/verticalNumberLine/editQuestion.smoke.js +1 -1
- package/cypress/e2e/ILC/ShortTextResponseNew/allOrNothingBasicForAllViews.smoke.js +186 -0
- package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +35 -51
- package/cypress/e2e/ILC/ShortTextResponseNew/headerSection.js +2 -4
- 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 +3 -1
- 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 +10 -3
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +4 -2
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +5 -3
- 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/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/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +2 -0
- package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +27 -3
- package/cypress/e2e/ILC/TextEntryMath/headerSection.js +43 -0
- package/cypress/e2e/ILC/TextSelection/additionalSettings.js +1 -0
- package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +231 -0
- package/cypress/e2e/ILC/TextSelection/minimumScoringPenaltyPointsAndRoundingDropdown.js +1 -0
- package/cypress/e2e/ILC/ThinkSphere/createReviewItem.js +1 -1
- package/cypress/e2e/ILC/ThinkSphere/editTabBasicSection.js +7 -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/planPhase.js +45 -5
- package/cypress/e2e/ILC/ThinkSphere/previewTabPlanSection.js +12 -12
- package/cypress/e2e/ILC/ThinkSphere/previewTabReviewSection.js +97 -0
- package/cypress/e2e/ILC/ThinkSphere/previewTabSolveSection.js +36 -0
- package/cypress/e2e/ILC/ThinkSphere/solvePhase.js +4 -4
- package/cypress/e2e/ILC/ThinkSphere/studentViewPlanTabSection.js +393 -0
- package/cypress/e2e/ILC/ThinkSphere/studentViewReviewTabSection.js +141 -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/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 +47 -22
- 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 +28 -3
- package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +5 -1
- package/cypress/pages/components/chartsCommonComponent.js +6 -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 +14 -1
- package/cypress/pages/components/draggableOptionsSectionComponent.js +2 -0
- package/cypress/pages/components/equationEditorSectionCommonComponent.js +10 -25
- package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +28 -0
- package/cypress/pages/components/gridQuestionCommonComponent.js +55 -2
- package/cypress/pages/components/imageCanvasComponent.js +4 -4
- package/cypress/pages/components/questionInstructionsComponent.js +2 -0
- package/cypress/pages/components/scoringSectionBaseEditTab.js +3 -0
- package/cypress/pages/components/specifyRowsAndColumnsComponent.js +7 -1
- 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 +2 -0
- package/cypress/pages/fillInTheGapsDragAndDropPage.js +3 -4
- package/cypress/pages/gradingGridViewPage.js +64 -0
- package/cypress/pages/graphingPage.js +27 -8
- package/cypress/pages/gridFillPage.js +15 -6
- package/cypress/pages/imageHighlightPage.js +115 -15
- package/cypress/pages/index.js +1 -0
- package/cypress/pages/listOrderingPage.js +40 -1
- package/cypress/pages/matchingPage.js +26 -7
- package/cypress/pages/numberLineLabelPage.js +31 -8
- package/cypress/pages/numberLinePage.js +19 -7
- package/cypress/pages/singleSelectionPage.js +30 -1
- package/cypress/pages/textEntryMathPage.js +24 -1
- package/cypress/pages/thinkSpherePage.js +951 -89
- 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 +2 -2
- /package/cypress/e2e/ILC/{ChartsDotsPlot → chartsDotsPlot}/checkAnswerFunctionalityForAllViews.js +0 -0
- /package/cypress/e2e/ILC/{ChartsDotsPlot → chartsDotsPlot}/editQuestion.smoke.js +0 -0
@@ -1,5 +1,5 @@
|
|
1
1
|
import utilities from "../support/helpers/utilities";
|
2
|
-
import { commonComponents, createQuestionBasePage, questionInstructionsComponent, additionalSettingsPanel, scoringSectionBaseEditTab, additionalSettingsAccessibilitySectionComponent, studentViewSettingsLabelComponent, hideExpressionListComponent } from "./components";
|
2
|
+
import { commonComponents, createQuestionBasePage, questionInstructionsComponent, additionalSettingsPanel, scoringSectionBaseEditTab, additionalSettingsAccessibilitySectionComponent, studentViewSettingsLabelComponent, hideExpressionListComponent, toolSettingsComponent } from "./components";
|
3
3
|
import { desmosToolComponent } from "./components/desmosToolComponent";
|
4
4
|
const css = Cypress.env('css');
|
5
5
|
|
@@ -10,7 +10,7 @@ const selectors = {
|
|
10
10
|
...additionalSettingsPanel,
|
11
11
|
...questionInstructionsComponent,
|
12
12
|
desmosGraphingTool: () => cy.get('[id*="desmos-graph-tool"]'),
|
13
|
-
desmosGraphingToolExpressionPanel: () => cy.get('
|
13
|
+
desmosGraphingToolExpressionPanel: () => cy.get('.dcg-exppanel-container'),
|
14
14
|
studentViewSettingsLabel: () => cy.get('[class*="StudentViewWrapper"]'),
|
15
15
|
hideExpressionListLabel: () => cy.get('[data-ngie-testid="hide-expression-list-checkbox"] .MuiFormControlLabel-label'),
|
16
16
|
hideExpressionListCheckbox: () => cy.get('[data-ngie-testid="hide-expression-list-checkbox"] input'),
|
@@ -36,6 +36,18 @@ const selectors = {
|
|
36
36
|
errorMessage: () => cy.get('.error-text-message'),
|
37
37
|
resourceLinkPreviewTitle: () => cy.get('[class*="DesmosGraphingstyles__ResourceLinkPreviewLabel"]'),
|
38
38
|
desmosComponent: () => cy.get('[class*="DesmosGraphingstyles__DesmosComponentWrapper"]'),
|
39
|
+
desmosComponentGradingView: () => cy.get('[class*="DesmosGraphingPreviewstyles__DesmosWrapper"]'),
|
40
|
+
widthLabel: () => cy.get('[class*="StudentViewSettingsstyles__LabelInputWrapper"]').eq(0),
|
41
|
+
heightLabel: () => cy.get('[class*="StudentViewSettingsstyles__LabelInputWrapper"]').eq(1),
|
42
|
+
lockUnlockAspectRatioButton: () => cy.get('[class*="StudentViewSettingsstyles__LockIconWrapper"] button'),
|
43
|
+
resetButton: () => cy.get('[class*="StudentViewSettingsstyles__ResetIconWrapper"] button'),
|
44
|
+
desmosResourceCanvasEditTab: () => cy.get('[id*="desmos-geometry-tool"]'),
|
45
|
+
desmosResourceCanvasPreviewTab: () => cy.get('[class*="DesmosGraphingPreviewstyles__DesmosPreview"]'),
|
46
|
+
widthInputField: () => cy.get('[class*="StudentViewSettingsstyles__DimensionWrapper"] .text-input-field input').eq(0),
|
47
|
+
heightInputField: () => cy.get('[class*="StudentViewSettingsstyles__DimensionWrapper"] .text-input-field input').eq(1),
|
48
|
+
addIconDesmos: () => cy.get('.dcg-add-expression-container .dcg-icon-plus'),
|
49
|
+
expressionInputField: () => cy.get('.dcg-action-newmath'),
|
50
|
+
editIconPencil: () => cy.get('.icon-pencil'),
|
39
51
|
}
|
40
52
|
|
41
53
|
const steps = {
|
@@ -45,6 +57,7 @@ const steps = {
|
|
45
57
|
...additionalSettingsPanel.steps,
|
46
58
|
...questionInstructionsComponent.steps,
|
47
59
|
...commonComponents.steps,
|
60
|
+
...toolSettingsComponent.steps,
|
48
61
|
verifyHideExpressionListCheckboxUnchecked: () => {
|
49
62
|
desmosGeometryPage.hideExpressionListCheckbox()
|
50
63
|
.should('not.be.checked');
|
@@ -262,10 +275,162 @@ const steps = {
|
|
262
275
|
},
|
263
276
|
clearInputToInsertResourceLinkInputField: () => {
|
264
277
|
desmosGeometryPage.insertResourceLinkInputField()
|
265
|
-
.
|
278
|
+
.click()
|
279
|
+
desmosGeometryPage.insertResourceLinkInputField()
|
280
|
+
.type('{selectall}{backspace}')
|
266
281
|
cy.get('body')
|
267
282
|
.click();
|
268
283
|
},
|
284
|
+
verifyLockedStateOfLockUnlockAspectRatioButton: () => {
|
285
|
+
desmosGeometryPage.lockUnlockAspectRatioButton()
|
286
|
+
.should('have.attr', 'aria-label', 'Locked aspect ratio');
|
287
|
+
},
|
288
|
+
verifyUnlockedStateOfLockUnlockAspectRatioButton: () => {
|
289
|
+
desmosGeometryPage.lockUnlockAspectRatioButton()
|
290
|
+
.should('have.attr', 'aria-label', 'Unlocked aspect ratio');
|
291
|
+
},
|
292
|
+
/**
|
293
|
+
* @description add input to width input field
|
294
|
+
* @param {number} width Width to be set for geoGebra resource
|
295
|
+
*/
|
296
|
+
addInputToWidthInputField: (width) => {
|
297
|
+
desmosGeometryPage.widthInputField()
|
298
|
+
.clear()
|
299
|
+
.type(width)
|
300
|
+
.blur();
|
301
|
+
utilities.verifyInputFieldValue(desmosGeometryPage.widthInputField(), width);
|
302
|
+
},
|
303
|
+
/**
|
304
|
+
* @description add input to height input field
|
305
|
+
* @param {number} height Height to be set for geoGebra resource
|
306
|
+
*/
|
307
|
+
addInputToHeightInputField: (height) => {
|
308
|
+
desmosGeometryPage.heightInputField()
|
309
|
+
.clear()
|
310
|
+
.type(height)
|
311
|
+
.blur();
|
312
|
+
utilities.verifyInputFieldValue(desmosGeometryPage.heightInputField(), height);
|
313
|
+
},
|
314
|
+
/**
|
315
|
+
* Verify width of geoGebra resource canvas in edit tab
|
316
|
+
* @param {number} width Width of geoGebra resource canvas in edit tab
|
317
|
+
*/
|
318
|
+
verifyCanvasWidthEditTab: (width) => {
|
319
|
+
utilities.verifyCSS(desmosGeometryPage.desmosResourceCanvasEditTab(), {
|
320
|
+
'width': `${width}px`
|
321
|
+
});
|
322
|
+
},
|
323
|
+
/**
|
324
|
+
* Verify height of geoGebra resource canvas in edit tab
|
325
|
+
* @param {number} height Height of geoGebra resource canvas in edit tab
|
326
|
+
*/
|
327
|
+
verifyCanvasHeightEditTab: (height) => {
|
328
|
+
utilities.verifyCSS(desmosGeometryPage.desmosResourceCanvasEditTab(), {
|
329
|
+
'height': `${height}px`
|
330
|
+
});
|
331
|
+
},
|
332
|
+
clickOnResetButton: () => {
|
333
|
+
desmosGeometryPage.resetButton()
|
334
|
+
.click();
|
335
|
+
},
|
336
|
+
clickOnLockUnlockAspectRatioButton: () => {
|
337
|
+
desmosGeometryPage.lockUnlockAspectRatioButton()
|
338
|
+
.click();
|
339
|
+
},
|
340
|
+
/**
|
341
|
+
* Verify width of geoGebra resource canvas in preview tab
|
342
|
+
* @param {number} width Width of geoGebra resource canvas in preview tab
|
343
|
+
*/
|
344
|
+
verifyCanvasWidthPreviewTab: (width) => {
|
345
|
+
utilities.verifyCSS(desmosGeometryPage.desmosResourceCanvasPreviewTab(), {
|
346
|
+
'width': `${width}px`
|
347
|
+
});
|
348
|
+
},
|
349
|
+
/**
|
350
|
+
* Verify height of geoGebra resource canvas in preview tab
|
351
|
+
* @param {number} height Height of geoGebra resource canvas in preview tab
|
352
|
+
*/
|
353
|
+
verifyCanvasHeightPreviewTab: (height) => {
|
354
|
+
utilities.verifyCSS(desmosGeometryPage.desmosResourceCanvasPreviewTab(), {
|
355
|
+
'height': `${height}px`
|
356
|
+
});
|
357
|
+
},
|
358
|
+
/**
|
359
|
+
* @param {number} width holds value of width attribute
|
360
|
+
* @description function updates width in input field
|
361
|
+
*/
|
362
|
+
updateWidth: (width) => {
|
363
|
+
desmosGeometryPage.widthInputField()
|
364
|
+
.clear()
|
365
|
+
.type(width);
|
366
|
+
},
|
367
|
+
/**
|
368
|
+
* @param {number} width holds value of width attribute
|
369
|
+
* @description function verifies width in input field
|
370
|
+
*/
|
371
|
+
verifyWidth: (width) => {
|
372
|
+
desmosGeometryPage.widthInputField()
|
373
|
+
.should('have.value', width);
|
374
|
+
},
|
375
|
+
/**
|
376
|
+
* @param {number} height holds value of height attribute
|
377
|
+
* @description function updates height in input field
|
378
|
+
*/
|
379
|
+
updateHeight: (height) => {
|
380
|
+
desmosGeometryPage.heightInputField()
|
381
|
+
.clear()
|
382
|
+
.type(height);
|
383
|
+
},
|
384
|
+
/**
|
385
|
+
* @param {number} height holds value of height attribute
|
386
|
+
* @description function verifies height in input field
|
387
|
+
*/
|
388
|
+
verifyHeight: (height) => {
|
389
|
+
desmosGeometryPage.heightInputField()
|
390
|
+
.should('have.value', height);
|
391
|
+
},
|
392
|
+
/**
|
393
|
+
* @description Types a mathematical expression in the Desmos expression input field
|
394
|
+
* @param {string} expression The mathematical expression to type
|
395
|
+
*/
|
396
|
+
typeExpression: (expression) => {
|
397
|
+
desmosGeometryPage.expressionInputField()
|
398
|
+
.click();
|
399
|
+
desmosGeometryPage.expressionInputField()
|
400
|
+
.type(expression);
|
401
|
+
},
|
402
|
+
/**
|
403
|
+
* @description Verifies that the specified expression is not present in the Desmos expression field
|
404
|
+
* @param {string} expression The expression that should not be present
|
405
|
+
*/
|
406
|
+
verifyExpressionNotPresent: (expression) => {
|
407
|
+
desmosGeometryPage.expressionInputField()
|
408
|
+
.should('not.contain', expression);
|
409
|
+
},
|
410
|
+
editQuestionItemView: () => {
|
411
|
+
desmosGeometryPage.editIconPencil()
|
412
|
+
.click();
|
413
|
+
},
|
414
|
+
verifyFontSizeDropdown: (fontSize) => {
|
415
|
+
desmosGeometryPage.fontSizeDropdown()
|
416
|
+
.should('have.text', fontSize);
|
417
|
+
},
|
418
|
+
verifyTeacherGuidelinesInputField: (text) => {
|
419
|
+
desmosGeometryPage.additionalSettingsTeacherGuidelinesInputField()
|
420
|
+
.should('have.text', text);
|
421
|
+
},
|
422
|
+
verifySampleAnswerInputField: (text) => {
|
423
|
+
desmosGeometryPage.additionalSettingsSampleAnswerInputField()
|
424
|
+
.should('have.text', text);
|
425
|
+
},
|
426
|
+
verifyAcknowledgementsInputField: (text) => {
|
427
|
+
desmosGeometryPage.additionalSettingsAcknowledgementsInputField()
|
428
|
+
.should('have.text', text);
|
429
|
+
},
|
430
|
+
verifyFlagThisItemNonAccessibleCheckboxIsChecked: () => {
|
431
|
+
desmosGeometryPage.flagNonAccessibleCheckbox()
|
432
|
+
.should('be.checked');
|
433
|
+
},
|
269
434
|
}
|
270
435
|
|
271
436
|
const tests = {
|
@@ -285,7 +450,7 @@ const tests = {
|
|
285
450
|
utilities.verifyElementVisibilityState(desmosToolComponent.previewTabDesmosToolKeypadButton(), 'exist');
|
286
451
|
});
|
287
452
|
},
|
288
|
-
|
453
|
+
|
289
454
|
verifyErrorMessageCSSAndA11y: () => {
|
290
455
|
it('CSS of error message', { tags: 'css' }, () => {
|
291
456
|
utilities.verifyCSS(desmosGeometryPage.errorMessage(), {
|
@@ -298,6 +463,21 @@ const tests = {
|
|
298
463
|
it('Accessibility of error message', { tags: 'a11y' }, () => {
|
299
464
|
cy.checkAccessibility(commonComponents.nextGenCreateItemWrapper());
|
300
465
|
});
|
466
|
+
},
|
467
|
+
|
468
|
+
verifyQuestionInstructionsInputFieldPreviewTab: () => {
|
469
|
+
it('When user has not entered any text in the Question instructions input field in the \'Edit\' tab then nothing should be displayed in the \'Preview\' tab', () => {
|
470
|
+
createQuestionBasePage.steps.switchToPreviewTab();
|
471
|
+
//Failing due to https://redmine.zeuslearning.com/issues/553382
|
472
|
+
utilities.verifyTextContent(questionInstructionsComponent.questionInstructionsText(), '')
|
473
|
+
});
|
474
|
+
|
475
|
+
it('When the user specifies question instructions, then the added question instructions should be displayed in the \'Preview\' tab', () => {
|
476
|
+
createQuestionBasePage.steps.switchToEditTab();
|
477
|
+
questionInstructionsComponent.steps.addTextInQuestionInstructionsInputField('Which of the following is the major contributor to increased carbon dioxide levels because of urbanization? Select your answer from the options below.');
|
478
|
+
createQuestionBasePage.steps.switchToPreviewTab();
|
479
|
+
utilities.verifyTextContent(questionInstructionsComponent.questionInstructionsTextPreviewTab(), 'Which of the following is the major contributor to increased carbon dioxide levels because of urbanization? Select your answer from the options below.');
|
480
|
+
});
|
301
481
|
}
|
302
482
|
}
|
303
483
|
|
@@ -265,6 +265,8 @@ const steps = {
|
|
265
265
|
selectPreviewTabToolbarOption: (arialabel) => {
|
266
266
|
drawingResponsePage.previewTabDrawingToolbarOption(arialabel)
|
267
267
|
.click();
|
268
|
+
drawingResponsePage.previewTabDrawingToolbarOption(arialabel)
|
269
|
+
.should('have.class', 'drawing-tool__button--active');
|
268
270
|
},
|
269
271
|
|
270
272
|
/**
|
@@ -91,7 +91,7 @@ const steps = {
|
|
91
91
|
...styleAndLayoutCustomizationAccordionComponent.steps,
|
92
92
|
...figCommonStyleAndLayoutComponent.steps,
|
93
93
|
...draggableOptionsStyleAndLayoutComponent.steps,
|
94
|
-
|
94
|
+
...createItemPage.steps,
|
95
95
|
/**
|
96
96
|
* Sets options in dropzone in the Preview Tab based on the provided optionsObject.
|
97
97
|
* @param {Object} optionsObject - An object where keys are option texts and values are dropzone indices.
|
@@ -297,10 +297,9 @@ const steps = {
|
|
297
297
|
.click();
|
298
298
|
utilities.getNthElement(fillInTheGapsDragAndDropPage.dropzonePreviewTab(), 2)
|
299
299
|
.click();
|
300
|
-
fillInTheGapsDragAndDropPage.steps.verifyDropzoneTextPreviewTab(
|
301
|
-
fillInTheGapsDragAndDropPage.steps.verifyDropzoneWithImageInPreviewTab(
|
300
|
+
fillInTheGapsDragAndDropPage.steps.verifyDropzoneTextPreviewTab(1, '2\nPetals');
|
301
|
+
fillInTheGapsDragAndDropPage.steps.verifyDropzoneWithImageInPreviewTab(1);
|
302
302
|
fillInTheGapsDragAndDropPage.steps.verifyDropzoneTextPreviewTab(0, '1\nThis is a bold option');
|
303
|
-
fillInTheGapsDragAndDropPage.steps.verifyDropzoneWithEquationTextInPreviewTab(1);
|
304
303
|
},
|
305
304
|
|
306
305
|
/**
|
@@ -0,0 +1,64 @@
|
|
1
|
+
import utilities from "../support/helpers/utilities";
|
2
|
+
import { verifyIeQuestionData } from "../support/migrationHelpers/verifyIeQuestionData";
|
3
|
+
|
4
|
+
const selectors = {
|
5
|
+
sessionIdField: () => cy.get('[data-testid="SessionId"]'),
|
6
|
+
responseIdField: () => cy.get('[data-testid="ResponseId"]'),
|
7
|
+
itemIdField: () => cy.get('[data-testid="ItemId"]'),
|
8
|
+
studentIdField: () => cy.get('[data-testid="StudentId"]'),
|
9
|
+
launchGradingButton: () => cy.get('[data-testid="launchGrading"]'),
|
10
|
+
getGradingViewContainer: (sessionId, itemId, questionNo) =>
|
11
|
+
cy.get(`[data-reference="${sessionId}"] [data-reference="${itemId}_${sessionId}"] [class*="GradingViewstyles__SingleQuestionContainer"]`)
|
12
|
+
.eq(questionNo),
|
13
|
+
getGradingViewforResponseId: (responseId) =>
|
14
|
+
cy.get(`[data-reference="${responseId}"]`),
|
15
|
+
getQuestionInstruction: () => cy.get('[data-testid = "question-instruction-element"]').eq(0),
|
16
|
+
getAnswerStatus: () => cy.get('[class*="indexstyle__AnswerTextWrapper"]'),
|
17
|
+
};
|
18
|
+
|
19
|
+
const steps = {
|
20
|
+
/**
|
21
|
+
* Adds session data and launches the grading view.
|
22
|
+
*
|
23
|
+
* @param {Object} params - Parameters for session setup and grading.
|
24
|
+
* @param {Array<string>} params.studentIds - Array of studentIds to be graded.
|
25
|
+
* @param {Array<string>} params.sessionIds - Array of sessionIds to be graded.
|
26
|
+
* @param {Array<string>} params.itemIds - Array of item IDs involved in the session.
|
27
|
+
* @param {Array<string>} params.responseIds - Array of response IDs corresponding to each student/item.
|
28
|
+
*/
|
29
|
+
addSessionDataAndLaunchGrading: ({studentIds = [], sessionIds = [], itemIds = [], responseIds = []}) => {
|
30
|
+
const students = studentIds.join(", ");
|
31
|
+
const sessions = sessionIds.join(", ");
|
32
|
+
const items = itemIds.join(", ");
|
33
|
+
const responses = responseIds.join(", ");
|
34
|
+
sessions && gradingGridViewPage.sessionIdField().clear().type(sessions);
|
35
|
+
students && gradingGridViewPage.studentIdField().clear().type(students);
|
36
|
+
items && gradingGridViewPage.itemIdField().clear().type(items);
|
37
|
+
responses && gradingGridViewPage.responseIdField().clear().type(responses);
|
38
|
+
gradingGridViewPage.launchGradingButton().click();
|
39
|
+
},
|
40
|
+
|
41
|
+
/**
|
42
|
+
* Verifies the session data displayed in the grading view container for a specific question.
|
43
|
+
*
|
44
|
+
* @param {string} sessionId - The unique identifier for the session.
|
45
|
+
* @param {string} itemId - The unique identifier for the item within the session.
|
46
|
+
* @param {number} questionNo - The zero-based index of the question to verify.
|
47
|
+
* @param {string} questionInstruction - The expected instruction text for the question.
|
48
|
+
* @param {string} answerStatus - The expected answer status (e.g., "Answered", "Not Answered").
|
49
|
+
*/
|
50
|
+
verifySessionData: (sessionId, itemId, questionNo, questionInstruction, answerStatus) => {
|
51
|
+
gradingGridViewPage.getGradingViewContainer(sessionId, itemId, questionNo)
|
52
|
+
.within(() => {
|
53
|
+
gradingGridViewPage.getQuestionInstruction()
|
54
|
+
.should('contain.text', questionInstruction);
|
55
|
+
gradingGridViewPage.getAnswerStatus()
|
56
|
+
.should('contain.text', answerStatus);
|
57
|
+
});
|
58
|
+
},
|
59
|
+
};
|
60
|
+
|
61
|
+
export const gradingGridViewPage = {
|
62
|
+
...selectors,
|
63
|
+
steps
|
64
|
+
};
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import utilities from "../support/helpers/utilities";
|
2
2
|
import { questionInstructionsComponent, createQuestionBasePage, scoringSectionBaseEditTab, autoScoredScoringPreviewTab, autoScoredStudentViewSettings, autoScoredSpecifyCorrectAnswerSection, commonComponents, backgroundImageUploadComponent, imageCanvasComponent, opacityComponent, autoScoredScoringSectionMultiResponseType, additionalSettingsPanel, additionalSettingsAccessibilitySectionComponent, toolsAndControlsComponent, resetPopupComponent, defaultToolDropdown } from "./components";
|
3
|
+
import { createItemPage } from "./createItemPage";
|
3
4
|
const css = Cypress.env('css');
|
4
5
|
|
5
6
|
const selectors = {
|
@@ -262,6 +263,7 @@ const steps = {
|
|
262
263
|
...toolsAndControlsComponent.steps,
|
263
264
|
...resetPopupComponent.steps,
|
264
265
|
...defaultToolDropdown.steps,
|
266
|
+
...createItemPage.steps,
|
265
267
|
|
266
268
|
//Edit tab
|
267
269
|
checkPatternBackground: () => {
|
@@ -1767,7 +1769,27 @@ const steps = {
|
|
1767
1769
|
verifyAcceptRepeatedPointsToggleChecked: () => {
|
1768
1770
|
graphingPage.acceptRepeatedPointsToggle()
|
1769
1771
|
.should('have.attr', 'aria-pressed', 'true');
|
1770
|
-
}
|
1772
|
+
},
|
1773
|
+
|
1774
|
+
verifyAnswerStatusBannerNotExist: () => {
|
1775
|
+
graphingPage.correctIncorrectStatusMessageText()
|
1776
|
+
.should('not.exist');
|
1777
|
+
},
|
1778
|
+
|
1779
|
+
verifyAnswerStatusBannerExist: () => {
|
1780
|
+
graphingPage.correctIncorrectStatusMessageText()
|
1781
|
+
.should('be.visible');
|
1782
|
+
},
|
1783
|
+
|
1784
|
+
verifyCorrectAnswerSectionExist: () => {
|
1785
|
+
graphingPage.correctAnswerLabel()
|
1786
|
+
.should('be.visible');
|
1787
|
+
},
|
1788
|
+
|
1789
|
+
verifyCorrectAnswerSectionNotExist: () => {
|
1790
|
+
graphingPage.correctAnswerLabel()
|
1791
|
+
.should('not.exist');
|
1792
|
+
},
|
1771
1793
|
}
|
1772
1794
|
|
1773
1795
|
const tests = {
|
@@ -1806,28 +1828,25 @@ const tests = {
|
|
1806
1828
|
graphingPage.steps.verifyPointsPlottedOnSpecifyCorrectAnswerSection([{ x: 0, xRange: 20, y: 1, yRange: 20 }, { x: 0, xRange: 20, y: 2, yRange: 20 }]);
|
1807
1829
|
});
|
1808
1830
|
|
1809
|
-
it(`When the user resets the graph in the ${accordionName} accordion,
|
1831
|
+
it(`When the user resets the graph in the ${accordionName} accordion, error message should not be thrown along with an error icon on the '${accordionName}' accordion`, () => {
|
1810
1832
|
graphingPage.graphControlOptionSpecifyCorrectAnswer('Reset')
|
1811
1833
|
.click();
|
1812
1834
|
graphingPage.resetPopupConfirmResetButton()
|
1813
1835
|
.click();
|
1814
|
-
utilities.verifyElementVisibilityState(commonComponents.errorMessage(), '
|
1815
|
-
utilities.verifyInnerText(commonComponents.errorMessage(), 'Error: Please set a correct answer.');
|
1836
|
+
utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'notExist');
|
1816
1837
|
if (accordionName == 'Correct') {
|
1817
1838
|
autoScoredSpecifyCorrectAnswerSection.correctAnswerAccordion()
|
1818
1839
|
.within(() => {
|
1819
|
-
utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), '
|
1840
|
+
utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'notExist');
|
1820
1841
|
});
|
1821
1842
|
} else {
|
1822
1843
|
autoScoredSpecifyCorrectAnswerSection.alternativeAnswerAccordion()
|
1823
1844
|
.within(() => {
|
1824
|
-
utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), '
|
1845
|
+
utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'notExist');
|
1825
1846
|
});
|
1826
1847
|
};
|
1827
1848
|
});
|
1828
1849
|
|
1829
|
-
autoScoredSpecifyCorrectAnswerSection.tests.verifyAutoScoredCorrectAnswerErrorMessageCSSAndA11y();
|
1830
|
-
|
1831
1850
|
it('When the user plots on the graph then the error message should disappear', () => {
|
1832
1851
|
graphingPage.steps.selectGraphToolOptionSpecifyCorrectAnswer('Circle');
|
1833
1852
|
graphingPage.steps.plotPointsOnGraphSpecifyCorrectAnswerSection([{ x: 0, xRange: 20, y: 1, yRange: 20 }, { x: 0, xRange: 20, y: 2, yRange: 20 }]);
|
@@ -174,7 +174,8 @@ const selectors = {
|
|
174
174
|
correctAnswerLabel: () => cy.get('[class*="GridFillResponsestyles__CorrectAnswerLabel"]'),
|
175
175
|
warningMessageContainer: () => cy.get('.disabled-wrapper-cls'),
|
176
176
|
warningMessage: () => cy.get('.disabled-wrapper-cls [class*="DisabledTextWrapper"]'),
|
177
|
-
resetButton: () => cy.get('[class*="reset-color-wrapper"] button')
|
177
|
+
resetButton: () => cy.get('[class*="reset-color-wrapper"] button'),
|
178
|
+
scoringTypeLabelPreviewTab: () => cy.get('[class*="ScoringPreviewBandstyles__ScoreWrapper"]'),
|
178
179
|
}
|
179
180
|
|
180
181
|
const steps = {
|
@@ -2850,6 +2851,15 @@ const steps = {
|
|
2850
2851
|
scoringSectionBaseEditTab.pointsInputField()
|
2851
2852
|
.eq(0)
|
2852
2853
|
.should('have.value', points)
|
2854
|
+
},
|
2855
|
+
|
2856
|
+
/**
|
2857
|
+
* @param {String} ScoringType - Scoring Type to check label with.
|
2858
|
+
* @description - It will check the parameter scoring type string with the scoring type on top left of tab.
|
2859
|
+
*/
|
2860
|
+
checkScoringLabel: (scoringType) => {
|
2861
|
+
autoScoredScoringPreviewTab.scoringTypeLabelPreviewTab()
|
2862
|
+
.should('have.text', scoringType);
|
2853
2863
|
}
|
2854
2864
|
}
|
2855
2865
|
|
@@ -2917,16 +2927,15 @@ const tests = {
|
|
2917
2927
|
'background-color': css.color.gridCellHoverStateBg
|
2918
2928
|
});
|
2919
2929
|
utilities.hoverAwayFromElement(utilities.getNthElement(gridFillPage.cellInSpecifyCorrectAnswerSection(), 9));
|
2920
|
-
utilities.triggerMouseout(utilities.getNthElement(gridFillPage.cellInSpecifyCorrectAnswerSection(), 9));
|
2921
2930
|
});
|
2922
2931
|
|
2923
2932
|
it('User should be able to select the cells of the grid by clicking on them', () => {
|
2924
2933
|
gridFillPage.steps.selectCellSpecifyCorrectAnswerSection(0, 0);
|
2925
2934
|
});
|
2926
2935
|
|
2927
|
-
it(`When user deselect all the cells in the grid in the ${accordionName} accordion,
|
2936
|
+
it(`When user deselect all the cells in the grid in the ${accordionName} accordion, \'Error: Please set a correct answer.\' error message should not be displayed \'${accordionName}\' accordion`, () => {
|
2928
2937
|
gridFillPage.steps.deselectCellSpecifyCorrectAnswerSection(0, 0);
|
2929
|
-
|
2938
|
+
commonComponents.steps.verifyErrorMessageIsNotDisplayed();
|
2930
2939
|
if (accordionName == 'Correct') {
|
2931
2940
|
autoScoredSpecifyCorrectAnswerSection.correctAnswerAccordion()
|
2932
2941
|
.within(() => {
|
@@ -2980,9 +2989,9 @@ const tests = {
|
|
2980
2989
|
utilities.verifyInputFieldValue(gridFillPage.cellShadeCountInputField(), '6');
|
2981
2990
|
});
|
2982
2991
|
|
2983
|
-
it(`When user clears the value in \'Cell shade count\' input field, then error message should not be thrown
|
2992
|
+
it(`When user clears the value in \'Cell shade count\' input field, then error message should not be thrown on the \'${accordionName}\' accordion`, () => {
|
2984
2993
|
gridFillPage.steps.clearCellShadeCountInputField();
|
2985
|
-
|
2994
|
+
utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'notExist')
|
2986
2995
|
});
|
2987
2996
|
|
2988
2997
|
it('CSS of \'Cell shade count\' input field error message', { tags: 'css' }, () => {
|
@@ -1296,9 +1296,16 @@ const steps = {
|
|
1296
1296
|
* @description this function is used to verify in the selected color block of the color popup
|
1297
1297
|
*/
|
1298
1298
|
verifySelectedColorBlock: (color) => {
|
1299
|
-
|
1300
|
-
|
1301
|
-
|
1299
|
+
imageHighlightPage.selectedColorBlock()
|
1300
|
+
.then(($element) => {
|
1301
|
+
cy.wrap($element)
|
1302
|
+
.invoke('css', 'background-color')
|
1303
|
+
.then(actualColor => {
|
1304
|
+
expect(steps.colorsAreClose(actualColor, color, 2)).to.be.true;
|
1305
|
+
console.log(`Selected color: ${actualColor}`);
|
1306
|
+
console.log(`Expected color: ${color}`);
|
1307
|
+
});
|
1308
|
+
});
|
1302
1309
|
},
|
1303
1310
|
|
1304
1311
|
/**
|
@@ -1310,9 +1317,16 @@ const steps = {
|
|
1310
1317
|
imageHighlightPage.specifyCorrectAnswerSectionCustomizedPolygon()
|
1311
1318
|
.eq(index)
|
1312
1319
|
.within(() => {
|
1313
|
-
|
1314
|
-
|
1315
|
-
|
1320
|
+
imageHighlightPage.specifyCorrectAnswerDiamondPattern()
|
1321
|
+
.then(($element) => {
|
1322
|
+
cy.wrap($element)
|
1323
|
+
.invoke('css', 'fill')
|
1324
|
+
.then(actualColor => {
|
1325
|
+
console.log(`Selected color: ${actualColor}`);
|
1326
|
+
console.log(`Expected color: ${color}`);
|
1327
|
+
expect(steps.colorsAreClose(actualColor, color, 2)).to.be.true;
|
1328
|
+
});
|
1329
|
+
});
|
1316
1330
|
});
|
1317
1331
|
},
|
1318
1332
|
|
@@ -1327,9 +1341,16 @@ const steps = {
|
|
1327
1341
|
imageHighlightPage.specifyCorrectAnswerSectionCustomizedPolygon()
|
1328
1342
|
.eq(index)
|
1329
1343
|
.within(() => {
|
1330
|
-
|
1331
|
-
|
1332
|
-
|
1344
|
+
imageHighlightPage.specifyCorrectAnswerDiamondPattern()
|
1345
|
+
.then(($element) => {
|
1346
|
+
cy.wrap($element)
|
1347
|
+
.invoke('css', 'fill')
|
1348
|
+
.then(actualColor => {
|
1349
|
+
expect(steps.colorsAreClose(actualColor, color, 2)).to.be.true;
|
1350
|
+
console.log(`Selected color: ${actualColor}`);
|
1351
|
+
console.log(`Expected color: ${color}`);
|
1352
|
+
});
|
1353
|
+
});
|
1333
1354
|
});
|
1334
1355
|
});
|
1335
1356
|
},
|
@@ -1343,9 +1364,38 @@ const steps = {
|
|
1343
1364
|
imageHighlightPage.specifyCorrectAnswerSectionHighlight()
|
1344
1365
|
.eq(index)
|
1345
1366
|
.within(() => {
|
1346
|
-
|
1347
|
-
|
1348
|
-
|
1367
|
+
imageHighlightPage.specifyCorrectAnswerSectionHighlightPolygon()
|
1368
|
+
.then(($element) => {
|
1369
|
+
cy.wrap($element)
|
1370
|
+
.invoke('css', 'stroke')
|
1371
|
+
.then(actualColor => {
|
1372
|
+
expect(steps.colorsAreClose(actualColor, color, 2)).to.be.true;
|
1373
|
+
console.log(`Selected color: ${actualColor}`);
|
1374
|
+
console.log(`Expected color: ${color}`);
|
1375
|
+
});
|
1376
|
+
});
|
1377
|
+
});
|
1378
|
+
},
|
1379
|
+
|
1380
|
+
/**
|
1381
|
+
* @param {number} index index of highlight region
|
1382
|
+
* @param {string} colorWithOpacity color to be checked in rgba format
|
1383
|
+
* @description this function verifiies the border color of highlight regions in specify correct answer section.
|
1384
|
+
*/
|
1385
|
+
verifyEditedBorderOpacityInSpecifyCorrectAnswerSection: (index, colorWithOpacity) => {
|
1386
|
+
imageHighlightPage.specifyCorrectAnswerSectionHighlight()
|
1387
|
+
.eq(index)
|
1388
|
+
.within(() => {
|
1389
|
+
imageHighlightPage.specifyCorrectAnswerSectionHighlightPolygon()
|
1390
|
+
.then(($element) => {
|
1391
|
+
cy.wrap($element)
|
1392
|
+
.invoke('css', 'stroke')
|
1393
|
+
.then(actualColor => {
|
1394
|
+
expect(steps.colorsAreClose(actualColor, colorWithOpacity, 2)).to.be.true;
|
1395
|
+
console.log(`Selected color: ${actualColor}`);
|
1396
|
+
console.log(`Expected color: ${colorWithOpacity}`);
|
1397
|
+
});
|
1398
|
+
});
|
1349
1399
|
});
|
1350
1400
|
},
|
1351
1401
|
|
@@ -1360,9 +1410,41 @@ const steps = {
|
|
1360
1410
|
imageHighlightPage.previewSectionHighlight()
|
1361
1411
|
.eq(index)
|
1362
1412
|
.within(() => {
|
1363
|
-
|
1364
|
-
|
1365
|
-
|
1413
|
+
imageHighlightPage.specifyCorrectAnswerSectionHighlightPolygon()
|
1414
|
+
.then(($element) => {
|
1415
|
+
cy.wrap($element)
|
1416
|
+
.invoke('css', 'stroke')
|
1417
|
+
.then(actualColor => {
|
1418
|
+
expect(steps.colorsAreClose(actualColor, color, 2)).to.be.true;
|
1419
|
+
console.log(`Selected color: ${actualColor}`);
|
1420
|
+
console.log(`Expected color: ${color}`);
|
1421
|
+
});
|
1422
|
+
});
|
1423
|
+
});
|
1424
|
+
})
|
1425
|
+
},
|
1426
|
+
|
1427
|
+
/**
|
1428
|
+
* @param {number} index index of highlight region
|
1429
|
+
* @param {string} colorWithOpacity color to be checked in rgba format
|
1430
|
+
* @description this function verifies the border color of highlight regions in preview tab.
|
1431
|
+
*/
|
1432
|
+
verifyEditedBorderOpacityInPreviewtabSection: (index, colorWithOpacity) => {
|
1433
|
+
imageHighlightPage.previewTabQuestionWrapper()
|
1434
|
+
.within(() => {
|
1435
|
+
imageHighlightPage.previewSectionHighlight()
|
1436
|
+
.eq(index)
|
1437
|
+
.within(() => {
|
1438
|
+
imageHighlightPage.specifyCorrectAnswerSectionHighlightPolygon()
|
1439
|
+
.then(($element) => {
|
1440
|
+
cy.wrap($element)
|
1441
|
+
.invoke('css', 'stroke')
|
1442
|
+
.then(actualColor => {
|
1443
|
+
expect(steps.colorsAreClose(actualColor, colorWithOpacity, 2)).to.be.true;
|
1444
|
+
console.log(`Selected color: ${actualColor}`);
|
1445
|
+
console.log(`Expected color: ${colorWithOpacity}`);
|
1446
|
+
});
|
1447
|
+
});
|
1366
1448
|
});
|
1367
1449
|
});
|
1368
1450
|
},
|
@@ -1536,6 +1618,24 @@ const steps = {
|
|
1536
1618
|
imageHighlightPage.correctAnswerSection()
|
1537
1619
|
.should('not.exist');
|
1538
1620
|
},
|
1621
|
+
|
1622
|
+
/**
|
1623
|
+
*
|
1624
|
+
* @param {string} actual color
|
1625
|
+
* @param {string} expected color
|
1626
|
+
* @param {string} tolerance allowed difference in RGB values
|
1627
|
+
* @returns
|
1628
|
+
*/
|
1629
|
+
colorsAreClose: (actual, expected, tolerance = 2) => {
|
1630
|
+
const extract = str => str.match(/\d+/g).map(Number);
|
1631
|
+
const [ar, ag, ab] = extract(actual);
|
1632
|
+
const [er, eg, eb] = extract(expected);
|
1633
|
+
return (
|
1634
|
+
Math.abs(ar - er) <= tolerance &&
|
1635
|
+
Math.abs(ag - eg) <= tolerance &&
|
1636
|
+
Math.abs(ab - eb) <= tolerance
|
1637
|
+
);
|
1638
|
+
}
|
1539
1639
|
}
|
1540
1640
|
|
1541
1641
|
const tests = {
|
package/cypress/pages/index.js
CHANGED