itemengine-cypress-automation 1.0.246 → 1.0.247

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) hide show
  1. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +1 -1
  2. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +1 -1
  3. package/cypress/e2e/ILC/ChartsLine/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +349 -0
  4. package/cypress/e2e/ILC/ChartsLine/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +348 -0
  5. package/cypress/e2e/ILC/ChartsLine/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +415 -0
  6. package/cypress/e2e/ILC/ChartsLine/Scoring/allOrNothingPenaltyScoring.js +54 -0
  7. package/cypress/e2e/ILC/ChartsLine/Scoring/partialDifferentWeightBasic.js +254 -0
  8. package/cypress/e2e/ILC/ChartsLine/Scoring/partialEqualWeightBasic.js +255 -0
  9. package/cypress/e2e/ILC/DrawingResponse/drawingResponsePreviewTabContents.smoke.js +4 -0
  10. package/cypress/e2e/ILC/EssayResponse/createCustomCategory.smoke.js +2 -0
  11. package/cypress/e2e/ILC/EssayResponse/editCategoryFlyout.js +3 -0
  12. package/cypress/e2e/ILC/EssayResponse/equationEditor.smoke.js +4 -0
  13. package/cypress/e2e/ILC/EssayResponse/essayResponseCustomizeFormattingOptions1.smoke.js +2 -0
  14. package/cypress/e2e/ILC/EssayResponse/essayResponseSpecialCharacters.js +2 -0
  15. package/cypress/e2e/ILC/EssayResponseBasic/essayResponseBasicCustomizeFormattingOptions.js +2 -0
  16. package/cypress/e2e/ILC/ImageHighlight/toolsFunctionalityEditTab.js +2 -2
  17. package/cypress/e2e/ILC/ListOrderingNew/styleAndLayoutCustomizationSameList.js +270 -0
  18. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/HorizontalOrientation/partialDifferentWeightsBasic.js +95 -0
  19. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/HorizontalOrientation/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +236 -0
  20. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/HorizontalOrientation/partialEqualWeightsBasic.js +150 -0
  21. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/HorizontalOrientation/setPointsPopup.js +88 -0
  22. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/HorizontalOrientation/specifyCorrectAnswerSection.js +97 -0
  23. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/HorizontalOrientation/studentViewSettings.js +134 -0
  24. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/additionalSettings.js +131 -0
  25. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabBasicSection.js +167 -0
  26. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/editTabScoring.js +202 -0
  27. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/headerSection.js +76 -0
  28. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/manuallyAndNonScoredEditTab.js +72 -0
  29. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/minimumScoringPenaltyPointsAndRoundingDropdown.js +197 -0
  30. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/optionsOrientationSection.js +180 -0
  31. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/specifyCorrectAnswerSection.js +95 -0
  32. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/studentViewSettings.js +130 -0
  33. package/cypress/e2e/ILC/Matching/styleAndLayoutCustomizationDraggableOptionProperties.js +223 -0
  34. package/cypress/e2e/ILC/Matching/styleAndLayoutCustomizationDraggableOptionsPanel.js +121 -0
  35. package/cypress/e2e/ILC/Matching/styleAndLayoutCustomizationDropzoneConnectorStyle.js +68 -0
  36. package/cypress/e2e/ILC/Matching/styleAndLayoutCustomizationOptionAlignment.js +71 -0
  37. package/cypress/e2e/ILC/Matching/styleAndLayoutCustomizationOptionPlacement.js +64 -0
  38. package/cypress/e2e/ILC/MatchingDropdown/styleAndLayoutCustomization.js +270 -0
  39. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingAlternatePointsGreaterThanCorrectPoints.js +7 -7
  40. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +7 -7
  41. package/cypress/e2e/ILC/TextEntryMath/Scoring/allOrNothingCorrectPointsGreaterThanAlternatePoints.js +7 -7
  42. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +7 -7
  43. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +7 -7
  44. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +8 -8
  45. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialDifferentWeightsScoringBasic.js +4 -4
  46. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +7 -7
  47. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +7 -7
  48. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +8 -8
  49. package/cypress/e2e/ILC/TextEntryMath/Scoring/partialEqualWeightsScoringBasic.js +4 -4
  50. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViews.smoke.js +4 -4
  51. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +272 -0
  52. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodsWithoutSetResponse.js +6 -6
  53. package/cypress/fixtures/drawingToolbarOptionsAdditionalOptionsAndSpecialAndMathCharacters.js +2 -2
  54. package/cypress/pages/audioPlayerPage.js +4 -4
  55. package/cypress/pages/audioResponsePage.js +9 -1
  56. package/cypress/pages/chartsBarPage.js +3 -3
  57. package/cypress/pages/components/connectorStyleStyleAndLayoutCustomizationComponent.js +51 -0
  58. package/cypress/pages/components/gridQuestionCommonComponent.js +1 -1
  59. package/cypress/pages/components/index.js +1 -10
  60. package/cypress/pages/components/listOrderingCommonStyleAndLayoutComponent.js +604 -0
  61. package/cypress/pages/components/optionsWrapperComponent.js +1 -1
  62. package/cypress/pages/components/setPointsPopupBase.js +6 -6
  63. package/cypress/pages/dragAndDropIntoCategoriesPage.js +1 -1
  64. package/cypress/pages/essayResponseBasicPage.js +4 -4
  65. package/cypress/pages/essayResponseMathPage.js +4 -4
  66. package/cypress/pages/fillInTheGapsDragAndDropPage.js +2 -2
  67. package/cypress/pages/fillInTheGapsOverImageDragAndDropPage.js +2 -2
  68. package/cypress/pages/index.js +0 -1
  69. package/cypress/pages/itemPreviewPage.js +1 -2
  70. package/cypress/pages/itemPreviewSettingsPage.js +3 -3
  71. package/cypress/pages/listOrderingPage.js +384 -10
  72. package/cypress/pages/matchingPage.js +512 -13
  73. package/cypress/pages/multipleSelectionPage.js +2 -2
  74. package/cypress/pages/numberLineLabelPage.js +3 -3
  75. package/cypress/pages/shortTextResponsePage.js +0 -37
  76. package/cypress/pages/singleSelectionPage.js +2 -2
  77. package/cypress/pages/textEntryMathPage.js +41 -9
  78. package/cypress/pages/textSelectionPage.js +2 -2
  79. package/cypress/pages/uploadResponsePage.js +2 -3
  80. package/cypress/pages/videoResponsePage.js +9 -2
  81. package/package.json +1 -1
  82. package/cypress/fixtures/specialAndMathCharacters.js +0 -120
  83. package/cypress/pages/components/autoScoredAdditionalSettings.js +0 -183
  84. package/cypress/pages/components/autoScoredPreviewBase.js +0 -92
  85. package/cypress/pages/components/autoScoredScoringSection.js +0 -199
  86. package/cypress/pages/components/autoScoredScoringSectionMultipleResponsesType.js +0 -377
  87. package/cypress/pages/components/autoScoredSetCorrectAnswerSection.js +0 -297
  88. package/cypress/pages/components/autoScoredStudentViewSettingsForPredefinedOptions.js +0 -84
  89. package/cypress/pages/components/listSortingAndOrderingBase.js +0 -401
  90. package/cypress/pages/components/previewScoringAndShowCorrectAnswerComponent.js +0 -91
  91. package/cypress/pages/components/scoringSectionBase.js +0 -354
  92. package/cypress/pages/components/specialAndCustomSpecialCharactersComponent.js +0 -80
  93. package/cypress/pages/components/specialCharactersFlyoutComponent.js +0 -59
  94. package/cypress/pages/listSortingPage.js +0 -1198
@@ -1,6 +1,6 @@
1
1
  import constants from "../fixtures/constants";
2
2
  import utilities from "../support/helpers/utilities";
3
- import { createQuestionBasePage, questionInstructionsComponent, autoScoredScoringPreviewTab, scoringSectionBaseEditTab, draggableOptionContainer, draggableOptionsSectionComponent, correctIncorrectAnswerLabelComponent, maximumCapacityPerDropzoneComponent, optionsWrapperComponent, ckEditorToolbar, equationEditorFlyout, autoScoredStudentViewSettings, autoScoredSpecifyCorrectAnswerSection, commonComponents, randomizeOptionsComponent, autoScoredScoringSectionMultiResponseType, allowMultipleInstancesOfSameDraggableOptionComponent, studentViewSettingsLabelComponent, ariaLabelSectionComponent, additionalSettingsAccessibilitySectionComponent, gradingViewEnumerationComponent, additionalSettingsPanel, toolSettingsComponent, styleAndLayoutCustomizationAccordionComponent } from "./components";
3
+ import { createQuestionBasePage, questionInstructionsComponent, autoScoredScoringPreviewTab, scoringSectionBaseEditTab, draggableOptionContainer, draggableOptionsSectionComponent, correctIncorrectAnswerLabelComponent, maximumCapacityPerDropzoneComponent, optionsWrapperComponent, ckEditorToolbar, equationEditorFlyout, autoScoredStudentViewSettings, autoScoredSpecifyCorrectAnswerSection, commonComponents, randomizeOptionsComponent, autoScoredScoringSectionMultiResponseType, allowMultipleInstancesOfSameDraggableOptionComponent, studentViewSettingsLabelComponent, ariaLabelSectionComponent, additionalSettingsAccessibilitySectionComponent, gradingViewEnumerationComponent, additionalSettingsPanel, toolSettingsComponent, styleAndLayoutCustomizationAccordionComponent, connectorStyleStyleAndLayoutCustomizationComponent } from "./components";
4
4
  import { dialogBoxBase } from "./dialogBoxBase";
5
5
  const css = Cypress.env('css');
6
6
  const options = ['option 1', 'option 2', 'option 3'];
@@ -23,7 +23,7 @@ const selectors = {
23
23
  ...ariaLabelSectionComponent,
24
24
  ...scoringSectionBaseEditTab,
25
25
  ...additionalSettingsPanel,
26
-
26
+ ...connectorStyleStyleAndLayoutCustomizationComponent,
27
27
  //Edit tab
28
28
  promptInputField: () => cy.get('.edit-mcq-stems-wrapper [role="textbox"]'),
29
29
  promptInputFieldWrapper: () => cy.get('.edit-mcq-stems-wrapper .edit-mcq-option-wrapper'),
@@ -54,7 +54,7 @@ const selectors = {
54
54
  noConnectorButton: () => cy.get('button[aria-label*="Matching layout No connectors"]'),
55
55
  connectorLabel: () => cy.get('button[aria-label*="Matching layout Connectors"] .ngie-toggle-button-label'),
56
56
  noConnectorLabel: () => cy.get('button[aria-label*="Matching layout No connectors"] .ngie-toggle-button-label'),
57
- optionInnerFieldInputFieldDropdown: () => cy.get(' .edit-mcq-options-wrapper [data-rbd-draggable-id*="option-draggable"] .MuiOutlinedInput-inputAdornedStart'),
57
+ optionInnnerFieldInputFieldDropdown: () => cy.get(' .edit-mcq-options-wrapper [data-rbd-draggable-id*="option-draggable"] .MuiOutlinedInput-inputAdornedStart'),
58
58
  //Specify correct answer section
59
59
  connectorIcon: () => cy.get('.correct-answer-accordion [class*="ClozeWithDragAndDropstyles__ShowIconWrapper"]'),
60
60
  dropzoneSpecifyCorrectAnswerSection: () => cy.get('.correct-answer-wrapper .authoring-droppable-hotspot-wrapper'),
@@ -166,8 +166,8 @@ const selectors = {
166
166
  draggableOptionsFillColorLabel: () => cy.get('.sub-section-label').eq(2),
167
167
  draggableOptionsBorderColorLabel: () => cy.get('.sub-section-label').eq(3),
168
168
  draggableOptionsLabel: () => cy.get('.draggable-options-label'),
169
- dragHandleIconLabel: () => cy.get('[class*="__SubSectionLabel"]').eq(2),
170
- dragHandle: () => cy.get('.draggable-item-wrapper [class*="drag"]'),
169
+ dragHandleIconLabel: () => cy.get('[class*="__SubSectionLabel"]').eq(3),
170
+ dragHandle: () => cy.get('[class*="DraggableItemstyle__ItemWrapper"] [class*="drag"]'),
171
171
  dragHandleOptions: () => cy.get('.drag-handle-icon-block'),
172
172
  draggableOptionPanelPlacementLabel: () => cy.get('.draggable-option-panel-label'),
173
173
  panelPlacementLabel: () => cy.get('.panel-placement-style .options-label'),
@@ -179,7 +179,20 @@ const selectors = {
179
179
  optionsPreviewTab: () => cy.get('[class*="CellDropZonestyles__DraggableItemWrapper"]'),
180
180
  optionPanelWrapper: () => cy.get('.option-drag-and-drop'),
181
181
  dropzoneCellSpecifyCorrectAnswerSection: () => cy.get('.correct-answer-accordion [class*="droppable-area"] .grading-style-with-enumeration'),
182
- dropzoneCellPreviewTab: () => cy.get('.edit-question-preview-wrapper [class*="droppable-area"] .grading-style-with-enumeration')
182
+ dropzoneCellPreviewTab: () => cy.get('.edit-question-preview-wrapper [class*="droppable-area"] .grading-style-with-enumeration'),
183
+ draggableItemGrid: () => cy.get('[class*="ClozeWithDragAndDropstyles__DraggableItemsGrid"]'),
184
+ optionPlacementInDropzoneLabel: () => cy.get('.option-placement-label'),
185
+ inlineLabel: () => cy.get('.option-alignment [class*="OptionsContainerstyles__ToggleButtonWrapper"] [value="inline"] .ngie-toggle-button-label'),
186
+ blockLabel: () => cy.get('.option-alignment [class*="OptionsContainerstyles__ToggleButtonWrapper"] [value="block"] .ngie-toggle-button-label'),
187
+ inlineRadioButton: () => cy.get('.option-alignment [class*="OptionsContainerstyles__ToggleButtonWrapper"] [value="inline"]'),
188
+ blockRadioButton: () => cy.get('.option-alignment [class*="OptionsContainerstyles__ToggleButtonWrapper"] [value="block"]'),
189
+ expandIconButton: () => cy.get('.expand-dropzone-icon-button:visible'),
190
+ expandPopupDraggableOption: () => cy.get('.expand-dropzone-popup-overlay .draggable-item-wrapper'),
191
+ optionAlignmentInDropzoneLabel: () => cy.get('.option-alignment .options-label').eq(1),
192
+ optionAlignmentInDropzoneOptions: (alignmentOption) => cy.get(`.option-alignment button[aria-label*="option alignment in dropzone ${alignmentOption}"]`),
193
+ dropzoneConnectorStyleLabel: () => cy.get('.dropzone-connector-style-label'),
194
+ connectorLineTypeLabel: () => cy.get('[class*="__SubSectionLabel"]').eq(2),
195
+ connectorLine: () => cy.get('[class*="ClozeWithDragAndDropstyles__ShowIconWrapper"]:visible'),
183
196
  }
184
197
 
185
198
  const steps = {
@@ -205,7 +218,7 @@ const steps = {
205
218
  ...gradingViewEnumerationComponent.steps,
206
219
  ...ariaLabelSectionComponent.steps,
207
220
  ...styleAndLayoutCustomizationAccordionComponent.steps,
208
-
221
+ ...connectorStyleStyleAndLayoutCustomizationComponent.steps,
209
222
  //Edit tab
210
223
  addPrompt: () => {
211
224
  matchingPage.addPromptButton()
@@ -803,7 +816,7 @@ const steps = {
803
816
  matchingPage.dropzonePreviewTab()
804
817
  .find('[role="math"]')
805
818
  .should('have.attr', 'aria-label', constants.CKEditorInputFieldEnteredEquationAriaLabel)
806
- .contains(constants.CKEditorInputFieldEnteredEquationText);
819
+ // .contains(constants.CKEditorInputFieldEnteredEquationText); ;
807
820
  utilities.verifyElementVisibilityState(utilities.getNthElement(draggableOptionContainer.draggableOptionDragIcon(), optionIndex), 'exist');
808
821
  },
809
822
 
@@ -828,7 +841,7 @@ const steps = {
828
841
  .eq(optionIndex)
829
842
  .find('[role="math"]')
830
843
  .should('have.attr', 'aria-label', constants.CKEditorInputFieldEnteredEquationAriaLabel)
831
- .contains(constants.CKEditorInputFieldEnteredEquationText);
844
+ // .contains(constants.CKEditorInputFieldEnteredEquationText); ;
832
845
  },
833
846
 
834
847
  /**
@@ -865,7 +878,7 @@ const steps = {
865
878
  .eq(optionIndex)
866
879
  .find('[role="math"]')
867
880
  .should('have.attr', 'aria-label', constants.CKEditorInputFieldEnteredEquationAriaLabel)
868
- .contains(constants.CKEditorInputFieldEnteredEquationText);
881
+ // .contains(constants.CKEditorInputFieldEnteredEquationText); ;
869
882
  utilities.verifyElementVisibilityState(utilities.getNthElement(draggableOptionContainer.draggableOptionDragIcon(), optionIndex), 'exist');
870
883
  },
871
884
 
@@ -901,7 +914,7 @@ const steps = {
901
914
  .eq(optionIndex)
902
915
  .find('[role="math"]')
903
916
  .should('have.attr', 'aria-label', constants.CKEditorInputFieldEnteredEquationAriaLabel)
904
- .contains(constants.CKEditorInputFieldEnteredEquationText);
917
+ // .contains(constants.CKEditorInputFieldEnteredEquationText); ;
905
918
  },
906
919
 
907
920
  /**
@@ -2234,6 +2247,493 @@ const steps = {
2234
2247
  .should('have.css', 'border-top-style', borderStyle);
2235
2248
  });
2236
2249
  },
2250
+ /**
2251
+ * Verifies if the specified panel placement option is selected.
2252
+ * @param {string} placementOption - The panel placement option to verify.
2253
+ */
2254
+ verifyPanelPlacementOptionSelected: (placementOption) => {
2255
+ matchingPage.panelPlacementOptions(placementOption)
2256
+ .should('have.attr', 'aria-pressed', 'true');
2257
+ },
2258
+
2259
+ /**
2260
+ * Verifies the panel placement in the specify correct answer section.
2261
+ * @param {string} placementOption - The panel placement option to verify.
2262
+ */
2263
+ verifyPanelPlacementSpecifyCorrectAnswerSection: (placementOption) => {
2264
+ switch (placementOption) {
2265
+ case 'Bottom':
2266
+ matchingPage.optionPanelWrapper()
2267
+ .should('have.css', 'width', '844px')
2268
+ .and('have.css', 'padding-top', '32px')
2269
+ .and('have.css', 'padding-bottom', '16px')
2270
+ break;
2271
+ case 'Top':
2272
+ matchingPage.optionPanelWrapper()
2273
+ .should('have.css', 'width', '844px')
2274
+ .and('have.css', 'padding-top', '16px')
2275
+ .and('have.css', 'padding-bottom', '32px')
2276
+ break;
2277
+ case 'Left':
2278
+ matchingPage.optionPanelWrapper()
2279
+ .should('have.css', 'width', '200px')
2280
+ .and('have.css', 'padding-right', '24px')
2281
+ .and('have.css', 'padding-left', '8px')
2282
+ break;
2283
+ case 'Right':
2284
+ matchingPage.optionPanelWrapper()
2285
+ .should('have.css', 'width', '200px')
2286
+ .and('have.css', 'padding-right', '8px')
2287
+ .and('have.css', 'padding-left', '24px')
2288
+ break;
2289
+ }
2290
+ },
2291
+
2292
+ /**
2293
+ * Selects the specified panel placement option.
2294
+ * @param {string} placementOption - The panel placement option to select.
2295
+ */
2296
+ selectPanelPlacementOption: (placementOption) => {
2297
+ matchingPage.panelPlacementOptions(placementOption)
2298
+ .click();
2299
+ },
2300
+ /**
2301
+ * Verifies the panel placement in the preview tab.
2302
+ * @param {string} placementOption - The panel placement option to verify.
2303
+ */
2304
+ verifyPanelPlacementPreviewTab: (placementOption) => {
2305
+ matchingPage.previewTabQuestionWrapper()
2306
+ .within(() => {
2307
+ switch (placementOption) {
2308
+ case 'Bottom':
2309
+ matchingPage.optionPanelWrapper()
2310
+ .should('have.css', 'width', '844px')
2311
+ .and('have.css', 'padding-top', '32px')
2312
+ .and('have.css', 'padding-bottom', '16px')
2313
+ break;
2314
+ case 'Top':
2315
+ matchingPage.optionPanelWrapper()
2316
+ .should('have.css', 'width', '844px')
2317
+ .and('have.css', 'padding-top', '16px')
2318
+ .and('have.css', 'padding-bottom', '32px')
2319
+ break;
2320
+ case 'Left':
2321
+ matchingPage.optionPanelWrapper()
2322
+ .should('have.css', 'width', '92px')
2323
+ .and('have.css', 'padding-right', '24px')
2324
+ .and('have.css', 'padding-left', '8px')
2325
+ break;
2326
+ case 'Right':
2327
+ matchingPage.optionPanelWrapper()
2328
+ .should('have.css', 'width', '92px')
2329
+ .and('have.css', 'padding-right', '8px')
2330
+ .and('have.css', 'padding-left', '24px')
2331
+ break;
2332
+ }
2333
+ });
2334
+ },
2335
+
2336
+ /**
2337
+ * Verifies if the specified option alignment in panel is selected.
2338
+ * @param {string} alignmentOption - The alignment option to verify.
2339
+ */
2340
+ verifyOptionAlignmentInPanelOptionSelected: (alignmentOption) => {
2341
+ matchingPage.optionAlignmentInPanelOptions(alignmentOption)
2342
+ .should('have.attr', 'aria-pressed', 'true');
2343
+ },
2344
+
2345
+ /**
2346
+ * Verifies the option alignment in panel in the specify correct answer section.
2347
+ * @param {string} optionAlignment - The option alignment to verify ('Left', 'Center', 'Right').
2348
+ */
2349
+ verifyOptionAlignmentInPanelInSpecifyCorrectAnswer: (optionAlignment) => {
2350
+ switch (optionAlignment) {
2351
+ case 'Left':
2352
+ matchingPage.optionsWrapper()
2353
+ .should('have.css', 'justify-content', 'flex-start');
2354
+ break;
2355
+ case 'Center':
2356
+ matchingPage.optionsWrapper()
2357
+ .should('have.css', 'justify-content', 'center');
2358
+ break;
2359
+ case 'Right':
2360
+ matchingPage.optionsWrapper()
2361
+ .should('have.css', 'justify-content', 'flex-end');
2362
+ break;
2363
+ }
2364
+ },
2365
+
2366
+ /**
2367
+ * Selects the specified option alignment in panel.
2368
+ * @param {string} alignmentOption - The alignment option to select.
2369
+ */
2370
+ selectOptionAlignmentInPanelOption: (alignmentOption) => {
2371
+ matchingPage.optionAlignmentInPanelOptions(alignmentOption)
2372
+ .click();
2373
+ },
2374
+
2375
+ /**
2376
+ * Verifies the option alignment in panel in the preview tab.
2377
+ * @param {string} optionAlignment - The option alignment to verify ('Left', 'Center', 'Right').
2378
+ */
2379
+ verifyOptionAlignmentInPanelInPreviewTab: (optionAlignment) => {
2380
+ switch (optionAlignment) {
2381
+ case 'Left':
2382
+ matchingPage.draggableItemGrid()
2383
+ .should('have.css', 'justify-content', 'flex-start');
2384
+ break;
2385
+ case 'Center':
2386
+ matchingPage.draggableItemGrid()
2387
+ .should('have.css', 'justify-content', 'center');
2388
+ break;
2389
+ case 'Right':
2390
+ matchingPage.draggableItemGrid()
2391
+ .should('have.css', 'justify-content', 'flex-end');
2392
+ break;
2393
+ }
2394
+ },
2395
+
2396
+ /**
2397
+ * Verifies that the specified drag handle option is selected.
2398
+ * @param {number} index - The index of the drag handle option to verify.
2399
+ */
2400
+ verifyDragHandleOptionSelected: (index) => {
2401
+ matchingPage.dragHandleOptions()
2402
+ .eq(index)
2403
+ .should('have.attr', 'aria-pressed', 'true')
2404
+ .within(() => {
2405
+ matchingPage.colorBlockSelectedIcon()
2406
+ .should('exist');
2407
+ });
2408
+ },
2409
+
2410
+ /**
2411
+ * Verifies the drag handle icon in the "Specify Correct Answer" section.
2412
+ * @param {string} dragHandleOption - The drag handle option to verify.
2413
+ */
2414
+ verifyDragHandleIconSpecifyCorrectAnswer: (dragHandleOption) => {
2415
+ switch (dragHandleOption) {
2416
+ case 'drag icon':
2417
+ matchingPage.dragHandle()
2418
+ .should('have.class', 'drag-icon-button');
2419
+ break;
2420
+ case 'arrow icon':
2421
+ matchingPage.dragHandle()
2422
+ .should('have.class', 'drag-arrows-icon');
2423
+ break;
2424
+ case 'none':
2425
+ matchingPage.dragHandle()
2426
+ .should('not.exist');
2427
+ break;
2428
+ }
2429
+ },
2430
+
2431
+ /**
2432
+ * Selects a drag handle option.
2433
+ * @param {number} index - The index of the drag handle option to select.
2434
+ */
2435
+ selectDragHandleOption: (index) => {
2436
+ matchingPage.dragHandleOptions()
2437
+ .eq(index)
2438
+ .click();
2439
+ },
2440
+
2441
+ /**
2442
+ * Verifies the drag handle icon in the preview tab.
2443
+ * @param {string} dragHandleOption - The drag handle option to verify.
2444
+ */
2445
+ verifyDragHandleIconPreviewTab: (dragHandleOption) => {
2446
+ switch (dragHandleOption) {
2447
+ case 'drag icon':
2448
+ matchingPage.previewTabQuestionWrapper()
2449
+ .within(() => {
2450
+ matchingPage.dragHandle()
2451
+ .should('have.class', 'drag-icon-button');
2452
+ });
2453
+ break;
2454
+ case 'arrow icon':
2455
+ matchingPage.previewTabQuestionWrapper()
2456
+ .within(() => {
2457
+ matchingPage.dragHandle()
2458
+ .should('have.class', 'drag-arrows-icon');
2459
+ });
2460
+ break;
2461
+ case 'none':
2462
+ matchingPage.previewTabQuestionWrapper()
2463
+ .within(() => {
2464
+ matchingPage.dragHandle()
2465
+ .should('not.exist');
2466
+ });
2467
+ break;
2468
+ }
2469
+ },
2470
+
2471
+ /**
2472
+ * Verifies the background color of grid
2473
+ * @param {string} colorValue - The expected background color value.
2474
+ */
2475
+ verifyDraggableOptionsFillColorSpecifyCorrectAnswerSection: (colorValue) => {
2476
+ utilities.verifyCSS(matchingPage.draggableOption(), {
2477
+ 'background-color': colorValue
2478
+ });
2479
+ },
2480
+
2481
+ /**
2482
+ * Verifies the background color of grid
2483
+ * @param {string} colorValue - The expected background color value.
2484
+ */
2485
+ verifyDraggableOptionsFillColorPreviewTab: (colorValue) => {
2486
+ matchingPage.previewTabQuestionWrapper()
2487
+ .within(() => {
2488
+ utilities.verifyCSS(matchingPage.draggableOption(), {
2489
+ 'background-color': colorValue
2490
+ });
2491
+ });
2492
+ },
2493
+
2494
+ /**
2495
+ * Verifies the border color of grid
2496
+ * @param {string} colorValue - The expected border color value.
2497
+ */
2498
+ verifyDraggableOptionsBorderColorSpecifyCorrectAnswer: (colorValue) => {
2499
+ utilities.verifyCSS(matchingPage.draggableOption(), {
2500
+ 'border': `1px solid ${colorValue}`
2501
+ });
2502
+ },
2503
+
2504
+ /**
2505
+ * Verifies the border color of grid
2506
+ * @param {string} colorValue - The expected border color value.
2507
+ */
2508
+ verifyDraggableOptionsBorderColorPreviewTab: (colorValue) => {
2509
+ matchingPage.previewTabQuestionWrapper()
2510
+ .within(() => {
2511
+ utilities.verifyCSS(matchingPage.draggableOption(), {
2512
+ 'border': `1px solid ${colorValue}`
2513
+ });
2514
+ });
2515
+ },
2516
+
2517
+ verifyInlineRadioButtonChecked: () => {
2518
+ matchingPage.inlineRadioButton()
2519
+ .should('have.class', 'ngie-toggle-button-selected');
2520
+ },
2521
+
2522
+ verifyInlineOptionPlacementSpecifyCorrectAnswer: () => {
2523
+ matchingPage.dropzoneSpecifyCorrectAnswerSection()
2524
+ .should('have.css', 'flex-direction', 'row');
2525
+ },
2526
+
2527
+ checkBlockRadioButton: () => {
2528
+ matchingPage.blockRadioButton()
2529
+ .click()
2530
+ .should('have.class', 'ngie-toggle-button-selected');
2531
+ },
2532
+
2533
+ verifyBlockOptionPlacementSpecifyCorrectAnswer: () => {
2534
+ matchingPage.dropzoneSpecifyCorrectAnswerSection()
2535
+ .should('have.css', 'flex-direction', 'column');
2536
+ },
2537
+
2538
+ verifyInlineOptionPlacementPreviewTab: () => {
2539
+ matchingPage.dropzonePreviewTab()
2540
+ .should('have.css', 'flex-direction', 'row');
2541
+ },
2542
+
2543
+ verifyBlockOptionPlacementPreviewTab: () => {
2544
+ matchingPage.dropzonePreviewTab()
2545
+ .should('have.css', 'flex-direction', 'column');
2546
+ },
2547
+
2548
+ /**
2549
+ * Verifies if the specified option alignment in panel is selected.
2550
+ * @param {string} alignmentOption - The alignment option to verify.
2551
+ */
2552
+ verifyOptionAlignmentInDropzoneOptionSelected: (alignmentOption) => {
2553
+ matchingPage.optionAlignmentInDropzoneOptions(alignmentOption)
2554
+ .should('have.attr', 'aria-pressed', 'true');
2555
+ },
2556
+
2557
+ /**
2558
+ * Selects the specified option alignment in panel.
2559
+ * @param {string} alignmentOption - The alignment option to select.
2560
+ */
2561
+ selectOptionAlignmentInDropzoneOption: (alignmentOption) => {
2562
+ matchingPage.optionAlignmentInDropzoneOptions(alignmentOption.toLowerCase())
2563
+ .click();
2564
+ },
2565
+
2566
+ /**
2567
+ * Verifies the option alignment in panel in the specify correct answer section.
2568
+ * @param {string} optionAlignment - The option alignment to verify ('Left', 'Center', 'Right').
2569
+ */
2570
+ verifyOptionAlignmentInDropzoneInSpecifyCorrectAnswer: (optionAlignment) => {
2571
+ switch (optionAlignment) {
2572
+ case 'Left':
2573
+ matchingPage.dropzoneSpecifyCorrectAnswerSection()
2574
+ .should('have.css', 'justify-content', 'left');
2575
+ break;
2576
+ case 'Center':
2577
+ matchingPage.dropzoneSpecifyCorrectAnswerSection()
2578
+ .should('have.css', 'justify-content', 'center');
2579
+ break;
2580
+ case 'Right':
2581
+ matchingPage.dropzoneSpecifyCorrectAnswerSection()
2582
+ .should('have.css', 'justify-content', 'end');
2583
+ break;
2584
+ default:
2585
+ throw new Error('Invalid option alignment');
2586
+ }
2587
+ },
2588
+
2589
+ /**
2590
+ * Verifies the option alignment in panel in the specify correct answer section.
2591
+ * @param {string} optionAlignment - The option alignment to verify ('Left', 'Center', 'Right').
2592
+ */
2593
+ verifyOptionAlignmentInDropzoneInPreviewTab: (optionAlignment) => {
2594
+ switch (optionAlignment) {
2595
+ case 'Left':
2596
+ matchingPage.dropzonePreviewTab()
2597
+ .should('have.css', 'justify-content', 'left');
2598
+ break;
2599
+ case 'Center':
2600
+ matchingPage.dropzonePreviewTab()
2601
+ .should('have.css', 'justify-content', 'center');
2602
+ break;
2603
+ case 'Right':
2604
+ matchingPage.dropzonePreviewTab()
2605
+ .should('have.css', 'justify-content', 'end');
2606
+ break;
2607
+ default:
2608
+ throw new Error('Invalid option alignment');
2609
+ }
2610
+ },
2611
+
2612
+ verifyConnectorStyles: (connectorStyle) => {
2613
+ matchingPage.connectorLine()
2614
+ .each($element => {
2615
+ cy.wrap($element)
2616
+ .within(() => {
2617
+ switch (connectorStyle) {
2618
+ case "simpleLink":
2619
+ utilities.verifyElementVisibilityState(cy.wrap($element).find('g[data-name="Icon link"]'), 'visible');
2620
+ cy.wrap($element).find('path[data-name="Path 3556"]')
2621
+ .should('have.attr', 'fill', 'none')
2622
+ .and('have.attr', 'stroke', 'rgba(107, 139, 255, 1)')
2623
+ .and('have.attr', 'stroke-linecap', 'round')
2624
+ .and('have.attr', 'stroke-linejoin', 'round')
2625
+ .and('have.attr', 'stroke-width', '2');
2626
+ cy.wrap($element).find('path[data-name="Path 3557"]')
2627
+ .should('have.attr', 'fill', 'none')
2628
+ .and('have.attr', 'stroke', 'rgba(107, 139, 255, 1)')
2629
+ .and('have.attr', 'stroke-linecap', 'round')
2630
+ .and('have.attr', 'stroke-linejoin', 'round')
2631
+ .and('have.attr', 'stroke-width', '2');
2632
+ cy.wrap($element).find('line[data-name="Line 1405"]')
2633
+ .should('have.attr', 'fill', 'none')
2634
+ .and('have.attr', 'stroke', 'rgba(107, 139, 255, 1)')
2635
+ .and('have.attr', 'stroke-width', '2');
2636
+ cy.wrap($element).find('line[data-name="Line 1406"]')
2637
+ .should('have.attr', 'fill', 'none')
2638
+ .and('have.attr', 'stroke', 'rgba(107, 139, 255, 1)')
2639
+ .and('have.attr', 'stroke-width', '2');
2640
+ break;
2641
+ case "mingleLink":
2642
+ utilities.verifyElementVisibilityState(cy.wrap($element).find('g[data-name="Icon link"]'), 'visible');
2643
+ cy.wrap($element).find('path[data-name="Path 3558"]')
2644
+ .should('have.attr', 'fill', 'none')
2645
+ .and('have.attr', 'stroke', '#6b8bff')
2646
+ .and('have.attr', 'stroke-linecap', 'round')
2647
+ .and('have.attr', 'stroke-linejoin', 'round')
2648
+ .and('have.attr', 'stroke-width', '2');
2649
+ cy.wrap($element).find('path[data-name="Path 3559"]')
2650
+ .should('have.attr', 'fill', 'none')
2651
+ .and('have.attr', 'stroke', '#6b8bff')
2652
+ .and('have.attr', 'stroke-linecap', 'round')
2653
+ .and('have.attr', 'stroke-linejoin', 'round')
2654
+ .and('have.attr', 'stroke-width', '2');
2655
+ cy.wrap($element).find('line[data-name="Line 1405"]')
2656
+ .should('have.attr', 'fill', 'none')
2657
+ .and('have.attr', 'stroke', '#6b8bff')
2658
+ .and('have.attr', 'stroke-width', '2');
2659
+ cy.wrap($element).find('line[data-name="Line 1406"]')
2660
+ .should('have.attr', 'fill', 'none')
2661
+ .and('have.attr', 'stroke', '#6b8bff')
2662
+ .and('have.attr', 'stroke-width', '2');
2663
+ break;
2664
+ case "leftArrow":
2665
+ utilities.verifyElementVisibilityState(cy.wrap($element).find('line[data-name="Line 678"]'), 'visible');
2666
+ cy.wrap($element).find('g[data-name="Ellipse 341"]')
2667
+ .should('have.attr', 'fill', '#fff')
2668
+ .and('have.attr', 'stroke', '#6b8bff')
2669
+ .and('have.attr', 'stroke-width', '2');
2670
+ cy.wrap($element).find('path')
2671
+ .should('have.attr', 'fill', 'none')
2672
+ .and('have.attr', 'stroke', '#6b8bff')
2673
+ .and('have.attr', 'stroke-linecap', 'round')
2674
+ .and('have.attr', 'stroke-linejoin', 'round')
2675
+ .and('have.attr', 'stroke-width', '2');
2676
+ cy.wrap($element).find('circle')
2677
+ .should('exist');
2678
+ break;
2679
+ case "rightArrow":
2680
+ utilities.verifyElementVisibilityState(cy.wrap($element).find('line[data-name="Line 678"]'), 'visible');
2681
+ cy.wrap($element).find('g[data-name="Ellipse 341"]')
2682
+ .should('have.attr', 'fill', '#fff')
2683
+ .and('have.attr', 'stroke', '#6b8bff')
2684
+ .and('have.attr', 'stroke-width', '2');
2685
+ cy.wrap($element).find('path')
2686
+ .should('have.attr', 'fill', 'none')
2687
+ .and('have.attr', 'stroke', '#6b8bff')
2688
+ .and('have.attr', 'stroke-linecap', 'round')
2689
+ .and('have.attr', 'stroke-linejoin', 'round')
2690
+ .and('have.attr', 'stroke-width', '2');
2691
+ cy.wrap($element).find('circle')
2692
+ .should('exist');
2693
+ break;
2694
+ case "doubleArrow":
2695
+ utilities.verifyElementVisibilityState(cy.wrap($element).find('line[data-name="Line 678"]'), 'visible');
2696
+ cy.wrap($element).find('path')
2697
+ .first()
2698
+ .should('have.attr', 'fill', 'none')
2699
+ .and('have.attr', 'stroke', '#6b8bff')
2700
+ .and('have.attr', 'stroke-linecap', 'round')
2701
+ .and('have.attr', 'stroke-linejoin', 'round')
2702
+ .and('have.attr', 'stroke-width', '2');
2703
+ cy.wrap($element).find('path')
2704
+ .eq(1)
2705
+ .should('have.attr', 'fill', 'none')
2706
+ .and('have.attr', 'stroke', '#6b8bff')
2707
+ .and('have.attr', 'stroke-linecap', 'round')
2708
+ .and('have.attr', 'stroke-linejoin', 'round')
2709
+ .and('have.attr', 'stroke-width', '2');
2710
+ break;
2711
+ case "line":
2712
+ utilities.verifyElementVisibilityState(cy.wrap($element).find('line[data-name="Line 1410"]'), 'visible');
2713
+ cy.wrap($element).find('line[data-name="Line 1410"]')
2714
+ .should('have.attr', 'fill', 'none')
2715
+ .and('have.attr', 'stroke', '#6b8bff')
2716
+ .and('have.attr', 'stroke-linecap', 'round')
2717
+ .and('have.attr', 'stroke-width', '2');
2718
+ break;
2719
+ case "dashed":
2720
+ utilities.verifyElementVisibilityState(cy.wrap($element).find('line[data-name="Line 1411"]'), 'visible');
2721
+ cy.wrap($element).find('line')
2722
+ .should('have.attr', 'fill', 'none')
2723
+ .and('have.attr', 'stroke', '#6b8bff')
2724
+ .and('have.attr', 'stroke-linecap', 'round')
2725
+ .and('have.attr', 'stroke-width', '2')
2726
+ .and('have.attr', 'stroke-dasharray', '5 4');
2727
+ break;
2728
+
2729
+ default:
2730
+ throw new Error(`Invalid connector style: ${connectorStyle}`);
2731
+ }
2732
+ });
2733
+ });
2734
+ }
2735
+
2736
+
2237
2737
  }
2238
2738
 
2239
2739
  const tests = {
@@ -2345,8 +2845,7 @@ const tests = {
2345
2845
  .eq(inputFieldIndex)
2346
2846
  .click()
2347
2847
  .blur();
2348
- utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'exist');
2349
- utilities.verifyInnerText(commonComponents.errorMessage(), 'Error: Option is required.');
2848
+ utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'notExist');
2350
2849
  });
2351
2850
 
2352
2851
  it('User should be able to enter text in options input field', () => {
@@ -366,7 +366,7 @@ const steps = {
366
366
  .eq(index)
367
367
  .find('[role="math"]')
368
368
  .should('have.attr', 'aria-label', constants.CKEditorInputFieldEnteredEquationAriaLabel)
369
- .contains(constants.CKEditorInputFieldEnteredEquationText);
369
+ // .contains(constants.CKEditorInputFieldEnteredEquationText); ;
370
370
  },
371
371
 
372
372
  /**
@@ -413,7 +413,7 @@ const steps = {
413
413
  .eq(index)
414
414
  .find('[role="math"]')
415
415
  .should('have.attr', 'aria-label', constants.CKEditorInputFieldEnteredEquationAriaLabel)
416
- .contains(constants.CKEditorInputFieldEnteredEquationText);
416
+ // .contains(constants.CKEditorInputFieldEnteredEquationText); ;
417
417
  },
418
418
 
419
419
  checkOptionsWrapperInSpecifyCorrectAnswerSection: (optionIndex) => {
@@ -205,7 +205,7 @@ const steps = {
205
205
  .eq(index)
206
206
  .find('[role="math"]')
207
207
  .should('have.attr', 'aria-label', constants.CKEditorInputFieldEnteredEquationAriaLabel)
208
- .contains(constants.CKEditorInputFieldEnteredEquationText);
208
+ // .contains(constants.CKEditorInputFieldEnteredEquationText); ;
209
209
  },
210
210
 
211
211
  /**
@@ -362,7 +362,7 @@ const steps = {
362
362
  .eq(index)
363
363
  .find('[role="math"]')
364
364
  .should('have.attr', 'aria-label', constants.CKEditorInputFieldEnteredEquationAriaLabel)
365
- .contains(constants.CKEditorInputFieldEnteredEquationText);
365
+ // .contains(constants.CKEditorInputFieldEnteredEquationText); ;
366
366
  },
367
367
 
368
368
  /**
@@ -417,7 +417,7 @@ const steps = {
417
417
  .eq(index)
418
418
  .find('[role="math"]')
419
419
  .should('have.attr', 'aria-label', constants.CKEditorInputFieldEnteredEquationAriaLabel)
420
- .contains(constants.CKEditorInputFieldEnteredEquationText);
420
+ // .contains(constants.CKEditorInputFieldEnteredEquationText); ;
421
421
  },
422
422
 
423
423