itemengine-cypress-automation 1.0.143-migrationScripts-d059d60.0 → 1.0.143

Sign up to get free protection for your applications and to get access to all the features.
Files changed (140) hide show
  1. package/cypress/e2e/ILC/AudioResponseNew/additionalSettingsBasic.js +104 -0
  2. package/cypress/e2e/ILC/ContentBlocks/additionalSection.js +92 -0
  3. package/cypress/e2e/ILC/ContentBlocks/editTabBasics.js +11 -1
  4. package/cypress/e2e/ILC/ContentBlocks/previewTab.js +91 -0
  5. package/cypress/e2e/ILC/ContentBlocks/styleAndLayoutCustomizationSection.js +3 -3
  6. package/cypress/e2e/ILC/Desmos/desmosFourFunctionCalculatorEditTabBasicSection.js +2 -1
  7. package/cypress/e2e/ILC/Desmos/desmosFourFunctionCalculatorPreviewContents.smoke.js +2 -1
  8. package/cypress/e2e/ILC/Desmos/desmosGeometryToolEditTabBasicSection.js +1 -0
  9. package/cypress/e2e/ILC/Desmos/desmosGeometryToolPreviewContents.smoke.js +2 -1
  10. package/cypress/e2e/ILC/Desmos/desmosGraphingCalculatorEditTabBasicSection.js +1 -0
  11. package/cypress/e2e/ILC/Desmos/desmosGraphingCalculatorPreviewContents.smoke.js +2 -1
  12. package/cypress/e2e/ILC/Desmos/desmosMatrixCalculatorEditTabBasicSection.js +2 -2
  13. package/cypress/e2e/ILC/Desmos/desmosMatrixCalculatorPreviewContents.smoke.js +2 -1
  14. package/cypress/e2e/ILC/Desmos/desmosScientificCalculatorEditTabBasicSection.js +3 -2
  15. package/cypress/e2e/ILC/Desmos/desmosScientificCalculatorPreviewContents.smoke.js +2 -1
  16. package/cypress/e2e/ILC/DesmosGraphing/additionalSettings.js +0 -5
  17. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/additionalSettingsBasic.js +124 -0
  18. package/cypress/e2e/ILC/DrawingResponse/drawingResponseAdditionalSettings.js +0 -9
  19. package/cypress/e2e/ILC/DrawingResponse/drawingResponsePreviewTabContents.smoke.js +17 -17
  20. package/cypress/e2e/ILC/EssayResponse/additionalSettingsBasic.js +83 -0
  21. package/cypress/e2e/ILC/EssayResponse/createCustomCategory.smoke.js +32 -30
  22. package/cypress/e2e/ILC/EssayResponse/editCategoryFlyout.js +25 -21
  23. package/cypress/e2e/ILC/EssayResponse/equationEditor.smoke.js +40 -41
  24. package/cypress/e2e/ILC/EssayResponse/equationEditorCategories1.js +249 -99
  25. package/cypress/e2e/ILC/EssayResponse/equationEditorCategories2.js +118 -187
  26. package/cypress/e2e/ILC/EssayResponseBasic/previewContentsForAllViews.smoke.js +1 -1
  27. package/cypress/e2e/ILC/EssayResponseMath/mathCharacters.js +1 -1
  28. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/additionalSettings.js +11 -11
  29. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/dropzoneSettings.js +1 -1
  30. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViews.smoke.js +1 -3
  31. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/additionalSettingsBasic.js +138 -0
  32. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/additionalSettingsForDropdowns.js +309 -0
  33. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/dropdownSettings.js +181 -0
  34. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/additionalSettingsBasic.js +132 -0
  35. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/additionalSettingsBasic.js +143 -0
  36. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/additionalSettingsForDropdowns.js +345 -0
  37. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +194 -0
  38. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/supportedFileTypes.js +49 -0
  39. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/additionalSettingsBasic.js +25 -0
  40. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/additionalSettingsForAnswerInputFields.js +251 -0
  41. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/supportedFileTypes.js +49 -0
  42. package/cypress/e2e/ILC/FillInTheGapsTextNew/additionalSettingsBasic.js +93 -0
  43. package/cypress/e2e/ILC/FillInTheGapsTextNew/additionalSettingsForAnswerInputFields.js +215 -0
  44. package/cypress/e2e/ILC/FillInTheGapsTextNew/editTabBasicSection.js +1 -1
  45. package/cypress/e2e/ILC/FillInTheGapsTextNew/textContainerSettings.js +219 -0
  46. package/cypress/e2e/ILC/GeoGebraTools/3DGraphingCalculatorEditTabBasicSection.js +96 -0
  47. package/cypress/e2e/ILC/GeoGebraTools/3DGraphingCalculatorPreviewTabContents.smoke.js +75 -0
  48. package/cypress/e2e/ILC/GeoGebraTools/casCalculatorEditTabBasicSection.js +96 -0
  49. package/cypress/e2e/ILC/GeoGebraTools/casCalculatorPreviewTabContents.smoke.js +75 -0
  50. package/cypress/e2e/ILC/GeoGebraTools/geometryCalculatorEditTabBasicSection.js +96 -0
  51. package/cypress/e2e/ILC/GeoGebraTools/geometryCalculatorPreviewTabContents.smoke.js +76 -0
  52. package/cypress/e2e/ILC/GeoGebraTools/graphingCalculatorEditTabBasicSection.js +96 -0
  53. package/cypress/e2e/ILC/GeoGebraTools/graphingCalculatorPreviewTabContents.smoke.js +73 -0
  54. package/cypress/e2e/ILC/GeoGebraTools/probablityCalculatorEditTabBasicSection.js +96 -0
  55. package/cypress/e2e/ILC/GeoGebraTools/probablityCalculatorPreviewTabContents.smoke.js +75 -0
  56. package/cypress/e2e/ILC/GeoGebraTools/scientificCalculatorEditTabBasicSection.js +96 -0
  57. package/cypress/e2e/ILC/GeoGebraTools/scientificCalculatorPreviewTabContents.smoke.js +75 -0
  58. package/cypress/e2e/ILC/GeogebraActivity/additionalSettings.js +10 -8
  59. package/cypress/e2e/ILC/GeogebraActivity/gradingViewAndCorrectAnswerViewContents.smoke.js +3 -2
  60. package/cypress/e2e/ILC/GeogebraActivity/headerSection.js +2 -1
  61. package/cypress/e2e/ILC/GeogebraActivity/insertResourceLink.js +318 -0
  62. package/cypress/e2e/ILC/GeogebraActivity/previewTabContent.smoke.js +2 -1
  63. package/cypress/e2e/ILC/Graphing/additionalSettingsBasic.js +15 -4
  64. package/cypress/e2e/ILC/GridFill/allOrNothingBasicForAllViews.smoke.js +280 -0
  65. package/cypress/e2e/ILC/GridFill/checkAnswerFunctionalityForAllViews.smoke.js +136 -0
  66. package/cypress/e2e/ILC/GridFill/editTabScoringSection.js +205 -0
  67. package/cypress/e2e/ILC/GridFill/previewContentsForAllViews.smoke.js +213 -0
  68. package/cypress/e2e/ILC/GridFill/scoring/manuallyAndNonScored.js +106 -0
  69. package/cypress/e2e/ILC/GridFill/specifyCorrectAnswerSection.js +79 -0
  70. package/cypress/e2e/ILC/MultipleSelection/additionalSettingsBasic.js +108 -0
  71. package/cypress/e2e/ILC/MultipleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +251 -0
  72. package/cypress/e2e/ILC/MultipleSelectionGridNew/previewContentsForAllViews.smoke.js +180 -0
  73. package/cypress/e2e/ILC/ShortTextResponseNew/additionalSettings.js +48 -56
  74. package/cypress/e2e/ILC/SingleSelection/additionalSettingsBasic.js +107 -0
  75. package/cypress/e2e/ILC/SingleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +251 -0
  76. package/cypress/e2e/ILC/SingleSelectionGridNew/previewContentsForAllViews.smoke.js +180 -0
  77. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViews.smoke.js +12 -3
  78. package/cypress/e2e/ILC/TextEntryMath/checkAnswerFunctionalityForAllViews.smoke.js +4 -1
  79. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodEquivalentStructures.js +93 -68
  80. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchExact.js +59 -52
  81. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodMatchValue.js +59 -52
  82. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodSymbolsAreEquivalent.js +61 -50
  83. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodValueIsEquivalent.js +65 -51
  84. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodsWithoutSetResponse.js +55 -46
  85. package/cypress/e2e/ILC/TextEntryMath/previewContentsForAllViews.smoke.js +6 -3
  86. package/cypress/e2e/ILC/TextEntryMathWithImage/allOrNothingScoringForAllViews.smoke.js +11 -9
  87. package/cypress/e2e/ILC/TextEntryMathWithImage/checkAnswerFunctionalityForAllViews.smoke.js +4 -3
  88. package/cypress/e2e/ILC/TextEntryMathWithImage/previewTabContentsForAllViews.smoke.js +4 -2
  89. package/cypress/e2e/ILC/UploadResponse/additionalSettingsBasic.js +85 -0
  90. package/cypress/e2e/ILC/UploadResponse/editTabScoringSection.js +12 -12
  91. package/cypress/e2e/ILC/UploadResponse/uploadResponseEditTabBasicSections.js +1 -1
  92. package/cypress/fixtures/constants.js +2 -0
  93. package/cypress/fixtures/equationEditorCategoriesAndSymbols .js +1114 -1511
  94. package/cypress/fixtures/theme/ilc.json +7 -1
  95. package/cypress/pages/audioResponsePage.js +26 -2
  96. package/cypress/pages/components/additionalSettingsAccessibilitySectionComponent.js +1 -0
  97. package/cypress/pages/components/additionalSettingsPanel.js +3 -10
  98. package/cypress/pages/components/ariaLabelSectionComponent.js +84 -0
  99. package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +5 -2
  100. package/cypress/pages/components/autoScoredStudentViewSettings.js +1 -1
  101. package/cypress/pages/components/commonComponents.js +1 -1
  102. package/cypress/pages/components/createCustomCategoryFlyout.js +2 -2
  103. package/cypress/pages/components/createQuestionBasePage.js +1 -1
  104. package/cypress/pages/components/desmosToolComponent.js +1 -0
  105. package/cypress/pages/components/draggableOptionContainer.js +1 -1
  106. package/cypress/pages/components/editCategoryFlyout.js +9 -10
  107. package/cypress/pages/components/equationEditorFlyout.js +20 -11
  108. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +167 -3
  109. package/cypress/pages/components/fillInTheGapsTextCommonComponent.js +149 -6
  110. package/cypress/pages/components/gradingViewEnumerationComponent.js +151 -0
  111. package/cypress/pages/components/gridQuestionCommonComponent.js +390 -0
  112. package/cypress/pages/components/imageCanvasComponent.js +25 -1
  113. package/cypress/pages/components/index.js +5 -1
  114. package/cypress/pages/components/placeholderTextSectionComponent.js +110 -0
  115. package/cypress/pages/components/responseAreaSettingsPopupComponent.js +2 -2
  116. package/cypress/pages/contentBlocksPage.js +60 -1
  117. package/cypress/pages/dragAndDropIntoCategoriesPage.js +4 -17
  118. package/cypress/pages/essayResponsePage.js +14 -11
  119. package/cypress/pages/fillInTheGapsDragAndDropPage.js +15 -0
  120. package/cypress/pages/fillInTheGapsDropdownPage.js +121 -2
  121. package/cypress/pages/fillInTheGapsOverImageDragAndDropPage.js +3 -1
  122. package/cypress/pages/fillInTheGapsOverImageDropdownPage.js +70 -3
  123. package/cypress/pages/fillInTheGapsOverImageTextPage.js +33 -3
  124. package/cypress/pages/fillInTheGapsTextPage.js +81 -4
  125. package/cypress/pages/geoGebraActivityPage.js +75 -11
  126. package/cypress/pages/geoGebraToolsPage.js +292 -0
  127. package/cypress/pages/graphingPage.js +2 -1
  128. package/cypress/pages/gridFillPage.js +713 -0
  129. package/cypress/pages/index.js +3 -1
  130. package/cypress/pages/multipleSelectionGridPage.js +71 -317
  131. package/cypress/pages/multipleSelectionPage.js +2 -1
  132. package/cypress/pages/selectQuestionResourceToolPage.js +13 -2
  133. package/cypress/pages/singleSelectionGridPage.js +78 -329
  134. package/cypress/pages/singleSelectionPage.js +2 -1
  135. package/cypress/pages/textEntryMathPage.js +24 -6
  136. package/cypress/pages/textEntryMathWithImagePage.js +1 -1
  137. package/cypress/pages/uploadResponsePage.js +4 -3
  138. package/package.json +2 -2
  139. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/additionalSettings.js +0 -43
  140. package/cypress/pages/components/fillInTheGapsCommonComponents.js +0 -642
@@ -1,368 +1,117 @@
1
- import { additionalSettingsPanel, autoScoredAdditionalSettings, autoScoredPreviewBase, autoScoredScoringSection, autoScoredScoringSectionMultipleResponsesType, autoScoredSetCorrectAnswerSection, commonComponents, createQuestionBasePage, optionsWrapperComponent, previewScoringAndShowCorrectAnswerComponent, questionInstructionsComponent, scoringSectionBase } from "./components";
2
- import { gridCommonComponents } from "./components/gridCommonComponents";
3
- import { studentResponseAndLayoutComponent } from "./components/studentResponseAreaAndLayoutComponent";
1
+ import utilities from "../support/helpers/utilities";
2
+ import { createQuestionBasePage, questionInstructionsComponent, gridQuestionCommonComponent, scoringSectionBaseEditTab, ckEditorToolbar, equationEditorFlyout, autoScoredScoringPreviewTab, correctIncorrectAnswerLabelComponent } from "./components";
4
3
  const css = Cypress.env('css');
5
4
 
6
5
  const selectors = {
7
6
  ...questionInstructionsComponent,
8
- ...commonComponents,
9
- ...scoringSectionBase,
10
- ...autoScoredSetCorrectAnswerSection,
11
- ...autoScoredScoringSectionMultipleResponsesType,
12
- ...autoScoredAdditionalSettings,
13
- ...previewScoringAndShowCorrectAnswerComponent,
14
- ...autoScoredPreviewBase,
15
- ...createQuestionBasePage,
16
- ...gridCommonComponents,
17
- ...additionalSettingsPanel,
18
- optionNumeration: () => cy.get('[class*="SingleOptionstyle__AdornmentWrapper"]'),
19
- //Options section
20
- optionsSectionWrapper: () => cy.get('.edit-mcq-options-wrapper.single-selection-grid'),
21
- //Set correct answer section
22
- optionsRadioButton: () => cy.get('.choice-option-radio-button [type="radio"]'),
23
- pointsWrapper: () => cy.get('.single-selection-grid-points-wrapper'),
24
- randomizeOptionsCheckbox: () => cy.get('[data-ngie-testid="randomize-options-checkbox"] input'),
25
- randomizeOptionsCheckboxLabel: () => cy.get('[data-ngie-testid="randomize-options-checkbox"] .MuiFormControlLabel-label'),
26
- //Preview tab
27
- radioButtonWrapper: () => cy.get('.choice-option-radio-button'),
28
- previewTabRadioButtonWrapper: () => cy.get('.edit-question-preview-wrapper .choice-option-radio-button'),
29
- //Scoring
30
- pointsPerResponseLabel: () => cy.get('[class*="indexstyles__PartialDifferentPointsHeader"]'),
31
- partialEqualWeightsPointsPerResponseScore: () => cy.get('.partial-different-points-wrapper [aria-label*="Points per response"]'),
32
- partialDifferentWeightsPointsInputField: () => cy.get('.partial-different-points-wrapper .points-input-field input[type="text"]'),
33
- correctIncorrectIconWrapper: () => cy.get('.tick-icon-wrapper'),
34
- correctIncorrectAnswerBorder: () => cy.get('.edit-question-preview-wrapper [class*="indexstyles__CorrectIncorrectBorderWrapper"]')
35
- };
7
+ ...gridQuestionCommonComponent,
8
+ ...ckEditorToolbar,
9
+ ...autoScoredScoringPreviewTab,
10
+ ...correctIncorrectAnswerLabelComponent,
11
+ }
36
12
 
37
13
  const steps = {
38
14
  ...createQuestionBasePage.steps,
39
15
  ...questionInstructionsComponent.steps,
40
- ...scoringSectionBase.steps,
41
- ...commonComponents.steps,
42
- ...autoScoredSetCorrectAnswerSection.steps,
43
- ...autoScoredScoringSectionMultipleResponsesType.steps,
44
- ...additionalSettingsPanel.steps,
45
- ...previewScoringAndShowCorrectAnswerComponent.steps,
46
- ...autoScoredPreviewBase.steps,
47
- ...autoScoredAdditionalSettings.steps,
48
- ...gridCommonComponents.steps,
49
- ...autoScoredScoringSection.steps,
50
- //Set correct section
16
+ ...gridQuestionCommonComponent.steps,
17
+ ...scoringSectionBaseEditTab.steps,
18
+ ...ckEditorToolbar.steps,
19
+ ...equationEditorFlyout.steps,
20
+ ...autoScoredScoringPreviewTab.steps,
21
+ ...correctIncorrectAnswerLabelComponent.steps,
51
22
  /**
52
- * @param {number} rowIndex index of the row
53
- * @param {number} optionIndex index of the option
54
- * @description This function selects option from the set correct answer table
23
+ * Modifies the property of an option cell in the grid for radio button settings.
24
+ * @param {Object} position - The position of the option cell.
25
+ * @param {number} position.row - The row index (zero-based) of the option cell.
26
+ * @param {number} position.column - The column index (zero-based) of the option cell.
27
+ * @param {('Radio button', 'Radio button with text', 'No radio button')} listOption - The option to select from the list.
28
+ * @throws {Error} Thrown if the listOption is invalid.
55
29
  */
56
- selectOptionFromSetCorrectAnswerTable: (rowIndex, optionIndex) => {
57
- singleSelectionGridPage.setCorrectAnswerTableRow()
58
- .eq(rowIndex)
59
- .within(() => {
60
- singleSelectionGridPage.optionsRadioButton()
61
- .eq(optionIndex)
62
- .click()
63
- .should('be.checked');
64
- });
65
- },
66
-
67
- /**
68
- * @param {array} optionIndexInQuestionStemRow array of options to be selected for all question stems
69
- * @description This function checkmarks all the options in the set correct answer table
70
- */
71
- selectOptionForAllQuestionStemsInSetCorrectAnswerTable: (optionIndexInQuestionStemRow) => {
72
- optionIndexInQuestionStemRow.forEach((options, optionIndex) => {
73
- singleSelectionGridPage.setCorrectAnswerTableRow()
74
- .eq(optionIndex)
75
- .within(() => {
76
- singleSelectionGridPage.optionsRadioButton()
77
- .eq(options)
78
- .click()
79
- .should('be.checked');
80
- });
30
+ modifyTableCellPropertyForOptionCells: ({ row, column }, listOption) => {
31
+ utilities.getNthElement(gridQuestionCommonComponent.editCellPropertyRow(), row).within(() => {
32
+ utilities.getNthElement(gridQuestionCommonComponent.editCellPropertyButton(), column)
33
+ .scrollIntoView()
34
+ .click();
81
35
  });
36
+ utilities.verifyElementVisibilityState(gridQuestionCommonComponent.editCellPropertyList(), 'visible');
37
+ switch (listOption) {
38
+ case 'Radio button':
39
+ utilities.getNthElement(gridQuestionCommonComponent.editCellPropertyListOption(), 0)
40
+ .click();
41
+ break;
42
+ case 'Radio button with text':
43
+ utilities.getNthElement(gridQuestionCommonComponent.editCellPropertyListOption(), 1)
44
+ .click();
45
+ break;
46
+ case 'No radio button':
47
+ utilities.getNthElement(gridQuestionCommonComponent.editCellPropertyListOption(), 2)
48
+ .click();
49
+ break;
50
+ default:
51
+ throw new Error('Invalid list option');
52
+ }
82
53
  },
83
54
 
84
55
  /**
85
- * @param {number} rowIndex index of the row
86
- * @param {number} radioButtonsCount number of radio buttons present in the row
87
- * @description This function verifies the count of radio buttons present in a row
56
+ * Verifies that an option button with a radio button is in the selected state in the preview tab.
57
+ * @param {Object} position - The position of the option button.
58
+ * @param {number} position.row - The row index (zero-based) in the preview tab.
59
+ * @param {number} position.column - The column index (zero-based) of the option button in the preview tab.
88
60
  */
89
- verifyTableRowRadioButtonsInSetCorrectAnswerTable: (rowIndex, radioButtonsCount) => {
90
- singleSelectionGridPage.setCorrectAnswerTableRow()
91
- .eq(rowIndex)
61
+ verifyOptionWithRadioButtonSelectedState: ({ row, column }) => {
62
+ gridQuestionCommonComponent.gridPreviewTab()
92
63
  .within(() => {
93
- singleSelectionGridPage.optionsRadioButton()
94
- .should('have.length', radioButtonsCount)
95
- });
96
- },
97
-
98
- /**
99
- * @param {number} rowIndex index of the row
100
- * @description this function verifies disabled radio button
101
- */
102
- verifyDisabledTableRowRadioButtonsInSetCorrectAnswerTable: (rowIndex) => {
103
- singleSelectionGridPage.setCorrectAnswerTableRow()
104
- .eq(rowIndex)
105
- .within(() => {
106
- singleSelectionGridPage.optionsRadioButton()
107
- .each(($el) => {
108
- cy.wrap($el)
109
- .should('be.disabled');
110
- });
111
- });
112
- },
113
-
114
- /**
115
- * @param {number} rowIndex index of the row
116
- * @description this function verifies enabled and unchecked radio button
117
- */
118
- verifyEnabledUncheckedTableRowRadioButtonsInSetCorrectAnswerTable: (rowIndex) => {
119
- singleSelectionGridPage.setCorrectAnswerTableRow()
120
- .eq(rowIndex)
121
- .within(() => {
122
- singleSelectionGridPage.optionsRadioButton()
123
- .each(($el) => {
124
- cy.wrap($el)
125
- .should('be.enabled')
126
- .and('not.be.checked');
127
- });
64
+ utilities.getNthElement(gridQuestionCommonComponent.tableRow(), row).within(() => {
65
+ utilities.getNthElement(gridQuestionCommonComponent.optionsButton(), column)
66
+ .should('have.class', 'selected')
67
+ .find('svg')
68
+ .should('have.class', 'radio-btn-checked');
69
+ });
128
70
  });
129
71
  },
130
72
 
131
- //Preview tab
132
73
  /**
133
- * @param {number} rowIndex index of the row
134
- * @param {number} radioButtonsCount number of radio buttons present in the row
135
- * @description This function verifies the count of radio buttons present in a row
74
+ * Verifies that an option button with a radio button is in the unselected state in the preview tab.
75
+ * @param {Object} position - The position of the option button.
76
+ * @param {number} position.row - The row index (zero-based) in the preview tab.
77
+ * @param {number} position.column - The column index (zero-based) of the option button in the preview tab.
136
78
  */
137
- verifyTableRowRadioButtonsInPreviewTabAnswerTable: (rowIndex, radioButtonsCount) => {
138
- singleSelectionGridPage.previewTabAnswerTableRow()
139
- .eq(rowIndex)
79
+ verifyOptionWithRadioButtonUnselectedState: ({ row, column }) => {
80
+ gridQuestionCommonComponent.gridPreviewTab()
140
81
  .within(() => {
141
- singleSelectionGridPage.optionsRadioButton()
142
- .should('have.length', radioButtonsCount)
143
- });
144
- },
145
-
146
- /**
147
- * @param {number[]} optionIndexInQuestionStemRow array of options to be selected to each question stem
148
- * @description This function selects the options for all the question stems
149
- */
150
- selectOptionForAllQuestionStemsInPreviewTabAnswerTable: (optionIndexInQuestionStemRow) => {
151
- optionIndexInQuestionStemRow.forEach((options, optionIndex) => {
152
- singleSelectionGridPage.previewTabAnswerTableRow()
153
- .eq(optionIndex)
154
- .within(() => {
155
- singleSelectionGridPage.optionsRadioButton()
156
- .eq(options)
157
- .click()
158
- .should('be.checked');
82
+ utilities.getNthElement(gridQuestionCommonComponent.tableRow(), row).within(() => {
83
+ utilities.getNthElement(gridQuestionCommonComponent.optionsButton(), column)
84
+ .should('not.have.class', 'selected')
85
+ .find('svg')
86
+ .should('have.class', 'radio-btn-unChecked');
159
87
  });
160
- });
161
- },
162
-
163
- verifyRadioButtonsUncheckedInPreviewTabAnswerTable: () => {
164
- singleSelectionGridPage.previewTabAnswerTable()
165
- .within(() => {
166
- singleSelectionGridPage.optionsRadioButton()
167
- .each(($el) => {
168
- cy.wrap($el)
169
- .should('not.be.checked')
170
- });
171
88
  });
172
89
  },
173
90
 
174
- //Scoring
175
91
  /**
176
- * @param {number} rowIndex index of the row
177
- * @param {number} optionIndex index of the option to be selected within the row
178
- * @description This function verifies the incorrect icon in the preview tab table
92
+ * Verifies that an option button without a radio button is in the selected state in the preview tab.
93
+ * @param {Object} position - The position of the option button.
94
+ * @param {number} position.row - The row index (zero-based) in the preview tab.
95
+ * @param {number} position.column - The column index (zero-based) of the option button in the preview tab.
179
96
  */
180
- verifyIncorrectOptionCrossmarkIcon: (rowIndex, optionIndex) => {
181
- singleSelectionGridPage.previewTabAnswerTableRow()
182
- .eq(rowIndex)
97
+ verifyOptionWithoutRadioButtonSelectedState: ({ row, column }) => {
98
+ gridQuestionCommonComponent.gridPreviewTab()
183
99
  .within(() => {
184
- singleSelectionGridPage.radioButtonWrapper()
185
- .eq(optionIndex)
186
- .within(() => {
187
- singleSelectionGridPage.correctIncorrectIconWrapper()
188
- .should('have.class', 'icon-incorrect')
189
- .and('be.visible');
190
- });
191
- });
192
- },
193
-
194
- /**
195
- * @param {number} rowIndex index of the row
196
- * @param {number} optionIndex index of the option to be selected within the row
197
- * @description This function verifies the correct icon in the preview tab table
198
- */
199
- verifyCorrectOptionCheckmarkIcon: (rowIndex, optionIndex) => {
200
- singleSelectionGridPage.previewTabAnswerTableRow()
201
- .eq(rowIndex)
202
- .within(() => {
203
- singleSelectionGridPage.radioButtonWrapper()
204
- .eq(optionIndex)
205
- .within(() => {
206
- singleSelectionGridPage.correctIncorrectIconWrapper()
207
- .should('have.class', 'icon-correct')
208
- .and('be.visible');
209
- });
100
+ utilities.getNthElement(gridQuestionCommonComponent.tableRow(), row).within(() => {
101
+ utilities.getNthElement(gridQuestionCommonComponent.optionsButton(), column)
102
+ .should('have.class', 'selected');
103
+ });
210
104
  });
211
105
  },
212
-
213
- /**
214
- * @param {number[]} incorrectOptionsArray the array of incorrect answer options
215
- * @description this function verifies the crossmark icon beside the options for all question stems
216
- */
217
- verifyIncorrectOptionCrossmarkIconForAllQuestionStems: (incorrectOptionsArray) => {
218
- incorrectOptionsArray.forEach((incorrectOptionsIndex, rowIndex) => {
219
- steps.verifyIncorrectOptionCrossmarkIcon(rowIndex, incorrectOptionsIndex)
220
- });
221
- },
222
-
223
- /**
224
- * @param {number[]} correctOptionsArray the array of correct answer options
225
- * @description this function verifies the checkmark icon beside the options for all question stems
226
- */
227
- verifyCorrectOptionCheckmarkIconForAllQuestionStems: (correctOptionsArray) => {
228
- correctOptionsArray.forEach((correctOptionsIndex, rowIndex) => {
229
- steps.verifyCorrectOptionCheckmarkIcon(rowIndex, correctOptionsIndex)
230
- });
231
- },
232
-
233
- //TODO: Make all border related changes once https://redmine.zeuslearning.com/issues/518498 is resolved
234
- verifyCorrectAttemptBorder: () => {
235
- singleSelectionGridPage.correctIncorrectAnswerBorder()
236
- .should('have.css', 'border', `1px solid ${css.color.correctAnswer}`);
237
- },
238
-
239
- verifyIncorrectAttemptBorder: () => {
240
- singleSelectionGridPage.correctIncorrectAnswerBorder()
241
- .should('have.css', 'border', `1px solid ${css.color.incorrectAnswer}`);
242
- },
243
-
244
- verifyCorrectIncorrectBorderNotVisible: () => {
245
- singleSelectionGridPage.correctIncorrectAnswerBorder()
246
- .should('have.css', 'border')
247
- .and('match', /0px none/);
248
- },
249
- };
106
+ }
250
107
 
251
108
  const tests = {
252
- ...createQuestionBasePage.tests,
253
109
  ...questionInstructionsComponent.tests,
254
- ...autoScoredSetCorrectAnswerSection.tests,
255
- ...autoScoredScoringSection.tests,
256
- ...scoringSectionBase.tests,
257
- ...commonComponents.tests,
258
- ...previewScoringAndShowCorrectAnswerComponent.tests,
259
- ...gridCommonComponents.tests,
260
- ...additionalSettingsPanel.tests,
261
- ...autoScoredAdditionalSettings.tests,
262
- ...studentResponseAndLayoutComponent.tests,
263
- /**
264
- * @param {string} scoringType the type of scoring selected by the user
265
- * @param {string[]} questionStemsArray the array of question stems to be verified in the set correct answer table
266
- * @param {string[]} optionsArray the array of options to be verified in the set correct answer table
267
- * @description this function is used to verify the contents of the set correct answer table when a scoring type is selected
268
- */
269
- verifyAllContentsOfSetCorrectAnswerTableForScoringType: (scoringType, questionStemsArray, optionsArray) => {
270
- it(`When user has selected ${scoringType} scoring type then added question stems, options and enabled radio buttons should be displayed`, () => {
271
- singleSelectionGridPage.steps.verifyQuestionStemsInSetCorrectAnswerTable(questionStemsArray);
272
- singleSelectionGridPage.steps.verifyTableHeaderContentsInSetCorrectAnswerTable(optionsArray);
273
- for (let index = 0; index < 4; index++) {
274
- singleSelectionGridPage.steps.verifyEnabledUncheckedTableRowRadioButtonsInSetCorrectAnswerTable(index);
275
- }
276
- });
277
- },
278
-
279
- /**
280
- * @param {number} totalPoints the maximum points that can be scored by the user
281
- * @description this function verifies the functionality of minimum points when penalty points are not set and user attempts incorrect answer
282
- */
283
- verifyMinimumScoreAwardedIfAttemptedFunctionalityForIncorrectAnswer: (totalPoints) => {
284
- it('When user has provided minimum score awarded (if attempted) points, then in Preview tab on entering incorrect answer, minimum score should be provided for the question', () => {
285
- cy.log('Switch to edit tab and set minimum score if attempted points')
286
- createQuestionBasePage.steps.switchToEditTab();
287
- scoringSectionBase.steps.allotMinimumScoreAwardedIfAttempted('1')
288
- createQuestionBasePage.steps.switchToPreviewTab()
289
- singleSelectionGridPage.steps.selectOptionForAllQuestionStemsInPreviewTabAnswerTable([1, 0, 1, 0]);
290
- singleSelectionGridPage.previewScoreText()
291
- .verifyInnerText(`1/${totalPoints}`);
292
- });
293
-
294
- it('When user removes minimum score awarded (if attempted) points, then in Preview tab on selecting any options other than correct answers, points should not be provided', () => {
295
- cy.log('Switch to edit tab and remove minimum score if attempted points')
296
- createQuestionBasePage.steps.switchToEditTab();
297
- singleSelectionGridPage.steps.clearMinimumScoreIfAttemptedPointsField();
298
- createQuestionBasePage.steps.switchToPreviewTab()
299
- singleSelectionGridPage.steps.selectOptionForAllQuestionStemsInPreviewTabAnswerTable([1, 0, 1, 0]);
300
- singleSelectionGridPage.previewScoreText()
301
- .verifyInnerText(`0/${totalPoints}`);
302
- });
303
- },
304
-
305
- /**
306
- *
307
- * @param {number} scoredPoints the points scored by the user
308
- * @param {number} totalPoints the maximum points that can be scored by the user
309
- * @description this function verifies the functionality of Penalty points when minimum points are not set and user attempts incorrect answer
310
- */
311
- verifyPenaltyPointsFunctionalityForIncorrectAnswer: (scoredPoints, totalPoints) => {
312
- it('When user has defined penalty points', () => {
313
- cy.log('Pre-step: Switch to edit tab and set penalty points');
314
- createQuestionBasePage.steps.switchToEditTab();
315
- singleSelectionGridPage.steps.allotPenaltyPoints('3')
316
-
317
- cy.log('After switching to preview tab, when user adds an incorrect answer input, then 0 points should be awarded(no negative points)');
318
- createQuestionBasePage.steps.switchToPreviewTab();
319
- singleSelectionGridPage.steps.selectOptionForAllQuestionStemsInPreviewTabAnswerTable([1, 0, 1, 0]);
320
- singleSelectionGridPage.previewScoreText()
321
- .verifyInnerText(`0/${totalPoints}`);
322
-
323
- cy.log('When user adds a partially correct answer input, the points should be updated accordingly with deducted penalty points');
324
- singleSelectionGridPage.steps.selectOptionForAllQuestionStemsInPreviewTabAnswerTable([0, 1, 1, 1]);
325
- singleSelectionGridPage.previewScoreText()
326
- .verifyInnerText(`${scoredPoints}/${totalPoints}`);
327
- });
328
- },
329
- /**
330
- * @param {number} scoredPoints the points scored by the user
331
- * @param {number} totalPoints the maximum points that can be scored by the user
332
- * @description this function verifies the functionality of Minimum score if attempted points when penalty points are set and user attempts incorrect answer
333
- */
334
- verifyMinimumScoreIfAttemptedAndPenaltyPointsFunctionalityForIncorrectAnswer: (scoredPoints, totalPoints) => {
335
- it('When user has defined both penalty points and minimum score awarded (if attempted) points', () => {
336
- cy.log('Pre-step: Switch to edit tab and set minimum score awarded (if attempted) points');
337
- createQuestionBasePage.steps.switchToEditTab();
338
- scoringSectionBase.steps.allotMinimumScoreAwardedIfAttempted('1');
339
-
340
- cy.log('Switch to preview tab and give incorrect answer input to check that minimum points are displayed');
341
- createQuestionBasePage.steps.switchToPreviewTab();
342
- singleSelectionGridPage.steps.selectOptionForAllQuestionStemsInPreviewTabAnswerTable([1, 0, 1, 0]);
343
- singleSelectionGridPage.previewScoreText()
344
- .verifyInnerText(`1/${totalPoints}`);
345
-
346
- cy.log('When user adds a partially correct answer such that the points of the attempt(with penalty points deducted) is more than the minimum score awarded(if attempted) points');
347
- singleSelectionGridPage.steps.selectOptionForAllQuestionStemsInPreviewTabAnswerTable([0, 1, 1, 1]);
348
- singleSelectionGridPage.previewScoreText()
349
- .verifyInnerText(`${scoredPoints}/${totalPoints}`);
350
-
351
- cy.log('When user switches to edit tab and increases the minimum score awarded (if attempted) points to check the case for an attempt in which points of the attempt is less than minimum score awarded (if attempted) points, then the minimum score awarded (if attempted) points should be displayed to the user');
352
- createQuestionBasePage.steps.switchToEditTab();
353
- singleSelectionGridPage.steps.clearMinimumScoreIfAttemptedPointsField()
354
- scoringSectionBase.steps.allotMinimumScoreAwardedIfAttempted('6')
355
- cy.log('Switching to preview tab');
356
- createQuestionBasePage.steps.switchToPreviewTab();
357
- singleSelectionGridPage.steps.selectOptionForAllQuestionStemsInPreviewTabAnswerTable([0, 0, 1, 0]);
358
- singleSelectionGridPage.previewScoreText()
359
- .verifyInnerText(`6/${totalPoints}`);
360
- });
361
- }
362
- };
110
+ ...autoScoredScoringPreviewTab.tests
111
+ }
363
112
 
364
113
  export const singleSelectionGridPage = {
365
114
  ...selectors,
366
115
  steps,
367
116
  tests
368
- };
117
+ }
@@ -1,6 +1,6 @@
1
1
  import constants from "../fixtures/constants";
2
2
  import utilities from "../support/helpers/utilities";
3
- import { additionalSettingsPanel, createQuestionBasePage, mcqAdditionalSettingsBase, scoringSectionBaseEditTab, autoScoredSpecifyCorrectAnswerSection, optionsWrapperComponent, commonComponents, autoScoredScoringPreviewTab, autoScoredStudentViewSettings, ckEditorToolbar, equationEditorFlyout, randomizeOptionsComponent, lockUnlockOptionComponent, questionInstructionsComponent } from "./components";
3
+ import { additionalSettingsPanel, createQuestionBasePage, mcqAdditionalSettingsBase, scoringSectionBaseEditTab, autoScoredSpecifyCorrectAnswerSection, optionsWrapperComponent, commonComponents, autoScoredScoringPreviewTab, autoScoredStudentViewSettings, ckEditorToolbar, equationEditorFlyout, randomizeOptionsComponent, lockUnlockOptionComponent, questionInstructionsComponent, additionalSettingsAccessibilitySectionComponent } from "./components";
4
4
  const css = Cypress.env('css');
5
5
 
6
6
  const options = ['Pollution caused by treating chemical waste', 'Pollution caused by cement production', 'Pollution caused by methane production', 'Pollution caused by cement and methane production'];
@@ -455,6 +455,7 @@ const tests = {
455
455
  ...optionsWrapperComponent.tests,
456
456
  ...commonComponents.tests,
457
457
  ...autoScoredStudentViewSettings.tests,
458
+ ...additionalSettingsAccessibilitySectionComponent.tests,
458
459
  verifyContentsOfSpecifyCorrectAnswerSection: () => {
459
460
  it('In the \'Correct\' accordion, all options with checkboxes should be displayed', () => {
460
461
  utilities.verifyElementCount(singleSelectionPage.optionWrapperSpecifyCorrectAnswerSection(), 4);
@@ -79,15 +79,22 @@ const selectors = {
79
79
  //Additional settings
80
80
  textContainersAriaLabelInputField: () => cy.get('[class*="ClozeMathstyle__SingleAriaLabelContainer"]'),
81
81
  textContainersAriaLabelInputFieldNumeration: () => cy.get('[class*="ClozeMathstyle__Numeration"]'),
82
+ equationEditorCategories: (ariaLabel) => {
83
+ if (ariaLabel) {
84
+ return cy.get(`cy.get('[class*="EquationEditorCategoriesSelectionstyles"] .icon-button-custom-format[aria-label*="${ariaLabel}"]`).eq(0)
85
+ } else {
86
+ return cy.get('[class*="EquationEditorCategoriesSelectionstyles"] .icon-button-custom-format')
87
+ }
88
+ },
82
89
 
83
90
  //Preview tab
84
- responseFieldPreviewTab: () => cy.get('.preview-question-text-wrapper .response-input-field'),
91
+ responseFieldPreviewTab: () => cy.get('.preview-question-text-wrapper .equation-input-without-andornment'),
85
92
  responseFieldWrapperPreviewTab: () => cy.get('.cloze-response-wrapper'),
86
93
  responseFieldNumerationPreviewTab: () => cy.get('.preview-question-text-wrapper .response-input-adornment'),
87
94
  questionContainerPreviewTab: () => cy.get('[class*="ClozeWithTextPreviewstyle__QuestionPreviewWrapper"]'),
88
95
  tickIcon: () => cy.get('.tick-icon-wrapper'),
89
- correctAnswersContainerResponse: () => cy.get('.cloze-with-text-correct-response-wrapper .response-input-field'),
90
- correctAnswersContainerResponseNumeration: () => cy.get('.cloze-with-text-correct-response-wrapper .response-input-adornment'),
96
+ correctAnswersContainerResponse: () => cy.get('.cloze-math-correct-answer-wrapper .question-text-wrapper'),
97
+ correctAnswersContainerResponseNumeration: () => cy.get('.cloze-math-correct-answer-wrapper .answer-numeration-number-box'),
91
98
  correctAnswersLabel: () => cy.get('.cloze-with-text-correct-answer-label'),
92
99
  correctIncorrectStatusMessageText: () => cy.get('[class*="AnswerLabelText"]'),
93
100
  correctAnswersContainer: () => cy.get('[class*="__AnswerLabelWrapper"]')
@@ -201,7 +208,8 @@ const steps = {
201
208
  */
202
209
  addInputToResponseAnswerInputFieldSpecifyCorrectAnswer: (answerFieldIndex, input) => {
203
210
  utilities.getNthElement(textEntryMathPage.responseAccordionAnswerInputField(), answerFieldIndex)
204
- .type(`${input}`);
211
+ .click();
212
+ equationEditorFlyout.steps.enterTextInPreviewInputField(`${input}`);
205
213
  equationEditorFlyout.steps.clickOnOkButton();
206
214
  utilities.verifyInnerText(utilities.getNthElement(textEntryMathPage.responseAccordionAnswerInputField(), answerFieldIndex), `${input}`);
207
215
  },
@@ -662,8 +670,8 @@ const steps = {
662
670
  verifyCorrectAnswerResponsesAriaLabel: (index, correctAnswerAriaLabel) => {
663
671
  textEntryMathPage.correctAnswersContainerResponse()
664
672
  .eq(index)
665
- .invoke('attr', 'value')
666
- .should('include', correctAnswerAriaLabel);
673
+ .find('[role="math"]')
674
+ .should('have.attr', 'aria-label', correctAnswerAriaLabel);
667
675
  },
668
676
 
669
677
  verifyResponseFieldNumerationPreviewTab: () => {
@@ -769,7 +777,17 @@ const steps = {
769
777
 
770
778
  verifyAlternativeAnswerAccordionNotExists: () => {
771
779
  utilities.verifyElementVisibilityState(textEntryMathPage.alternativeAnswerAccordion().contains('Alternative 2'), 'notExist');
780
+ },
781
+
782
+ //Additional settings
783
+ selectEquationEditorSectionCategories: (categoriesArray) => {
784
+ categoriesArray.forEach((categoryName) => {
785
+ textEntryMathPage.equationEditorCategories()
786
+ .contains(categoryName, { matchCase: false })
787
+ .click();
788
+ });
772
789
  }
790
+
773
791
  }
774
792
 
775
793
  const tests = {
@@ -11,7 +11,7 @@ const selectors = {
11
11
  ...dialogBoxBase,
12
12
 
13
13
  addBackgroundButton: () => cy.get('[data-ngie-testid="add-background-tab"]'),
14
- responseFieldPreviewTab: () => cy.get('.image-container .response-input-field'),
14
+ responseFieldPreviewTab: () => cy.get('.cloze-math-background-preview .equation-input-without-andornment'),
15
15
  canvasInPreviewTab: () => cy.get('[class*="PreviewTabstyles__ContentWrapper"] .image-container'),
16
16
  textAreaPreviewTab: () => cy.get('.label-image-with-text-preview [class*="TextBoxContainer"]'),
17
17
  tickIcon: () => cy.get('.tick-icon-wrapper [data-name*="Rectangle"]'),
@@ -1,4 +1,4 @@
1
- import { commonComponents, questionInstructionsComponent, scoringSectionBaseEditTab, createQuestionBasePage, additionalSettingsPanel, autoScoredScoringPreviewTab, studentViewSettingsLabelComponent } from "./components";
1
+ import { commonComponents, questionInstructionsComponent, scoringSectionBaseEditTab, createQuestionBasePage, additionalSettingsPanel, autoScoredScoringPreviewTab, studentViewSettingsLabelComponent, additionalSettingsAccessibilitySectionComponent } from "./components";
2
2
  import { dialogBoxBase } from ".";
3
3
  import utilities from "../support/helpers/utilities";
4
4
  import { supportedFileType } from "../fixtures/uploadResponseFileType";
@@ -14,7 +14,7 @@ const selectors = {
14
14
  ...questionInstructionsComponent,
15
15
  ...commonComponents,
16
16
  ...dialogBoxBase,
17
-
17
+
18
18
  maximumNumberOfFilesInputField: () => cy.get('.input-stepper-textfield'),
19
19
  maximumNumberOfFilesLabel: () => cy.get('.input-stepper-label'),
20
20
  maximumNumberOfFilesIncreaseButton: () => cy.get('[aria-label="Increase count"]'),
@@ -544,7 +544,7 @@ const steps = {
544
544
  verifyMaximumFileSizePreviewTab: (size) => {
545
545
  utilities.verifyInnerText(uploadResponsePage.maximumFileSize(), `Maximum file size: ${size}`);
546
546
  },
547
-
547
+
548
548
  uncheckDisplayPerFileSizeLimitToStudentCheckbox: () => {
549
549
  uploadResponsePage.displayPerFileSizeLimitToStudentCheckbox()
550
550
  .click()
@@ -601,6 +601,7 @@ const tests = {
601
601
  ...scoringSectionBaseEditTab.tests,
602
602
  ...autoScoredScoringPreviewTab.tests,
603
603
  ...commonComponents.tests,
604
+ ...additionalSettingsAccessibilitySectionComponent.tests,
604
605
  verifyWarningMessageDisappear: () => {
605
606
  it('The error message should disappear if the user clicks anywhere in the upload file content wrapper', () => {
606
607
  uploadResponsePage.inputTypeFile()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "itemengine-cypress-automation",
3
- "version": "1.0.143-migrationScripts-d059d60.0",
3
+ "version": "1.0.143",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -35,4 +35,4 @@
35
35
  "node-fetch": "^3.3.2",
36
36
  "react-uuid": "^2.0.0"
37
37
  }
38
- }
38
+ }
@@ -1,43 +0,0 @@
1
- import { fillInTheGapsOverImageDragAndDropPage } from "../../../pages";
2
- import abortEarlySetup from "../../../support/helpers/abortEarly";
3
-
4
- describe('Create Item page - Fill in the gaps over image - drag and drop: Additional settings', () => {
5
- before(() => {
6
- cy.loginAs('admin');
7
- });
8
-
9
- describe('Additional Settings accordion', () => {
10
- abortEarlySetup();
11
- before(() => {
12
- cy.log('Navigating to fill in the gaps over image - drag and drop question type');
13
- fillInTheGapsOverImageDragAndDropPage.steps.navigateToCreateQuestion('fill in the gaps over image with drag and drop');
14
- cy.barsPreLoaderWait();
15
- });
16
-
17
- fillInTheGapsOverImageDragAndDropPage.tests.verifyAdditonalSettingsAccordionProperties();
18
- });
19
-
20
- describe('Additional settings: Font size contents', () => {
21
- abortEarlySetup();
22
- before(() => {
23
- cy.log('Navigating to Highlight question type');
24
- fillInTheGapsOverImageDragAndDropPage.steps.navigateToCreateQuestion('fill in the gaps over image with drag and drop');
25
- cy.barsPreLoaderWait();
26
- fillInTheGapsOverImageDragAndDropPage.steps.expandAdditonalSettings();
27
- });
28
-
29
- fillInTheGapsOverImageDragAndDropPage.tests.verifyFontSizeSectionContents();
30
- });
31
-
32
- describe('Additional Settings: Details section', () => {
33
- abortEarlySetup();
34
- before(() => {
35
- cy.log('Navigating to fill in the gaps over image - drag and drop question type');
36
- fillInTheGapsOverImageDragAndDropPage.steps.navigateToCreateQuestion('fill in the gaps over image with drag and drop');
37
- cy.barsPreLoaderWait();
38
- fillInTheGapsOverImageDragAndDropPage.steps.expandAdditonalSettings();
39
- });
40
-
41
- fillInTheGapsOverImageDragAndDropPage.tests.verifyDetailsSection();
42
- });
43
- });