itemengine-cypress-automation 1.0.86 → 1.0.87
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/DrawingResponse/drawingResponseCustomizeAdditionalOptions.js +30 -30
 - package/cypress/e2e/ILC/DrawingResponse/drawingResponseGradingViewAndCorrectAnswerViewContents.smoke.js +1 -1
 - package/cypress/e2e/ILC/EssayResponse/createCustomCategory.smoke.js +568 -0
 - package/cypress/e2e/ILC/EssayResponse/editAndPreviewTabScoringSection.js +86 -0
 - package/cypress/e2e/ILC/EssayResponse/editTabBasicSections.js +389 -0
 - package/cypress/e2e/ILC/EssayResponse/gradingViewAndCorrectAnswerViewContents.smoke.js +112 -0
 - package/cypress/e2e/ILC/EssayResponse/headerSection.js +68 -0
 - package/cypress/e2e/ILC/EssayResponse/previewAddTable.js +290 -0
 - package/cypress/e2e/ILC/EssayResponse/previewContentsForAllViews.smoke.js +79 -0
 - package/cypress/e2e/ILC/EssayResponse/previewEditTable.js +379 -0
 - package/cypress/e2e/ILC/EssayResponseBasic/essayResponseBasicCustomizeFormattingOptions.js +207 -0
 - package/cypress/e2e/ILC/EssayResponseBasic/gradingViewAndCorrectAnswerViewContents.smoke.js +115 -0
 - package/cypress/e2e/ILC/EssayResponseBasic/previewContentsForAllViews.smoke.js +79 -0
 - package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/FillInTheGapsOverImageDragAndDropScoring/partialDifferentWeightsBasic.js +159 -0
 - package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/backgroundImageAndCanvasProperties.js +507 -29
 - package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/previewContentsForAllViews.smoke.js +6 -0
 - package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/responseAnswersAndAcceptedStudentInput.js +272 -0
 - package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/specialCharactersSection.js +300 -0
 - package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/specifyCorrectAnswerSection.js +3 -3
 - package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/studentViewSettings.js +204 -0
 - package/cypress/e2e/ILC/Protractor/protractorEditTabBasicsSection.js +4 -4
 - package/cypress/e2e/ILC/Protractor/protractorEditTabFunctionality.js +1 -1
 - package/cypress/e2e/ILC/Ruler/rulerEditTabBasicsSection.js +4 -4
 - package/cypress/e2e/ILC/Ruler/rulerEditTabFunctionality.js +1 -1
 - package/cypress/e2e/ILC/SingleSelection/editTabScoringSection.js +1 -3
 - package/cypress/e2e/ILC/TextEntryMath/editTabBasicSection.js +205 -0
 - package/cypress/e2e/ILC/TextEntryMath/editTabScoringSection.js +259 -0
 - package/cypress/e2e/ILC/TextEntryMath/evaluationMethods2.js +217 -0
 - package/cypress/e2e/ILC/TextEntryMath/minimumScoringPenaltyPointsAndRoundingDropdown.js +202 -0
 - package/cypress/e2e/ILC/TextEntryMath/responseEvaluationMethodsAndCustomSettings.js +613 -0
 - package/cypress/e2e/ILC/TextEntryMath/specifyCorrectAnswerSection.js +71 -0
 - package/cypress/fixtures/equationEditorCategoriesAndSymbols .js +318 -318
 - package/cypress/fixtures/theme/ilc.json +3 -0
 - package/cypress/pages/components/backgroundImageUploadComponent.js +1 -2
 - package/cypress/pages/components/colorPopupComponent.js +26 -3
 - package/cypress/pages/components/createCustomCategoryFlyout.js +351 -46
 - package/cypress/pages/components/customizeSpecialCharacterComponent.js +165 -0
 - package/cypress/pages/components/equationEditorFlyout.js +124 -0
 - package/cypress/pages/components/essayResponseCommonComponents.js +3 -0
 - package/cypress/pages/components/figOverImageCanvasComponent.js +316 -7
 - package/cypress/pages/components/index.js +3 -1
 - package/cypress/pages/components/opacityComponent.js +31 -4
 - package/cypress/pages/components/specialAndCustomSpecialCharactersComponent.js +1 -0
 - package/cypress/pages/components/specialCharactersFlyoutComponent.js +1 -0
 - package/cypress/pages/drawingResponsePage.js +33 -138
 - package/cypress/pages/essayResponsePage.js +612 -26
 - package/cypress/pages/fillInTheGapsOverImageDragAndDropPage.js +48 -7
 - package/cypress/pages/fillInTheGapsOverImageTextPage.js +267 -13
 - package/package.json +1 -1
 
| 
         @@ -0,0 +1,568 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            import { equationEditorCategoriesAndSymbols } from "../../../fixtures/equationEditorCategoriesAndSymbols ";
         
     | 
| 
      
 2 
     | 
    
         
            +
            import { dialogBoxBase, essayResponsePage } from "../../../pages";
         
     | 
| 
      
 3 
     | 
    
         
            +
            import { commonComponents } from "../../../pages/components";
         
     | 
| 
      
 4 
     | 
    
         
            +
            import { createCustomCategoryFlyout } from "../../../pages/components/createCustomCategoryFlyout";
         
     | 
| 
      
 5 
     | 
    
         
            +
            import { equationEditorFlyout } from "../../../pages/components/equationEditorFlyout";
         
     | 
| 
      
 6 
     | 
    
         
            +
            import abortEarlySetup from "../../../support/helpers/abortEarly";
         
     | 
| 
      
 7 
     | 
    
         
            +
            import utilities from "../../../support/helpers/utilities";
         
     | 
| 
      
 8 
     | 
    
         
            +
            const css = Cypress.env('css');
         
     | 
| 
      
 9 
     | 
    
         
            +
            const grepTags = Cypress.env('grepTags');
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            const allCategories = Object.keys(equationEditorCategoriesAndSymbols)
         
     | 
| 
      
 12 
     | 
    
         
            +
            const customCategory = {
         
     | 
| 
      
 13 
     | 
    
         
            +
                symbols: {
         
     | 
| 
      
 14 
     | 
    
         
            +
                    one: {
         
     | 
| 
      
 15 
     | 
    
         
            +
                        title: 'One',
         
     | 
| 
      
 16 
     | 
    
         
            +
                        textElement: '1',
         
     | 
| 
      
 17 
     | 
    
         
            +
                        ariaLabel: 'one',
         
     | 
| 
      
 18 
     | 
    
         
            +
                        displayText: '1'
         
     | 
| 
      
 19 
     | 
    
         
            +
                    },
         
     | 
| 
      
 20 
     | 
    
         
            +
                    two: {
         
     | 
| 
      
 21 
     | 
    
         
            +
                        title: 'Two',
         
     | 
| 
      
 22 
     | 
    
         
            +
                        textElement: '2',
         
     | 
| 
      
 23 
     | 
    
         
            +
                        ariaLabel: 'two',
         
     | 
| 
      
 24 
     | 
    
         
            +
                        displayText: '2'
         
     | 
| 
      
 25 
     | 
    
         
            +
                    },
         
     | 
| 
      
 26 
     | 
    
         
            +
                    three: {
         
     | 
| 
      
 27 
     | 
    
         
            +
                        title: 'Three',
         
     | 
| 
      
 28 
     | 
    
         
            +
                        textElement: '3',
         
     | 
| 
      
 29 
     | 
    
         
            +
                        ariaLabel: 'three',
         
     | 
| 
      
 30 
     | 
    
         
            +
                        displayText: '3'
         
     | 
| 
      
 31 
     | 
    
         
            +
                    },
         
     | 
| 
      
 32 
     | 
    
         
            +
                    four: {
         
     | 
| 
      
 33 
     | 
    
         
            +
                        title: 'Four',
         
     | 
| 
      
 34 
     | 
    
         
            +
                        textElement: '4',
         
     | 
| 
      
 35 
     | 
    
         
            +
                        ariaLabel: 'four',
         
     | 
| 
      
 36 
     | 
    
         
            +
                        displayText: '4'
         
     | 
| 
      
 37 
     | 
    
         
            +
                    },
         
     | 
| 
      
 38 
     | 
    
         
            +
                    five: {
         
     | 
| 
      
 39 
     | 
    
         
            +
                        title: 'Five',
         
     | 
| 
      
 40 
     | 
    
         
            +
                        textElement: '5',
         
     | 
| 
      
 41 
     | 
    
         
            +
                        ariaLabel: 'five',
         
     | 
| 
      
 42 
     | 
    
         
            +
                        displayText: '5'
         
     | 
| 
      
 43 
     | 
    
         
            +
                    },
         
     | 
| 
      
 44 
     | 
    
         
            +
                    six: {
         
     | 
| 
      
 45 
     | 
    
         
            +
                        title: 'Six',
         
     | 
| 
      
 46 
     | 
    
         
            +
                        textElement: '6',
         
     | 
| 
      
 47 
     | 
    
         
            +
                        ariaLabel: 'six',
         
     | 
| 
      
 48 
     | 
    
         
            +
                        displayText: '6'
         
     | 
| 
      
 49 
     | 
    
         
            +
                    },
         
     | 
| 
      
 50 
     | 
    
         
            +
                    seven: {
         
     | 
| 
      
 51 
     | 
    
         
            +
                        title: 'Seven',
         
     | 
| 
      
 52 
     | 
    
         
            +
                        textElement: '7',
         
     | 
| 
      
 53 
     | 
    
         
            +
                        ariaLabel: 'seven',
         
     | 
| 
      
 54 
     | 
    
         
            +
                        displayText: '7'
         
     | 
| 
      
 55 
     | 
    
         
            +
                    },
         
     | 
| 
      
 56 
     | 
    
         
            +
                    eight: {
         
     | 
| 
      
 57 
     | 
    
         
            +
                        title: 'Eight',
         
     | 
| 
      
 58 
     | 
    
         
            +
                        textElement: '8',
         
     | 
| 
      
 59 
     | 
    
         
            +
                        ariaLabel: 'eight',
         
     | 
| 
      
 60 
     | 
    
         
            +
                        displayText: '8'
         
     | 
| 
      
 61 
     | 
    
         
            +
                    },
         
     | 
| 
      
 62 
     | 
    
         
            +
                    nine: {
         
     | 
| 
      
 63 
     | 
    
         
            +
                        title: 'Nine',
         
     | 
| 
      
 64 
     | 
    
         
            +
                        textElement: '9',
         
     | 
| 
      
 65 
     | 
    
         
            +
                        ariaLabel: 'nine',
         
     | 
| 
      
 66 
     | 
    
         
            +
                        displayText: '9'
         
     | 
| 
      
 67 
     | 
    
         
            +
                    },
         
     | 
| 
      
 68 
     | 
    
         
            +
                    zero: {
         
     | 
| 
      
 69 
     | 
    
         
            +
                        title: 'Zero',
         
     | 
| 
      
 70 
     | 
    
         
            +
                        textElement: '0',
         
     | 
| 
      
 71 
     | 
    
         
            +
                        ariaLabel: 'zero',
         
     | 
| 
      
 72 
     | 
    
         
            +
                        displayText: '0'
         
     | 
| 
      
 73 
     | 
    
         
            +
                    },
         
     | 
| 
      
 74 
     | 
    
         
            +
                    dotMultiplier: {
         
     | 
| 
      
 75 
     | 
    
         
            +
                        title: 'Dot Multiplier',
         
     | 
| 
      
 76 
     | 
    
         
            +
                        textElement: null,
         
     | 
| 
      
 77 
     | 
    
         
            +
                        ariaLabel: 'dotMultiplier',
         
     | 
| 
      
 78 
     | 
    
         
            +
                        displayText: '·'
         
     | 
| 
      
 79 
     | 
    
         
            +
                    },
         
     | 
| 
      
 80 
     | 
    
         
            +
                    comma: {
         
     | 
| 
      
 81 
     | 
    
         
            +
                        title: 'Comma',
         
     | 
| 
      
 82 
     | 
    
         
            +
                        textElement: null,
         
     | 
| 
      
 83 
     | 
    
         
            +
                        ariaLabel: 'comma',
         
     | 
| 
      
 84 
     | 
    
         
            +
                        displayText: ','
         
     | 
| 
      
 85 
     | 
    
         
            +
                    },
         
     | 
| 
      
 86 
     | 
    
         
            +
                    add: {
         
     | 
| 
      
 87 
     | 
    
         
            +
                        title: 'Addition',
         
     | 
| 
      
 88 
     | 
    
         
            +
                        textElement: null,
         
     | 
| 
      
 89 
     | 
    
         
            +
                        ariaLabel: 'plus',
         
     | 
| 
      
 90 
     | 
    
         
            +
                        displayText: '+'
         
     | 
| 
      
 91 
     | 
    
         
            +
                    },
         
     | 
| 
      
 92 
     | 
    
         
            +
                    subtract: {
         
     | 
| 
      
 93 
     | 
    
         
            +
                        title: 'Subtraction',
         
     | 
| 
      
 94 
     | 
    
         
            +
                        textElement: null,
         
     | 
| 
      
 95 
     | 
    
         
            +
                        ariaLabel: 'minus',
         
     | 
| 
      
 96 
     | 
    
         
            +
                        displayText: '−'
         
     | 
| 
      
 97 
     | 
    
         
            +
                    },
         
     | 
| 
      
 98 
     | 
    
         
            +
                    multiply: {
         
     | 
| 
      
 99 
     | 
    
         
            +
                        title: 'Multiply',
         
     | 
| 
      
 100 
     | 
    
         
            +
                        textElement: null,
         
     | 
| 
      
 101 
     | 
    
         
            +
                        ariaLabel: 'multiply',
         
     | 
| 
      
 102 
     | 
    
         
            +
                        displayText: '×'
         
     | 
| 
      
 103 
     | 
    
         
            +
                    },
         
     | 
| 
      
 104 
     | 
    
         
            +
                    divide: {
         
     | 
| 
      
 105 
     | 
    
         
            +
                        title: 'Division',
         
     | 
| 
      
 106 
     | 
    
         
            +
                        textElement: null,
         
     | 
| 
      
 107 
     | 
    
         
            +
                        ariaLabel: 'division',
         
     | 
| 
      
 108 
     | 
    
         
            +
                        displayText: '÷'
         
     | 
| 
      
 109 
     | 
    
         
            +
                    },
         
     | 
| 
      
 110 
     | 
    
         
            +
                    equalTo: {
         
     | 
| 
      
 111 
     | 
    
         
            +
                        title: 'Equal To',
         
     | 
| 
      
 112 
     | 
    
         
            +
                        textElement: null,
         
     | 
| 
      
 113 
     | 
    
         
            +
                        ariaLabel: 'equalTo',
         
     | 
| 
      
 114 
     | 
    
         
            +
                        displayText: '='
         
     | 
| 
      
 115 
     | 
    
         
            +
                    },
         
     | 
| 
      
 116 
     | 
    
         
            +
                    polygonLeft: {
         
     | 
| 
      
 117 
     | 
    
         
            +
                        title: 'Polygon Left',
         
     | 
| 
      
 118 
     | 
    
         
            +
                        textElement: null,
         
     | 
| 
      
 119 
     | 
    
         
            +
                        ariaLabel: 'polygonLeft',
         
     | 
| 
      
 120 
     | 
    
         
            +
                        displayText: null
         
     | 
| 
      
 121 
     | 
    
         
            +
                    },
         
     | 
| 
      
 122 
     | 
    
         
            +
                    polygonRight: {
         
     | 
| 
      
 123 
     | 
    
         
            +
                        title: 'Polygon Right',
         
     | 
| 
      
 124 
     | 
    
         
            +
                        textElement: null,
         
     | 
| 
      
 125 
     | 
    
         
            +
                        ariaLabel: 'polygonRight',
         
     | 
| 
      
 126 
     | 
    
         
            +
                        displayText: null
         
     | 
| 
      
 127 
     | 
    
         
            +
                    },
         
     | 
| 
      
 128 
     | 
    
         
            +
                    clear: {
         
     | 
| 
      
 129 
     | 
    
         
            +
                        title: 'Clear',
         
     | 
| 
      
 130 
     | 
    
         
            +
                        textElement: null,
         
     | 
| 
      
 131 
     | 
    
         
            +
                        ariaLabel: 'clear',
         
     | 
| 
      
 132 
     | 
    
         
            +
                        displayText: null
         
     | 
| 
      
 133 
     | 
    
         
            +
                    },
         
     | 
| 
      
 134 
     | 
    
         
            +
                    gamma: {
         
     | 
| 
      
 135 
     | 
    
         
            +
                        title: 'Gamma',
         
     | 
| 
      
 136 
     | 
    
         
            +
                        text: null,
         
     | 
| 
      
 137 
     | 
    
         
            +
                        ariaLabel: 'gamma',
         
     | 
| 
      
 138 
     | 
    
         
            +
                        displayText: 'γ'
         
     | 
| 
      
 139 
     | 
    
         
            +
                    },
         
     | 
| 
      
 140 
     | 
    
         
            +
                    delta: {
         
     | 
| 
      
 141 
     | 
    
         
            +
                        title: 'Delta',
         
     | 
| 
      
 142 
     | 
    
         
            +
                        text: null,
         
     | 
| 
      
 143 
     | 
    
         
            +
                        ariaLabel: 'delta',
         
     | 
| 
      
 144 
     | 
    
         
            +
                        displayText: 'δ'
         
     | 
| 
      
 145 
     | 
    
         
            +
                    }
         
     | 
| 
      
 146 
     | 
    
         
            +
                }
         
     | 
| 
      
 147 
     | 
    
         
            +
            }
         
     | 
| 
      
 148 
     | 
    
         
            +
             
     | 
| 
      
 149 
     | 
    
         
            +
            describe('Create question page - Essay Response: Create custom category', () => {
         
     | 
| 
      
 150 
     | 
    
         
            +
                before(() => {
         
     | 
| 
      
 151 
     | 
    
         
            +
                    cy.loginAs('admin');
         
     | 
| 
      
 152 
     | 
    
         
            +
                });
         
     | 
| 
      
 153 
     | 
    
         
            +
             
     | 
| 
      
 154 
     | 
    
         
            +
                describe('Create custom category contents', { tags: 'smoke' }, () => {
         
     | 
| 
      
 155 
     | 
    
         
            +
                    abortEarlySetup();
         
     | 
| 
      
 156 
     | 
    
         
            +
                    before(() => {
         
     | 
| 
      
 157 
     | 
    
         
            +
                        essayResponsePage.steps.navigateToCreateQuestion('essay response');
         
     | 
| 
      
 158 
     | 
    
         
            +
                        cy.barsPreLoaderWait();
         
     | 
| 
      
 159 
     | 
    
         
            +
                        essayResponsePage.steps.expandCustomizeFormattingOptionsAccordion();
         
     | 
| 
      
 160 
     | 
    
         
            +
                        essayResponsePage.steps.selectCustomizedFormattingOption(['Equation Editor'])
         
     | 
| 
      
 161 
     | 
    
         
            +
                    });
         
     | 
| 
      
 162 
     | 
    
         
            +
             
     | 
| 
      
 163 
     | 
    
         
            +
                    it('When user clicks on the \'Create custom category\' button a \'Custom category\' flyout should appear', () => {
         
     | 
| 
      
 164 
     | 
    
         
            +
                        createCustomCategoryFlyout.steps.openCreateCustomCategoryFlyout();
         
     | 
| 
      
 165 
     | 
    
         
            +
                    });
         
     | 
| 
      
 166 
     | 
    
         
            +
             
     | 
| 
      
 167 
     | 
    
         
            +
                    it('Title of the flyout should be \'Custom Category\'', () => {
         
     | 
| 
      
 168 
     | 
    
         
            +
                        utilities.verifyInnerText(createCustomCategoryFlyout.createCustomCategoryFlyoutTitle(), 'Custom category');
         
     | 
| 
      
 169 
     | 
    
         
            +
                        utilities.verifyElementVisibilityState(createCustomCategoryFlyout.createCustomCategoryFlyoutTitle(), 'visible');
         
     | 
| 
      
 170 
     | 
    
         
            +
                    });
         
     | 
| 
      
 171 
     | 
    
         
            +
             
     | 
| 
      
 172 
     | 
    
         
            +
                    it('\'Category Name\' and \'Category Icon\' labels along with input fields should be displayed in the flyout. Their input fields should be blank by default', () => {
         
     | 
| 
      
 173 
     | 
    
         
            +
                        utilities.verifyInnerText(createCustomCategoryFlyout.categoryNameLabel(), 'Category name');
         
     | 
| 
      
 174 
     | 
    
         
            +
                        utilities.verifyElementVisibilityState(createCustomCategoryFlyout.categoryNameLabel(), 'visible');
         
     | 
| 
      
 175 
     | 
    
         
            +
                        utilities.verifyInnerText(createCustomCategoryFlyout.categoryNameInputField(), '');
         
     | 
| 
      
 176 
     | 
    
         
            +
                        utilities.verifyElementVisibilityState(createCustomCategoryFlyout.categoryNameInputField(), 'visible');
         
     | 
| 
      
 177 
     | 
    
         
            +
                        utilities.verifyInnerText(createCustomCategoryFlyout.categoryIconLabel(), 'Category icon');
         
     | 
| 
      
 178 
     | 
    
         
            +
                        utilities.verifyElementVisibilityState(createCustomCategoryFlyout.categoryIconLabel(), 'visible');
         
     | 
| 
      
 179 
     | 
    
         
            +
                        utilities.verifyInnerText(createCustomCategoryFlyout.categoryIconInputField(), '');
         
     | 
| 
      
 180 
     | 
    
         
            +
                        utilities.verifyElementVisibilityState(createCustomCategoryFlyout.categoryIconInputField(), 'visible');
         
     | 
| 
      
 181 
     | 
    
         
            +
                    });
         
     | 
| 
      
 182 
     | 
    
         
            +
             
     | 
| 
      
 183 
     | 
    
         
            +
                    it('\'Selected Symbols:\' label should be displayed in the flyout. By default, no symbols should be present under it', () => {
         
     | 
| 
      
 184 
     | 
    
         
            +
                        utilities.verifyInnerText(createCustomCategoryFlyout.selectedSymbolsLabel(), 'Selected symbols:');
         
     | 
| 
      
 185 
     | 
    
         
            +
                        utilities.verifyElementVisibilityState(createCustomCategoryFlyout.selectedSymbols(), 'notExist');
         
     | 
| 
      
 186 
     | 
    
         
            +
                    });
         
     | 
| 
      
 187 
     | 
    
         
            +
             
     | 
| 
      
 188 
     | 
    
         
            +
                    it('\'Select the symbols to display to the students.\' help text should be displayed in the flyout', () => {
         
     | 
| 
      
 189 
     | 
    
         
            +
                        utilities.verifyInnerText(createCustomCategoryFlyout.selectSymbolsToDisplayLabel(), 'Select the symbols to display to the students.');
         
     | 
| 
      
 190 
     | 
    
         
            +
                    });
         
     | 
| 
      
 191 
     | 
    
         
            +
             
     | 
| 
      
 192 
     | 
    
         
            +
                    it(`${allCategories} accordions should be displayed with their respective labels and unchecked checkboxes. `, () => {
         
     | 
| 
      
 193 
     | 
    
         
            +
                        createCustomCategoryFlyout.steps.verifyCreateCustomCategoryAccordionLabelsAndDefaultCheckbox();
         
     | 
| 
      
 194 
     | 
    
         
            +
                    });
         
     | 
| 
      
 195 
     | 
    
         
            +
             
     | 
| 
      
 196 
     | 
    
         
            +
                    it(`By default, the ${equationEditorCategoriesAndSymbols['keypad'].displayName} category accordion should be expanded and other all accordions should be in collapsed state`, () => {
         
     | 
| 
      
 197 
     | 
    
         
            +
                        for (let index = 0; index < allCategories.length; index++) {
         
     | 
| 
      
 198 
     | 
    
         
            +
                            if (allCategories[index] === 'keypad') {
         
     | 
| 
      
 199 
     | 
    
         
            +
                                createCustomCategoryFlyout.steps.verifyCategoryAccordionIsExpanded(`${equationEditorCategoriesAndSymbols[allCategories[index]].displayName}`);
         
     | 
| 
      
 200 
     | 
    
         
            +
                            } else {
         
     | 
| 
      
 201 
     | 
    
         
            +
                                createCustomCategoryFlyout.steps.verifyCategoryAccordionIsCollapsed(`${equationEditorCategoriesAndSymbols[allCategories[index]].displayName}`);
         
     | 
| 
      
 202 
     | 
    
         
            +
                            }
         
     | 
| 
      
 203 
     | 
    
         
            +
                        };
         
     | 
| 
      
 204 
     | 
    
         
            +
                    });
         
     | 
| 
      
 205 
     | 
    
         
            +
             
     | 
| 
      
 206 
     | 
    
         
            +
                    it('\'Save\' button should be displayed in the flyout', () => {
         
     | 
| 
      
 207 
     | 
    
         
            +
                        utilities.verifyInnerText(createCustomCategoryFlyout.buttonSave(), 'Save');
         
     | 
| 
      
 208 
     | 
    
         
            +
                        utilities.verifyElementVisibilityState(createCustomCategoryFlyout.buttonSave(), 'visible');
         
     | 
| 
      
 209 
     | 
    
         
            +
                    });
         
     | 
| 
      
 210 
     | 
    
         
            +
             
     | 
| 
      
 211 
     | 
    
         
            +
                    allCategories.forEach((categoryName) => {
         
     | 
| 
      
 212 
     | 
    
         
            +
                        it(`On clicking the ${equationEditorCategoriesAndSymbols[categoryName].displayName} category accordion the category should be expanded`, () => {
         
     | 
| 
      
 213 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.expandCategoryAccordion(`${equationEditorCategoriesAndSymbols[categoryName].displayName}`)
         
     | 
| 
      
 214 
     | 
    
         
            +
                        });
         
     | 
| 
      
 215 
     | 
    
         
            +
             
     | 
| 
      
 216 
     | 
    
         
            +
                        it(`The ${equationEditorCategoriesAndSymbols[categoryName].displayName} category accordian should display all the ${equationEditorCategoriesAndSymbols[categoryName].displayName} category Symbols. By default, all the symbols should be deselected`, () => {
         
     | 
| 
      
 217 
     | 
    
         
            +
                            const symbolsArray = Object.values(equationEditorCategoriesAndSymbols[categoryName].symbols)
         
     | 
| 
      
 218 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.verifySymbolsDisplayedInCustomCategoryFlyoutCategoryAccordion(`${equationEditorCategoriesAndSymbols[categoryName].displayName}`, symbolsArray)
         
     | 
| 
      
 219 
     | 
    
         
            +
                        });
         
     | 
| 
      
 220 
     | 
    
         
            +
             
     | 
| 
      
 221 
     | 
    
         
            +
                        it(`On clicking the expanded ${equationEditorCategoriesAndSymbols[categoryName].displayName} category accordion the category should collapse`, () => {
         
     | 
| 
      
 222 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.collapseCategoryAccordion(`${equationEditorCategoriesAndSymbols[categoryName].displayName}`);
         
     | 
| 
      
 223 
     | 
    
         
            +
                        });
         
     | 
| 
      
 224 
     | 
    
         
            +
                    });
         
     | 
| 
      
 225 
     | 
    
         
            +
             
     | 
| 
      
 226 
     | 
    
         
            +
                    it('\'Cancel\' button should be displayed. When user clicks on the \'Cancel\' button the flyout should close', () => {
         
     | 
| 
      
 227 
     | 
    
         
            +
                        utilities.verifyInnerText(createCustomCategoryFlyout.buttonCancel(), 'Cancel');
         
     | 
| 
      
 228 
     | 
    
         
            +
                        utilities.verifyElementVisibilityState(createCustomCategoryFlyout.buttonCancel(), 'visible');
         
     | 
| 
      
 229 
     | 
    
         
            +
                        createCustomCategoryFlyout.steps.clickOnCancelButton();
         
     | 
| 
      
 230 
     | 
    
         
            +
                        utilities.verifyElementVisibilityState(createCustomCategoryFlyout.dialogBox(), 'notExist');
         
     | 
| 
      
 231 
     | 
    
         
            +
                    });
         
     | 
| 
      
 232 
     | 
    
         
            +
             
     | 
| 
      
 233 
     | 
    
         
            +
                    it('CSS of Custom category flyout', { tags: 'css' }, () => {
         
     | 
| 
      
 234 
     | 
    
         
            +
                        cy.log('Pre-step: Opening create custom category flyout');
         
     | 
| 
      
 235 
     | 
    
         
            +
                        createCustomCategoryFlyout.steps.openCreateCustomCategoryFlyout();
         
     | 
| 
      
 236 
     | 
    
         
            +
                        utilities.verifyCSS(createCustomCategoryFlyout.createCustomCategoryFlyoutTitle(), {
         
     | 
| 
      
 237 
     | 
    
         
            +
                            'color': css.color.flyoutTitle,
         
     | 
| 
      
 238 
     | 
    
         
            +
                            'font-size': css.fontSize.heading,
         
     | 
| 
      
 239 
     | 
    
         
            +
                            'font-weight': css.fontWeight.bold
         
     | 
| 
      
 240 
     | 
    
         
            +
                        });
         
     | 
| 
      
 241 
     | 
    
         
            +
                        utilities.verifyCSS(createCustomCategoryFlyout.categoryNameLabel(), {
         
     | 
| 
      
 242 
     | 
    
         
            +
                            'color': css.color.labels,
         
     | 
| 
      
 243 
     | 
    
         
            +
                            'font-size': css.fontSize.normal,
         
     | 
| 
      
 244 
     | 
    
         
            +
                            'font-weight': css.fontWeight.semibold
         
     | 
| 
      
 245 
     | 
    
         
            +
                        });
         
     | 
| 
      
 246 
     | 
    
         
            +
                        utilities.verifyCSS(createCustomCategoryFlyout.categoryIconLabel(), {
         
     | 
| 
      
 247 
     | 
    
         
            +
                            'color': css.color.labels,
         
     | 
| 
      
 248 
     | 
    
         
            +
                            'font-size': css.fontSize.normal,
         
     | 
| 
      
 249 
     | 
    
         
            +
                            'font-weight': css.fontWeight.semibold
         
     | 
| 
      
 250 
     | 
    
         
            +
                        });
         
     | 
| 
      
 251 
     | 
    
         
            +
                        utilities.verifyCSS(createCustomCategoryFlyout.selectedSymbolsLabel(), {
         
     | 
| 
      
 252 
     | 
    
         
            +
                            'color': css.color.labels,
         
     | 
| 
      
 253 
     | 
    
         
            +
                            'font-size': css.fontSize.normal,
         
     | 
| 
      
 254 
     | 
    
         
            +
                            'font-weight': css.fontWeight.semibold
         
     | 
| 
      
 255 
     | 
    
         
            +
                        });
         
     | 
| 
      
 256 
     | 
    
         
            +
                        utilities.verifyCSS(createCustomCategoryFlyout.selectSymbolsToDisplayLabel(), {
         
     | 
| 
      
 257 
     | 
    
         
            +
                            'color': css.color.labels,
         
     | 
| 
      
 258 
     | 
    
         
            +
                            'font-size': css.fontSize.normal,
         
     | 
| 
      
 259 
     | 
    
         
            +
                            'font-weight': css.fontWeight.semibold
         
     | 
| 
      
 260 
     | 
    
         
            +
                        });
         
     | 
| 
      
 261 
     | 
    
         
            +
                        utilities.verifyCSS(utilities.getNthElement(createCustomCategoryFlyout.categoryAccordionLabel(), 0), {
         
     | 
| 
      
 262 
     | 
    
         
            +
                            'color': css.color.accordionLabel,
         
     | 
| 
      
 263 
     | 
    
         
            +
                            'font-size': css.fontSize.default,
         
     | 
| 
      
 264 
     | 
    
         
            +
                            'font-weight': css.fontWeight.bold
         
     | 
| 
      
 265 
     | 
    
         
            +
                        });
         
     | 
| 
      
 266 
     | 
    
         
            +
                        utilities.verifyCSS(createCustomCategoryFlyout.buttonCancel(), {
         
     | 
| 
      
 267 
     | 
    
         
            +
                            'color': css.color.secondaryBtn,
         
     | 
| 
      
 268 
     | 
    
         
            +
                            'font-size': css.fontSize.default,
         
     | 
| 
      
 269 
     | 
    
         
            +
                            'font-weight': css.fontWeight.semibold,
         
     | 
| 
      
 270 
     | 
    
         
            +
                            'background-color': css.color.transparent
         
     | 
| 
      
 271 
     | 
    
         
            +
                        });
         
     | 
| 
      
 272 
     | 
    
         
            +
                        utilities.verifyCSS(createCustomCategoryFlyout.buttonSave(), {
         
     | 
| 
      
 273 
     | 
    
         
            +
                            'color': css.color.successBtn,
         
     | 
| 
      
 274 
     | 
    
         
            +
                            'font-size': css.fontSize.default,
         
     | 
| 
      
 275 
     | 
    
         
            +
                            'font-weight': css.fontWeight.semibold,
         
     | 
| 
      
 276 
     | 
    
         
            +
                            'background-color': css.color.successBtnBg
         
     | 
| 
      
 277 
     | 
    
         
            +
                        });
         
     | 
| 
      
 278 
     | 
    
         
            +
                    });
         
     | 
| 
      
 279 
     | 
    
         
            +
             
     | 
| 
      
 280 
     | 
    
         
            +
                    it('Accessibility of Custom category flyout', { tags: 'a11y' }, () => {
         
     | 
| 
      
 281 
     | 
    
         
            +
                        cy.checkAccessibility(createCustomCategoryFlyout.dialogBox())
         
     | 
| 
      
 282 
     | 
    
         
            +
                    });
         
     | 
| 
      
 283 
     | 
    
         
            +
                });
         
     | 
| 
      
 284 
     | 
    
         
            +
             
     | 
| 
      
 285 
     | 
    
         
            +
                if (!grepTags || !grepTags.includes('smoke')) {
         
     | 
| 
      
 286 
     | 
    
         
            +
                    describe('Category Checkbox validation cases', () => {
         
     | 
| 
      
 287 
     | 
    
         
            +
                        abortEarlySetup();
         
     | 
| 
      
 288 
     | 
    
         
            +
                        before(() => {
         
     | 
| 
      
 289 
     | 
    
         
            +
                            essayResponsePage.steps.navigateToCreateQuestion('essay response');
         
     | 
| 
      
 290 
     | 
    
         
            +
                            cy.barsPreLoaderWait();
         
     | 
| 
      
 291 
     | 
    
         
            +
                            essayResponsePage.steps.expandCustomizeFormattingOptionsAccordion();
         
     | 
| 
      
 292 
     | 
    
         
            +
                            essayResponsePage.steps.selectCustomizedFormattingOption(['Equation Editor'])
         
     | 
| 
      
 293 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.openCreateCustomCategoryFlyout();
         
     | 
| 
      
 294 
     | 
    
         
            +
                        });
         
     | 
| 
      
 295 
     | 
    
         
            +
             
     | 
| 
      
 296 
     | 
    
         
            +
                        it('When user clicks on a symbol then that symbol should get selected and appear in the selected symbols region', () => {
         
     | 
| 
      
 297 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.selectASymbolInCreateCustomCategoryFlyout(`${equationEditorCategoriesAndSymbols['keypad'].displayName}`, `${equationEditorCategoriesAndSymbols.keypad.symbols.one.ariaLabel}`);
         
     | 
| 
      
 298 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.verifySymbolIsDisplayedInSelectedSymbolsSection([`${equationEditorCategoriesAndSymbols.keypad.symbols.one.ariaLabel}`]);
         
     | 
| 
      
 299 
     | 
    
         
            +
                        });
         
     | 
| 
      
 300 
     | 
    
         
            +
             
     | 
| 
      
 301 
     | 
    
         
            +
                        it('When user partially selects symbols from any category then that category\'s checkbox should be in partially checked state', () => {
         
     | 
| 
      
 302 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.verifyPartiallyCheckedStateOfCategoryAccordionCheckbox(`${equationEditorCategoriesAndSymbols['keypad'].displayName}`);
         
     | 
| 
      
 303 
     | 
    
         
            +
                        });
         
     | 
| 
      
 304 
     | 
    
         
            +
             
     | 
| 
      
 305 
     | 
    
         
            +
                        it('When user selects a symbol shared between two categories from any one of the categories then the symbol should get selected in the other category as well and the checkboxes should be partially checked', () => {
         
     | 
| 
      
 306 
     | 
    
         
            +
                            //Select common symbol in keypad category
         
     | 
| 
      
 307 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.selectASymbolInCreateCustomCategoryFlyout(`${equationEditorCategoriesAndSymbols['keypad'].displayName}`, `${equationEditorCategoriesAndSymbols.keypad.symbols.dotMultiplier.ariaLabel}`);
         
     | 
| 
      
 308 
     | 
    
         
            +
                            //Verify common symbol is selected in basic category
         
     | 
| 
      
 309 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.expandCategoryAccordion(`${equationEditorCategoriesAndSymbols['basic'].displayName}`);
         
     | 
| 
      
 310 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.verifySymbolIsSelectedInCreateCustomCategoryFlyout(`${equationEditorCategoriesAndSymbols['basic'].displayName}`, `${equationEditorCategoriesAndSymbols.keypad.symbols.dotMultiplier.ariaLabel}`);
         
     | 
| 
      
 311 
     | 
    
         
            +
                            //Verify checkboxes for both categories are partially selected
         
     | 
| 
      
 312 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.verifyPartiallyCheckedStateOfCategoryAccordionCheckbox(`${equationEditorCategoriesAndSymbols['keypad'].displayName}`);
         
     | 
| 
      
 313 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.verifyPartiallyCheckedStateOfCategoryAccordionCheckbox(`${equationEditorCategoriesAndSymbols['basic'].displayName}`);
         
     | 
| 
      
 314 
     | 
    
         
            +
                        });
         
     | 
| 
      
 315 
     | 
    
         
            +
             
     | 
| 
      
 316 
     | 
    
         
            +
                        it('When user selects the checkbox of a partially checked category then all the symbols from that category should appear in the \'Selected symbols:\' section', () => {
         
     | 
| 
      
 317 
     | 
    
         
            +
                            const selectedSymbolsArray = Object.values(Object.values(equationEditorCategoriesAndSymbols['keypad'].symbols).map((icon) => icon.ariaLabel));
         
     | 
| 
      
 318 
     | 
    
         
            +
                            const symbolsArray = Object.values(equationEditorCategoriesAndSymbols['keypad'].symbols)
         
     | 
| 
      
 319 
     | 
    
         
            +
                            cy.log('Open the Custom category flyout and partially select a category')
         
     | 
| 
      
 320 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.openCreateCustomCategoryFlyout();
         
     | 
| 
      
 321 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.checkCategoryAccordionCheckbox(`${equationEditorCategoriesAndSymbols['keypad'].displayName}`);
         
     | 
| 
      
 322 
     | 
    
         
            +
                            selectedSymbolsArray.forEach((selectedSymbol) => {
         
     | 
| 
      
 323 
     | 
    
         
            +
                                createCustomCategoryFlyout.steps.verifySymbolIsSelectedInCreateCustomCategoryFlyout(`${equationEditorCategoriesAndSymbols['keypad'].displayName}`, `${selectedSymbol}`);
         
     | 
| 
      
 324 
     | 
    
         
            +
                            });
         
     | 
| 
      
 325 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.verifySymbolIsDisplayedInSelectedSymbolsSection(selectedSymbolsArray);
         
     | 
| 
      
 326 
     | 
    
         
            +
                        });
         
     | 
| 
      
 327 
     | 
    
         
            +
             
     | 
| 
      
 328 
     | 
    
         
            +
                        it('When user unchecks the fully checked checkbox then all the symbols from that category as well as from the shared categories should get deselected and should not be displayed in \'Selected symbols:\' section', () => {
         
     | 
| 
      
 329 
     | 
    
         
            +
                            const keypadSymbolsArray = Object.values(Object.values(equationEditorCategoriesAndSymbols['keypad'].symbols).map((icon) => icon.ariaLabel));
         
     | 
| 
      
 330 
     | 
    
         
            +
                            const basicSymbolsArray = Object.values(Object.values(equationEditorCategoriesAndSymbols['basic'].symbols).map((icon) => icon.ariaLabel));
         
     | 
| 
      
 331 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.uncheckCategoryAccordionCheckbox(`${equationEditorCategoriesAndSymbols['keypad'].displayName}`);
         
     | 
| 
      
 332 
     | 
    
         
            +
                            utilities.verifyElementVisibilityState(createCustomCategoryFlyout.selectedSymbols(), 'notExist');
         
     | 
| 
      
 333 
     | 
    
         
            +
                            keypadSymbolsArray.forEach((selectedSymbol) => {
         
     | 
| 
      
 334 
     | 
    
         
            +
                                createCustomCategoryFlyout.steps.verifySymbolIsNotSelectedInCreateCustomCategoryFlyout(`${equationEditorCategoriesAndSymbols['keypad'].displayName}`, `${selectedSymbol}`);
         
     | 
| 
      
 335 
     | 
    
         
            +
                            });
         
     | 
| 
      
 336 
     | 
    
         
            +
                            basicSymbolsArray.forEach((selectedSymbol) => {
         
     | 
| 
      
 337 
     | 
    
         
            +
                                createCustomCategoryFlyout.steps.verifySymbolIsNotSelectedInCreateCustomCategoryFlyout(`${equationEditorCategoriesAndSymbols['basic'].displayName}`, `${selectedSymbol}`);
         
     | 
| 
      
 338 
     | 
    
         
            +
                            });
         
     | 
| 
      
 339 
     | 
    
         
            +
                        });
         
     | 
| 
      
 340 
     | 
    
         
            +
             
     | 
| 
      
 341 
     | 
    
         
            +
                        it('When user selects a unchecked category then the checkbox should be checked and all the symbols should be displayed in the \'Selected symbols:\' section', () => {
         
     | 
| 
      
 342 
     | 
    
         
            +
                            const greekSymbolsArray = Object.values(Object.values(equationEditorCategoriesAndSymbols['greek'].symbols).map((icon) => icon.ariaLabel));
         
     | 
| 
      
 343 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.checkCategoryAccordionCheckbox(`${equationEditorCategoriesAndSymbols['greek'].displayName}`)
         
     | 
| 
      
 344 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.verifySymbolIsDisplayedInSelectedSymbolsSection(greekSymbolsArray)
         
     | 
| 
      
 345 
     | 
    
         
            +
                        });
         
     | 
| 
      
 346 
     | 
    
         
            +
             
     | 
| 
      
 347 
     | 
    
         
            +
                        it('CSS of selected symbols', { tags: 'css' }, () => {
         
     | 
| 
      
 348 
     | 
    
         
            +
                            essayResponsePage.steps.verifyCSSOfSelectedSymbols();
         
     | 
| 
      
 349 
     | 
    
         
            +
                        });
         
     | 
| 
      
 350 
     | 
    
         
            +
             
     | 
| 
      
 351 
     | 
    
         
            +
                        it('Accessibility of selected symbols', { tags: 'a11y' }, () => {
         
     | 
| 
      
 352 
     | 
    
         
            +
                            cy.checkAccessibility(createCustomCategoryFlyout.selectedSymbolsWrapper())
         
     | 
| 
      
 353 
     | 
    
         
            +
                        });
         
     | 
| 
      
 354 
     | 
    
         
            +
             
     | 
| 
      
 355 
     | 
    
         
            +
                        it('When user de-selects a symbol by clicking on it from the category accordion then that symbol should disappear from the Selected Symbols section. Also, it should get deselected from its respective category\'s accordion', () => {
         
     | 
| 
      
 356 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.expandCategoryAccordion(`${equationEditorCategoriesAndSymbols['greek'].displayName}`);
         
     | 
| 
      
 357 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.deselectASymbolInCreateCustomCategoryFlyout(`${equationEditorCategoriesAndSymbols['greek'].displayName}`, `${equationEditorCategoriesAndSymbols.greek.symbols.alpha.ariaLabel}`);
         
     | 
| 
      
 358 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.verifySymbolIsNotDisplayedInSelectedSymbolsSection(equationEditorCategoriesAndSymbols.greek.symbols.alpha.ariaLabel);
         
     | 
| 
      
 359 
     | 
    
         
            +
                        });
         
     | 
| 
      
 360 
     | 
    
         
            +
             
     | 
| 
      
 361 
     | 
    
         
            +
                        it('If user selects all the symbols from within a category then the checkbox for that category should get checked and the symbols should be displayed in \'Selected symbols:\' section', () => {
         
     | 
| 
      
 362 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.selectASymbolInCreateCustomCategoryFlyout(`${equationEditorCategoriesAndSymbols['greek'].displayName}`, `${equationEditorCategoriesAndSymbols.greek.symbols.alpha.ariaLabel}`);
         
     | 
| 
      
 363 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.verifyCheckedStateOfCategoryAccordionCheckbox(`${equationEditorCategoriesAndSymbols['greek'].displayName}`);
         
     | 
| 
      
 364 
     | 
    
         
            +
                        });
         
     | 
| 
      
 365 
     | 
    
         
            +
             
     | 
| 
      
 366 
     | 
    
         
            +
                        it('When a user de-selects a symbol by clicking on it from the \'Selected symbols:\' section then the symbol should get deselected from the category as well as the \'Selected symbols:\' section', () => {
         
     | 
| 
      
 367 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.deselectSymbolInSelectedSymbolsSection(`${equationEditorCategoriesAndSymbols.greek.symbols.varEpsilon.title}`);
         
     | 
| 
      
 368 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.verifySymbolIsNotSelectedInCreateCustomCategoryFlyout(`${equationEditorCategoriesAndSymbols['greek'].displayName}`, `${equationEditorCategoriesAndSymbols.greek.symbols.varEpsilon.ariaLabel}`);
         
     | 
| 
      
 369 
     | 
    
         
            +
                        });
         
     | 
| 
      
 370 
     | 
    
         
            +
             
     | 
| 
      
 371 
     | 
    
         
            +
                        it('If all symbols are deselected from a category then the checkbox for that category should get unchecked', () => {
         
     | 
| 
      
 372 
     | 
    
         
            +
                            const keypadSymbolsArray = Object.values(Object.values(equationEditorCategoriesAndSymbols['keypad'].symbols).map((icon) => icon.title));
         
     | 
| 
      
 373 
     | 
    
         
            +
                            cy.log('Pre step: Reopen the create custom category and select one category')
         
     | 
| 
      
 374 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.clickOnCancelButton();
         
     | 
| 
      
 375 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.openCreateCustomCategoryFlyout();
         
     | 
| 
      
 376 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.checkCategoryAccordionCheckbox(`${equationEditorCategoriesAndSymbols['keypad'].displayName}`);
         
     | 
| 
      
 377 
     | 
    
         
            +
                            keypadSymbolsArray.forEach((symbol) => {
         
     | 
| 
      
 378 
     | 
    
         
            +
                                createCustomCategoryFlyout.steps.deselectSymbolInSelectedSymbolsSection(symbol);
         
     | 
| 
      
 379 
     | 
    
         
            +
                            });
         
     | 
| 
      
 380 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.verifyUncheckedStateOfCategoryAccordionCheckbox(`${equationEditorCategoriesAndSymbols['keypad'].displayName}`);
         
     | 
| 
      
 381 
     | 
    
         
            +
                        });
         
     | 
| 
      
 382 
     | 
    
         
            +
                    });
         
     | 
| 
      
 383 
     | 
    
         
            +
                }
         
     | 
| 
      
 384 
     | 
    
         
            +
             
     | 
| 
      
 385 
     | 
    
         
            +
                if (!grepTags || !grepTags.includes('smoke')) {
         
     | 
| 
      
 386 
     | 
    
         
            +
                    describe('Save a custom category', () => {
         
     | 
| 
      
 387 
     | 
    
         
            +
                        abortEarlySetup();
         
     | 
| 
      
 388 
     | 
    
         
            +
                        before(() => {
         
     | 
| 
      
 389 
     | 
    
         
            +
                            essayResponsePage.steps.navigateToCreateQuestion('essay response');
         
     | 
| 
      
 390 
     | 
    
         
            +
                            cy.barsPreLoaderWait();
         
     | 
| 
      
 391 
     | 
    
         
            +
                            essayResponsePage.steps.expandCustomizeFormattingOptionsAccordion();
         
     | 
| 
      
 392 
     | 
    
         
            +
                            essayResponsePage.steps.selectCustomizedFormattingOption(['Equation Editor'])
         
     | 
| 
      
 393 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.openCreateCustomCategoryFlyout();
         
     | 
| 
      
 394 
     | 
    
         
            +
                        });
         
     | 
| 
      
 395 
     | 
    
         
            +
             
     | 
| 
      
 396 
     | 
    
         
            +
                        it('When user clicks on \'Save\' button without adding any Category name an error message \'Error: Category name is required.\' should appear ', () => {
         
     | 
| 
      
 397 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.saveCustomCategory();
         
     | 
| 
      
 398 
     | 
    
         
            +
                            utilities.verifyElementVisibilityState(createCustomCategoryFlyout.dialogBox(), 'visible');
         
     | 
| 
      
 399 
     | 
    
         
            +
                            utilities.verifyInnerText(commonComponents.errorMessage(), 'Error: Category name is required.');
         
     | 
| 
      
 400 
     | 
    
         
            +
                        });
         
     | 
| 
      
 401 
     | 
    
         
            +
             
     | 
| 
      
 402 
     | 
    
         
            +
                        essayResponsePage.tests.verifyErrorMessageCSSAndA11y()
         
     | 
| 
      
 403 
     | 
    
         
            +
             
     | 
| 
      
 404 
     | 
    
         
            +
                        it('When user adds a Category name the error message should disappear', () => {
         
     | 
| 
      
 405 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.addInputToCustomCategoryNameInputField('Custom category without characters');
         
     | 
| 
      
 406 
     | 
    
         
            +
                            commonComponents.steps.verifyErrorMessageIsNotDisplayed();
         
     | 
| 
      
 407 
     | 
    
         
            +
                        });
         
     | 
| 
      
 408 
     | 
    
         
            +
             
     | 
| 
      
 409 
     | 
    
         
            +
                        it('When user clicks on \'Save\' button after adding Category name and has not selected any symbols then the category should be added to Equation Editor Section', () => {
         
     | 
| 
      
 410 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.saveCustomCategory();
         
     | 
| 
      
 411 
     | 
    
         
            +
                            utilities.verifyElementVisibilityState(createCustomCategoryFlyout.dialogBox(), 'notExist');
         
     | 
| 
      
 412 
     | 
    
         
            +
                            essayResponsePage.steps.verifyAddedCustomCategoryContainerIsDisplayed('Custom category without characters', '');
         
     | 
| 
      
 413 
     | 
    
         
            +
                        });
         
     | 
| 
      
 414 
     | 
    
         
            +
             
     | 
| 
      
 415 
     | 
    
         
            +
                        it('When user selects symbols and adds Category name then user should be able to save the category and the category should be added to Equation Editor Section', () => {
         
     | 
| 
      
 416 
     | 
    
         
            +
                            cy.log('Pre step: Click on create custom category button')
         
     | 
| 
      
 417 
     | 
    
         
            +
                            essayResponsePage.steps.createCustomCategoryWithMultipleCategoryCharacters();
         
     | 
| 
      
 418 
     | 
    
         
            +
                            essayResponsePage.steps.verifyAddedCustomCategoryContainerIsDisplayed('Custom category with name.', '');
         
     | 
| 
      
 419 
     | 
    
         
            +
                        });
         
     | 
| 
      
 420 
     | 
    
         
            +
             
     | 
| 
      
 421 
     | 
    
         
            +
                        it('When user selects symbols and adds Category name and Category Symbol then user should be able to save the category should be added to Equation Editor Section', () => {
         
     | 
| 
      
 422 
     | 
    
         
            +
                            cy.log('Pre step: Click on create custom category button')
         
     | 
| 
      
 423 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.createCustomCategoryWithNameAndIcon();
         
     | 
| 
      
 424 
     | 
    
         
            +
                            essayResponsePage.steps.verifyAddedCustomCategoryContainerIsDisplayed('Custom category with name and icon.', '#');
         
     | 
| 
      
 425 
     | 
    
         
            +
                        });
         
     | 
| 
      
 426 
     | 
    
         
            +
             
     | 
| 
      
 427 
     | 
    
         
            +
                        it('By default, the categories added by the user should be in selected state and should have an \'Delete Icon\' and \'Edit Icon\'', () => {
         
     | 
| 
      
 428 
     | 
    
         
            +
                            essayResponsePage.steps.verifyAddedCustomCategoryContainerEditAndDeleteButtonDisplayed('Custom category without characters');
         
     | 
| 
      
 429 
     | 
    
         
            +
                            essayResponsePage.steps.verifyAddedCustomCategoryContainerEditAndDeleteButtonDisplayed('Custom category with name.');
         
     | 
| 
      
 430 
     | 
    
         
            +
                            essayResponsePage.steps.verifyAddedCustomCategoryContainerEditAndDeleteButtonDisplayed('Custom category with name and icon.');
         
     | 
| 
      
 431 
     | 
    
         
            +
                        });
         
     | 
| 
      
 432 
     | 
    
         
            +
                    });
         
     | 
| 
      
 433 
     | 
    
         
            +
                }
         
     | 
| 
      
 434 
     | 
    
         
            +
             
     | 
| 
      
 435 
     | 
    
         
            +
                if (!grepTags || !grepTags.includes('smoke')) {
         
     | 
| 
      
 436 
     | 
    
         
            +
                    describe('Create custom category: Preview tab', () => {
         
     | 
| 
      
 437 
     | 
    
         
            +
                        abortEarlySetup();
         
     | 
| 
      
 438 
     | 
    
         
            +
                        before(() => {
         
     | 
| 
      
 439 
     | 
    
         
            +
                            essayResponsePage.steps.navigateToCreateQuestion('essay response');
         
     | 
| 
      
 440 
     | 
    
         
            +
                            cy.barsPreLoaderWait();
         
     | 
| 
      
 441 
     | 
    
         
            +
                            essayResponsePage.steps.expandCustomizeFormattingOptionsAccordion();
         
     | 
| 
      
 442 
     | 
    
         
            +
                            essayResponsePage.steps.selectCustomizedFormattingOption(['Equation Editor'])
         
     | 
| 
      
 443 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.openCreateCustomCategoryFlyout();
         
     | 
| 
      
 444 
     | 
    
         
            +
                            cy.log('Pre step: Add Custom category without characters')
         
     | 
| 
      
 445 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.addInputToCustomCategoryNameInputField('Custom category without characters');
         
     | 
| 
      
 446 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.saveCustomCategory();
         
     | 
| 
      
 447 
     | 
    
         
            +
                            cy.log('Pre step: Add Category with Only category name')
         
     | 
| 
      
 448 
     | 
    
         
            +
                            essayResponsePage.steps.createCustomCategoryWithMultipleCategoryCharacters();
         
     | 
| 
      
 449 
     | 
    
         
            +
                            cy.log('Pre step: Add Category with Category Name and Icon')
         
     | 
| 
      
 450 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.createCustomCategoryWithNameAndIcon();
         
     | 
| 
      
 451 
     | 
    
         
            +
                            cy.log('Switching to preview tab and opening Equation editor flyout')
         
     | 
| 
      
 452 
     | 
    
         
            +
                            essayResponsePage.steps.switchToPreviewTab();
         
     | 
| 
      
 453 
     | 
    
         
            +
                            essayResponsePage.steps.selectPreviewTabToolbarOption('Equation Editor');
         
     | 
| 
      
 454 
     | 
    
         
            +
                        });
         
     | 
| 
      
 455 
     | 
    
         
            +
             
     | 
| 
      
 456 
     | 
    
         
            +
                        it('The category with no added characters should not be displayed in the preview tab equation editor', () => {
         
     | 
| 
      
 457 
     | 
    
         
            +
                            equationEditorFlyout.steps.verifyCategoryIsNotDisplayedInEquationEditorPreviewTab('Custom category without characters');
         
     | 
| 
      
 458 
     | 
    
         
            +
                        });
         
     | 
| 
      
 459 
     | 
    
         
            +
             
     | 
| 
      
 460 
     | 
    
         
            +
                        it('The category with only category name should be displayed in the preview tab equation editor', () => {
         
     | 
| 
      
 461 
     | 
    
         
            +
                            equationEditorFlyout.steps.verifyCategoryInEquationEditorPreviewTab('Custom category with name.', '');
         
     | 
| 
      
 462 
     | 
    
         
            +
                        });
         
     | 
| 
      
 463 
     | 
    
         
            +
             
     | 
| 
      
 464 
     | 
    
         
            +
                        it('The category with category name and icon should be displayed in the preview tab equation editor', () => {
         
     | 
| 
      
 465 
     | 
    
         
            +
                            equationEditorFlyout.steps.verifyCategoryInEquationEditorPreviewTab('Custom category with name and icon.', '#');
         
     | 
| 
      
 466 
     | 
    
         
            +
                        });
         
     | 
| 
      
 467 
     | 
    
         
            +
             
     | 
| 
      
 468 
     | 
    
         
            +
                        it('All the selected symbols of the Custom category should be displayed in the Equation editor flyout', () => {
         
     | 
| 
      
 469 
     | 
    
         
            +
                            const symbolsArray = Object.values(customCategory.symbols)
         
     | 
| 
      
 470 
     | 
    
         
            +
                            equationEditorFlyout.steps.selectEquationEditorCategoryPreviewTab('Custom category with name.');
         
     | 
| 
      
 471 
     | 
    
         
            +
                            equationEditorFlyout.steps.verifyCharactersDisplayedInEquationEditorCategoryPreviewTab(symbolsArray);
         
     | 
| 
      
 472 
     | 
    
         
            +
                        });
         
     | 
| 
      
 473 
     | 
    
         
            +
             
     | 
| 
      
 474 
     | 
    
         
            +
                        it('User should be able to add symbols from both the custom categories to the Equation Editor Input field', () => {
         
     | 
| 
      
 475 
     | 
    
         
            +
                            equationEditorFlyout.steps.enterEquation([{ categoryName: 'Custom category with name.', symbolName: [`${customCategory.symbols.nine.ariaLabel}`, `${customCategory.symbols.divide.ariaLabel}`, `${customCategory.symbols.delta.ariaLabel}`] }, { categoryName: 'Custom category with name and icon.', symbolName: [`${equationEditorCategoriesAndSymbols.arrows.symbols.downArrowDouble.ariaLabel}`, `${equationEditorCategoriesAndSymbols.arrows.symbols.leftwardsArrowHook.ariaLabel}`] }]);
         
     | 
| 
      
 476 
     | 
    
         
            +
                            utilities.verifyTextContent(equationEditorFlyout.previewInputField(), '9÷δ⇓↩');
         
     | 
| 
      
 477 
     | 
    
         
            +
                        });
         
     | 
| 
      
 478 
     | 
    
         
            +
             
     | 
| 
      
 479 
     | 
    
         
            +
                        essayResponsePage.tests.insertEquationAndVerifyInputFieldContentsAndWordCount('9÷δ⇓↩', '1/10000');
         
     | 
| 
      
 480 
     | 
    
         
            +
             
     | 
| 
      
 481 
     | 
    
         
            +
                        it('When user deselects any added custom category from the Equation editor section, it should not be displayed in the Equation editor flyout', () => {
         
     | 
| 
      
 482 
     | 
    
         
            +
                            cy.log('Switch to edit tab')
         
     | 
| 
      
 483 
     | 
    
         
            +
                            essayResponsePage.steps.switchToEditTab()
         
     | 
| 
      
 484 
     | 
    
         
            +
                            essayResponsePage.steps.deselectCategoryInEquationEditorSectionEditTab('Custom category with name.');
         
     | 
| 
      
 485 
     | 
    
         
            +
                            cy.log('Switching to preview tab and opening Equation editor flyout')
         
     | 
| 
      
 486 
     | 
    
         
            +
                            essayResponsePage.steps.switchToPreviewTab();
         
     | 
| 
      
 487 
     | 
    
         
            +
                            essayResponsePage.steps.selectPreviewTabToolbarOption('Equation Editor');
         
     | 
| 
      
 488 
     | 
    
         
            +
                            equationEditorFlyout.steps.verifyCategoryIsNotDisplayedInEquationEditorPreviewTab('Custom category with name.');
         
     | 
| 
      
 489 
     | 
    
         
            +
                        });
         
     | 
| 
      
 490 
     | 
    
         
            +
                    });
         
     | 
| 
      
 491 
     | 
    
         
            +
                }
         
     | 
| 
      
 492 
     | 
    
         
            +
             
     | 
| 
      
 493 
     | 
    
         
            +
                if (!grepTags || !grepTags.includes('smoke')) {
         
     | 
| 
      
 494 
     | 
    
         
            +
                    describe('Create custom category: Edit category', () => {
         
     | 
| 
      
 495 
     | 
    
         
            +
                        abortEarlySetup();
         
     | 
| 
      
 496 
     | 
    
         
            +
                        before(() => {
         
     | 
| 
      
 497 
     | 
    
         
            +
                            essayResponsePage.steps.navigateToCreateQuestion('essay response');
         
     | 
| 
      
 498 
     | 
    
         
            +
                            cy.barsPreLoaderWait();
         
     | 
| 
      
 499 
     | 
    
         
            +
                            essayResponsePage.steps.expandCustomizeFormattingOptionsAccordion();
         
     | 
| 
      
 500 
     | 
    
         
            +
                            essayResponsePage.steps.selectCustomizedFormattingOption(['Equation Editor'])
         
     | 
| 
      
 501 
     | 
    
         
            +
                            cy.log('Pre step: Add Category with Category Name and Icon')
         
     | 
| 
      
 502 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.createCustomCategoryWithNameAndIcon();
         
     | 
| 
      
 503 
     | 
    
         
            +
                        });
         
     | 
| 
      
 504 
     | 
    
         
            +
             
     | 
| 
      
 505 
     | 
    
         
            +
                        it('When user clicks on Edit button under an added Custom category, the Custom category flyout should open', () => {
         
     | 
| 
      
 506 
     | 
    
         
            +
                            essayResponsePage.steps.editCategoryInEquationEditorSectionEditTab('Custom category with name and icon.');
         
     | 
| 
      
 507 
     | 
    
         
            +
                            utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
         
     | 
| 
      
 508 
     | 
    
         
            +
                            utilities.verifyElementVisibilityState(createCustomCategoryFlyout.createCustomCategoryFlyoutTitle(), 'visible');
         
     | 
| 
      
 509 
     | 
    
         
            +
                            utilities.verifyInnerText(createCustomCategoryFlyout.createCustomCategoryFlyoutTitle(), 'Custom category');
         
     | 
| 
      
 510 
     | 
    
         
            +
                        });
         
     | 
| 
      
 511 
     | 
    
         
            +
             
     | 
| 
      
 512 
     | 
    
         
            +
                        it('The Category name and Category icon should be prefilled and selected symbols should be displayed', () => {
         
     | 
| 
      
 513 
     | 
    
         
            +
                            const symbolsArray = Object.values(Object.values(equationEditorCategoriesAndSymbols['arrows'].symbols).map((icon) => icon.ariaLabel));
         
     | 
| 
      
 514 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.expandCategoryAccordion(`${equationEditorCategoriesAndSymbols['arrows'].displayName}`);
         
     | 
| 
      
 515 
     | 
    
         
            +
                            symbolsArray.forEach((symbol) => {
         
     | 
| 
      
 516 
     | 
    
         
            +
                                createCustomCategoryFlyout.steps.verifySymbolIsSelectedInCreateCustomCategoryFlyout(`${equationEditorCategoriesAndSymbols['arrows'].displayName}`, symbol)
         
     | 
| 
      
 517 
     | 
    
         
            +
                            });
         
     | 
| 
      
 518 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.verifyCustomCategoryNameInputField('Custom category with name and icon.');
         
     | 
| 
      
 519 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.verifyCategoryIconInputField('#');
         
     | 
| 
      
 520 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.verifySymbolIsDisplayedInSelectedSymbolsSection(symbolsArray);
         
     | 
| 
      
 521 
     | 
    
         
            +
                        });
         
     | 
| 
      
 522 
     | 
    
         
            +
             
     | 
| 
      
 523 
     | 
    
         
            +
                        it('When the user edits the Category name, Category Icon and selected symbols, then on clicking save the updated changes should be displayed in the Equation editor section', () => {
         
     | 
| 
      
 524 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.addInputToCustomCategoryNameInputField('Edited category name');
         
     | 
| 
      
 525 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.addInputToCategoryIconInputField('@');
         
     | 
| 
      
 526 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.uncheckCategoryAccordionCheckbox(`${equationEditorCategoriesAndSymbols['arrows'].displayName}`);
         
     | 
| 
      
 527 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.checkCategoryAccordionCheckbox(`${equationEditorCategoriesAndSymbols['operators'].displayName}`);
         
     | 
| 
      
 528 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.saveCustomCategory();
         
     | 
| 
      
 529 
     | 
    
         
            +
                            essayResponsePage.steps.verifyAddedCustomCategoryContainerIsDisplayed('Edited category name', '@');
         
     | 
| 
      
 530 
     | 
    
         
            +
                        });
         
     | 
| 
      
 531 
     | 
    
         
            +
             
     | 
| 
      
 532 
     | 
    
         
            +
                        it('The updated Category name, Category Icon and selected symbols should also be displayed in the Equation editor flyout', () => {
         
     | 
| 
      
 533 
     | 
    
         
            +
                            const symbolsArray = Object.values(equationEditorCategoriesAndSymbols['arrows'].symbols)
         
     | 
| 
      
 534 
     | 
    
         
            +
                            cy.log('Switching to preview tab and opening Equation editor flyout')
         
     | 
| 
      
 535 
     | 
    
         
            +
                            essayResponsePage.steps.switchToPreviewTab();
         
     | 
| 
      
 536 
     | 
    
         
            +
                            essayResponsePage.steps.selectPreviewTabToolbarOption('Equation Editor');
         
     | 
| 
      
 537 
     | 
    
         
            +
                            equationEditorFlyout.steps.verifyCategoryInEquationEditorPreviewTab('Edited category name', '@');
         
     | 
| 
      
 538 
     | 
    
         
            +
                            //Failing due to https://redmine.zeuslearning.com/issues/526950
         
     | 
| 
      
 539 
     | 
    
         
            +
                            equationEditorFlyout.steps.verifyCharactersDisplayedInEquationEditorCategoryPreviewTab(symbolsArray);
         
     | 
| 
      
 540 
     | 
    
         
            +
                        });
         
     | 
| 
      
 541 
     | 
    
         
            +
                    });
         
     | 
| 
      
 542 
     | 
    
         
            +
                }
         
     | 
| 
      
 543 
     | 
    
         
            +
             
     | 
| 
      
 544 
     | 
    
         
            +
                if (!grepTags || !grepTags.includes('smoke')) {
         
     | 
| 
      
 545 
     | 
    
         
            +
                    describe('Delete Custom category', () => {
         
     | 
| 
      
 546 
     | 
    
         
            +
                        abortEarlySetup();
         
     | 
| 
      
 547 
     | 
    
         
            +
                        before(() => {
         
     | 
| 
      
 548 
     | 
    
         
            +
                            essayResponsePage.steps.navigateToCreateQuestion('essay response');
         
     | 
| 
      
 549 
     | 
    
         
            +
                            cy.barsPreLoaderWait();
         
     | 
| 
      
 550 
     | 
    
         
            +
                            essayResponsePage.steps.expandCustomizeFormattingOptionsAccordion();
         
     | 
| 
      
 551 
     | 
    
         
            +
                            essayResponsePage.steps.selectCustomizedFormattingOption(['Equation Editor'])
         
     | 
| 
      
 552 
     | 
    
         
            +
                            cy.log('Pre step: Add Category with Category Name and Icon')
         
     | 
| 
      
 553 
     | 
    
         
            +
                            createCustomCategoryFlyout.steps.createCustomCategoryWithNameAndIcon();
         
     | 
| 
      
 554 
     | 
    
         
            +
                        });
         
     | 
| 
      
 555 
     | 
    
         
            +
             
     | 
| 
      
 556 
     | 
    
         
            +
                        it('When user clicks on Delete button below the added custom category then the category should be deleted from the Equation Editor section', () => {
         
     | 
| 
      
 557 
     | 
    
         
            +
                            essayResponsePage.steps.deleteCustomCategoryInEquationEditorSectionEditTab('Custom category with name and icon.');
         
     | 
| 
      
 558 
     | 
    
         
            +
                        });
         
     | 
| 
      
 559 
     | 
    
         
            +
             
     | 
| 
      
 560 
     | 
    
         
            +
                        it('The deleted category should not be displayed in the Equation editor flyout', () => {
         
     | 
| 
      
 561 
     | 
    
         
            +
                            cy.log('Switching to preview tab and opening Equation editor flyout')
         
     | 
| 
      
 562 
     | 
    
         
            +
                            essayResponsePage.steps.switchToPreviewTab();
         
     | 
| 
      
 563 
     | 
    
         
            +
                            essayResponsePage.steps.selectPreviewTabToolbarOption('Equation Editor');
         
     | 
| 
      
 564 
     | 
    
         
            +
                            equationEditorFlyout.steps.verifyCategoryIsNotDisplayedInEquationEditorPreviewTab('Custom category with name and icon.');
         
     | 
| 
      
 565 
     | 
    
         
            +
                        });
         
     | 
| 
      
 566 
     | 
    
         
            +
                    });
         
     | 
| 
      
 567 
     | 
    
         
            +
                }
         
     | 
| 
      
 568 
     | 
    
         
            +
            });
         
     | 
| 
         @@ -0,0 +1,86 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            import abortEarlySetup from "../../../support/helpers/abortEarly";
         
     | 
| 
      
 2 
     | 
    
         
            +
            import { essayResponsePage } from "../../../pages";
         
     | 
| 
      
 3 
     | 
    
         
            +
            import utilities from "../../../support/helpers/utilities";
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            describe('Create question page - Essay response: Scoring', () => {
         
     | 
| 
      
 6 
     | 
    
         
            +
                before(() => {
         
     | 
| 
      
 7 
     | 
    
         
            +
                    cy.loginAs('admin');
         
     | 
| 
      
 8 
     | 
    
         
            +
                });
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                describe('Scoring Section contents', () => {
         
     | 
| 
      
 11 
     | 
    
         
            +
                    abortEarlySetup();
         
     | 
| 
      
 12 
     | 
    
         
            +
                    before(() => {
         
     | 
| 
      
 13 
     | 
    
         
            +
                        essayResponsePage.steps.navigateToCreateQuestion('essay response');
         
     | 
| 
      
 14 
     | 
    
         
            +
                        cy.barsPreLoaderWait();
         
     | 
| 
      
 15 
     | 
    
         
            +
                    });
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                    essayResponsePage.tests.verifyScoringTypeLabelAndDropdown('Manually scored');
         
     | 
| 
      
 18 
     | 
    
         
            +
                });
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
                describe('Scoring section: Manually scored scoring type', () => {
         
     | 
| 
      
 21 
     | 
    
         
            +
                    abortEarlySetup();
         
     | 
| 
      
 22 
     | 
    
         
            +
                    before(() => {
         
     | 
| 
      
 23 
     | 
    
         
            +
                        essayResponsePage.steps.navigateToCreateQuestion('essay response');
         
     | 
| 
      
 24 
     | 
    
         
            +
                        cy.barsPreLoaderWait();
         
     | 
| 
      
 25 
     | 
    
         
            +
                    });
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
                    it('When the user selects \'Manually scored\' option from the Scoring Type dropdown, then the \'Points\' and \'Minimum score awarded (if attempted)\' labels and input fields should be displayed', () => {
         
     | 
| 
      
 28 
     | 
    
         
            +
                        essayResponsePage.steps.expandScoringTypeDropdown();
         
     | 
| 
      
 29 
     | 
    
         
            +
                        essayResponsePage.steps.selectOptionFromScoringTypeDropdown('Manually scored');
         
     | 
| 
      
 30 
     | 
    
         
            +
                        essayResponsePage.steps.verifyDefaultPointsLabelAndInputField();
         
     | 
| 
      
 31 
     | 
    
         
            +
                        essayResponsePage.steps.verifyMinimumScoringLabelAndDropdownDefaultState();
         
     | 
| 
      
 32 
     | 
    
         
            +
                    });
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
                    essayResponsePage.tests.verifyPointsFieldErrorState(10);
         
     | 
| 
      
 35 
     | 
    
         
            +
                });
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
                describe('Question Preview: Manually Scored', () => {
         
     | 
| 
      
 38 
     | 
    
         
            +
                    abortEarlySetup();
         
     | 
| 
      
 39 
     | 
    
         
            +
                    before(() => {
         
     | 
| 
      
 40 
     | 
    
         
            +
                        cy.log('Adding question instructions and options, select Manually Scored scoring type and add points for the question');
         
     | 
| 
      
 41 
     | 
    
         
            +
                        essayResponsePage.steps.navigateToCreateQuestion('essay response');
         
     | 
| 
      
 42 
     | 
    
         
            +
                        cy.barsPreLoaderWait();
         
     | 
| 
      
 43 
     | 
    
         
            +
                        essayResponsePage.steps.addQuestionInstructions();
         
     | 
| 
      
 44 
     | 
    
         
            +
                        essayResponsePage.steps.allotPoints(10);
         
     | 
| 
      
 45 
     | 
    
         
            +
                        essayResponsePage.steps.switchToPreviewTab();
         
     | 
| 
      
 46 
     | 
    
         
            +
                    });
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
                    it('In Preview tab, Question Instructions and options should be displayed along with radio button', () => {
         
     | 
| 
      
 49 
     | 
    
         
            +
                        essayResponsePage.steps.verifyQuestionInstructionsText();
         
     | 
| 
      
 50 
     | 
    
         
            +
                        utilities.verifyElementVisibilityState(essayResponsePage.responseField(), 'visible');
         
     | 
| 
      
 51 
     | 
    
         
            +
                        essayResponsePage.steps.verifyResponseFieldInput('')
         
     | 
| 
      
 52 
     | 
    
         
            +
                    });
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
      
 54 
     | 
    
         
            +
                    essayResponsePage.tests.verifyGradingStudentViewRadioButtonAndScoringTypeInPreviewTab('Manually scored')
         
     | 
| 
      
 55 
     | 
    
         
            +
                });
         
     | 
| 
      
 56 
     | 
    
         
            +
             
     | 
| 
      
 57 
     | 
    
         
            +
                describe('Scoring section: Non Scored scoring type', () => {
         
     | 
| 
      
 58 
     | 
    
         
            +
                    abortEarlySetup();
         
     | 
| 
      
 59 
     | 
    
         
            +
                    before(() => {
         
     | 
| 
      
 60 
     | 
    
         
            +
                        essayResponsePage.steps.navigateToCreateQuestion('essay response');
         
     | 
| 
      
 61 
     | 
    
         
            +
                        cy.barsPreLoaderWait();
         
     | 
| 
      
 62 
     | 
    
         
            +
                    });
         
     | 
| 
      
 63 
     | 
    
         
            +
             
     | 
| 
      
 64 
     | 
    
         
            +
                    it('User should be able to select \'Non Scored\' option from the Scoring Type dropdown', () => {
         
     | 
| 
      
 65 
     | 
    
         
            +
                        cy.log('Pre-step: Opening the scoring type dropdown.')
         
     | 
| 
      
 66 
     | 
    
         
            +
                        essayResponsePage.steps.expandScoringTypeDropdown();
         
     | 
| 
      
 67 
     | 
    
         
            +
                        essayResponsePage.steps.selectOptionFromScoringTypeDropdown('Non scored');
         
     | 
| 
      
 68 
     | 
    
         
            +
                    });
         
     | 
| 
      
 69 
     | 
    
         
            +
             
     | 
| 
      
 70 
     | 
    
         
            +
                    essayResponsePage.tests.verifyScoringSectionContentsForNonScoredScoringType();
         
     | 
| 
      
 71 
     | 
    
         
            +
             
     | 
| 
      
 72 
     | 
    
         
            +
                    essayResponsePage.tests.verifyPointsLabelAndInputFieldForNonScoredScoringType();
         
     | 
| 
      
 73 
     | 
    
         
            +
                });
         
     | 
| 
      
 74 
     | 
    
         
            +
             
     | 
| 
      
 75 
     | 
    
         
            +
                describe('Question Preview: Non scored scoring', () => {
         
     | 
| 
      
 76 
     | 
    
         
            +
                    abortEarlySetup();
         
     | 
| 
      
 77 
     | 
    
         
            +
                    before(() => {
         
     | 
| 
      
 78 
     | 
    
         
            +
                        essayResponsePage.steps.navigateToCreateQuestion('essay response');
         
     | 
| 
      
 79 
     | 
    
         
            +
                        cy.barsPreLoaderWait();
         
     | 
| 
      
 80 
     | 
    
         
            +
                        essayResponsePage.steps.expandScoringTypeDropdown();
         
     | 
| 
      
 81 
     | 
    
         
            +
                        essayResponsePage.steps.selectOptionFromScoringTypeDropdown('Non scored');
         
     | 
| 
      
 82 
     | 
    
         
            +
                    });
         
     | 
| 
      
 83 
     | 
    
         
            +
             
     | 
| 
      
 84 
     | 
    
         
            +
                    essayResponsePage.tests.verifyGradingStudentViewRadioButtonAndScoringTypeInPreviewTab('Non scored');
         
     | 
| 
      
 85 
     | 
    
         
            +
                });
         
     | 
| 
      
 86 
     | 
    
         
            +
            });
         
     |