itemengine-cypress-automation 1.0.204 → 1.0.205

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. package/cypress/e2e/ILC/AudioPlayerNew/audioOverviewAndTranscript.js +2 -2
  2. package/cypress/e2e/ILC/ChartsBar/Scoring/addAndDeleteBarAllOrNothingScoring.js +302 -0
  3. package/cypress/e2e/ILC/ChartsBar/Scoring/manuallyAndNonScored.js +282 -0
  4. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +385 -0
  5. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +386 -0
  6. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +386 -0
  7. package/cypress/e2e/ILC/ChartsBar/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +337 -0
  8. package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +0 -1
  9. package/cypress/e2e/ILC/ChartsBar/chartFunctionalitySpecifyCorrectAnswerSection.js +258 -0
  10. package/cypress/e2e/ILC/ChartsBar/checkAnswerFunctionalityForAllViews.smoke.js +1 -1
  11. package/cypress/e2e/ILC/ChartsBar/gridSettings.js +439 -0
  12. package/cypress/e2e/ILC/ChartsBar/headerSection.js +105 -0
  13. package/cypress/e2e/ILC/ChartsBar/labelOptionsSection.js +450 -0
  14. package/cypress/e2e/ILC/ChartsBar/specifyCorrectAnswerSection.js +91 -0
  15. package/cypress/e2e/ILC/ChartsBar/toolSettings.js +73 -0
  16. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/manuallyAndNonScoredScoring.js +1 -1
  17. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneAlternativePointsGreaterThanCorrectPoints.js +3 -2
  18. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneCorrectPointsEqualToAlternativePoints.js +1 -1
  19. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneCorrectPointsGreaterThanAlternativePoints.js +1 -1
  20. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneMinimumAndPenaltyScoring.js +6 -6
  21. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/additionalSettings.js +169 -0
  22. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editTabBasicSection.js +1 -1
  23. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/styleAndLayoutCustomizationDraggableOptionProperties.js +223 -0
  24. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/styleAndLayoutCustomizationDraggableOptionsPanel.js +119 -0
  25. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/styleAndLayoutCustomizationDropzoneBorderStyleProperties.js +113 -0
  26. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/styleAndLayoutCustomizationDropzoneProperties.js +251 -0
  27. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/styleAndLayoutCustomizationLayoutProperties.js +277 -0
  28. package/cypress/e2e/ILC/EssayResponse/essayResponseCustomizeFormattingOptions1.smoke.js +0 -2
  29. package/cypress/e2e/ILC/EssayResponse/previewHyperlink.js +1 -5
  30. package/cypress/e2e/ILC/FeedbackScaleNew/editTabBasicSection.js +1 -0
  31. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editTabBasicSection.js +4 -4
  32. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/dropdownOptionsSection.js +1 -0
  33. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editTabBasicSection.js +14 -1
  34. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/styleAndLayoutCutomization.js +378 -0
  35. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +3 -3
  36. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/specifyCorrectAnswerSection.js +3 -1
  37. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/styleAndLayoutCustomization.js +479 -0
  38. package/cypress/e2e/ILC/GridFill/allOrNothingBasicForAllViews.smoke.js +3 -1
  39. package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsCellShadeCountBasics.js +7 -7
  40. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingPenaltyScoring.js +1 -0
  41. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/manuallyAndNonScored.js +1 -0
  42. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +2 -2
  43. package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +2 -3
  44. package/cypress/e2e/ILC/ListOrderingDropdown/minimumScoringPenaltyPointsAndRoundingDropdown.js +7 -7
  45. package/cypress/e2e/ILC/ListOrderingDropdown/studentViewSettings.js +1 -1
  46. package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +3 -4
  47. package/cypress/e2e/ILC/ListOrderingNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +10 -9
  48. package/cypress/e2e/ILC/Matching/toolSettings.js +1 -0
  49. package/cypress/e2e/ILC/MultipleSelection/additionalSettings.js +1 -0
  50. package/cypress/e2e/ILC/MultipleSelection/allOrNothingBasicForAllViews.smoke.js +36 -16
  51. package/cypress/e2e/ILC/MultipleSelection/allOrNothingWithAlternativeAnswer.js +326 -176
  52. package/cypress/e2e/ILC/MultipleSelection/blockCreateItem.js +2 -2
  53. package/cypress/e2e/ILC/MultipleSelection/manuallyAndNonScoredScoring.js +37 -15
  54. package/cypress/e2e/ILC/MultipleSelection/partialDifferentWeightsBasic.js +38 -17
  55. package/cypress/e2e/ILC/MultipleSelection/partialDifferentWeightsWithAlternativeAnswer.js +441 -186
  56. package/cypress/e2e/ILC/MultipleSelection/partialEqualWeightsBasic.js +33 -14
  57. package/cypress/e2e/ILC/MultipleSelection/partialEqualWeightsWithAlternativeAnswer.js +330 -164
  58. package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/manuallyAndNonScored.js +1 -1
  59. package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +1 -1
  60. package/cypress/e2e/ILC/ShortTextResponseNew/manuallyAndNonScoredScoring.js +4 -4
  61. package/cypress/e2e/ILC/SingleSelection/allOrNothingBasicForAllViews.smoke.js +20 -7
  62. package/cypress/e2e/ILC/SingleSelection/allOrNothingWithAlternativeAnswer.js +83 -66
  63. package/cypress/e2e/ILC/SingleSelection/blockCreateItem.js +2 -2
  64. package/cypress/e2e/ILC/SingleSelection/manuallyAndNonScoredScoring.js +25 -17
  65. package/cypress/e2e/ILC/SingleSelection/trueOrFalseCreateItem.js +2 -2
  66. package/cypress/e2e/ILC/SingleSelectionGridNew/additionalSettings.js +89 -0
  67. package/cypress/e2e/ILC/SingleSelectionGridNew/editTabBasicSection.js +3 -3
  68. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodEquivalentStructures.js +2 -2
  69. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodValueIsEquivalent.js +2 -2
  70. package/cypress/e2e/ILC/TextEntryMathWithImage/backgroundImageAndCanvasProperties.js +2 -2
  71. package/cypress/e2e/ILC/VideoResponseNew/studentViewSettingsCompactRecorderStyle.js +0 -2
  72. package/cypress/e2e/ILC/chartsDotsPlot/allOrNothingForAllViews.smoke.js +2 -2
  73. package/cypress/e2e/ILC/chartsDotsPlot/scoring/allOrNothingPenaltyScoring.js +1 -1
  74. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsBasic.js +15 -15
  75. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +21 -21
  76. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +17 -17
  77. package/cypress/e2e/ILC/chartsDotsPlot/scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +21 -21
  78. package/cypress/e2e/ILC/chartsDotsPlot/scoring/toleranceThresholdScoring.js +1 -1
  79. package/cypress/e2e/ILC/chartsDotsPlot/selectChartTypeSection.js +8 -4
  80. package/cypress/e2e/ILC/chartsDotsPlot/toolSettings.js +0 -1
  81. package/cypress/fixtures/drawingToolbarOptionsAdditionalOptionsAndSpecialAndMathCharacters.js +2 -2
  82. package/cypress/pages/audioResponsePage.js +1 -1
  83. package/cypress/pages/chartsBarPage.js +785 -5
  84. package/cypress/pages/components/autoScoredScoringSectionMultiResponseType.js +1 -0
  85. package/cypress/pages/components/backgroundImageUploadComponent.js +1 -1
  86. package/cypress/pages/components/barAndLineChartComponent.js +180 -9
  87. package/cypress/pages/components/chartsCommonComponent.js +1 -0
  88. package/cypress/pages/components/connectorStyleStyleAndLayoutCustomizationComponent.js +77 -0
  89. package/cypress/pages/components/essayResponseCommonComponents.js +2 -3
  90. package/cypress/pages/components/figCommonStyleAndLayoutComponent.js +1 -1
  91. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +24 -7
  92. package/cypress/pages/components/fillInTheGapsTextCommonComponent.js +8 -4
  93. package/cypress/pages/components/gridQuestionCommonComponent.js +1 -1
  94. package/cypress/pages/components/imageCanvasComponent.js +112 -2
  95. package/cypress/pages/components/index.js +1 -0
  96. package/cypress/pages/components/layoutSectionComponent.js +4 -3
  97. package/cypress/pages/dragAndDropIntoCategoriesPage.js +960 -3
  98. package/cypress/pages/drawingResponsePage.js +2 -2
  99. package/cypress/pages/fillInTheGapsDragAndDropPage.js +4 -3
  100. package/cypress/pages/fillInTheGapsOverImageDropdownPage.js +18 -3
  101. package/cypress/pages/fillInTheGapsOverImageTextPage.js +65 -3
  102. package/cypress/pages/listOrderingPage.js +3 -3
  103. package/cypress/pages/multipleSelectionPage.js +77 -25
  104. package/cypress/pages/rulerPage.js +5 -0
  105. package/cypress/pages/singleSelectionPage.js +40 -1
  106. package/cypress/pages/videoResponsePage.js +1 -1
  107. package/package.json +1 -1
@@ -198,8 +198,8 @@ const selectors = {
198
198
  //Edit tab color picker popup
199
199
  editTabColorPickerPopupOpacityPalette: () => cy.get('.react-colorful__last-control .react-colorful__interactive'),
200
200
  editTabColorPickerPopupOpacityPicker: () => cy.get('.react-colorful__last-control .react-colorful__pointer'),
201
- editTabColorPickerPopupCancelButton: () => cy.get('.compact-popup-action-button-wrapper button').eq(0),
202
- editTabColorPickerPopupOkButton: () => cy.get('.compact-popup-action-button-wrapper button').eq(1),
201
+ editTabColorPickerPopupCancelButton: () => cy.get('.compact-popup-action-button-wrapper button[data-testid="reject-button"]'),
202
+ editTabColorPickerPopupOkButton: () => cy.get('.compact-popup-action-button-wrapper button[data-testid="accept-button"]'),
203
203
 
204
204
  //TODO: Student view: Need to remove once https://redmine.zeuslearning.com/issues/556302 is fixed
205
205
  studentAndGradingViewDrawingToolbarOption: (drawingOption = null) => {
@@ -44,6 +44,7 @@ const selectors = {
44
44
  dropzoneOptionSpecifyCorrectAnswerSection: () => cy.get('.item-content-container'),
45
45
  partialEqualWeightsPointsPerResponseScore: () => cy.get('.alternate-points-points-per-value-span'),
46
46
  pointsLabel: () => cy.get('.cloze-with-dropdown-partial-points-per-response-label'),
47
+ dragHandle: () => cy.get('[class*="drag"]'),
47
48
  //Preview tab
48
49
  questionBorderPreviewTab: () => cy.get('[class*="ClozeWithDragAndDropstyles__WrapperDiv"]'),
49
50
  optionPreviewTab: () => cy.get('.draggable-selected-item'),
@@ -918,15 +919,15 @@ const steps = {
918
919
  .within(() => {
919
920
  switch (dragIcon) {
920
921
  case 'Default':
921
- draggableOptionContainer.draggableOptionDragIcon()
922
+ fillInTheGapsDragAndDropPage.dragHandle()
922
923
  .should('have.class', 'drag-icon-button');
923
924
  break;
924
925
  case 'Arrows':
925
- draggableOptionContainer.draggableOptionDragIcon()
926
+ fillInTheGapsDragAndDropPage.dragHandle()
926
927
  .should('have.class', 'drag-arrows-icon');
927
928
  break;
928
929
  case 'None':
929
- utilities.verifyElementVisibilityState(draggableOptionContainer.draggableOptionDragIcon(), 'notExist');
930
+ utilities.verifyElementVisibilityState(fillInTheGapsDragAndDropPage.dragHandle(), 'notExist');
930
931
  break;
931
932
  default:
932
933
  throw new Error('Incorrect drag icon');
@@ -1,5 +1,5 @@
1
1
  import utilities from "../support/helpers/utilities";
2
- import { imageCanvasComponent, autoScoredScoringPreviewTab, createQuestionBasePage, backgroundImageUploadComponent, scoringSectionBaseEditTab, questionInstructionsComponent, correctIncorrectAnswerLabelComponent, autoScoredStudentViewSettings, autoScoredSpecifyCorrectAnswerSection, autoScoredScoringSectionMultiResponseType, fillInTheGapsDropdownCommonComponent, randomizeOptionsComponent, optionsWrapperComponent, studentViewSettingsLabelComponent, additionalSettingsPanel, placeholderTextSectionComponent, gradingViewEnumerationComponent, ariaLabelSectionComponent, commonComponents, additionalSettingsAccessibilitySectionComponent } from "./components";
2
+ import { imageCanvasComponent, autoScoredScoringPreviewTab, createQuestionBasePage, backgroundImageUploadComponent, scoringSectionBaseEditTab, questionInstructionsComponent, correctIncorrectAnswerLabelComponent, autoScoredStudentViewSettings, autoScoredSpecifyCorrectAnswerSection, autoScoredScoringSectionMultiResponseType, fillInTheGapsDropdownCommonComponent, randomizeOptionsComponent, optionsWrapperComponent, studentViewSettingsLabelComponent, additionalSettingsPanel, placeholderTextSectionComponent, gradingViewEnumerationComponent, ariaLabelSectionComponent, commonComponents, additionalSettingsAccessibilitySectionComponent, styleAndLayoutCustomizationAccordionComponent, figCommonStyleAndLayoutComponent, connectorStyleStyleAndLayoutCustomizationComponent } from "./components";
3
3
  const css = Cypress.env('css');
4
4
 
5
5
  const selectors = {
@@ -18,6 +18,8 @@ const selectors = {
18
18
  ...commonComponents,
19
19
  ...additionalSettingsPanel,
20
20
  ...autoScoredSpecifyCorrectAnswerSection,
21
+ ...figCommonStyleAndLayoutComponent,
22
+ ...connectorStyleStyleAndLayoutCustomizationComponent,
21
23
 
22
24
  optionsInputField: () => cy.get('[class*="TextFieldWrapper"] input'),
23
25
  optionNumeration: () => cy.get('.MuiInputAdornment-positionStart'),
@@ -27,6 +29,9 @@ const selectors = {
27
29
  correctAnswerResponse: () => cy.get('[class*="LabelImageWithDropdownPreviewstyles__AnswerWrapper"]'),
28
30
  correctAnswerSectionWrapper: () => cy.get('.dnd-correct-answer-wrapper'),
29
31
  correctAnswersLabel: () => cy.get('[class*="question-preview-wrapper"] [class*="correct-answers-label"]'),
32
+ dropdownConnectorStyleLabel: () => cy.get('.dropzone-connector-style-label'),
33
+ connectorEndPointShapeLabel: () => cy.get('[class*="__SubSectionLabel"]').eq(2),
34
+ connectorEndPointShapeOptions: (shapeOption) => cy.get(`.dropzone-connector-option button[aria-label*="${shapeOption}"]`),
30
35
  previewTabCanvas: () => cy.get('.drag-and-drop-canvas')
31
36
  }
32
37
 
@@ -49,6 +54,9 @@ const steps = {
49
54
  ...placeholderTextSectionComponent.steps,
50
55
  ...ariaLabelSectionComponent.steps,
51
56
  ...commonComponents.steps,
57
+ ...styleAndLayoutCustomizationAccordionComponent.steps,
58
+ ...figCommonStyleAndLayoutComponent.steps,
59
+ ...connectorStyleStyleAndLayoutCustomizationComponent.steps,
52
60
  /**
53
61
  * Verify that the correct option icon is is displayed for a specific dropdown.
54
62
  * @param {number} dropdownIndex - The index of the dropdown.
@@ -167,7 +175,7 @@ const steps = {
167
175
  * @description this function verifies height of canvas
168
176
  */
169
177
  verifyCanvasHeightInPreviewTab: (height) => {
170
- fillInTheGapsOverImageDropdownPage.canvasImageInPreviewTab()
178
+ fillInTheGapsOverImageDropdownPage.previewTabCanvas()
171
179
  .should('have.css', 'height', `${height}px`);
172
180
  },
173
181
 
@@ -262,6 +270,11 @@ const steps = {
262
270
  .should('have.text', index + 1);
263
271
  });
264
272
  },
273
+
274
+ verifyNoImageAlternativeTextPresentInPreviewTab: () => {
275
+ imageCanvasComponent.canvasImageInPreviewTab()
276
+ .should('have.attr', 'alt', 'highlightImage.jpg');
277
+ },
265
278
  }
266
279
 
267
280
  const tests = {
@@ -283,7 +296,9 @@ const tests = {
283
296
  ...ariaLabelSectionComponent.tests,
284
297
  ...commonComponents.tests,
285
298
  ...additionalSettingsPanel.tests,
286
- ...additionalSettingsAccessibilitySectionComponent.tests
299
+ ...additionalSettingsAccessibilitySectionComponent.tests,
300
+ ...styleAndLayoutCustomizationAccordionComponent.tests,
301
+ ...figCommonStyleAndLayoutComponent.tests
287
302
  }
288
303
 
289
304
  export const fillInTheGapsOverImageDropdownPage = {
@@ -1,5 +1,5 @@
1
1
  import utilities from "../support/helpers/utilities";
2
- import { questionInstructionsComponent, scoringSectionBaseEditTab, createQuestionBasePage, commonComponents, autoScoredScoringPreviewTab, autoScoredSpecifyCorrectAnswerSection, autoScoredScoringSectionMultiResponseType, backgroundImageUploadComponent, optionsWrapperComponent, imageCanvasComponent, correctIncorrectAnswerLabelComponent, autoScoredStudentViewSettings, acceptedStudentInputComponent, customizeSpecialCharacterComponent, fillInTheGapsTextCommonComponent, additionalSettingsPanel, gradingViewEnumerationComponent, additionalSettingsAccessibilitySectionComponent, ariaLabelSectionComponent, placeholderTextSectionComponent } from "./components";
2
+ import { questionInstructionsComponent, scoringSectionBaseEditTab, createQuestionBasePage, commonComponents, autoScoredScoringPreviewTab, autoScoredSpecifyCorrectAnswerSection, autoScoredScoringSectionMultiResponseType, backgroundImageUploadComponent, optionsWrapperComponent, imageCanvasComponent, correctIncorrectAnswerLabelComponent, autoScoredStudentViewSettings, acceptedStudentInputComponent, customizeSpecialCharacterComponent, fillInTheGapsTextCommonComponent, additionalSettingsPanel, gradingViewEnumerationComponent, additionalSettingsAccessibilitySectionComponent, ariaLabelSectionComponent, placeholderTextSectionComponent, styleAndLayoutCustomizationAccordionComponent, figCommonStyleAndLayoutComponent, connectorStyleStyleAndLayoutCustomizationComponent } from "./components";
3
3
  import { dialogBoxBase } from "./dialogBoxBase";
4
4
  const css = Cypress.env('css');
5
5
 
@@ -20,6 +20,9 @@ const selectors = {
20
20
  ...additionalSettingsAccessibilitySectionComponent,
21
21
  ...ariaLabelSectionComponent,
22
22
  ...placeholderTextSectionComponent,
23
+ ...styleAndLayoutCustomizationAccordionComponent,
24
+ ...figCommonStyleAndLayoutComponent,
25
+ ...connectorStyleStyleAndLayoutCustomizationComponent,
23
26
  ...dialogBoxBase,
24
27
  //TODO: Update below selectors after https://redmine.zeuslearning.com/issues/557945 is resolved
25
28
 
@@ -29,7 +32,14 @@ const selectors = {
29
32
  limitReachedWarningMessageContainer: () => cy.get('.disabled-wrapper-cls'),
30
33
  correctAnswerResponseWrapper: () => cy.get('.label-image-with-text-correct-response-wrapper [class*="ClozeWithTextResponsestyles__AnswerCell"]'),
31
34
  tickIconWrapper: () => cy.get('.tick-icon-wrapper [data-name*="Rectangle"]'),
32
- correctAnswerSectionWithoutEnumerationWrapper: () => cy.get('.label-image-with-text-correct-answer-wrapper')
35
+ correctAnswerSectionWithoutEnumerationWrapper: () => cy.get('.label-image-with-text-correct-answer-wrapper'),
36
+ setHeightAndWidthForAllTextContainersCheckboxLabel: () => cy.get('[data-ngie-testid="set-height-and-width-for-all-text-containers-checkbox"] .MuiFormControlLabel-label'),
37
+ setHeightAndWidthForAllTextContainersCheckbox: () => cy.get('[data-ngie-testid="set-height-and-width-for-all-text-containers-checkbox"] input'),
38
+ textContainerHeightInputFieldLabel: () => cy.get('.dropzone-text-container-dimension [aria-labelledby="Height (px)"]'),
39
+ textContainerHeightInputField: () => cy.get('.dropzone-text-container-dimension [id="Height (px)"]'),
40
+ textContainerWidthInputFieldLabel: () => cy.get('.dropzone-text-container-dimension [aria-labelledby="Width (px)"]'),
41
+ textContainerWidthInputField: () => cy.get('.dropzone-text-container-dimension [id="Width (px)"]'),
42
+ textContainerConnectorStyleLabel: () => cy.get('.dropzone-connector-style-label')
33
43
  }
34
44
 
35
45
  const steps = {
@@ -54,6 +64,9 @@ const steps = {
54
64
  ...additionalSettingsAccessibilitySectionComponent.steps,
55
65
  ...ariaLabelSectionComponent.steps,
56
66
  ...placeholderTextSectionComponent.steps,
67
+ ...styleAndLayoutCustomizationAccordionComponent.steps,
68
+ ...figCommonStyleAndLayoutComponent.steps,
69
+ ...connectorStyleStyleAndLayoutCustomizationComponent.steps,
57
70
  /**
58
71
  * Verify that the incorrect option icon is displayed for a specific answer input field.
59
72
  * @param {number} inputFieldIndex - The index of the answer input field to verify.
@@ -236,6 +249,53 @@ const steps = {
236
249
  });
237
250
  });
238
251
  },
252
+
253
+ /**
254
+ * Sets the height of the text container.
255
+ * @param {string} height - The height to set for the text container.
256
+ */
257
+ setTextContainerHeight: (height) => {
258
+ fillInTheGapsOverImageTextPage.textContainerHeightInputField()
259
+ .type(height)
260
+ .blur();
261
+ },
262
+
263
+ /**
264
+ * Sets the width of the text container.
265
+ * @param {string} width - The width to set for the text container.
266
+ */
267
+ setTextContainerWidth: (width) => {
268
+ fillInTheGapsOverImageTextPage.textContainerWidthInputField()
269
+ .type(width)
270
+ .blur();
271
+ },
272
+
273
+ verifySetHeightAndWidthForAllTextContainersCheckboxUncheckedState: () => {
274
+ fillInTheGapsOverImageTextPage.setHeightAndWidthForAllTextContainersCheckbox()
275
+ .should('not.be.checked');
276
+ },
277
+
278
+ checkSetHeightAndWidthForAllTextContainersCheckbox: () => {
279
+ fillInTheGapsOverImageTextPage.setHeightAndWidthForAllTextContainersCheckbox()
280
+ .click()
281
+ .should('be.checked');
282
+ },
283
+
284
+ /**
285
+ * Verifies the value of the text container height input field.
286
+ * @param {string} value - The expected value of the height input field.
287
+ */
288
+ verifyTextContainerHeightInputFieldValue: (value) => {
289
+ utilities.verifyInputFieldValue(fillInTheGapsOverImageTextPage.textContainerHeightInputField(), value);
290
+ },
291
+
292
+ /**
293
+ * Verifies the value of the text container width input field.
294
+ * @param {string} value - The expected value of the width input field.
295
+ */
296
+ verifyTextContainerWidthInputFieldValue: (value) => {
297
+ utilities.verifyInputFieldValue(fillInTheGapsOverImageTextPage.textContainerWidthInputField(), value);
298
+ }
239
299
  }
240
300
 
241
301
  const tests = {
@@ -255,7 +315,9 @@ const tests = {
255
315
  ...gradingViewEnumerationComponent.tests,
256
316
  ...additionalSettingsAccessibilitySectionComponent.tests,
257
317
  ...ariaLabelSectionComponent.tests,
258
- ...placeholderTextSectionComponent.tests
318
+ ...placeholderTextSectionComponent.tests,
319
+ ...styleAndLayoutCustomizationAccordionComponent.tests,
320
+ ...figCommonStyleAndLayoutComponent.tests,
259
321
  }
260
322
 
261
323
  export const fillInTheGapsOverImageTextPage = {
@@ -173,7 +173,7 @@ const steps = {
173
173
  * @description this function verifies options text content
174
174
  */
175
175
  verifyTextContentOfOptionInSpecifyCorrectAnswerSection: (optionsText, index) => {
176
- utilities.verifyInnerText(utilities.getNthElement(listOrderingPage.optionSpecifyCorrectAnswerSection(), index), optionsText);
176
+ utilities.verifyInnerText(utilities.getNthElement(listOrderingPage.optionSpecifyCorrectAnswerSection().find('[class*="ListOrderingResponsestyles__ItemWrapper"]'), index), optionsText);
177
177
  },
178
178
 
179
179
  /**
@@ -283,7 +283,7 @@ const steps = {
283
283
  */
284
284
  verifyOptionsOrderInSpecifyCorrectAnswerSection: (optionsTextArray) => {
285
285
  optionsTextArray.forEach((option, index) => {
286
- utilities.verifyInnerText(utilities.getNthElement(listOrderingPage.optionSpecifyCorrectAnswerSection(), index), option);
286
+ utilities.verifyInnerText(utilities.getNthElement(listOrderingPage.optionSpecifyCorrectAnswerSection().find('[class*="ListOrderingResponsestyles__ItemWrapper"]'), index), option);
287
287
  });
288
288
  },
289
289
 
@@ -872,7 +872,7 @@ const steps = {
872
872
  verifyIncorrectOptionIconHorizontalOrientation: (optionsText) => {
873
873
  listOrderingPage.horizontalOptionPreviewTab()
874
874
  .contains(optionsText)
875
- .parents('[id*="choice"][role]')
875
+ .parents('[id*="choice"][role], [id*="Choice"][role]')
876
876
  .prev('.tick-icon-wrapper')
877
877
  .then(($element) => {
878
878
  expect($element[0].className.includes('icon-incorrect')).to.be.true;
@@ -30,7 +30,7 @@ const selectors = {
30
30
  optionsCheckbox: () => cy.get('[data-ngie-testid="response-option-checkbox"]:visible [type="checkbox"]'),
31
31
  optionsCheckboxPreviewTab: () => cy.get('[class*="question-preview-wrapper"] [data-ngie-testid="response-option-checkbox"] [type="checkbox"]'),
32
32
  optionsWrapperGradingView: () => cy.get('.mcq-answer-checked .mcq-option-wrapper'),
33
- optionsWrapperStudentView: () => cy.get('.mcq-option-attempted .mcq-option-wrapper'),
33
+ optionsWrapperStudentView: () => cy.get('.mcq-option-wrapper'),
34
34
  optionWrapperPreviewTab: () => cy.get('[class*="question-preview-wrapper"] .mcq-option-wrapper'),
35
35
  setMinMaxNumberOfAnswersLabel: () => cy.get('[data-ngie-testid="set-minimum/maximum-number-of-answers-checkbox"] .MuiFormControlLabel-label'),
36
36
  setMinMaxNumberOfAnswersCheckbox: () => cy.get('[data-ngie-testid="set-minimum/maximum-number-of-answers-checkbox"] input'),
@@ -58,7 +58,11 @@ const selectors = {
58
58
  noneOptionNumeration: () => cy.get('.no-numeration-div'),
59
59
  optionsWrapper: () => cy.get('.edit-set-correct-answer-mcq-control'),
60
60
  optionsWrapperPreviewTab: () => cy.get('.mcq-checkbox-control'),
61
- mcqCheckbox: () => cy.get('.mcq-without-checkbox')
61
+ mcqCheckbox: () => cy.get('.mcq-without-checkbox'),
62
+ //correct answer section
63
+ correctAnswersLabel: () => cy.get('[class*="question-preview-wrapper"] [class*="CorrectAnswerLabel"]'),
64
+ correctAnswerSectionWrapper: () => cy.get('[class*="question-preview-wrapper"] .mcq-checkbox-control.mcq-answer-checked').eq(1),
65
+ optionWrapperCorrectAnswerSection: () => cy.get('.mcq-option-wrapper')
62
66
  }
63
67
 
64
68
  const steps = {
@@ -193,7 +197,7 @@ const steps = {
193
197
  * Verifies the presence of the correct option border in the grading view for a specified option index.
194
198
  * @param {number} optionIndex - The index of the option to verify in the grading view.
195
199
  */
196
- verifyCorrectOptionBorderGradingView: () => {
200
+ verifyCorrectOptionBorderGradingView: (optionIndex) => {
197
201
  multipleSelectionPage.optionsWrapperGradingView()
198
202
  .eq(optionIndex)
199
203
  .find('label')
@@ -219,7 +223,7 @@ const steps = {
219
223
  * Verifies the presence of the incorrect option border in the grading view for a specified option index.
220
224
  * @param {number} optionIndex - The index of the option to verify in the grading view.
221
225
  */
222
- verifyIncorrectOptionBorderGradingView: () => {
226
+ verifyIncorrectOptionBorderGradingView: (optionIndex) => {
223
227
  multipleSelectionPage.optionsWrapperGradingView()
224
228
  .eq(optionIndex)
225
229
  .find('label')
@@ -234,10 +238,14 @@ const steps = {
234
238
  * @param {number} optionIndex - The index of the option to verify in the student view.
235
239
  */
236
240
  verifyCorrectOptionIconStudentView: (optionIndex) => {
237
- multipleSelectionPage.optionsWrapperStudentView()
238
- .eq(optionIndex)
241
+ multipleSelectionPage.optionsWrapperPreviewTab()
242
+ .eq(0)
239
243
  .within(() => {
240
- utilities.verifyElementVisibilityState(autoScoredScoringPreviewTab.correctIcon(), 'visible');
244
+ multipleSelectionPage.optionsWrapperStudentView()
245
+ .eq(optionIndex)
246
+ .within(() => {
247
+ utilities.verifyElementVisibilityState(autoScoredScoringPreviewTab.correctIcon(), 'visible');
248
+ });
241
249
  });
242
250
  },
243
251
 
@@ -246,10 +254,14 @@ const steps = {
246
254
  * @param {number} optionIndex - The index of the option to verify in the student view.
247
255
  */
248
256
  verifyIncorrectOptionIconStudentView: (optionIndex) => {
249
- multipleSelectionPage.optionsWrapperStudentView()
250
- .eq(optionIndex)
257
+ multipleSelectionPage.optionsWrapperPreviewTab()
258
+ .eq(0)
251
259
  .within(() => {
252
- utilities.verifyElementVisibilityState(autoScoredScoringPreviewTab.incorrectIcon(), 'visible');
260
+ multipleSelectionPage.optionsWrapperStudentView()
261
+ .eq(optionIndex)
262
+ .within(() => {
263
+ utilities.verifyElementVisibilityState(autoScoredScoringPreviewTab.incorrectIcon(), 'visible');
264
+ });
253
265
  });
254
266
  },
255
267
 
@@ -270,10 +282,14 @@ const steps = {
270
282
  * @param {number} optionIndex - The index of the option to verify in the student view.
271
283
  */
272
284
  verifyCorrectIncorrectIconNotVisibleStudentView: (optionIndex) => {
273
- multipleSelectionPage.optionsWrapperStudentView()
274
- .eq(optionIndex)
285
+ multipleSelectionPage.optionsWrapperPreviewTab()
286
+ .eq(0)
275
287
  .within(() => {
276
- autoScoredScoringPreviewTab.steps.verifyCorrectIncorrectIconsNotExist();
288
+ multipleSelectionPage.optionsWrapperStudentView()
289
+ .eq(optionIndex)
290
+ .within(() => {
291
+ autoScoredScoringPreviewTab.steps.verifyCorrectIncorrectIconsNotExist();
292
+ });
277
293
  });
278
294
  },
279
295
 
@@ -654,10 +670,10 @@ const steps = {
654
670
  })
655
671
  },
656
672
 
657
- /**
658
- * Verifies the number of columns in the specify correct answer section.
659
- * @param {number} numberOfOptions - The number of options columns to verify.
660
- */
673
+ /**
674
+ * Verifies the number of columns in the specify correct answer section.
675
+ * @param {number} numberOfOptions - The number of options columns to verify.
676
+ */
661
677
  verifyNumberOfOptionsColumnSpecifyCorrectAnswerSection: (numberOfOptions) => {
662
678
  multipleSelectionPage.optionsWrapper()
663
679
  .should('have.attr', 'columns', numberOfOptions);
@@ -672,10 +688,10 @@ const steps = {
672
688
  .should('have.attr', 'columns', numberOfOptions);
673
689
  },
674
690
 
675
- /**
676
- * Verifies the option direction in the specify correct answer section.
677
- * @param {('row'|'column')} optionDirection - The option direction to verify ('row' or 'column').
678
- */
691
+ /**
692
+ * Verifies the option direction in the specify correct answer section.
693
+ * @param {('row'|'column')} optionDirection - The option direction to verify ('row' or 'column').
694
+ */
679
695
  verifyOptionDirectionSpecifyCorrectOption: (optionDirection) => {
680
696
  switch (optionDirection) {
681
697
  case 'row':
@@ -701,10 +717,10 @@ const steps = {
701
717
  }
702
718
  },
703
719
 
704
- /**
705
- * Verifies the option direction in the preview tab.
706
- * @param {('row'|'column')} optionDirection - The option direction to verify ('row' or 'column').
707
- */
720
+ /**
721
+ * Verifies the option direction in the preview tab.
722
+ * @param {('row'|'column')} optionDirection - The option direction to verify ('row' or 'column').
723
+ */
708
724
  verifyOptionDirectionPreviewTab: (optionDirection) => {
709
725
  switch (optionDirection) {
710
726
  case 'row':
@@ -786,6 +802,42 @@ const steps = {
786
802
  .and('have.css', 'grid-row-start', '2');
787
803
  break;
788
804
  }
805
+ },
806
+
807
+ //correct answer section
808
+ /**
809
+ * Verifies the presence of the correct option icon in the correct answer section
810
+ * @param {number} optionIndex - The index of the option to verify in the correct answer section
811
+ */
812
+ verifyCorrectOptionIconCorrectAnswerSection: (optionIndex) => {
813
+ multipleSelectionPage.correctAnswerSectionWrapper()
814
+ .within(() => {
815
+ multipleSelectionPage.optionWrapperCorrectAnswerSection()
816
+ .eq(optionIndex)
817
+ .within(() => {
818
+ utilities.verifyElementVisibilityState(autoScoredScoringPreviewTab.correctIcon(), 'visible');
819
+ });
820
+ });
821
+ },
822
+
823
+ /**
824
+ * Verifies that the correct and incorrect icons are not visible in the correct answer section
825
+ * @param {number} optionIndex - The index of the option to verify in the correct answer section
826
+ */
827
+ verifyCorrectIncorrectIconNotVisibleCorrectAnswerSection: (optionIndex) => {
828
+ multipleSelectionPage.correctAnswerSectionWrapper()
829
+ .within(() => {
830
+ multipleSelectionPage.optionWrapperCorrectAnswerSection()
831
+ .eq(optionIndex)
832
+ .within(() => {
833
+ autoScoredScoringPreviewTab.steps.verifyCorrectIncorrectIconsNotExist();
834
+ });
835
+ });
836
+ },
837
+
838
+ verifyCorrectAnswerSectionNotExist: () => {
839
+ multipleSelectionPage.correctAnswerSectionWrapper()
840
+ .should('not.exist');
789
841
  }
790
842
  }
791
843
 
@@ -411,6 +411,11 @@ const steps = {
411
411
  verifyRulerUploadedImageNotExistPreviewTab: () => {
412
412
  rulerPage.rulerUploadedImagePreviewTab()
413
413
  .should('have.attr', 'src', '');
414
+ },
415
+
416
+ checkAddShowHideButtonCheckbox: () => {
417
+ rulerPage.addShowHideButtonCheckbox()
418
+ .click()
414
419
  }
415
420
  }
416
421
 
@@ -31,7 +31,11 @@ const selectors = {
31
31
  optionWrapperPreviewTab: () => cy.get('.radio-button-control .radio-option-wrapper'),
32
32
  optionsWrapper: () => cy.get('.mcq-radio-control'),
33
33
  radioButtonHiddenWrapper: () => cy.get('.radio-btn-hidden'),
34
- noneOptionNumeration: () => cy.get('.no-numeration-div')
34
+ noneOptionNumeration: () => cy.get('.no-numeration-div'),
35
+ //correct answer section
36
+ correctAnswersLabel: () => cy.get('[class*="question-preview-wrapper"] [class*="CorrectAnswerLabel"]'),
37
+ correctAnswerSectionWrapper: () => cy.get('[class*="question-preview-wrapper"] .mcq-radio-control.mcq-answer-checked').eq(1),
38
+ optionWrapperCorrectAnswerSection: () => cy.get('.radio-option-wrapper')
35
39
  };
36
40
 
37
41
  const steps = {
@@ -207,6 +211,41 @@ const steps = {
207
211
  });
208
212
  },
209
213
 
214
+ /**
215
+ * Verifies the presence of the correct option icon in the correct answer section
216
+ * @param {number} optionIndex - The index of the option to verify in the correct answer section
217
+ */
218
+ verifyCorrectOptionIconCorrectAnswerSection: (optionIndex) => {
219
+ singleSelectionPage.correctAnswerSectionWrapper()
220
+ .within(() => {
221
+ singleSelectionPage.optionWrapperCorrectAnswerSection()
222
+ .eq(optionIndex)
223
+ .within(() => {
224
+ utilities.verifyElementVisibilityState(autoScoredScoringPreviewTab.correctIcon(), 'visible');
225
+ });
226
+ });
227
+ },
228
+
229
+ /**
230
+ * Verifies that the correct and incorrect icons are not visible in the correct answer section
231
+ * @param {number} optionIndex - The index of the option to verify in the correct answer section
232
+ */
233
+ verifyCorrectIncorrectIconNotVisibleCorrectAnswerSection: (optionIndex) => {
234
+ singleSelectionPage.correctAnswerSectionWrapper()
235
+ .within(() => {
236
+ singleSelectionPage.optionWrapperCorrectAnswerSection()
237
+ .eq(optionIndex)
238
+ .within(() => {
239
+ autoScoredScoringPreviewTab.steps.verifyCorrectIncorrectIconsNotExist();
240
+ });
241
+ });
242
+ },
243
+
244
+ verifyCorrectAnswerSectionNotExist: () => {
245
+ singleSelectionPage.correctAnswerSectionWrapper()
246
+ .should('not.exist');
247
+ },
248
+
210
249
  /**
211
250
  * Verifies the presence of the correct option icon in the student view for a specified option index.
212
251
  * @param {number} optionIndex - The index of the option to verify in the student view.
@@ -25,7 +25,7 @@ const selectors = {
25
25
  pauseButton: () => cy.get('button[aria-label="Pause recording"]'),
26
26
  stopButton: () => cy.get('button[aria-label="Stop recording"]'),
27
27
  resumeButton: () => cy.get('button[aria-label="Resume recording"]'),
28
- retakeRecordingButton: () => cy.get('.recording-again-button'),
28
+ retakeRecordingButton: () => cy.get('[type="button"][aria-label*="Retake"]').eq(0),
29
29
  playerTimer: () => cy.get('[class*="VideoRecorderstyle__PlayerTimerWrapper"]'),
30
30
  playbackSpeedButton: () => cy.get('button[aria-label="Playback speed"]'),
31
31
  fullScreenButton: () => cy.get('button[aria-label="Full screen"]'),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "itemengine-cypress-automation",
3
- "version": "1.0.204",
3
+ "version": "1.0.205",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {