itemengine-cypress-automation 1.0.341-e2eFixes18March-66a79d0.0 → 1.0.341-graphAndCharts-0a4e8d7.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/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/HorizontalOrientationBarChart/gradingViewAndCorrectAnswerView.smoke.js +1 -1
- 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/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/editQuestion.smoke.js +1 -3
- 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/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +84 -0
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +3 -3
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/checkAddAlternativeButton.js +33 -0
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/clickAndDrop.js +2 -4
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/draggableOptions.js +2 -4
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabBasicSection.js +33 -0
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/headerSection.js +39 -6
- 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/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +96 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +216 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/backgroundImageAndCanvasProperties.js +0 -1
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/checkAddAlternative.js +37 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/clickAndDrop.js +4 -6
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/editTabBasicSection.js +47 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/headerSection.js +38 -9
- 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/backgroundImageAndCanvasProperties.js +0 -1
- 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 +2 -4
- 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/headerSection.js +1 -2
- package/cypress/e2e/ILC/Graphing/layoutAndGridOptions.js +6 -3
- package/cypress/e2e/ILC/GridFill/customizeLayoutFillImageBackgroundImage.js +11 -0
- 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 +2 -4
- package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +1 -2
- 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/ListOrderingNew/allOrNothingForAllViews.smoke.js +2 -1
- 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/headerSection.js +1 -2
- package/cypress/e2e/ILC/NumberLineLabel/additionalSettingsBasic.js +1 -0
- package/cypress/e2e/ILC/NumberLineLabel/headerSection.js +3 -4
- package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/editQuestion.smoke.js +1 -1
- package/cypress/e2e/ILC/Ruler/rulerEditTabFunctionality.js +10 -0
- package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +31 -48
- package/cypress/e2e/ILC/ShortTextResponseNew/headerSection.js +2 -2
- 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 +0 -2
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +0 -2
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +0 -2
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +1 -3
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +0 -2
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +0 -2
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialDifferentWeightsScoringBasic.js +3 -10
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -4
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +3 -5
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +0 -2
- package/cypress/e2e/ILC/TextEntryMath/MathTemplateScoring/partialEqualWeightsScoringBasic.js +0 -4
- package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +0 -2
- package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAddEvaluation.js +0 -2
- package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingBasicForAlternateAnswer.js +0 -2
- package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +0 -2
- package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +0 -2
- package/cypress/e2e/ILC/TextEntryMath/Scoring/blankResponseScoring.js +2 -8
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +0 -2
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +0 -2
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +0 -2
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsScoringBasic.js +0 -8
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +0 -2
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +0 -2
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +0 -2
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasic.js +0 -1
- package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasicForAlternateAnswer.js +0 -2
- package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViews.smoke.js +0 -8
- package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +0 -2
- package/cypress/e2e/ILC/TextEntryMath/customSettings.js +4 -0
- 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/previewContentsForAllViews.smoke.js +10 -7
- package/cypress/e2e/ILC/TextEntryMathWithImage/styleAndLayoutCustomization.js +1 -1
- package/cypress/e2e/ILC/TextSelection/ScoringParagraph/allOrNothingAlternatePointsMoreThanCorrectPoints.js +80 -0
- package/cypress/e2e/ILC/TextSelection/ScoringParagraph/allOrNothingCorrectPointsMoreThanAlternatePoints.js +30 -0
- package/cypress/e2e/ILC/TextSelection/ScoringParagraph/checkScoringLabelBannerAndCorrectAnswerSection.js +109 -0
- package/cypress/e2e/ILC/TextSelection/checkAddAlternativeButton.js +46 -0
- package/cypress/e2e/ILC/TextSelection/editTabBasicSection.js +57 -0
- package/cypress/e2e/ILC/TextSelection/headerSection.js +38 -6
- package/cypress/e2e/ILC/TextSelection/questionInstructionsAndQuestion.js +1 -2
- 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/Sessions/fetchResponses.js +3 -3
- package/cypress/e2e/Sessions/scores.js +9 -5
- package/cypress/e2e/applitools.config.js +3 -3
- package/cypress/fixtures/constants.js +5 -1
- package/cypress/fixtures/theme/ilc.json +16 -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/brainingCampManipulativePage.js +1 -1
- 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 +17 -51
- 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 +1 -1
- package/cypress/pages/components/defaultToolDropdown.js +7 -6
- package/cypress/pages/components/desmosToolComponent.js +1 -1
- package/cypress/pages/components/editCategoryFlyout.js +2 -2
- package/cypress/pages/components/equationEditorSectionCommonComponent.js +13 -26
- package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +3 -70
- package/cypress/pages/components/fillInTheGapsTextCommonComponent.js +29 -101
- package/cypress/pages/components/gridQuestionCommonComponent.js +8 -37
- package/cypress/pages/components/hideExpressionListComponent.js +53 -0
- package/cypress/pages/components/imageCanvasComponent.js +7 -6
- package/cypress/pages/components/index.js +1 -0
- package/cypress/pages/components/mcqAdditionalSettingsBase.js +4 -0
- package/cypress/pages/components/optionsWrapperComponent.js +1 -1
- package/cypress/pages/components/questionInstructionsComponent.js +7 -0
- package/cypress/pages/components/scoringSectionBaseEditTab.js +12 -13
- package/cypress/pages/desmos3DGraphingPage.js +368 -0
- package/cypress/pages/desmosGeometryPage.js +308 -0
- package/cypress/pages/dialogBoxBase.js +2 -1
- package/cypress/pages/dragAndDropIntoCategoriesPage.js +26 -6
- package/cypress/pages/drawingResponsePage.js +16 -15
- package/cypress/pages/fillInTheGapsDragAndDropPage.js +1 -68
- package/cypress/pages/fillInTheGapsOverImageDragAndDropPage.js +4 -4
- package/cypress/pages/fillInTheGapsOverImageDropdownPage.js +1 -1
- package/cypress/pages/gradingViewPage.js +8 -0
- package/cypress/pages/graphingPage.js +5 -8
- package/cypress/pages/gridFillPage.js +7 -8
- package/cypress/pages/imageHighlightPage.js +0 -66
- package/cypress/pages/index.js +3 -1
- package/cypress/pages/multipleSelectionGridPage.js +1 -68
- package/cypress/pages/multipleSelectionPage.js +10 -106
- package/cypress/pages/numberLineLabelPage.js +5 -8
- package/cypress/pages/numberLinePage.js +4 -7
- package/cypress/pages/selectQuestionResourceToolPage.js +8 -2
- package/cypress/pages/singleSelectionGridPage.js +1 -68
- package/cypress/pages/singleSelectionPage.js +0 -104
- package/cypress/pages/textSelectionPage.js +25 -6
- package/cypress/pages/thinkSpherePage.js +1874 -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 +3 -3
- package/scripts/dataApi.mjs +3 -0
- package/scripts/sorry-cypress.mjs +13 -0
@@ -35,7 +35,6 @@ describe('Create Item page - Fill in the gaps with dropdown: Specify correct ans
|
|
35
35
|
fillInTheGapsDropdownPage.tests.verifyAutoScoredAddAlternativeAnswerButtonAndValidation();
|
36
36
|
|
37
37
|
it('When user has added points and selected an option in dropdown in the \'Correct\' accordion, then the user should be able to add alternative answer for the question using \'Add alternative answer\' button', () => {
|
38
|
-
dialogBoxBase.steps.closeWarningPopup();
|
39
38
|
fillInTheGapsDropdownPage.steps.selectResponseFromDropdownSpecifyCorrectAnswerSection(0, optionsForDropdown[0]);
|
40
39
|
fillInTheGapsDropdownPage.steps.selectResponseFromDropdownSpecifyCorrectAnswerSection(1, optionsForDropdown[1]);
|
41
40
|
fillInTheGapsDropdownPage.steps.allotPoints(10);
|
@@ -23,29 +23,28 @@ describe('Create item page - Fill in the gaps over image with drag and drop: All
|
|
23
23
|
fillInTheGapsOverImageDragAndDropPage.steps.switchToPreviewTab();
|
24
24
|
});
|
25
25
|
|
26
|
-
it('When the user has not set any answer in the \'Specify correct answer\' section and switches to the \'Grading\' view without attempting the question, dropzone numeration should be displayed, correct/incorrect status message should not be displayed, correct answers section with a label \'Correct answers\' should be displayed
|
26
|
+
it('When the user has not set any answer in the \'Specify correct answer\' section and switches to the \'Grading\' view without attempting the question, dropzone numeration should be displayed, correct/incorrect status message should not be displayed, correct answers section with a label \'Correct answers\' should not be displayed', () => {
|
27
27
|
fillInTheGapsOverImageDragAndDropPage.steps.switchToGradingView();
|
28
|
-
fillInTheGapsOverImageDragAndDropPage.steps.
|
28
|
+
fillInTheGapsOverImageDragAndDropPage.steps.checkManuallyScoredScoringLabel();
|
29
29
|
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectIncorrectIconNotExist(0);
|
30
30
|
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectIncorrectIconNotExist(1);
|
31
31
|
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectIncorrectIconNotExist(2);
|
32
32
|
fillInTheGapsOverImageDragAndDropPage.steps.verifyDropzoneNumeration();
|
33
|
-
fillInTheGapsOverImageDragAndDropPage.
|
33
|
+
utilities.verifyElementVisibilityStateWithOption(fillInTheGapsOverImageDragAndDropPage.correctAnswersLabel(), 'notExist');
|
34
34
|
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
|
35
|
-
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([[''], [''], ['']]);
|
36
35
|
});
|
37
36
|
|
38
|
-
it('When the user has not set any answer in the \'Specify correct answer\' section and interacts with the question in the preview tab then correct icons should be displayed beside
|
37
|
+
it('When the user has not set any answer in the \'Specify correct answer\' section and interacts with the question in the preview tab then correct icons should not be displayed beside any responses, no points should be allocated, and correct answer section should not be displayed', () => {
|
39
38
|
fillInTheGapsOverImageDragAndDropPage.steps.resetQuestionPreview();
|
40
39
|
fillInTheGapsOverImageDragAndDropPage.steps.clickAndDropOptionWithIndexInDropzonePreviewTab({ 0: 0 });
|
41
40
|
fillInTheGapsOverImageDragAndDropPage.steps.clickAndDropOptionOutsideDropzoneWithIndexPreviewTab(0);
|
42
41
|
fillInTheGapsOverImageDragAndDropPage.steps.switchToGradingView();
|
43
|
-
fillInTheGapsOverImageDragAndDropPage.steps.
|
44
|
-
fillInTheGapsOverImageDragAndDropPage.steps.
|
45
|
-
fillInTheGapsOverImageDragAndDropPage.steps.
|
46
|
-
fillInTheGapsOverImageDragAndDropPage.steps.
|
47
|
-
fillInTheGapsOverImageDragAndDropPage.
|
48
|
-
fillInTheGapsOverImageDragAndDropPage.steps.
|
42
|
+
fillInTheGapsOverImageDragAndDropPage.steps.checkManuallyScoredScoringLabel();
|
43
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectIncorrectIconNotExist(0);
|
44
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectIncorrectIconNotExist(1);
|
45
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectIncorrectIconNotExist(2);
|
46
|
+
utilities.verifyElementVisibilityStateWithOption(fillInTheGapsOverImageDragAndDropPage.correctAnswersLabel(), 'notExist');
|
47
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
|
49
48
|
});
|
50
49
|
|
51
50
|
it('When the user sets an answer in the \'Specify correct answer\' section then on switching to \'Grading\' view without attempting the question, dropzone numeration should be displayed, correct/incorrect status message should not be displayed, correct answers section with a label \'Correct answers\' should be displayed with correct answers and respective option numeration', () => {
|
@@ -135,27 +134,26 @@ describe('Create item page - Fill in the gaps over image with drag and drop: All
|
|
135
134
|
fillInTheGapsOverImageDragAndDropPage.steps.switchToPreviewTab();
|
136
135
|
});
|
137
136
|
|
138
|
-
it('When the user has not set any answer in the \'Specify correct answer\' section and switches to the \'Grading\' view without attempting the question, dropzone numeration should be displayed, correct/incorrect status message should not be displayed, correct answers section with a label \'Correct answers\' should be displayed
|
137
|
+
it('When the user has not set any answer in the \'Specify correct answer\' section and switches to the \'Grading\' view without attempting the question, dropzone numeration should be displayed, correct/incorrect status message should not be displayed, correct answers section with a label \'Correct answers\' should not be displayed', () => {
|
139
138
|
fillInTheGapsOverImageDragAndDropPage.steps.switchToGradingView();
|
140
|
-
fillInTheGapsOverImageDragAndDropPage.steps.
|
139
|
+
fillInTheGapsOverImageDragAndDropPage.steps.checkManuallyScoredScoringLabel();
|
141
140
|
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectIncorrectIconNotExist(0);
|
142
141
|
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectIncorrectIconNotExist(1);
|
143
142
|
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectIncorrectIconNotExist(2);
|
144
143
|
fillInTheGapsOverImageDragAndDropPage.steps.verifyDropzoneNumeration();
|
145
|
-
fillInTheGapsOverImageDragAndDropPage.
|
144
|
+
utilities.verifyElementVisibilityStateWithOption(fillInTheGapsOverImageDragAndDropPage.correctAnswersLabel(), 'notExist');
|
146
145
|
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
|
147
|
-
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([[''], [''], ['']]);
|
148
146
|
});
|
149
147
|
|
150
|
-
it('When the user has not set any answer in the \'Specify correct answer\' section and interacts with the question in the preview tab then correct icons should be displayed beside
|
148
|
+
it('When the user has not set any answer in the \'Specify correct answer\' section and interacts with the question in the preview tab then correct icons should not be displayed beside any responses, no points should be allocated, and correct answer section should not be displayed', () => {
|
151
149
|
fillInTheGapsOverImageDragAndDropPage.steps.resetQuestionPreview();
|
152
150
|
fillInTheGapsOverImageDragAndDropPage.steps.clickAndDropOptionWithIndexInDropzonePreviewTab({ 0: 0 });
|
153
151
|
fillInTheGapsOverImageDragAndDropPage.steps.clickAndDropOptionOutsideDropzoneWithIndexPreviewTab(0);
|
154
152
|
fillInTheGapsOverImageDragAndDropPage.steps.switchToGradingView();
|
155
|
-
fillInTheGapsOverImageDragAndDropPage.steps.
|
156
|
-
fillInTheGapsOverImageDragAndDropPage.steps.
|
157
|
-
fillInTheGapsOverImageDragAndDropPage.steps.
|
158
|
-
fillInTheGapsOverImageDragAndDropPage.steps.
|
153
|
+
fillInTheGapsOverImageDragAndDropPage.steps.checkManuallyScoredScoringLabel();
|
154
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectIncorrectIconNotExist(0);
|
155
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectIncorrectIconNotExist(1);
|
156
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectIncorrectIconNotExist(2);
|
159
157
|
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectAnswerSectionNotExists();
|
160
158
|
});
|
161
159
|
|
@@ -0,0 +1,96 @@
|
|
1
|
+
import { fillInTheGapsOverImageDragAndDropPage } from "../../../../pages";
|
2
|
+
import abortEarlySetup from "../../../../support/helpers/abortEarly";
|
3
|
+
|
4
|
+
const dropzoneCoordinates = [{ x: 50, y: 50 }, { x: 100, y: 100 }];
|
5
|
+
|
6
|
+
describe('Create Item page - Fill In the Gaps Over Image Drag and Drop', () => {
|
7
|
+
before(() => {
|
8
|
+
cy.loginAs('admin');
|
9
|
+
});
|
10
|
+
|
11
|
+
describe('Question Preview: Auto Scored With Points', () => {
|
12
|
+
abortEarlySetup();
|
13
|
+
before(() => {
|
14
|
+
fillInTheGapsOverImageDragAndDropPage.steps.navigateToCreateQuestion('fill in the gaps over image with drag and drop');
|
15
|
+
cy.barsPreLoaderWait();
|
16
|
+
fillInTheGapsOverImageDragAndDropPage.steps.uploadFile('highlightImage.jpg');
|
17
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyImageIsUploaded();
|
18
|
+
fillInTheGapsOverImageDragAndDropPage.steps.insertResponseArea(10);
|
19
|
+
fillInTheGapsOverImageDragAndDropPage.steps.insertResponseArea(40);
|
20
|
+
fillInTheGapsOverImageDragAndDropPage.steps.addInputToOptionsInputField(['Option 1', 'Option 2']);
|
21
|
+
fillInTheGapsOverImageDragAndDropPage.steps.switchToPreviewTab();
|
22
|
+
});
|
23
|
+
|
24
|
+
it('In Preview tab, when an answer is not set then manually scored scoring label should be displayed', () => {
|
25
|
+
fillInTheGapsOverImageDragAndDropPage.steps.checkManuallyScoredScoringLabel();
|
26
|
+
});
|
27
|
+
|
28
|
+
it('In Preview tab, when user switches to grading view then no banner and correct answer should be displayed', () => {
|
29
|
+
fillInTheGapsOverImageDragAndDropPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Option 1': 0, 'Option 2': 1 });
|
30
|
+
fillInTheGapsOverImageDragAndDropPage.steps.switchToGradingView();
|
31
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyAnswerStatusBannerNotExist();
|
32
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectAnswerSectionNotExist();
|
33
|
+
})
|
34
|
+
|
35
|
+
it('When user allocates points to the question then the scoring label should be displayed as manually scored and banner and correct answer status should not exist', () => {
|
36
|
+
fillInTheGapsOverImageDragAndDropPage.steps.switchToEditTab();
|
37
|
+
fillInTheGapsOverImageDragAndDropPage.steps.allotPoints(2);
|
38
|
+
fillInTheGapsOverImageDragAndDropPage.steps.switchToPreviewTab();
|
39
|
+
fillInTheGapsOverImageDragAndDropPage.steps.checkManuallyScoredScoringLabel();
|
40
|
+
fillInTheGapsOverImageDragAndDropPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Option 1': 0, 'Option 2': 1 });
|
41
|
+
fillInTheGapsOverImageDragAndDropPage.steps.switchToGradingView();
|
42
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyAnswerStatusBannerNotExist();
|
43
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectAnswerSectionNotExist();
|
44
|
+
})
|
45
|
+
|
46
|
+
});
|
47
|
+
|
48
|
+
describe('Question Preview: Auto Scored Without Points', () => {
|
49
|
+
abortEarlySetup();
|
50
|
+
before(() => {
|
51
|
+
fillInTheGapsOverImageDragAndDropPage.steps.navigateToCreateQuestion('fill in the gaps over image with drag and drop');
|
52
|
+
cy.barsPreLoaderWait();
|
53
|
+
fillInTheGapsOverImageDragAndDropPage.steps.uploadFile('highlightImage.jpg');
|
54
|
+
fillInTheGapsOverImageDragAndDropPage.steps.addInputToOptionsInputField(['Option 1', 'Option 2']);
|
55
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyImageIsUploaded();
|
56
|
+
fillInTheGapsOverImageDragAndDropPage.steps.insertResponseArea(10);
|
57
|
+
fillInTheGapsOverImageDragAndDropPage.steps.insertResponseArea(40);
|
58
|
+
fillInTheGapsOverImageDragAndDropPage.steps.clickAndDropOptionInDropzoneSpecifyCorrectAnswerSection({ 'Option 1': 0, 'Option 2': 1 });
|
59
|
+
fillInTheGapsOverImageDragAndDropPage.steps.switchToPreviewTab();
|
60
|
+
});
|
61
|
+
|
62
|
+
it('In Preview tab, when points are not set then manually scored scoring label should be displayed', () => {
|
63
|
+
fillInTheGapsOverImageDragAndDropPage.steps.checkManuallyScoredScoringLabel();
|
64
|
+
});
|
65
|
+
|
66
|
+
it('In Preview tab, when user switches to grading view then banner and correct answer should be displayed', () => {
|
67
|
+
fillInTheGapsOverImageDragAndDropPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Option 1': 1, 'Option 2': 0 });
|
68
|
+
fillInTheGapsOverImageDragAndDropPage.steps.switchToGradingView();
|
69
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyAnswerStatusBannerExist();
|
70
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectAnswerSectionExist();
|
71
|
+
})
|
72
|
+
});
|
73
|
+
|
74
|
+
describe('Question Preview: Non Scored', () => {
|
75
|
+
abortEarlySetup();
|
76
|
+
before(() => {
|
77
|
+
fillInTheGapsOverImageDragAndDropPage.steps.navigateToCreateQuestion('fill in the gaps over image with drag and drop');
|
78
|
+
cy.barsPreLoaderWait();
|
79
|
+
fillInTheGapsOverImageDragAndDropPage.steps.uploadFile('highlightImage.jpg');
|
80
|
+
fillInTheGapsOverImageDragAndDropPage.steps.addInputToOptionsInputField(['Option 1', 'Option 2']);
|
81
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyImageIsUploaded();
|
82
|
+
fillInTheGapsOverImageDragAndDropPage.steps.insertResponseArea(10);
|
83
|
+
fillInTheGapsOverImageDragAndDropPage.steps.insertResponseArea(40);
|
84
|
+
});
|
85
|
+
|
86
|
+
it('When the user selects \'Grading\' view without setting the answer, correct answers section and answer status banner should not be displayed', () => {
|
87
|
+
fillInTheGapsOverImageDragAndDropPage.steps.expandScoringTypeDropdown();
|
88
|
+
fillInTheGapsOverImageDragAndDropPage.steps.selectOptionFromScoringTypeDropdown('Non scored');
|
89
|
+
fillInTheGapsOverImageDragAndDropPage.steps.switchToPreviewTab();
|
90
|
+
fillInTheGapsOverImageDragAndDropPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Option 1': 0, 'Option 2': 1 });
|
91
|
+
fillInTheGapsOverImageDragAndDropPage.steps.switchToGradingView();
|
92
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyAnswerStatusBannerNotExist();
|
93
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectAnswerSectionNotExist();
|
94
|
+
});
|
95
|
+
});
|
96
|
+
});
|
@@ -209,6 +209,222 @@ describe('Create item page - Fill in the gaps over image - drag and drop: All or
|
|
209
209
|
});
|
210
210
|
});
|
211
211
|
|
212
|
+
views.forEach((view) => {
|
213
|
+
describe(`Fill in the Gaps over Image Drag and drop - Manually scored: ${view}`, { tags: 'smoke' }, () => {
|
214
|
+
abortEarlySetup();
|
215
|
+
before(() => {
|
216
|
+
switch (view) {
|
217
|
+
case 'Question preview':
|
218
|
+
fillInTheGapsOverImageDragAndDropPage.steps.navigateToCreateQuestion('fill in the gaps over image with drag and drop');
|
219
|
+
cy.barsPreLoaderWait();
|
220
|
+
fillInTheGapsOverImageDragAndDropPage.steps.addTextInQuestionInstructionsInputField('Drag and drop options into correct dropzone over the image');
|
221
|
+
fillInTheGapsOverImageDragAndDropPage.steps.expandScoringTypeDropdown();
|
222
|
+
fillInTheGapsOverImageDragAndDropPage.steps.selectOptionFromScoringTypeDropdown('Manually scored');
|
223
|
+
fillInTheGapsOverImageDragAndDropPage.steps.uploadFile('highlightImage.jpg');
|
224
|
+
fillInTheGapsOverImageDragAndDropPage.steps.insertResponseArea(10);
|
225
|
+
fillInTheGapsOverImageDragAndDropPage.steps.insertResponseArea(40);
|
226
|
+
fillInTheGapsOverImageDragAndDropPage.steps.insertResponseArea(80);
|
227
|
+
fillInTheGapsOverImageDragAndDropPage.steps.allotPoints(20);
|
228
|
+
fillInTheGapsOverImageDragAndDropPage.steps.addMultipleOptionFields(2);
|
229
|
+
fillInTheGapsOverImageDragAndDropPage.steps.addInputToOptionsInputField(['Petals', 'Leaves', 'Roots', 'Stem']);
|
230
|
+
fillInTheGapsOverImageDragAndDropPage.steps.switchToPreviewTab();
|
231
|
+
break;
|
232
|
+
case 'Item preview':
|
233
|
+
cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
|
234
|
+
itemPreviewPage.steps.switchToPreviewTab();
|
235
|
+
break;
|
236
|
+
case 'Grading view':
|
237
|
+
cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
|
238
|
+
break;
|
239
|
+
};
|
240
|
+
});
|
241
|
+
|
242
|
+
beforeEach(() => {
|
243
|
+
switch (view) {
|
244
|
+
case 'Question preview':
|
245
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
246
|
+
fillInTheGapsOverImageDragAndDropPage.steps.resetQuestionPreview();
|
247
|
+
break;
|
248
|
+
case 'Item preview':
|
249
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
250
|
+
itemPreviewPage.steps.resetQuestionPreview();
|
251
|
+
break;
|
252
|
+
case 'Grading view':
|
253
|
+
cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
|
254
|
+
break;
|
255
|
+
}
|
256
|
+
});
|
257
|
+
|
258
|
+
if (view === 'Question preview') {
|
259
|
+
after(() => {
|
260
|
+
fillInTheGapsOverImageDragAndDropPage.steps.clickOnSaveQuestionButton();
|
261
|
+
utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
|
262
|
+
itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
|
263
|
+
});
|
264
|
+
};
|
265
|
+
|
266
|
+
it('Question instructions should be visible', () => {
|
267
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyQuestionInstructionsTextPreviewTab('Drag and drop options into correct dropzone over the image');
|
268
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyVisibityOfQuestionInstructionsText();
|
269
|
+
});
|
270
|
+
|
271
|
+
it('User should be able to attempt the question in student view, and correct/incorrect icons, "Your answer is correct/incorrect" label, and correct answer section should not be displayed in grading view', () => {
|
272
|
+
fillInTheGapsOverImageDragAndDropPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Petals': 0, 'Leaves': 1, 'Roots': 2 });
|
273
|
+
if (view === 'Grading view') {
|
274
|
+
studentViewPage.steps.submitResponse();
|
275
|
+
utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
|
276
|
+
studentViewPage.steps.clickOnGoToGradingViewButton();
|
277
|
+
gradingViewPage.steps.verifyGradingViewScore('', 20);
|
278
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectIncorrectIconNotExist(0);
|
279
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectIncorrectIconNotExist(1);
|
280
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectIncorrectIconNotExist(2);
|
281
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyAnswerStatusBannerNotExist();
|
282
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectAnswerSectionNotExist();
|
283
|
+
};
|
284
|
+
if (view === 'Question preview' || view === 'Item preview') {
|
285
|
+
fillInTheGapsOverImageDragAndDropPage.steps.checkManuallyScoredScoringLabel();
|
286
|
+
};
|
287
|
+
});
|
288
|
+
});
|
289
|
+
});
|
290
|
+
|
291
|
+
views.forEach((view) => {
|
292
|
+
describe(`Fill in the Gaps Over Image Drag and drop - Non scored: ${view}`, { tags: 'smoke' }, () => {
|
293
|
+
abortEarlySetup();
|
294
|
+
before(() => {
|
295
|
+
switch (view) {
|
296
|
+
case 'Question preview':
|
297
|
+
fillInTheGapsOverImageDragAndDropPage.steps.navigateToCreateQuestion('fill in the gaps over image with drag and drop');
|
298
|
+
cy.barsPreLoaderWait();
|
299
|
+
fillInTheGapsOverImageDragAndDropPage.steps.addTextInQuestionInstructionsInputField('Drag and drop options into correct dropzones over the image');
|
300
|
+
fillInTheGapsOverImageDragAndDropPage.steps.uploadFile('highlightImage.jpg');
|
301
|
+
fillInTheGapsOverImageDragAndDropPage.steps.insertResponseArea(10);
|
302
|
+
fillInTheGapsOverImageDragAndDropPage.steps.insertResponseArea(40);
|
303
|
+
fillInTheGapsOverImageDragAndDropPage.steps.insertResponseArea(80);
|
304
|
+
fillInTheGapsOverImageDragAndDropPage.steps.addMultipleOptionFields(2);
|
305
|
+
fillInTheGapsOverImageDragAndDropPage.steps.addInputToOptionsInputField(['Petals', 'Leaves', 'Roots', 'Stem']);
|
306
|
+
fillInTheGapsOverImageDragAndDropPage.steps.expandScoringTypeDropdown();
|
307
|
+
fillInTheGapsOverImageDragAndDropPage.steps.selectOptionFromScoringTypeDropdown('Non scored');
|
308
|
+
fillInTheGapsOverImageDragAndDropPage.steps.clickAndDropOptionInDropzoneSpecifyCorrectAnswerSection({ 'Petals': 0, 'Leaves': 1, 'Stem': 2 });
|
309
|
+
fillInTheGapsOverImageDragAndDropPage.steps.switchToPreviewTab();
|
310
|
+
break;
|
311
|
+
case 'Item preview':
|
312
|
+
cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
|
313
|
+
itemPreviewPage.steps.switchToPreviewTab();
|
314
|
+
break;
|
315
|
+
case 'Grading view':
|
316
|
+
cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
|
317
|
+
break;
|
318
|
+
};
|
319
|
+
});
|
320
|
+
|
321
|
+
beforeEach(() => {
|
322
|
+
switch (view) {
|
323
|
+
case 'Question preview':
|
324
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
325
|
+
fillInTheGapsOverImageDragAndDropPage.steps.resetQuestionPreview();
|
326
|
+
break;
|
327
|
+
case 'Item preview':
|
328
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
329
|
+
itemPreviewPage.steps.resetQuestionPreview();
|
330
|
+
break;
|
331
|
+
case 'Grading view':
|
332
|
+
cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
|
333
|
+
break;
|
334
|
+
}
|
335
|
+
});
|
336
|
+
|
337
|
+
if (view === 'Question preview') {
|
338
|
+
after(() => {
|
339
|
+
fillInTheGapsOverImageDragAndDropPage.steps.clickOnSaveQuestionButton();
|
340
|
+
utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
|
341
|
+
itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
|
342
|
+
});
|
343
|
+
};
|
344
|
+
|
345
|
+
it('When the user selects "Grading" view without attempting the question, non-scoring label should be displayed, correct/incorrect status message should not be displayed, correct answers section with a label "Correct answers" should be displayed with correct answers and correct/incorrect icons should not be displayed', () => {
|
346
|
+
if (view === 'Grading view') {
|
347
|
+
studentViewPage.steps.submitResponse();
|
348
|
+
utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
|
349
|
+
studentViewPage.steps.clickOnGoToGradingViewButton();
|
350
|
+
gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
|
351
|
+
};
|
352
|
+
if (view === 'Question preview' || view === 'Item preview') {
|
353
|
+
fillInTheGapsOverImageDragAndDropPage.steps.checkNonScoredScoringLabel();
|
354
|
+
fillInTheGapsOverImageDragAndDropPage.steps.switchToGradingView();
|
355
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyPreviewTabPointsBackgroundForIncorrectOrPartiallyCorrectAnswer();
|
356
|
+
};
|
357
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectIncorrectIconsNotExist();
|
358
|
+
utilities.verifyInnerText(fillInTheGapsOverImageDragAndDropPage.correctAnswersLabel(), 'Correct answers');
|
359
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Petals'], ['Leaves'], ['Stem']]);
|
360
|
+
});
|
361
|
+
|
362
|
+
it('When the user attempts the question incorrectly, and on switching to "Grading" view, non-scoring label should be displayed, incorrect icon should be displayed beside incorrect response, a status message with text "Your answer is incorrect" and correct answer section with correct answers should be displayed', () => {
|
363
|
+
fillInTheGapsOverImageDragAndDropPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Roots': 0, 'Leaves': 2, 'Stem': 1 });
|
364
|
+
if (view === 'Grading view') {
|
365
|
+
studentViewPage.steps.submitResponse();
|
366
|
+
utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
|
367
|
+
studentViewPage.steps.clickOnGoToGradingViewButton();
|
368
|
+
gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
|
369
|
+
};
|
370
|
+
if (view === 'Question preview' || view === 'Item preview') {
|
371
|
+
fillInTheGapsOverImageDragAndDropPage.steps.checkNonScoredScoringLabel();
|
372
|
+
fillInTheGapsOverImageDragAndDropPage.steps.switchToGradingView();
|
373
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyPreviewTabPointsBackgroundForIncorrectOrPartiallyCorrectAnswer();
|
374
|
+
};
|
375
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyIncorrectOptionIcon(0);
|
376
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyIncorrectOptionIcon(1);
|
377
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyIncorrectOptionIcon(2);
|
378
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
379
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Petals'], ['Leaves'], ['Stem']]);
|
380
|
+
});
|
381
|
+
|
382
|
+
it('When the user attempts the question partially correct, then the user should be awarded 0 points and on switching to \'Grading\' view, correct icon should be displayed besides the correct answer responses, incorrect icon should be displayed besides incorrect answer response, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers along should be displayed', () => {
|
383
|
+
if (view === 'Grading view') {
|
384
|
+
studentViewPage.steps.clearResponses();
|
385
|
+
};
|
386
|
+
fillInTheGapsOverImageDragAndDropPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Petals': 0, 'Leaves': 2, 'Stem': 1 });
|
387
|
+
if (view === 'Grading view') {
|
388
|
+
studentViewPage.steps.submitResponse();
|
389
|
+
utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
|
390
|
+
studentViewPage.steps.clickOnGoToGradingViewButton();
|
391
|
+
gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
|
392
|
+
};
|
393
|
+
if (view === 'Question preview' || view === 'Item preview') {
|
394
|
+
fillInTheGapsOverImageDragAndDropPage.steps.checkNonScoredScoringLabel();
|
395
|
+
fillInTheGapsOverImageDragAndDropPage.steps.switchToGradingView();
|
396
|
+
};
|
397
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectOptionIcon(0);
|
398
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyIncorrectOptionIcon(1);
|
399
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyIncorrectOptionIcon(2);
|
400
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
401
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Petals'], ['Leaves'], ['Stem']]);
|
402
|
+
});
|
403
|
+
|
404
|
+
it('When the user attempts the question correctly, and on switching to "Grading" view, non-scoring label should be displayed, correct icons should be displayed beside the correct response, a status message with text "Your answer is correct" should be displayed and correct answer section should not be displayed', () => {
|
405
|
+
if (view === 'Grading view') {
|
406
|
+
studentViewPage.steps.clearResponses();
|
407
|
+
};
|
408
|
+
fillInTheGapsOverImageDragAndDropPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Petals': 0, 'Leaves': 1, 'Stem': 2 });
|
409
|
+
if (view === 'Grading view') {
|
410
|
+
studentViewPage.steps.submitResponse();
|
411
|
+
utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
|
412
|
+
studentViewPage.steps.clickOnGoToGradingViewButton();
|
413
|
+
gradingViewPage.steps.verifyScoresNotVisibleForNonScoredQuestions();
|
414
|
+
};
|
415
|
+
if (view === 'Question preview' || view === 'Item preview') {
|
416
|
+
fillInTheGapsOverImageDragAndDropPage.steps.checkNonScoredScoringLabel();
|
417
|
+
fillInTheGapsOverImageDragAndDropPage.steps.switchToGradingView();
|
418
|
+
};
|
419
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectOptionIcon(0);
|
420
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectOptionIcon(1);
|
421
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectOptionIcon(2);
|
422
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
|
423
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyCorrectAnswerSectionNotExists();
|
424
|
+
});
|
425
|
+
});
|
426
|
+
});
|
427
|
+
|
212
428
|
if (!grepTags || !grepTags.includes('smoke')) {
|
213
429
|
describe('Question preview: Auto scored - All or nothing: Minimum scoring', () => {
|
214
430
|
abortEarlySetup();
|
package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/backgroundImageAndCanvasProperties.js
CHANGED
@@ -375,7 +375,6 @@ describe('Create item page - Fill in the gaps: Question instructions, Options se
|
|
375
375
|
cy.barsPreLoaderWait();
|
376
376
|
fillInTheGapsOverImageDragAndDropPage.steps.uploadFile('highlightImage.jpg');
|
377
377
|
fillInTheGapsOverImageDragAndDropPage.steps.verifyFileNameLabel('highlightImage.jpg');
|
378
|
-
utilities.verifyElementVisibilityState(fillInTheGapsOverImageDragAndDropPage.uploadImageProgressBar(), 'visible');
|
379
378
|
fillInTheGapsOverImageDragAndDropPage.steps.verifyImageIsUploaded();
|
380
379
|
});
|
381
380
|
|
@@ -0,0 +1,37 @@
|
|
1
|
+
import { fillInTheGapsOverImageDragAndDropPage } from "../../../pages";
|
2
|
+
import abortEarlySetup from "../../../support/helpers/abortEarly";
|
3
|
+
|
4
|
+
describe('Create question page - Fill In the Gaps Over Image Drag and Drop', () => {
|
5
|
+
before(() => {
|
6
|
+
cy.loginAs('admin');
|
7
|
+
});
|
8
|
+
|
9
|
+
describe('Check Alternative Answer Button', () => {
|
10
|
+
abortEarlySetup();
|
11
|
+
before(() => {
|
12
|
+
fillInTheGapsOverImageDragAndDropPage.steps.navigateToCreateQuestion('fill in the gaps over image with drag and drop');
|
13
|
+
cy.barsPreLoaderWait();
|
14
|
+
fillInTheGapsOverImageDragAndDropPage.steps.addTextInQuestionInstructionsInputField('Drag and drop options into correct dropzone');
|
15
|
+
fillInTheGapsOverImageDragAndDropPage.steps.uploadFile('highlightImage.jpg');
|
16
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyImageIsUploaded();
|
17
|
+
fillInTheGapsOverImageDragAndDropPage.steps.addMultipleOptionFields(2);
|
18
|
+
fillInTheGapsOverImageDragAndDropPage.steps.insertResponseArea(10);
|
19
|
+
fillInTheGapsOverImageDragAndDropPage.steps.addInputToOptionsInputField(['Option 1', 'Option 2']);
|
20
|
+
});
|
21
|
+
|
22
|
+
it('When correct answer is not set then alternative answer should be disabled', () => {
|
23
|
+
fillInTheGapsOverImageDragAndDropPage.steps.checkAlternativeButtonDisabled();
|
24
|
+
});
|
25
|
+
|
26
|
+
it('When correct answer is set then alternative answer should be enabled', () => {
|
27
|
+
fillInTheGapsOverImageDragAndDropPage.steps.allotPoints(20);
|
28
|
+
fillInTheGapsOverImageDragAndDropPage.steps.clickAndDropOptionInDropzoneSpecifyCorrectAnswerSection({ 'Option 1': 0 });
|
29
|
+
fillInTheGapsOverImageDragAndDropPage.steps.checkAlternativeButtonEnabled();
|
30
|
+
});
|
31
|
+
|
32
|
+
it('User should be able to add \'Alternative\' answer using the \'Add alternative\' button, when user has not set any answer in the \'Alternative\' accordion and clicks on the \'Correct\' accordion then \'Correct\' accordion should be expanded', () => {
|
33
|
+
fillInTheGapsOverImageDragAndDropPage.steps.clickOnAddAlternativeAnswerButton();
|
34
|
+
fillInTheGapsOverImageDragAndDropPage.steps.expandCorrectAnswerAccordion();
|
35
|
+
});
|
36
|
+
});
|
37
|
+
});
|
@@ -153,12 +153,11 @@ describe('Create Item Page: Fill in the gaps over image - drag and drop: Click a
|
|
153
153
|
fillInTheGapsOverImageDragAndDropPage.steps.verifyInactiveStateOfAllDropzoneInSpecifyCorrectAnswerSection();
|
154
154
|
});
|
155
155
|
|
156
|
-
it('When the user selects a filled option and clicks in the options container, the selected option should get back in the options container
|
156
|
+
it('When the user selects a filled option and clicks in the options container, the selected option should get back in the options container and \'Error: Please set a correct answer\' error message should be displayed', () => {
|
157
157
|
fillInTheGapsOverImageDragAndDropPage.steps.clickAndDropOptionInOptionsContainerInSpecifyCorrectAnswerSection('Petals');
|
158
158
|
fillInTheGapsOverImageDragAndDropPage.steps.clickAndDropOptionInOptionsContainerInSpecifyCorrectAnswerSection('Flower');
|
159
159
|
fillInTheGapsOverImageDragAndDropPage.steps.verifyDraggableOptionInOptionsContainerSpecifyCorrectAnswerSection(['Petals', 'Flower', 'Stem', 'Seed']);
|
160
|
-
utilities.
|
161
|
-
utilities.verifyElementVisibilityState(fillInTheGapsOverImageDragAndDropPage.errorMessage(), 'visible');
|
160
|
+
utilities.verifyElementVisibilityState(fillInTheGapsOverImageDragAndDropPage.errorMessage(), 'notExist');
|
162
161
|
});
|
163
162
|
|
164
163
|
fillInTheGapsOverImageDragAndDropPage.tests.verifyErrorMessageCSSAndA11y();
|
@@ -483,13 +482,12 @@ describe('Create Item Page: Fill in the gaps over image - drag and drop: Click a
|
|
483
482
|
fillInTheGapsOverImageDragAndDropPage.steps.verifyInactiveStateOfAllDropzoneInSpecifyCorrectAnswerSection();
|
484
483
|
});
|
485
484
|
|
486
|
-
it('When the user selects a filled option and clicks in the options container, the selected option should get back in the options container
|
485
|
+
it('When the user selects a filled option and clicks in the options container, the selected option should get back in the options container and no error message should be displayed', () => {
|
487
486
|
fillInTheGapsOverImageDragAndDropPage.steps.clickAndDropGroupedOptionInOptionsContainerInSpecifyCorrectAnswerSection('Petals');
|
488
487
|
fillInTheGapsOverImageDragAndDropPage.steps.clickAndDropGroupedOptionInOptionsContainerInSpecifyCorrectAnswerSection('Flower');
|
489
488
|
fillInTheGapsOverImageDragAndDropPage.steps.verifyGroupedContainerContentsInSpecifyCorrectAnswerSection(0, groupedOptions[0]);
|
490
489
|
fillInTheGapsOverImageDragAndDropPage.steps.verifyGroupedContainerContentsInSpecifyCorrectAnswerSection(1, groupedOptions[1]);
|
491
|
-
utilities.
|
492
|
-
utilities.verifyElementVisibilityState(fillInTheGapsOverImageDragAndDropPage.errorMessage(), 'visible');
|
490
|
+
utilities.verifyElementVisibilityState(fillInTheGapsOverImageDragAndDropPage.errorMessage(), 'notExist');
|
493
491
|
});
|
494
492
|
|
495
493
|
fillInTheGapsOverImageDragAndDropPage.tests.verifyErrorMessageCSSAndA11y();
|
@@ -0,0 +1,47 @@
|
|
1
|
+
import { fillInTheGapsOverImageDragAndDropPage } from "../../../pages";
|
2
|
+
import abortEarlySetup from "../../../support/helpers/abortEarly";
|
3
|
+
|
4
|
+
describe('Create item page - Fill In the Gaps Over Image Drag and Drop', () => {
|
5
|
+
|
6
|
+
before(() => {
|
7
|
+
cy.loginAs('admin');
|
8
|
+
});
|
9
|
+
|
10
|
+
describe('User should be able to edit incomplete authored question', () => {
|
11
|
+
before(() => {
|
12
|
+
fillInTheGapsOverImageDragAndDropPage.steps.navigateToCreateQuestion('fill in the gaps over image with drag and drop');
|
13
|
+
cy.barsPreLoaderWait();
|
14
|
+
fillInTheGapsOverImageDragAndDropPage.steps.saveAQuestionWithIncompleteAuthoring();
|
15
|
+
fillInTheGapsOverImageDragAndDropPage.steps.editItem();
|
16
|
+
});
|
17
|
+
|
18
|
+
it('Warning icons should be displayed on the required input fields', () => {
|
19
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyWarningIconOnRequiredFields(
|
20
|
+
[
|
21
|
+
"Please enter all option values",
|
22
|
+
"Please upload an image",
|
23
|
+
"Please set points"
|
24
|
+
]);
|
25
|
+
});
|
26
|
+
|
27
|
+
it('When required input fields are filled then warning icons should disappear', () => {
|
28
|
+
fillInTheGapsOverImageDragAndDropPage.steps.uploadFile('highlightImage.jpg');
|
29
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyImageIsUploaded();
|
30
|
+
fillInTheGapsOverImageDragAndDropPage.steps.addMultipleOptionFields(2);
|
31
|
+
fillInTheGapsOverImageDragAndDropPage.steps.insertResponseArea(10);
|
32
|
+
fillInTheGapsOverImageDragAndDropPage.steps.insertResponseArea(40);
|
33
|
+
fillInTheGapsOverImageDragAndDropPage.steps.addInputToOptionsInputField(['Petals', 'Leaves', 'Roots', 'Stem']);
|
34
|
+
fillInTheGapsOverImageDragAndDropPage.steps.allotPoints(10);
|
35
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyErrorMessageIsNotDisplayed();
|
36
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifySpecifyCorrectAnswerErrorIconNotExists();
|
37
|
+
});
|
38
|
+
|
39
|
+
it('Clicking on Save Question button the question should get saved and a snackbar with text \'Saved successfully!\' should be displayed', () => {
|
40
|
+
fillInTheGapsOverImageDragAndDropPage.steps.saveAQuestionAndVerifySnackbar();
|
41
|
+
});
|
42
|
+
|
43
|
+
it('Warning icon should not be visible', () => {
|
44
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyWarningIconNotExist();
|
45
|
+
});
|
46
|
+
});
|
47
|
+
});
|
@@ -1,7 +1,11 @@
|
|
1
1
|
import abortEarlySetup from "../../../support/helpers/abortEarly";
|
2
|
-
import { dialogBoxBase, fillInTheGapsOverImageDragAndDropPage } from "../../../pages";
|
2
|
+
import { dialogBoxBase, fillInTheGapsOverImageDragAndDropPage, itemPreviewPage } from "../../../pages";
|
3
|
+
import { browseItemsPage } from "../../../pages/components";
|
3
4
|
import utilities from "../../../support/helpers/utilities";
|
5
|
+
|
4
6
|
const options = ['Flower', 'Leaves'];
|
7
|
+
var itemReferenceID = "";
|
8
|
+
|
5
9
|
|
6
10
|
describe('Create item page - Fill in the gaps over image - drag and drop: Header section and Saving question', () => {
|
7
11
|
before(() => {
|
@@ -40,20 +44,15 @@ describe('Create item page - Fill in the gaps over image - drag and drop: Header
|
|
40
44
|
before(() => {
|
41
45
|
fillInTheGapsOverImageDragAndDropPage.steps.navigateToCreateQuestion('fill in the gaps over image with drag and drop');
|
42
46
|
cy.barsPreLoaderWait();
|
47
|
+
utilities.verifyElementCount(fillInTheGapsOverImageDragAndDropPage.optionsInputField(), 2);
|
43
48
|
});
|
44
49
|
|
45
50
|
describe('Validation error messages', () => {
|
46
|
-
dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton();
|
47
|
-
|
51
|
+
dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please enter all option values', 'Please upload an image', 'Please set points']);
|
48
52
|
|
49
53
|
it('Validation error messages should be displayed below required input fields', () => {
|
50
54
|
fillInTheGapsOverImageDragAndDropPage.steps.verifyQuestionInstructionsErrorMessageIsNotDisplayed();
|
51
|
-
|
52
|
-
utilities.verifyInnerText(utilities.getNthElement(fillInTheGapsOverImageDragAndDropPage.errorMessage(), 1), 'Error: Please insert a dropzone.');
|
53
|
-
fillInTheGapsOverImageDragAndDropPage.steps.verifyPointsFieldErrorMessageIsNotDisplayed();
|
54
|
-
fillInTheGapsOverImageDragAndDropPage.steps.verifyOptionsInputFieldErrorMessageDoesNotExist(0);
|
55
|
-
fillInTheGapsOverImageDragAndDropPage.steps.verifySpecifyCorrectAnswerErrorIconIsVisible();
|
56
|
-
fillInTheGapsOverImageDragAndDropPage.steps.verifySpecifyCorrectAnswerErrorMessage();
|
55
|
+
fillInTheGapsOverImageDragAndDropPage.steps.verifyWarningIconOnRequiredFields(['Please enter all option values', 'Please upload an image', 'Please set points'])
|
57
56
|
});
|
58
57
|
|
59
58
|
it('Validation error messages should disappear when required input fields are filled', () => {
|
@@ -79,5 +78,35 @@ describe('Create item page - Fill in the gaps over image - drag and drop: Header
|
|
79
78
|
});
|
80
79
|
fillInTheGapsOverImageDragAndDropPage.tests.verifySavedSuccessfullySnackbarCSSAndA11y();
|
81
80
|
});
|
81
|
+
|
82
|
+
describe('Saving a question with incomplete authoring', () => {
|
83
|
+
abortEarlySetup();
|
84
|
+
before(() => {
|
85
|
+
fillInTheGapsOverImageDragAndDropPage.steps.navigateToCreateQuestion('fill in the gaps over image with drag and drop');
|
86
|
+
cy.barsPreLoaderWait();
|
87
|
+
});
|
88
|
+
|
89
|
+
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', () => {
|
90
|
+
dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please enter all option values', 'Please set points']);
|
91
|
+
fillInTheGapsOverImageDragAndDropPage.steps.saveAQuestionWithIncompleteAuthoring();
|
92
|
+
});
|
93
|
+
fillInTheGapsOverImageDragAndDropPage.tests.verifySavedSuccessfullySnackbarCSSAndA11y();
|
94
|
+
});
|
95
|
+
});
|
96
|
+
|
97
|
+
describe('Save as you go - Browse item page contents', () => {
|
98
|
+
abortEarlySetup();
|
99
|
+
before(() => {
|
100
|
+
fillInTheGapsOverImageDragAndDropPage.steps.navigateToCreateQuestion('fill in the gaps over image with drag and drop');
|
101
|
+
cy.barsPreLoaderWait();
|
102
|
+
fillInTheGapsOverImageDragAndDropPage.steps.saveAQuestionWithIncompleteAuthoring();
|
103
|
+
utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
|
104
|
+
itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
|
105
|
+
browseItemsPage.steps.navigateToBrowseItemsPage();
|
106
|
+
});
|
107
|
+
|
108
|
+
it('When user saves an incompletely authored question then a warning icon should be visible in browse items page', () => {
|
109
|
+
browseItemsPage.steps.verifyWarningIconInBrowseItemPage(`${itemReferenceID}`);
|
110
|
+
});
|
82
111
|
});
|
83
112
|
});
|
@@ -492,7 +492,11 @@ describe('Create Item page - Fill in the gaps over image - drag and drop: Studen
|
|
492
492
|
fillInTheGapsOverImageDragAndDropPage.steps.insertResponseArea(40);
|
493
493
|
fillInTheGapsOverImageDragAndDropPage.steps.insertResponseArea(80);
|
494
494
|
fillInTheGapsOverImageDragAndDropPage.steps.addMultipleOptionFields(3);
|
495
|
-
fillInTheGapsOverImageDragAndDropPage.steps.
|
495
|
+
fillInTheGapsOverImageDragAndDropPage.steps.enterTextInOptionInputField(0, options[0]);
|
496
|
+
fillInTheGapsOverImageDragAndDropPage.steps.enterTextInOptionInputField(1, options[1]);
|
497
|
+
fillInTheGapsOverImageDragAndDropPage.steps.enterTextInOptionInputField(2, options[2]);
|
498
|
+
fillInTheGapsOverImageDragAndDropPage.steps.enterTextInOptionInputField(3, options[3]);
|
499
|
+
fillInTheGapsOverImageDragAndDropPage.steps.enterTextInOptionInputField(4, options[4]);
|
496
500
|
cy.wait(2000);
|
497
501
|
fillInTheGapsOverImageDragAndDropPage.steps.allotPoints(5);
|
498
502
|
});
|