itemengine-cypress-automation 1.0.131-updateILCrepo6March-02c78d1.0 → 1.0.132
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cypress/e2e/ILC/AudioResponseNew/barRecorderStyle.smoke.js +3 -6
 - package/cypress/e2e/ILC/AudioResponseNew/compactRecorderStyle.smoke.js +2 -4
 - package/cypress/e2e/ILC/AudioResponseNew/standardRecorderStyle.smoke.js +3 -7
 - package/cypress/e2e/ILC/EssayResponse/essayResponseCustomizeFormattingOptions1.smoke.js +2 -0
 - package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/additionalSettings.js +154 -0
 - package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/dropzoneAlternateAnswerPopup.js +170 -0
 - package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/dropzoneSettings.js +335 -0
 - package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/editTabBasicSection.js +142 -0
 - package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/headerSection.js +76 -0
 - package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +194 -0
 - package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViews.smoke.js +8 -8
 - package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/studentViewSettings.js +341 -0
 - package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/studentViewSettingsForGroupedLayout.js +241 -0
 - package/cypress/e2e/ILC/FillInTheGapsDropdownNew/allOrNothingForAllView.smoke.js +1 -1
 - package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/studentViewSettingsForGroupedLayout.js +3 -3
 - package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +350 -0
 - package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToCorrectPoints.js +356 -0
 - package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +402 -0
 - package/cypress/e2e/ILC/Graphing/previewContentsForAllViews.smoke.js +4 -4
 - package/cypress/e2e/ILC/SimpleCalculator/editTabFunctionality.js +242 -0
 - package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViews.smoke.js +11 -16
 - package/cypress/e2e/ILC/TextEntryMath/checkAnswerFunctionalityForAllViews.smoke.js +4 -6
 - package/cypress/e2e/ILC/TextEntryMath/previewContentsForAllViews.smoke.js +3 -4
 - package/cypress/fixtures/theme/ilc.json +2 -0
 - package/cypress/pages/audioResponsePage.js +1 -1
 - package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +1 -1
 - package/cypress/pages/components/correctIncorrectAnswerLabelComponent.js +1 -1
 - package/cypress/pages/components/fillInTheGapsDragAndDropCommonComponents.js +35 -5
 - package/cypress/pages/components/imageCanvasComponent.js +1 -1
 - package/cypress/pages/components/index.js +2 -1
 - package/cypress/pages/components/questionInputFieldComponent.js +31 -0
 - package/cypress/pages/components/responseAreaSettingsPopupComponent.js +74 -0
 - package/cypress/pages/drawingResponsePage.js +1 -1
 - package/cypress/pages/fillInTheGapsDragAndDropPage.js +318 -62
 - package/cypress/pages/fillInTheGapsOverImageDragAndDropPage.js +2 -26
 - package/cypress/pages/fillInTheGapsOverImageDropdownPage.js +24 -1
 - package/cypress/pages/simpleCalculatorPage.js +140 -10
 - package/cypress/pages/textEntryMathPage.js +3 -2
 - package/package.json +2 -2
 
| 
         @@ -0,0 +1,74 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            const selectors = {
         
     | 
| 
      
 2 
     | 
    
         
            +
                responseAreaSettingsWidthLabel: () => cy.get('[class*="InputNumberFieldstyle__NumberFieldWrapper"] .input-label-fields').eq(0),
         
     | 
| 
      
 3 
     | 
    
         
            +
                responseAreaSettingsWidthInputField: () => cy.get('[class*="InputNumberFieldstyle__NumberFieldWrapper"] input').eq(0),
         
     | 
| 
      
 4 
     | 
    
         
            +
                responseAreaSettingsHeightLabel: () => cy.get('[class*="InputNumberFieldstyle__NumberFieldWrapper"] .input-label-fields').eq(1),
         
     | 
| 
      
 5 
     | 
    
         
            +
                responseAreaSettingsHeightInputField: () => cy.get('[class*="InputNumberFieldstyle__NumberFieldWrapper"] input').eq(1),
         
     | 
| 
      
 6 
     | 
    
         
            +
                responseAreaSettingsCancelButton: () => cy.get('[class*="ResponseSettingsPopupstyles__PopupActionButtons"] button').eq(0),
         
     | 
| 
      
 7 
     | 
    
         
            +
                responseAreaSettingsOkButton: () => cy.get('[class*="ResponseSettingsPopupstyles__PopupActionButtons"] button').eq(1),
         
     | 
| 
      
 8 
     | 
    
         
            +
            }
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
            const steps = {
         
     | 
| 
      
 11 
     | 
    
         
            +
                /**
         
     | 
| 
      
 12 
     | 
    
         
            +
                 * Verify response area settings width input field value
         
     | 
| 
      
 13 
     | 
    
         
            +
                 * @param {number} width Value of width input field in response area settings popup
         
     | 
| 
      
 14 
     | 
    
         
            +
                 */
         
     | 
| 
      
 15 
     | 
    
         
            +
                verifyResponseAreaSettingsWidthInputFieldValue: (width) => {
         
     | 
| 
      
 16 
     | 
    
         
            +
                    responseAreaSettingsPopupComponent.responseAreaSettingsWidthInputField()
         
     | 
| 
      
 17 
     | 
    
         
            +
                        .should('have.value', width);
         
     | 
| 
      
 18 
     | 
    
         
            +
                },
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
                verifyMinimumValueOfWidthAndHeightInputFields: () => {
         
     | 
| 
      
 21 
     | 
    
         
            +
                    responseAreaSettingsPopupComponent.responseAreaSettingsWidthInputField()
         
     | 
| 
      
 22 
     | 
    
         
            +
                        .parent()
         
     | 
| 
      
 23 
     | 
    
         
            +
                        .should('have.attr', 'minallowed', '80');
         
     | 
| 
      
 24 
     | 
    
         
            +
                    responseAreaSettingsPopupComponent.responseAreaSettingsHeightInputField()
         
     | 
| 
      
 25 
     | 
    
         
            +
                        .parent()
         
     | 
| 
      
 26 
     | 
    
         
            +
                        .should('have.attr', 'minallowed', '32');
         
     | 
| 
      
 27 
     | 
    
         
            +
                },
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
                /**
         
     | 
| 
      
 30 
     | 
    
         
            +
                 * Verify response area settings height input field value
         
     | 
| 
      
 31 
     | 
    
         
            +
                 * @param {number} height Value of height input field in response area settings popup
         
     | 
| 
      
 32 
     | 
    
         
            +
                 */
         
     | 
| 
      
 33 
     | 
    
         
            +
                verifyResponseAreaSettingsHeightInputFieldValue: (height) => {
         
     | 
| 
      
 34 
     | 
    
         
            +
                    responseAreaSettingsPopupComponent.responseAreaSettingsHeightInputField()
         
     | 
| 
      
 35 
     | 
    
         
            +
                        .should('have.value', height)
         
     | 
| 
      
 36 
     | 
    
         
            +
                },
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
                clickOnResponseAreaSettingsCancelButton: () => {
         
     | 
| 
      
 39 
     | 
    
         
            +
                    responseAreaSettingsPopupComponent.responseAreaSettingsCancelButton()
         
     | 
| 
      
 40 
     | 
    
         
            +
                        .click();
         
     | 
| 
      
 41 
     | 
    
         
            +
                },
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
                clickOnResponseAreaSettingsOkButton: () => {
         
     | 
| 
      
 44 
     | 
    
         
            +
                    responseAreaSettingsPopupComponent.responseAreaSettingsOkButton()
         
     | 
| 
      
 45 
     | 
    
         
            +
                        .click();
         
     | 
| 
      
 46 
     | 
    
         
            +
                },
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
                /**
         
     | 
| 
      
 49 
     | 
    
         
            +
                * @description Add input to width input field
         
     | 
| 
      
 50 
     | 
    
         
            +
                * @param {number} width Input to be given to width input field
         
     | 
| 
      
 51 
     | 
    
         
            +
                */
         
     | 
| 
      
 52 
     | 
    
         
            +
                addInputToWidthInputField: (width) => {
         
     | 
| 
      
 53 
     | 
    
         
            +
                    responseAreaSettingsPopupComponent.responseAreaSettingsWidthInputField()
         
     | 
| 
      
 54 
     | 
    
         
            +
                        .clear()
         
     | 
| 
      
 55 
     | 
    
         
            +
                        .type(width)
         
     | 
| 
      
 56 
     | 
    
         
            +
                        .blur();
         
     | 
| 
      
 57 
     | 
    
         
            +
                },
         
     | 
| 
      
 58 
     | 
    
         
            +
             
     | 
| 
      
 59 
     | 
    
         
            +
                /**
         
     | 
| 
      
 60 
     | 
    
         
            +
                * @description Add input to height input field
         
     | 
| 
      
 61 
     | 
    
         
            +
                * @param {number} height Input to be given to height input field
         
     | 
| 
      
 62 
     | 
    
         
            +
                */
         
     | 
| 
      
 63 
     | 
    
         
            +
                addInputToHeightInputField: (height) => {
         
     | 
| 
      
 64 
     | 
    
         
            +
                    responseAreaSettingsPopupComponent.responseAreaSettingsHeightInputField()
         
     | 
| 
      
 65 
     | 
    
         
            +
                        .clear()
         
     | 
| 
      
 66 
     | 
    
         
            +
                        .type(height)
         
     | 
| 
      
 67 
     | 
    
         
            +
                        .blur();
         
     | 
| 
      
 68 
     | 
    
         
            +
                },
         
     | 
| 
      
 69 
     | 
    
         
            +
            }
         
     | 
| 
      
 70 
     | 
    
         
            +
             
     | 
| 
      
 71 
     | 
    
         
            +
            export const responseAreaSettingsPopupComponent = {
         
     | 
| 
      
 72 
     | 
    
         
            +
                ...selectors,
         
     | 
| 
      
 73 
     | 
    
         
            +
                steps
         
     | 
| 
      
 74 
     | 
    
         
            +
            }
         
     | 
| 
         @@ -356,7 +356,7 @@ const steps = { 
     | 
|
| 
       356 
356 
     | 
    
         
             
                verifySelectedColorLabelAndSelectedColorBlock: () => {
         
     | 
| 
       357 
357 
     | 
    
         
             
                    utilities.verifyInnerText(drawingResponsePage.colorPalleteSelectedColorLabel(), 'Selected color');
         
     | 
| 
       358 
358 
     | 
    
         
             
                    utilities.verifyElementVisibilityState(drawingResponsePage.colorPalleteSelectedColorLabel(), 'visible');
         
     | 
| 
       359 
     | 
    
         
            -
                    utilities.verifyElementVisibilityState(drawingResponsePage.colorPalleteSelectedColorBlock(), ' 
     | 
| 
      
 359 
     | 
    
         
            +
                    utilities.verifyElementVisibilityState(drawingResponsePage.colorPalleteSelectedColorBlock(), 'exist');
         
     | 
| 
       360 
360 
     | 
    
         
             
                },
         
     | 
| 
       361 
361 
     | 
    
         | 
| 
       362 
362 
     | 
    
         
             
                /**
         
     | 
| 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            import constants from "../fixtures/constants";
         
     | 
| 
       2 
2 
     | 
    
         
             
            import utilities from "../support/helpers/utilities";
         
     | 
| 
       3 
3 
     | 
    
         
             
            const css = Cypress.env('css');
         
     | 
| 
       4 
     | 
    
         
            -
            import { createQuestionBasePage, optionsWrapperComponent, autoScoredScoringPreviewTab, scoringSectionBaseEditTab, questionInputFieldComponent, fillInTheGapsDragAndDropCommonComponents, correctIncorrectAnswerLabelComponent, questionInstructionsComponent, autoScoredStudentViewSettings, ckEditorToolbar, equationEditorFlyout, draggableOptionContainer, autoScoredScoringSectionMultiResponseType, autoScoredSpecifyCorrectAnswerSection, commonComponents, draggableOptionsSectionComponent } from "./components"
         
     | 
| 
      
 4 
     | 
    
         
            +
            import { createQuestionBasePage, optionsWrapperComponent, autoScoredScoringPreviewTab, scoringSectionBaseEditTab, questionInputFieldComponent, fillInTheGapsDragAndDropCommonComponents, correctIncorrectAnswerLabelComponent, questionInstructionsComponent, autoScoredStudentViewSettings, ckEditorToolbar, equationEditorFlyout, draggableOptionContainer, autoScoredScoringSectionMultiResponseType, autoScoredSpecifyCorrectAnswerSection, commonComponents, draggableOptionsSectionComponent, studentViewSettingsLabelComponent, randomizeOptionsComponent, enableOuterBorderComponent, allowMultipleInstancesOfSameDraggableOptionComponent, additionalSettingsPanel, responseAreaSettingsPopupComponent } from "./components"
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            //TODO update option container selectors when https://redmine.zeuslearning.com/issues/563159 is resolved
         
     | 
| 
       7 
7 
     | 
    
         
             
            const selectors = {
         
     | 
| 
         @@ -16,23 +16,39 @@ const selectors = { 
     | 
|
| 
       16 
16 
     | 
    
         
             
                ...commonComponents,
         
     | 
| 
       17 
17 
     | 
    
         
             
                ...autoScoredScoringPreviewTab,
         
     | 
| 
       18 
18 
     | 
    
         
             
                ...correctIncorrectAnswerLabelComponent,
         
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
      
 19 
     | 
    
         
            +
                ...randomizeOptionsComponent,
         
     | 
| 
      
 20 
     | 
    
         
            +
                ...enableOuterBorderComponent,
         
     | 
| 
      
 21 
     | 
    
         
            +
                ...responseAreaSettingsPopupComponent,
         
     | 
| 
      
 22 
     | 
    
         
            +
                ...additionalSettingsPanel,
         
     | 
| 
      
 23 
     | 
    
         
            +
                //Dropzone settings popup
         
     | 
| 
      
 24 
     | 
    
         
            +
                dropzoneSettingsWordWrapLabel: () => cy.get('[data-ngie-testid="word-wrap-checkbox"] [class*="label"]'),
         
     | 
| 
      
 25 
     | 
    
         
            +
                dropzoneSettingsWordWrapCheckbox: () => cy.get('[data-ngie-testid="word-wrap-checkbox"] input'),
         
     | 
| 
      
 26 
     | 
    
         
            +
                dropzoneSettingsSetForAllDropzoneLabel: () => cy.get('[data-ngie-testid="set-for-all-dropzones-checkbox"] [class*="label"]'),
         
     | 
| 
      
 27 
     | 
    
         
            +
                dropzoneSettingsSetForAllDropzoneCheckbox: () => cy.get('[data-ngie-testid="set-for-all-dropzones-checkbox"] input'),
         
     | 
| 
       20 
28 
     | 
    
         
             
                //Specify correct answer section
         
     | 
| 
       21 
29 
     | 
    
         
             
                dropzoneSpecifyCorrectAnswerSection: () => cy.get('[class="droppable-area"] [role="button"]'),
         
     | 
| 
       22 
30 
     | 
    
         
             
                optionContainerOptionsSpecifyCorrectAnswerSection: () => cy.get('.draggable-selected-item'),
         
     | 
| 
       23 
31 
     | 
    
         
             
                optionsContainerSpecifyCorrectAnswerSection: () => cy.get('.draggable-wrapper'), addAlternateButtonSpecifyCorrectAnswer: () => cy.get('.alternate-option-btn-wrapper button'),
         
     | 
| 
      
 32 
     | 
    
         
            +
                selectedAlternateAnswerCountSpecifyCorrectAnswer: () => cy.get('.selected-option-wrapper'),
         
     | 
| 
       24 
33 
     | 
    
         
             
                alternateAnswerPopup: () => cy.get('.alternate-option-popup-wrapper'),
         
     | 
| 
       25 
     | 
    
         
            -
                 
     | 
| 
       26 
     | 
    
         
            -
                 
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
      
 34 
     | 
    
         
            +
                alternateAnswerPopupTitle: () => cy.get('.alternate-option-title-wrapper div').eq(0),
         
     | 
| 
      
 35 
     | 
    
         
            +
                alternateAnswerPopupHelpText: () => cy.get('.alternate-option-title-wrapper div').eq(1),
         
     | 
| 
      
 36 
     | 
    
         
            +
                alternateAnswerPopupOptions: () => cy.get('.option-container'),
         
     | 
| 
      
 37 
     | 
    
         
            +
                alternateAnswerPopupCancelButton: () => cy.get('[class*="AlternateOptionstyle__ButtonWrapper"] button').eq(0),
         
     | 
| 
      
 38 
     | 
    
         
            +
                alternateAnswerPopupSaveButton: () => cy.get('[class*="AlternateOptionstyle__ButtonWrapper"] button').eq(1),
         
     | 
| 
       28 
39 
     | 
    
         
             
                //Preview tab
         
     | 
| 
      
 40 
     | 
    
         
            +
                questionBorderPreviewTab: () => cy.get('[class*="ClozeWithDragAndDropstyles__WrapperDiv"]'),
         
     | 
| 
       29 
41 
     | 
    
         
             
                optionPreviewTab: () => cy.get('.draggable-selected-item'),
         
     | 
| 
       30 
42 
     | 
    
         
             
                questionContainerPreviewTab: () => cy.get('.question-item-container'),
         
     | 
| 
       31 
43 
     | 
    
         
             
                dropzonePreviewTab: () => cy.get('[class*="DroppableHotspotstyle__DroppableHotspotWrapper"]'),
         
     | 
| 
       32 
44 
     | 
    
         
             
                dropzoneContainerPreviewTab: () => cy.get('.answer-status-response-preview-wrapper'),
         
     | 
| 
       33 
45 
     | 
    
         
             
                optionContainerOptionsPreviewTab: () => cy.get('.no-split-pane-wrapper .draggable-selected-item'),
         
     | 
| 
       34 
46 
     | 
    
         
             
                dropzoneWrapperPreviewTab: () => cy.get('.label-image-with-dnd-canvas-wrapper .cell'),
         
     | 
| 
       35 
     | 
    
         
            -
                dropzoneNumeration: () => cy.get('[class*="DroppableHotspotstyle__NumerationDiv"]')
         
     | 
| 
      
 47 
     | 
    
         
            +
                dropzoneNumeration: () => cy.get('[class*="DroppableHotspotstyle__NumerationDiv"]'),
         
     | 
| 
      
 48 
     | 
    
         
            +
                //Additional settings
         
     | 
| 
      
 49 
     | 
    
         
            +
                accessibilityLabel: () => cy.get('[class*="Accessibilitystyles__AccessibilityLabelWrapper"]'),
         
     | 
| 
      
 50 
     | 
    
         
            +
                flagNonAccessibleCheckbox: () => cy.get('[data-ngie-testid="response-option-checkbox"] input'),
         
     | 
| 
      
 51 
     | 
    
         
            +
                flagNonAccessibleLabel: () => cy.get('[data-ngie-testid="response-option-checkbox"] .MuiFormControlLabel-label')
         
     | 
| 
       36 
52 
     | 
    
         
             
            }
         
     | 
| 
       37 
53 
     | 
    
         | 
| 
       38 
54 
     | 
    
         
             
            const steps = {
         
     | 
| 
         @@ -52,7 +68,11 @@ const steps = { 
     | 
|
| 
       52 
68 
     | 
    
         
             
                ...draggableOptionsSectionComponent.steps,
         
     | 
| 
       53 
69 
     | 
    
         
             
                ...draggableOptionContainer.steps,
         
     | 
| 
       54 
70 
     | 
    
         
             
                ...commonComponents.steps,
         
     | 
| 
       55 
     | 
    
         
            -
             
     | 
| 
      
 71 
     | 
    
         
            +
                ...randomizeOptionsComponent.steps,
         
     | 
| 
      
 72 
     | 
    
         
            +
                ...enableOuterBorderComponent.steps,
         
     | 
| 
      
 73 
     | 
    
         
            +
                ...allowMultipleInstancesOfSameDraggableOptionComponent.steps,
         
     | 
| 
      
 74 
     | 
    
         
            +
                ...additionalSettingsPanel.steps,
         
     | 
| 
      
 75 
     | 
    
         
            +
                ...responseAreaSettingsPopupComponent.steps,
         
     | 
| 
       56 
76 
     | 
    
         
             
                /**
         
     | 
| 
       57 
77 
     | 
    
         
             
                 * Sets options in dropzone in the Preview Tab based on the provided optionsObject.
         
     | 
| 
       58 
78 
     | 
    
         
             
                 * @param {Object} optionsObject - An object where keys are option texts and values are dropzone indices.
         
     | 
| 
         @@ -239,23 +259,6 @@ const steps = { 
     | 
|
| 
       239 
259 
     | 
    
         
             
                        .click();
         
     | 
| 
       240 
260 
     | 
    
         
             
                },
         
     | 
| 
       241 
261 
     | 
    
         | 
| 
       242 
     | 
    
         
            -
                setGroupedOptions: () => {
         
     | 
| 
       243 
     | 
    
         
            -
                    let flowers = [['Flower', 'Petals', 'Seed', 'Pollen'],
         
     | 
| 
       244 
     | 
    
         
            -
                    ['Leaflet', 'Leaves', 'Leaf', 'Green'],
         
     | 
| 
       245 
     | 
    
         
            -
                    ['Stem', 'Branch', 'Trunk', 'Tree'],
         
     | 
| 
       246 
     | 
    
         
            -
                    ['Rose', 'Lily', 'Orchid', 'Petals']
         
     | 
| 
       247 
     | 
    
         
            -
                    ];
         
     | 
| 
       248 
     | 
    
         
            -
                    let groupTitles = ['Group A', 'Group B', 'Group C', 'Group D'];
         
     | 
| 
       249 
     | 
    
         
            -
                    draggableOptionsSectionComponent.steps.expandDraggableOptionsLayoutDropdown()
         
     | 
| 
       250 
     | 
    
         
            -
                    draggableOptionsSectionComponent.steps.selectOptionFromDraggableOptionsLayoutDropdown('Grouped')
         
     | 
| 
       251 
     | 
    
         
            -
                    draggableOptionsSectionComponent.steps.addGroupTitle(groupTitles[0]);
         
     | 
| 
       252 
     | 
    
         
            -
                    optionsWrapperComponent.steps.addMultipleOptionFields(2);
         
     | 
| 
       253 
     | 
    
         
            -
                    optionsWrapperComponent.steps.addInputToOptionsInputField(flowers[0]);
         
     | 
| 
       254 
     | 
    
         
            -
                    draggableOptionsSectionComponent.steps.addGroupWithTitleAndOptionsInDraggableOptionsSection(groupTitles[1], flowers[1]);
         
     | 
| 
       255 
     | 
    
         
            -
                    draggableOptionsSectionComponent.steps.addGroupWithTitleAndOptionsInDraggableOptionsSection(groupTitles[2], flowers[2]);
         
     | 
| 
       256 
     | 
    
         
            -
                    draggableOptionsSectionComponent.steps.addGroupWithTitleAndOptionsInDraggableOptionsSection(groupTitles[3], flowers[3]);
         
     | 
| 
       257 
     | 
    
         
            -
                },
         
     | 
| 
       258 
     | 
    
         
            -
             
     | 
| 
       259 
262 
     | 
    
         
             
                /**
         
     | 
| 
       260 
263 
     | 
    
         
             
              * Sets options in dropzone in the Preview Tab based on the provided optionsObject.
         
     | 
| 
       261 
264 
     | 
    
         
             
              * @param {Object[]} responses - An array of objects containing the responseIndex, responseText and dropzone index
         
     | 
| 
         @@ -287,6 +290,83 @@ const steps = { 
     | 
|
| 
       287 
290 
     | 
    
         
             
                        .click();
         
     | 
| 
       288 
291 
     | 
    
         
             
                },
         
     | 
| 
       289 
292 
     | 
    
         | 
| 
      
 293 
     | 
    
         
            +
                /**
         
     | 
| 
      
 294 
     | 
    
         
            +
                * @description Verify alternate button for a dropzone in specify correct answer section
         
     | 
| 
      
 295 
     | 
    
         
            +
                * @param {number} dropzoneIndex Index of dropzone
         
     | 
| 
      
 296 
     | 
    
         
            +
                */
         
     | 
| 
      
 297 
     | 
    
         
            +
                verifyDefaultAddAlternateAnswerButtonIsDisplayed: (dropzoneIndex) => {
         
     | 
| 
      
 298 
     | 
    
         
            +
                    utilities.getNthElement(fillInTheGapsDragAndDropPage.dropzoneSpecifyCorrectAnswerSection(), dropzoneIndex)
         
     | 
| 
      
 299 
     | 
    
         
            +
                        .parents('.authoring-response-wrapper')
         
     | 
| 
      
 300 
     | 
    
         
            +
                        .within(() => {
         
     | 
| 
      
 301 
     | 
    
         
            +
                            utilities.verifyElementVisibilityState(fillInTheGapsDragAndDropPage.addAlternateButtonSpecifyCorrectAnswer(), 'visible');
         
     | 
| 
      
 302 
     | 
    
         
            +
                            utilities.verifyElementDisabled(fillInTheGapsDragAndDropPage.addAlternateButtonSpecifyCorrectAnswer());
         
     | 
| 
      
 303 
     | 
    
         
            +
                        });
         
     | 
| 
      
 304 
     | 
    
         
            +
                },
         
     | 
| 
      
 305 
     | 
    
         
            +
             
     | 
| 
      
 306 
     | 
    
         
            +
                /**
         
     | 
| 
      
 307 
     | 
    
         
            +
                * @description Verify dropzone's alternate answer popup options
         
     | 
| 
      
 308 
     | 
    
         
            +
                * @param {string[]} optionsArray Array of options in dropzone's alternate answer popup
         
     | 
| 
      
 309 
     | 
    
         
            +
                */
         
     | 
| 
      
 310 
     | 
    
         
            +
                verifyDropzoneAlternateAnswerPopupOptions: (optionsArray) => {
         
     | 
| 
      
 311 
     | 
    
         
            +
                    optionsArray.forEach((option, index) => {
         
     | 
| 
      
 312 
     | 
    
         
            +
                        utilities.verifyInnerText(utilities.getNthElement(fillInTheGapsDragAndDropPage.alternateAnswerPopupOptions(), index), option);
         
     | 
| 
      
 313 
     | 
    
         
            +
                    });
         
     | 
| 
      
 314 
     | 
    
         
            +
                },
         
     | 
| 
      
 315 
     | 
    
         
            +
             
     | 
| 
      
 316 
     | 
    
         
            +
                /**     
         
     | 
| 
      
 317 
     | 
    
         
            +
                * @description select alternate answers for a dropzone in its alternate answer popup
         
     | 
| 
      
 318 
     | 
    
         
            +
                * @param {string[]} alternateAnswerArray Array of options to be selected as alternate answer
         
     | 
| 
      
 319 
     | 
    
         
            +
                */
         
     | 
| 
      
 320 
     | 
    
         
            +
                selectAlternateAnswerInAlternateAnswerPopup: (alternateAnswerArray) => {
         
     | 
| 
      
 321 
     | 
    
         
            +
                    alternateAnswerArray.forEach((alternateAnswer) => {
         
     | 
| 
      
 322 
     | 
    
         
            +
                        fillInTheGapsDragAndDropPage.alternateAnswerPopupOptions()
         
     | 
| 
      
 323 
     | 
    
         
            +
                            .contains(alternateAnswer)
         
     | 
| 
      
 324 
     | 
    
         
            +
                            .click();
         
     | 
| 
      
 325 
     | 
    
         
            +
                        fillInTheGapsDragAndDropPage.alternateAnswerPopupOptions()
         
     | 
| 
      
 326 
     | 
    
         
            +
                            .contains(alternateAnswer)
         
     | 
| 
      
 327 
     | 
    
         
            +
                            .parent()
         
     | 
| 
      
 328 
     | 
    
         
            +
                            .should('have.class', 'selected');
         
     | 
| 
      
 329 
     | 
    
         
            +
                    });
         
     | 
| 
      
 330 
     | 
    
         
            +
                },
         
     | 
| 
      
 331 
     | 
    
         
            +
             
     | 
| 
      
 332 
     | 
    
         
            +
                /**     
         
     | 
| 
      
 333 
     | 
    
         
            +
                * @description deselect alternate answers for a dropzone in its alternate answer popup
         
     | 
| 
      
 334 
     | 
    
         
            +
                * @param {string[]} alternateAnswerArray Array of options to be deselected
         
     | 
| 
      
 335 
     | 
    
         
            +
                */
         
     | 
| 
      
 336 
     | 
    
         
            +
                deselectAlternateAnswerInAlternateAnswerPopup: (alternateAnswerArray) => {
         
     | 
| 
      
 337 
     | 
    
         
            +
                    alternateAnswerArray.forEach((alternateAnswer) => {
         
     | 
| 
      
 338 
     | 
    
         
            +
                        fillInTheGapsDragAndDropPage.alternateAnswerPopupOptions()
         
     | 
| 
      
 339 
     | 
    
         
            +
                            .contains(alternateAnswer)
         
     | 
| 
      
 340 
     | 
    
         
            +
                            .click();
         
     | 
| 
      
 341 
     | 
    
         
            +
                        fillInTheGapsDragAndDropPage.alternateAnswerPopupOptions()
         
     | 
| 
      
 342 
     | 
    
         
            +
                            .contains(alternateAnswer)
         
     | 
| 
      
 343 
     | 
    
         
            +
                            .parent()
         
     | 
| 
      
 344 
     | 
    
         
            +
                            .should('not.have.class', 'selected');
         
     | 
| 
      
 345 
     | 
    
         
            +
                    });
         
     | 
| 
      
 346 
     | 
    
         
            +
                },
         
     | 
| 
      
 347 
     | 
    
         
            +
             
     | 
| 
      
 348 
     | 
    
         
            +
                saveSelectedAlternateAnswers: () => {
         
     | 
| 
      
 349 
     | 
    
         
            +
                    fillInTheGapsDragAndDropPage.alternateAnswerPopupSaveButton()
         
     | 
| 
      
 350 
     | 
    
         
            +
                        .click();
         
     | 
| 
      
 351 
     | 
    
         
            +
                },
         
     | 
| 
      
 352 
     | 
    
         
            +
             
     | 
| 
      
 353 
     | 
    
         
            +
                CancelDropzoneAlternateAnswersPopup: () => {
         
     | 
| 
      
 354 
     | 
    
         
            +
                    fillInTheGapsDragAndDropPage.alternateAnswerPopupCancelButton()
         
     | 
| 
      
 355 
     | 
    
         
            +
                        .click();
         
     | 
| 
      
 356 
     | 
    
         
            +
                },
         
     | 
| 
      
 357 
     | 
    
         
            +
             
     | 
| 
      
 358 
     | 
    
         
            +
                /**
         
     | 
| 
      
 359 
     | 
    
         
            +
                 * @description Set alternate answers for a dropzone
         
     | 
| 
      
 360 
     | 
    
         
            +
                 * @param {number} dropzoneIndex Index of dropzone
         
     | 
| 
      
 361 
     | 
    
         
            +
                 * @param {string[]} alternateAnswerArray Array of options to be selected as alternate answer
         
     | 
| 
      
 362 
     | 
    
         
            +
                 */
         
     | 
| 
      
 363 
     | 
    
         
            +
                setResponseLevelAlternateAnswer: (dropzoneIndex, alternateAnswerArray) => {
         
     | 
| 
      
 364 
     | 
    
         
            +
                    fillInTheGapsDragAndDropPage.steps.clickOnAddAlternateButton(dropzoneIndex);
         
     | 
| 
      
 365 
     | 
    
         
            +
                    fillInTheGapsDragAndDropPage.steps.selectAlternateAnswerInAlternateAnswerPopup(alternateAnswerArray);
         
     | 
| 
      
 366 
     | 
    
         
            +
                    fillInTheGapsDragAndDropPage.steps.saveSelectedAlternateAnswers();
         
     | 
| 
      
 367 
     | 
    
         
            +
                    utilities.verifyElementVisibilityState(fillInTheGapsDragAndDropPage.alternateAnswerPopup(), 'notExist');
         
     | 
| 
      
 368 
     | 
    
         
            +
                },
         
     | 
| 
      
 369 
     | 
    
         
            +
             
     | 
| 
       290 
370 
     | 
    
         
             
                /**
         
     | 
| 
       291 
371 
     | 
    
         
             
                * @description Verifies the text content of a specific preview tab dropzone element.
         
     | 
| 
       292 
372 
     | 
    
         
             
                * @param {number} count - The index of the preview tab dropzone element to verify (zero-based).
         
     | 
| 
         @@ -310,7 +390,8 @@ const steps = { 
     | 
|
| 
       310 
390 
     | 
    
         
             
                        .eq(dropzoneIndex)
         
     | 
| 
       311 
391 
     | 
    
         
             
                        .within(() => {
         
     | 
| 
       312 
392 
     | 
    
         
             
                            responseArray.forEach((response, count) => {
         
     | 
| 
       313 
     | 
    
         
            -
                                 
     | 
| 
      
 393 
     | 
    
         
            +
                                cy.get('.item-content-container')
         
     | 
| 
      
 394 
     | 
    
         
            +
                                    // draggableOptionContainer.draggableOption()
         
     | 
| 
       314 
395 
     | 
    
         
             
                                    .eq(count)
         
     | 
| 
       315 
396 
     | 
    
         
             
                                    .verifyInnerText(response);
         
     | 
| 
       316 
397 
     | 
    
         
             
                            });
         
     | 
| 
         @@ -318,8 +399,8 @@ const steps = { 
     | 
|
| 
       318 
399 
     | 
    
         
             
                },
         
     | 
| 
       319 
400 
     | 
    
         | 
| 
       320 
401 
     | 
    
         
             
                /**
         
     | 
| 
       321 
     | 
    
         
            -
               * @param {number} responseAreaIndex Index of the  
     | 
| 
       322 
     | 
    
         
            -
               * @description Verify drag handle is not visible in filled category cell in  
     | 
| 
      
 402 
     | 
    
         
            +
               * @param {number} responseAreaIndex Index of the dropzone in specify correct answer section
         
     | 
| 
      
 403 
     | 
    
         
            +
               * @description Verify drag handle is not visible in filled category cell in specify correct answer section
         
     | 
| 
       323 
404 
     | 
    
         
             
               */
         
     | 
| 
       324 
405 
     | 
    
         
             
                verifyDragHandleNotVisibleInFilledDropzoneOfSpecifyCorrectAnswerSection: (responseAreaIndex) => {
         
     | 
| 
       325 
406 
     | 
    
         
             
                    fillInTheGapsDragAndDropPage.dropzoneSpecifyCorrectAnswerSection()
         
     | 
| 
         @@ -368,13 +449,13 @@ const steps = { 
     | 
|
| 
       368 
449 
     | 
    
         
             
                        .eq(dropzoneIndex)
         
     | 
| 
       369 
450 
     | 
    
         
             
                        .within(() => {
         
     | 
| 
       370 
451 
     | 
    
         
             
                            responseArray.forEach((response, count) => {
         
     | 
| 
       371 
     | 
    
         
            -
                                utilities.verifyInnerText(utilities.getNthElement( 
     | 
| 
      
 452 
     | 
    
         
            +
                                utilities.verifyInnerText(utilities.getNthElement(cy.get('.item-content-container'), count), response);
         
     | 
| 
       372 
453 
     | 
    
         
             
                            });
         
     | 
| 
       373 
454 
     | 
    
         
             
                        });
         
     | 
| 
       374 
455 
     | 
    
         
             
                },
         
     | 
| 
       375 
456 
     | 
    
         | 
| 
       376 
457 
     | 
    
         
             
                /**
         
     | 
| 
       377 
     | 
    
         
            -
                * @param {number} responseAreaIndex Index of the  
     | 
| 
      
 458 
     | 
    
         
            +
                * @param {number} responseAreaIndex Index of the dropzone in preview tab
         
     | 
| 
       378 
459 
     | 
    
         
             
                * @description Verify drag handle is not visible in filled category cell in preview tab
         
     | 
| 
       379 
460 
     | 
    
         
             
                */
         
     | 
| 
       380 
461 
     | 
    
         
             
                verifyDragHandleNotVisibleInFilledDropzoneOfPreviewTab: (responseAreaIndex) => {
         
     | 
| 
         @@ -425,6 +506,205 @@ const steps = { 
     | 
|
| 
       425 
506 
     | 
    
         
             
                            });
         
     | 
| 
       426 
507 
     | 
    
         
             
                        });
         
     | 
| 
       427 
508 
     | 
    
         
             
                },
         
     | 
| 
      
 509 
     | 
    
         
            +
             
     | 
| 
      
 510 
     | 
    
         
            +
                verifyQuestionBorderNotExist: () => {
         
     | 
| 
      
 511 
     | 
    
         
            +
                    fillInTheGapsDragAndDropPage.questionBorderPreviewTab()
         
     | 
| 
      
 512 
     | 
    
         
            +
                        .should('have.css', 'border')
         
     | 
| 
      
 513 
     | 
    
         
            +
                        .and('match', /0px none/);
         
     | 
| 
      
 514 
     | 
    
         
            +
                },
         
     | 
| 
      
 515 
     | 
    
         
            +
             
     | 
| 
      
 516 
     | 
    
         
            +
                clickAndDropOptionInOptionsContainerInPreviewTab: (optionText) => {
         
     | 
| 
      
 517 
     | 
    
         
            +
                    fillInTheGapsDragAndDropPage.dropzonePreviewTab()
         
     | 
| 
      
 518 
     | 
    
         
            +
                        .contains(optionText)
         
     | 
| 
      
 519 
     | 
    
         
            +
                        .click();
         
     | 
| 
      
 520 
     | 
    
         
            +
                    fillInTheGapsDragAndDropPage.optionsContainerPreviewTab()
         
     | 
| 
      
 521 
     | 
    
         
            +
                        .click({ force: true });
         
     | 
| 
      
 522 
     | 
    
         
            +
                },
         
     | 
| 
      
 523 
     | 
    
         
            +
             
     | 
| 
      
 524 
     | 
    
         
            +
                verifyWordWrapCheckboxUnchecked: () => {
         
     | 
| 
      
 525 
     | 
    
         
            +
                    fillInTheGapsDragAndDropPage.dropzoneSettingsWordWrapCheckbox()
         
     | 
| 
      
 526 
     | 
    
         
            +
                        .should('not.be.checked');
         
     | 
| 
      
 527 
     | 
    
         
            +
                },
         
     | 
| 
      
 528 
     | 
    
         
            +
             
     | 
| 
      
 529 
     | 
    
         
            +
                verifyWordWrapCheckboxChecked: () => {
         
     | 
| 
      
 530 
     | 
    
         
            +
                    fillInTheGapsDragAndDropPage.dropzoneSettingsWordWrapCheckbox()
         
     | 
| 
      
 531 
     | 
    
         
            +
                        .should('be.checked');
         
     | 
| 
      
 532 
     | 
    
         
            +
                },
         
     | 
| 
      
 533 
     | 
    
         
            +
             
     | 
| 
      
 534 
     | 
    
         
            +
                verifySetForAllDropzoneCheckboxChecked: () => {
         
     | 
| 
      
 535 
     | 
    
         
            +
                    fillInTheGapsDragAndDropPage.dropzoneSettingsSetForAllDropzoneCheckbox()
         
     | 
| 
      
 536 
     | 
    
         
            +
                        .should('be.checked');
         
     | 
| 
      
 537 
     | 
    
         
            +
                },
         
     | 
| 
      
 538 
     | 
    
         
            +
             
     | 
| 
      
 539 
     | 
    
         
            +
                verifySetForAllDropzoneCheckboxUnchecked: () => {
         
     | 
| 
      
 540 
     | 
    
         
            +
                    fillInTheGapsDragAndDropPage.dropzoneSettingsSetForAllDropzoneCheckbox()
         
     | 
| 
      
 541 
     | 
    
         
            +
                        .should('not.be.checked');
         
     | 
| 
      
 542 
     | 
    
         
            +
                },
         
     | 
| 
      
 543 
     | 
    
         
            +
             
     | 
| 
      
 544 
     | 
    
         
            +
                checkWordWrappedCheckbox: () => {
         
     | 
| 
      
 545 
     | 
    
         
            +
                    fillInTheGapsDragAndDropPage.dropzoneSettingsWordWrapCheckbox()
         
     | 
| 
      
 546 
     | 
    
         
            +
                        .click()
         
     | 
| 
      
 547 
     | 
    
         
            +
                        .should('be.checked');
         
     | 
| 
      
 548 
     | 
    
         
            +
                },
         
     | 
| 
      
 549 
     | 
    
         
            +
             
     | 
| 
      
 550 
     | 
    
         
            +
                uncheckWordWrappedCheckbox: () => {
         
     | 
| 
      
 551 
     | 
    
         
            +
                    fillInTheGapsDragAndDropPage.dropzoneSettingsWordWrapCheckbox()
         
     | 
| 
      
 552 
     | 
    
         
            +
                        .click()
         
     | 
| 
      
 553 
     | 
    
         
            +
                        .should('not.be.checked');
         
     | 
| 
      
 554 
     | 
    
         
            +
                },
         
     | 
| 
      
 555 
     | 
    
         
            +
             
     | 
| 
      
 556 
     | 
    
         
            +
                uncheckSetForAllDropzoneCheckbox: () => {
         
     | 
| 
      
 557 
     | 
    
         
            +
                    fillInTheGapsDragAndDropPage.dropzoneSettingsSetForAllDropzoneCheckbox()
         
     | 
| 
      
 558 
     | 
    
         
            +
                        .click()
         
     | 
| 
      
 559 
     | 
    
         
            +
                        .should('not.be.checked');
         
     | 
| 
      
 560 
     | 
    
         
            +
                },
         
     | 
| 
      
 561 
     | 
    
         
            +
             
     | 
| 
      
 562 
     | 
    
         
            +
                checkSetForAllDropzoneCheckbox: () => {
         
     | 
| 
      
 563 
     | 
    
         
            +
                    fillInTheGapsDragAndDropPage.dropzoneSettingsSetForAllDropzoneCheckbox()
         
     | 
| 
      
 564 
     | 
    
         
            +
                        .click()
         
     | 
| 
      
 565 
     | 
    
         
            +
                        .should('be.checked');
         
     | 
| 
      
 566 
     | 
    
         
            +
                },
         
     | 
| 
      
 567 
     | 
    
         
            +
             
     | 
| 
      
 568 
     | 
    
         
            +
                /**
         
     | 
| 
      
 569 
     | 
    
         
            +
                 * @description Verify width of dropzone in specify correct answer section
         
     | 
| 
      
 570 
     | 
    
         
            +
                 * @param {number} dropzoneIndex index of dropzone
         
     | 
| 
      
 571 
     | 
    
         
            +
                 * @param {string} width Width of dropzone in px
         
     | 
| 
      
 572 
     | 
    
         
            +
                 */
         
     | 
| 
      
 573 
     | 
    
         
            +
                verifyDropzoneWidthSpecifyCorrectAnswerSection: (dropzoneIndex, width) => {
         
     | 
| 
      
 574 
     | 
    
         
            +
                    utilities.getNthElement(fillInTheGapsDragAndDropPage.dropzoneSpecifyCorrectAnswerSection(), dropzoneIndex)
         
     | 
| 
      
 575 
     | 
    
         
            +
                        .should('have.css', 'width', width);
         
     | 
| 
      
 576 
     | 
    
         
            +
                },
         
     | 
| 
      
 577 
     | 
    
         
            +
             
     | 
| 
      
 578 
     | 
    
         
            +
                /**
         
     | 
| 
      
 579 
     | 
    
         
            +
                 * @description Verify height of dropzone in specify correct answer section
         
     | 
| 
      
 580 
     | 
    
         
            +
                 * @param {number} dropzoneIndex index of dropzone
         
     | 
| 
      
 581 
     | 
    
         
            +
                 * @param {string} height Height of dropzone in px
         
     | 
| 
      
 582 
     | 
    
         
            +
                 */
         
     | 
| 
      
 583 
     | 
    
         
            +
                verifyDropzoneHeightSpecifyCorrectAnswerSection: (dropzoneIndex, height) => {
         
     | 
| 
      
 584 
     | 
    
         
            +
                    utilities.getNthElement(fillInTheGapsDragAndDropPage.dropzoneSpecifyCorrectAnswerSection(), dropzoneIndex)
         
     | 
| 
      
 585 
     | 
    
         
            +
                        .should('have.css', 'height', height);
         
     | 
| 
      
 586 
     | 
    
         
            +
                },
         
     | 
| 
      
 587 
     | 
    
         
            +
             
     | 
| 
      
 588 
     | 
    
         
            +
                /**
         
     | 
| 
      
 589 
     | 
    
         
            +
                 * @description Verify width of dropzone in preview tab
         
     | 
| 
      
 590 
     | 
    
         
            +
                 * @param {number} dropzoneIndex index of dropzone
         
     | 
| 
      
 591 
     | 
    
         
            +
                 * @param {string} width Width of dropzone in px
         
     | 
| 
      
 592 
     | 
    
         
            +
                 */
         
     | 
| 
      
 593 
     | 
    
         
            +
                verifyDropzoneWidthPreviewTab: (dropzoneIndex, width) => {
         
     | 
| 
      
 594 
     | 
    
         
            +
                    utilities.getNthElement(fillInTheGapsDragAndDropPage.dropzonePreviewTab(), dropzoneIndex)
         
     | 
| 
      
 595 
     | 
    
         
            +
                        .should('have.css', 'width', width);
         
     | 
| 
      
 596 
     | 
    
         
            +
                },
         
     | 
| 
      
 597 
     | 
    
         
            +
             
     | 
| 
      
 598 
     | 
    
         
            +
                /**
         
     | 
| 
      
 599 
     | 
    
         
            +
                 * @description Verify height of dropzone in preview tab
         
     | 
| 
      
 600 
     | 
    
         
            +
                 * @param {number} dropzoneIndex index of dropzone
         
     | 
| 
      
 601 
     | 
    
         
            +
                 * @param {string} height Height of dropzone in px
         
     | 
| 
      
 602 
     | 
    
         
            +
                 */
         
     | 
| 
      
 603 
     | 
    
         
            +
                verifyDropzoneHeightPreviewTab: (dropzoneIndex, height) => {
         
     | 
| 
      
 604 
     | 
    
         
            +
                    utilities.getNthElement(fillInTheGapsDragAndDropPage.dropzonePreviewTab(), dropzoneIndex)
         
     | 
| 
      
 605 
     | 
    
         
            +
                        .should('have.css', 'height', height);
         
     | 
| 
      
 606 
     | 
    
         
            +
                },
         
     | 
| 
      
 607 
     | 
    
         
            +
             
     | 
| 
      
 608 
     | 
    
         
            +
                /**
         
     | 
| 
      
 609 
     | 
    
         
            +
                 * @description Verify dropped option is not word-wrapped in dropzone specify correct answer section
         
     | 
| 
      
 610 
     | 
    
         
            +
                 * @param {number} dropzoneIndex Index of dropzone in specify correct answer section
         
     | 
| 
      
 611 
     | 
    
         
            +
                 */
         
     | 
| 
      
 612 
     | 
    
         
            +
                verifyOptionTextNotWordWrappedInDropzoneSpecifyCorrectAnswerSection: (dropzoneIndex) => {
         
     | 
| 
      
 613 
     | 
    
         
            +
                    utilities.getNthElement(fillInTheGapsDragAndDropPage.dropzoneSpecifyCorrectAnswerSection(), dropzoneIndex)
         
     | 
| 
      
 614 
     | 
    
         
            +
                        .find('.item-content-container')
         
     | 
| 
      
 615 
     | 
    
         
            +
                        .should('not.have.class', 'word-wrap');
         
     | 
| 
      
 616 
     | 
    
         
            +
                },
         
     | 
| 
      
 617 
     | 
    
         
            +
             
     | 
| 
      
 618 
     | 
    
         
            +
                /**
         
     | 
| 
      
 619 
     | 
    
         
            +
                 * @description Verify dropped option is word-wrapped in dropzone specify correct answer section
         
     | 
| 
      
 620 
     | 
    
         
            +
                 * @param {number} dropzoneIndex Index of dropzone in specify correct answer section
         
     | 
| 
      
 621 
     | 
    
         
            +
                 */
         
     | 
| 
      
 622 
     | 
    
         
            +
                verifyOptionTextIsWordWrappedInDropzoneSpecifyCorrectAnswerSection: (dropzoneIndex) => {
         
     | 
| 
      
 623 
     | 
    
         
            +
                    utilities.getNthElement(fillInTheGapsDragAndDropPage.dropzoneSpecifyCorrectAnswerSection(), dropzoneIndex)
         
     | 
| 
      
 624 
     | 
    
         
            +
                        .find('.item-content-container')
         
     | 
| 
      
 625 
     | 
    
         
            +
                        .should('have.class', 'word-wrap');
         
     | 
| 
      
 626 
     | 
    
         
            +
                },
         
     | 
| 
      
 627 
     | 
    
         
            +
             
     | 
| 
      
 628 
     | 
    
         
            +
                verifyDropzoneHeightWhenLongTextIsDroppedInSpecifyCorrectAnswerSection: () => {
         
     | 
| 
      
 629 
     | 
    
         
            +
                    let originalDropzoneHeight
         
     | 
| 
      
 630 
     | 
    
         
            +
                    utilities.getNthElement(fillInTheGapsDragAndDropPage.dropzoneSpecifyCorrectAnswerSection(), 1)
         
     | 
| 
      
 631 
     | 
    
         
            +
                        .then(($originalDropzoneHeight) => {
         
     | 
| 
      
 632 
     | 
    
         
            +
                            originalDropzoneHeight = $originalDropzoneHeight.height(); //Storing original dropzone width
         
     | 
| 
      
 633 
     | 
    
         
            +
                        });
         
     | 
| 
      
 634 
     | 
    
         
            +
                    fillInTheGapsDragAndDropPage.steps.clickAndDropOptionInDropzoneSpecifyCorrectAnswerSection({ 'Leaves grow on the branches of a plant which in turn grow on the stem': 1 });
         
     | 
| 
      
 635 
     | 
    
         
            +
                    utilities.getNthElement(fillInTheGapsDragAndDropPage.dropzoneSpecifyCorrectAnswerSection(), 1)
         
     | 
| 
      
 636 
     | 
    
         
            +
                        .then(($modifiedDropzoneHeight) => {
         
     | 
| 
      
 637 
     | 
    
         
            +
                            let modifiedDropzoneHeight = $modifiedDropzoneHeight.height(); //Storing modified dropzone width
         
     | 
| 
      
 638 
     | 
    
         
            +
                            expect(modifiedDropzoneHeight).to.be.gt(originalDropzoneHeight);
         
     | 
| 
      
 639 
     | 
    
         
            +
                        });
         
     | 
| 
      
 640 
     | 
    
         
            +
                },
         
     | 
| 
      
 641 
     | 
    
         
            +
             
     | 
| 
      
 642 
     | 
    
         
            +
                /**
         
     | 
| 
      
 643 
     | 
    
         
            +
                 * @description Verify dropped option is not word-wrapped in dropzone preview tab
         
     | 
| 
      
 644 
     | 
    
         
            +
                 * @param {number} dropzoneIndex Index of dropzone in preview tab
         
     | 
| 
      
 645 
     | 
    
         
            +
                 */
         
     | 
| 
      
 646 
     | 
    
         
            +
                verifyOptionTextNotWordWrappedInDropzonePreviewTab: (dropzoneIndex) => {
         
     | 
| 
      
 647 
     | 
    
         
            +
                    utilities.getNthElement(fillInTheGapsDragAndDropPage.dropzonePreviewTab(), dropzoneIndex)
         
     | 
| 
      
 648 
     | 
    
         
            +
                        .find('.item-content-container')
         
     | 
| 
      
 649 
     | 
    
         
            +
                        .should('not.have.class', 'word-wrap');
         
     | 
| 
      
 650 
     | 
    
         
            +
                },
         
     | 
| 
      
 651 
     | 
    
         
            +
             
     | 
| 
      
 652 
     | 
    
         
            +
                /**
         
     | 
| 
      
 653 
     | 
    
         
            +
                 * @description Verify dropped option is word-wrapped in dropzone preview tab
         
     | 
| 
      
 654 
     | 
    
         
            +
                 * @param {number} dropzoneIndex Index of dropzone in preview tab
         
     | 
| 
      
 655 
     | 
    
         
            +
                 */
         
     | 
| 
      
 656 
     | 
    
         
            +
                verifyOptionTextIsWordWrappedInDropzonePreviewTab: (dropzoneIndex) => {
         
     | 
| 
      
 657 
     | 
    
         
            +
                    utilities.getNthElement(fillInTheGapsDragAndDropPage.dropzonePreviewTab(), dropzoneIndex)
         
     | 
| 
      
 658 
     | 
    
         
            +
                        .find('.item-content-container')
         
     | 
| 
      
 659 
     | 
    
         
            +
                        .should('have.class', 'word-wrap');
         
     | 
| 
      
 660 
     | 
    
         
            +
                },
         
     | 
| 
      
 661 
     | 
    
         
            +
             
     | 
| 
      
 662 
     | 
    
         
            +
                verifyDropzoneHeightWhenLongTextIsDroppedInPreviewTab: () => {
         
     | 
| 
      
 663 
     | 
    
         
            +
                    let originalDropzoneHeight
         
     | 
| 
      
 664 
     | 
    
         
            +
                    utilities.getNthElement(fillInTheGapsDragAndDropPage.dropzonePreviewTab(), 1)
         
     | 
| 
      
 665 
     | 
    
         
            +
                        .then(($originalDropzoneHeight) => {
         
     | 
| 
      
 666 
     | 
    
         
            +
                            originalDropzoneHeight = $originalDropzoneHeight.height(); //Storing original dropzone width
         
     | 
| 
      
 667 
     | 
    
         
            +
                        });
         
     | 
| 
      
 668 
     | 
    
         
            +
                    fillInTheGapsDragAndDropPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Leaves grow on the branches of a plant which in turn grow on the stem': 1 });
         
     | 
| 
      
 669 
     | 
    
         
            +
                    utilities.getNthElement(fillInTheGapsDragAndDropPage.dropzonePreviewTab(), 1)
         
     | 
| 
      
 670 
     | 
    
         
            +
                        .then(($modifiedDropzoneHeight) => {
         
     | 
| 
      
 671 
     | 
    
         
            +
                            let modifiedDropzoneHeight = $modifiedDropzoneHeight.height(); //Storing modified dropzone width
         
     | 
| 
      
 672 
     | 
    
         
            +
                            expect(modifiedDropzoneHeight).to.be.gt(originalDropzoneHeight);
         
     | 
| 
      
 673 
     | 
    
         
            +
                        });
         
     | 
| 
      
 674 
     | 
    
         
            +
                },
         
     | 
| 
      
 675 
     | 
    
         
            +
             
     | 
| 
      
 676 
     | 
    
         
            +
                verifyFlagThisItemNonAccessibleCheckboxIsUnchecked: () => {
         
     | 
| 
      
 677 
     | 
    
         
            +
                    fillInTheGapsDragAndDropPage.flagNonAccessibleCheckbox()
         
     | 
| 
      
 678 
     | 
    
         
            +
                        .should('not.be.checked');
         
     | 
| 
      
 679 
     | 
    
         
            +
                },
         
     | 
| 
      
 680 
     | 
    
         
            +
             
     | 
| 
      
 681 
     | 
    
         
            +
                checkFlagThisItemNonAccessibleCheckbox: () => {
         
     | 
| 
      
 682 
     | 
    
         
            +
                    fillInTheGapsDragAndDropPage.flagNonAccessibleCheckbox()
         
     | 
| 
      
 683 
     | 
    
         
            +
                        .click()
         
     | 
| 
      
 684 
     | 
    
         
            +
                        .should('be.checked');
         
     | 
| 
      
 685 
     | 
    
         
            +
                },
         
     | 
| 
      
 686 
     | 
    
         
            +
             
     | 
| 
      
 687 
     | 
    
         
            +
                /**
         
     | 
| 
      
 688 
     | 
    
         
            +
                 * @description Verify tooltip text in dropzone option specify correct answer section
         
     | 
| 
      
 689 
     | 
    
         
            +
                 * @param {number} dropzoneIndex Index of dropzone in specify correct answer section
         
     | 
| 
      
 690 
     | 
    
         
            +
                 * @param {string} tooltip Tooltip text
         
     | 
| 
      
 691 
     | 
    
         
            +
                 */
         
     | 
| 
      
 692 
     | 
    
         
            +
                verifyDropzoneOptionTooltipSpecifyCorrectAnswerSection: (dropzoneIndex, tooltip) => {
         
     | 
| 
      
 693 
     | 
    
         
            +
                    utilities.hoverOverElement(utilities.getNthElement(fillInTheGapsDragAndDropPage.dropzoneSpecifyCorrectAnswerSection, dropzoneIndex));
         
     | 
| 
      
 694 
     | 
    
         
            +
                    utilities.verifyTextContent(fillInTheGapsDragAndDropPage.dropzoneOptionTooltip(), tooltip);
         
     | 
| 
      
 695 
     | 
    
         
            +
                    utilities.hoverAwayFromElement();
         
     | 
| 
      
 696 
     | 
    
         
            +
                },
         
     | 
| 
      
 697 
     | 
    
         
            +
             
     | 
| 
      
 698 
     | 
    
         
            +
                /**
         
     | 
| 
      
 699 
     | 
    
         
            +
                 * @description Verify tooltip text in dropzone option preview tab
         
     | 
| 
      
 700 
     | 
    
         
            +
                 * @param {number} dropzoneIndex Index of dropzone in preview tab
         
     | 
| 
      
 701 
     | 
    
         
            +
                 * @param {string} tooltip Tooltip text
         
     | 
| 
      
 702 
     | 
    
         
            +
                 */
         
     | 
| 
      
 703 
     | 
    
         
            +
                verifyDropzoneOptionTooltipPreviewTab: (dropzoneIndex, tooltip) => {
         
     | 
| 
      
 704 
     | 
    
         
            +
                    utilities.hoverOverElement(utilities.getNthElement(fillInTheGapsDragAndDropPage.dropzonePreviewTab, dropzoneIndex));
         
     | 
| 
      
 705 
     | 
    
         
            +
                    utilities.verifyTextContent(fillInTheGapsDragAndDropPage.dropzoneOptionTooltip(), tooltip);
         
     | 
| 
      
 706 
     | 
    
         
            +
                    utilities.hoverAwayFromElement();
         
     | 
| 
      
 707 
     | 
    
         
            +
                }
         
     | 
| 
       428 
708 
     | 
    
         
             
            }
         
     | 
| 
       429 
709 
     | 
    
         | 
| 
       430 
710 
     | 
    
         
             
            const tests = {
         
     | 
| 
         @@ -436,6 +716,15 @@ const tests = { 
     | 
|
| 
       436 
716 
     | 
    
         
             
                ...draggableOptionContainer.tests,
         
     | 
| 
       437 
717 
     | 
    
         
             
                ...commonComponents.tests,
         
     | 
| 
       438 
718 
     | 
    
         
             
                ...autoScoredScoringPreviewTab.tests,
         
     | 
| 
      
 719 
     | 
    
         
            +
                ...createQuestionBasePage.tests,
         
     | 
| 
      
 720 
     | 
    
         
            +
                ...studentViewSettingsLabelComponent.tests,
         
     | 
| 
      
 721 
     | 
    
         
            +
                ...randomizeOptionsComponent.tests,
         
     | 
| 
      
 722 
     | 
    
         
            +
                ...enableOuterBorderComponent.tests,
         
     | 
| 
      
 723 
     | 
    
         
            +
                ...allowMultipleInstancesOfSameDraggableOptionComponent.tests,
         
     | 
| 
      
 724 
     | 
    
         
            +
                ...autoScoredStudentViewSettings.tests,
         
     | 
| 
      
 725 
     | 
    
         
            +
                ...questionInstructionsComponent.tests,
         
     | 
| 
      
 726 
     | 
    
         
            +
                ...questionInputFieldComponent.tests,
         
     | 
| 
      
 727 
     | 
    
         
            +
                ...additionalSettingsPanel.tests,
         
     | 
| 
       439 
728 
     | 
    
         | 
| 
       440 
729 
     | 
    
         
             
                verifyContentsOfSpecifyCorrectAnswerSection: () => {
         
     | 
| 
       441 
730 
     | 
    
         
             
                    it('When user selects a scoring type then in the \'Correct\' accordion, all the contents should be displayed', () => {
         
     | 
| 
         @@ -516,39 +805,6 @@ const tests = { 
     | 
|
| 
       516 
805 
     | 
    
         
             
                    it('Accessibility of \'Correct\' accordion contents', { tags: 'a11y' }, () => {
         
     | 
| 
       517 
806 
     | 
    
         
             
                        cy.checkAccessibility(fillInTheGapsDragAndDropPage.dropzoneLabelSpecifyCorrectAnswerSection().parents('.preview-content-wrapper'))
         
     | 
| 
       518 
807 
     | 
    
         
             
                    });
         
     | 
| 
       519 
     | 
    
         
            -
                },
         
     | 
| 
       520 
     | 
    
         
            -
             
     | 
| 
       521 
     | 
    
         
            -
                /**     
         
     | 
| 
       522 
     | 
    
         
            -
                * @description select alternate answers for a dropzone in its alternate answer popup
         
     | 
| 
       523 
     | 
    
         
            -
                * @param {string[]} alternateAnswerArray Array of options to be selected as alternate answer
         
     | 
| 
       524 
     | 
    
         
            -
                */
         
     | 
| 
       525 
     | 
    
         
            -
                selectAlternateAnswerInAlternateAnswerPopup: (alternateAnswerArray) => {
         
     | 
| 
       526 
     | 
    
         
            -
                    alternateAnswerArray.forEach((alternateAnswer) => {
         
     | 
| 
       527 
     | 
    
         
            -
                        fillInTheGapsDragAndDropPage.alternateAnswerPopupOptionContainer()
         
     | 
| 
       528 
     | 
    
         
            -
                            .contains(alternateAnswer)
         
     | 
| 
       529 
     | 
    
         
            -
                            .click();
         
     | 
| 
       530 
     | 
    
         
            -
                        fillInTheGapsDragAndDropPage.alternateAnswerPopupOptionContainer()
         
     | 
| 
       531 
     | 
    
         
            -
                            .contains(alternateAnswer)
         
     | 
| 
       532 
     | 
    
         
            -
                            .parent()
         
     | 
| 
       533 
     | 
    
         
            -
                            .should('have.class', 'selected');
         
     | 
| 
       534 
     | 
    
         
            -
                    });
         
     | 
| 
       535 
     | 
    
         
            -
                },
         
     | 
| 
       536 
     | 
    
         
            -
             
     | 
| 
       537 
     | 
    
         
            -
                saveSelectedAlternateAnswers: () => {
         
     | 
| 
       538 
     | 
    
         
            -
                    fillInTheGapsDragAndDropPage.alternateAnswerPopupSaveButton()
         
     | 
| 
       539 
     | 
    
         
            -
                        .click();
         
     | 
| 
       540 
     | 
    
         
            -
                },
         
     | 
| 
       541 
     | 
    
         
            -
             
     | 
| 
       542 
     | 
    
         
            -
                /**
         
     | 
| 
       543 
     | 
    
         
            -
                 * @description Set alternate answers for a dropzone
         
     | 
| 
       544 
     | 
    
         
            -
                 * @param {number} dropzoneIndex Index of dropzone
         
     | 
| 
       545 
     | 
    
         
            -
                 * @param {string[]} alternateAnswerArray Array of options to be selected as alternate answer
         
     | 
| 
       546 
     | 
    
         
            -
                 */
         
     | 
| 
       547 
     | 
    
         
            -
                setResponseLevelAlternateAnswer: (dropzoneIndex, alternateAnswerArray) => {
         
     | 
| 
       548 
     | 
    
         
            -
                    fillInTheGapsDragAndDropPage.steps.clickOnAddAlternateButton(dropzoneIndex);
         
     | 
| 
       549 
     | 
    
         
            -
                    fillInTheGapsDragAndDropPage.steps.selectAlternateAnswerInAlternateAnswerPopup(alternateAnswerArray);
         
     | 
| 
       550 
     | 
    
         
            -
                    fillInTheGapsDragAndDropPage.steps.saveSelectedAlternateAnswers();
         
     | 
| 
       551 
     | 
    
         
            -
                    utilities.verifyElementVisibilityState(fillInTheGapsDragAndDropPage.alternateAnswerPopup(), 'notExist');
         
     | 
| 
       552 
808 
     | 
    
         
             
                }
         
     | 
| 
       553 
809 
     | 
    
         
             
            }
         
     | 
| 
       554 
810 
     | 
    
         | 
| 
         @@ -48,6 +48,7 @@ const selectors = { 
     | 
|
| 
       48 
48 
     | 
    
         
             
                textAreaPreviewTab: () => cy.get('.drag-and-drop-layout-wrapper textarea'),
         
     | 
| 
       49 
49 
     | 
    
         
             
                dropzonePointerInPreviewTab: () => cy.get('.preview-content-wrapper [class*="PointerWrapper"]'),
         
     | 
| 
       50 
50 
     | 
    
         
             
                canvasInPreviewTab: () => cy.get('[class*="PreviewTabstyles__ContentWrapper"] [class*="Canvasstyle__DragAndDropCanvas"]'),
         
     | 
| 
      
 51 
     | 
    
         
            +
                tickIconWrapper: () => cy.get('.tick-icon-wrapper g[id*="Rectangle"]')
         
     | 
| 
       51 
52 
     | 
    
         
             
            }
         
     | 
| 
       52 
53 
     | 
    
         | 
| 
       53 
54 
     | 
    
         
             
            const steps = {
         
     | 
| 
         @@ -320,31 +321,6 @@ const steps = { 
     | 
|
| 
       320 
321 
     | 
    
         
             
                        .click({ force: true });
         
     | 
| 
       321 
322 
     | 
    
         
             
                },
         
     | 
| 
       322 
323 
     | 
    
         | 
| 
       323 
     | 
    
         
            -
                setGroupedOptions: () => {
         
     | 
| 
       324 
     | 
    
         
            -
                    let flowers = [['Flower', 'Petals', 'Seed', 'Pollen'],
         
     | 
| 
       325 
     | 
    
         
            -
                    ['Leaflet', 'Leaves', 'Leaf', 'Green'],
         
     | 
| 
       326 
     | 
    
         
            -
                    ['Stem', 'Branch', 'Trunk', 'Tree'],
         
     | 
| 
       327 
     | 
    
         
            -
                    ['Rose', 'Lily', 'Orchid', 'Petals']
         
     | 
| 
       328 
     | 
    
         
            -
                    ];
         
     | 
| 
       329 
     | 
    
         
            -
                    let groupTitles = ['Group A', 'Group B', 'Group C', 'Group D'];
         
     | 
| 
       330 
     | 
    
         
            -
                    draggableOptionsSectionComponent.steps.expandDraggableOptionsLayoutDropdown()
         
     | 
| 
       331 
     | 
    
         
            -
                    draggableOptionsSectionComponent.steps.selectOptionFromDraggableOptionsLayoutDropdown('Grouped')
         
     | 
| 
       332 
     | 
    
         
            -
                    draggableOptionsSectionComponent.steps.addGroupTitle(groupTitles[0]);
         
     | 
| 
       333 
     | 
    
         
            -
                    optionsWrapperComponent.steps.addMultipleOptionFields(2);
         
     | 
| 
       334 
     | 
    
         
            -
                    optionsWrapperComponent.steps.addInputToOptionsInputField(flowers[0]);
         
     | 
| 
       335 
     | 
    
         
            -
                    draggableOptionsSectionComponent.steps.addGroupWithTitleAndOptionsInDraggableOptionsSection(groupTitles[1], flowers[1]);
         
     | 
| 
       336 
     | 
    
         
            -
                    draggableOptionsSectionComponent.steps.addGroupWithTitleAndOptionsInDraggableOptionsSection(groupTitles[2], flowers[2]);
         
     | 
| 
       337 
     | 
    
         
            -
                    draggableOptionsSectionComponent.steps.addGroupWithTitleAndOptionsInDraggableOptionsSection(groupTitles[3], flowers[3]);
         
     | 
| 
       338 
     | 
    
         
            -
                },
         
     | 
| 
       339 
     | 
    
         
            -
             
     | 
| 
       340 
     | 
    
         
            -
                /**
         
     | 
| 
       341 
     | 
    
         
            -
                * @description verify the displayed penalty points for each incorrect dropzone
         
     | 
| 
       342 
     | 
    
         
            -
                * @param {number} penaltyPoints displayed penalty points 
         
     | 
| 
       343 
     | 
    
         
            -
                */
         
     | 
| 
       344 
     | 
    
         
            -
                verifyPenaltyPointsForEachIncorrectDropzone: (penaltyPoints) => {
         
     | 
| 
       345 
     | 
    
         
            -
                    utilities.verifyInnerText(autoScoredScoringSectionMultiResponseType.penaltyPointsDetailsSectionAllottedPointsLabel(), `Penalty points for each incorrect dropzone: ${penaltyPoints}`);
         
     | 
| 
       346 
     | 
    
         
            -
                },
         
     | 
| 
       347 
     | 
    
         
            -
             
     | 
| 
       348 
324 
     | 
    
         
             
                verifyInactiveStateOfAllDropzoneInSpecifyCorrectAnswerSection: () => {
         
     | 
| 
       349 
325 
     | 
    
         
             
                    fillInTheGapsOverImageDragAndDropPage.dropzoneWrapperSpecifyCorrectAnswerSection()
         
     | 
| 
       350 
326 
     | 
    
         
             
                        .should('not.have.class', 'dragging-over');
         
     | 
| 
         @@ -585,7 +561,7 @@ const tests = { 
     | 
|
| 
       585 
561 
     | 
    
         
             
                    it('When user selects a scoring type then in the \'Correct\' accordion, all the contents should be displayed', () => {
         
     | 
| 
       586 
562 
     | 
    
         
             
                        utilities.verifyElementCount(fillInTheGapsOverImageDragAndDropPage.dropzoneSpecifyCorrectAnswerSection(), 3);
         
     | 
| 
       587 
563 
     | 
    
         
             
                        for (let index = 0; index < 3; index++) {
         
     | 
| 
       588 
     | 
    
         
            -
                            utilities.verifyInnerText(utilities.getNthElement(fillInTheGapsOverImageDragAndDropPage.dropzoneLabelSpecifyCorrectAnswerSection(), index), `Dropzone ${index+1}`);
         
     | 
| 
      
 564 
     | 
    
         
            +
                            utilities.verifyInnerText(utilities.getNthElement(fillInTheGapsOverImageDragAndDropPage.dropzoneLabelSpecifyCorrectAnswerSection(), index), `Dropzone ${index + 1}`);
         
     | 
| 
       589 
565 
     | 
    
         
             
                        }
         
     | 
| 
       590 
566 
     | 
    
         
             
                    });
         
     | 
| 
       591 
567 
     | 
    
         
             
                },
         
     | 
| 
         @@ -17,6 +17,7 @@ const selectors = { 
     | 
|
| 
       17 
17 
     | 
    
         
             
                dropdownWrapperPreviewTab: () => cy.get('[class*="question-preview-wrapper"] [class="Canvasstyle__DropzoneWrapper"]'),
         
     | 
| 
       18 
18 
     | 
    
         
             
                correctAnswerResponseWrapper: () => cy.get('[class*="LabelImageWithDropdownPreviewstyles__AnswerCell"]'),
         
     | 
| 
       19 
19 
     | 
    
         
             
                correctAnswerResponse: () => cy.get('[class*="LabelImageWithDropdownPreviewstyles__AnswerWrapper"]'),
         
     | 
| 
      
 20 
     | 
    
         
            +
                correctAnswerSectionWrapper: () => cy.get('.dnd-correct-answer-wrapper'),
         
     | 
| 
       20 
21 
     | 
    
         
             
            }
         
     | 
| 
       21 
22 
     | 
    
         | 
| 
       22 
23 
     | 
    
         
             
            const steps = {
         
     | 
| 
         @@ -154,7 +155,29 @@ const steps = { 
     | 
|
| 
       154 
155 
     | 
    
         
             
                verifyCanvasHeightInPreviewTab: (height) => {
         
     | 
| 
       155 
156 
     | 
    
         
             
                    fillInTheGapsOverImageDropdownPage.canvasImageInPreviewTab()
         
     | 
| 
       156 
157 
     | 
    
         
             
                        .should('have.css', 'height', `${height}px`);
         
     | 
| 
       157 
     | 
    
         
            -
                }
         
     | 
| 
      
 158 
     | 
    
         
            +
                },
         
     | 
| 
      
 159 
     | 
    
         
            +
             
     | 
| 
      
 160 
     | 
    
         
            +
                /**
         
     | 
| 
      
 161 
     | 
    
         
            +
                 * Verify correct answer responses in the correct answer section and count.
         
     | 
| 
      
 162 
     | 
    
         
            +
                 * @param {string[]} correctAnswerArray - An array containing the expected correct answer responses.
         
     | 
| 
      
 163 
     | 
    
         
            +
                 * @example verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount(['Flower', 'Petals', 'Stem']);
         
     | 
| 
      
 164 
     | 
    
         
            +
                 */
         
     | 
| 
      
 165 
     | 
    
         
            +
                verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount: (correctAnswerArray) => {
         
     | 
| 
      
 166 
     | 
    
         
            +
                    utilities.verifyElementCount(fillInTheGapsOverImageDropdownPage.correctAnswerResponseWrapper(), correctAnswerArray.length);
         
     | 
| 
      
 167 
     | 
    
         
            +
                    correctAnswerArray.forEach((correctAnswer, index) => {
         
     | 
| 
      
 168 
     | 
    
         
            +
                        fillInTheGapsOverImageDropdownPage.correctAnswerResponseWrapper()
         
     | 
| 
      
 169 
     | 
    
         
            +
                            .eq(index)
         
     | 
| 
      
 170 
     | 
    
         
            +
                            .within(() => {
         
     | 
| 
      
 171 
     | 
    
         
            +
                                utilities.verifyInnerText(fillInTheGapsDropdownCommonComponent.correctAnswerResponseNumeration(), `${index + 1}`);
         
     | 
| 
      
 172 
     | 
    
         
            +
                                fillInTheGapsOverImageDropdownPage.correctAnswerResponse()
         
     | 
| 
      
 173 
     | 
    
         
            +
                                    .should('have.text', correctAnswer);
         
     | 
| 
      
 174 
     | 
    
         
            +
                            });
         
     | 
| 
      
 175 
     | 
    
         
            +
                    });
         
     | 
| 
      
 176 
     | 
    
         
            +
                },
         
     | 
| 
      
 177 
     | 
    
         
            +
             
     | 
| 
      
 178 
     | 
    
         
            +
                verifyCorrectAnswerSectionNotExists: () => {
         
     | 
| 
      
 179 
     | 
    
         
            +
                    utilities.verifyElementVisibilityState(fillInTheGapsDropdownPage.correctAnswerSectionWrapper(), 'notExist');
         
     | 
| 
      
 180 
     | 
    
         
            +
                },
         
     | 
| 
       158 
181 
     | 
    
         
             
            }
         
     | 
| 
       159 
182 
     | 
    
         | 
| 
       160 
183 
     | 
    
         
             
            const tests = {
         
     |