itemengine-cypress-automation 1.0.165-migrationScripts-e27d6f2.0 → 1.0.166
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cypress/e2e/ILC/BrainingCampManipulative/additionalSettings.js +83 -0
- package/cypress/e2e/ILC/BrainingCampManipulative/editTabBasicSection.js +200 -0
- package/cypress/e2e/ILC/BrainingCampManipulative/editTabScoringSection.js +56 -0
- package/cypress/e2e/ILC/BrainingCampManipulative/gradingViewAndCorrectAnswerViewContents.smoke.js +95 -0
- package/cypress/e2e/ILC/BrainingCampManipulative/headerSection.js +71 -0
- package/cypress/e2e/ILC/BrainingCampManipulative/previewTabContent.smoke.js +72 -0
- package/cypress/e2e/ILC/BrainingCampManipulative/toolSettings.js +71 -0
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +2 -2
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/clickAndDrop.js +22 -11
- package/cypress/e2e/ILC/EssayResponse/essayResponseAdditionalSettings.js +432 -0
- package/cypress/e2e/ILC/EssayResponse/essayResponseAdditionalSettingsBasic.js +134 -0
- package/cypress/e2e/ILC/FeedbackScaleNew/feedbackScaleStylePreviewTab.js +161 -0
- package/cypress/e2e/ILC/FeedbackScaleNew/numbersFeedbackScaleStyle.js +308 -0
- package/cypress/e2e/ILC/FeedbackScaleNew/previewContentsForAllViews.smoke.js +216 -0
- package/cypress/e2e/ILC/FeedbackScaleNew/starsHeartsFeedbackScaleStyle.js +336 -0
- package/cypress/e2e/ILC/FeedbackScaleNew/textFeedbackScaleStyle.js +570 -0
- package/cypress/e2e/ILC/FeedbackScaleNew/thumbsFeedbackScaleStyle.js +214 -0
- package/cypress/e2e/ILC/FillInTheGapsDragAndDrop/fillInTheGapsDragAndDropAdditionalSettings.js +356 -0
- package/cypress/e2e/ILC/FillInTheGapsDragAndDrop/fillInTheGapsDragAndDropAdditionalSettingsResponseAccordion.js +299 -0
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/clickAndDrop.js +18 -7
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/clickAndDrop.js +11 -6
- package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +355 -0
- package/cypress/e2e/ILC/Graphing/previewContentsForAllViews.smoke.js +0 -1
- package/cypress/e2e/ILC/Graphing/toolsControlsAndBackgroundSection.js +2 -36
- package/cypress/e2e/ILC/GridFill/allOrNothingBasicForAllViews.smoke.js +22 -34
- package/cypress/e2e/ILC/GridFill/checkAnswerFunctionalityForAllViews.smoke.js +8 -24
- package/cypress/e2e/ILC/GridFill/previewContentsForAllViews.smoke.js +5 -25
- package/cypress/e2e/ILC/GridFill/scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +68 -114
- package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +67 -111
- package/cypress/e2e/ILC/GridFill/scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +71 -123
- package/cypress/e2e/ILC/GridFill/scoring/allOrNothingScoringCellShadeCount.js +41 -63
- package/cypress/e2e/ILC/GridFill/scoring/manuallyAndNonScored.js +21 -25
- package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsBasic.js +50 -85
- package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +68 -115
- package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +54 -98
- package/cypress/e2e/ILC/GridFill/scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +72 -120
- package/cypress/e2e/ILC/GridFill/studentViewSettingsSection.js +3 -3
- package/cypress/e2e/ILC/Matching/maximumCapacityPerDropzoneSection.js +309 -0
- package/cypress/e2e/ILC/Matching/specifyCorrectAnswerSection.js +1 -1
- package/cypress/e2e/ILC/Matching/toolSettings.js +72 -0
- package/cypress/e2e/ILC/MultipleSelectionGridNew/editTabBasicSection.js +1033 -0
- package/cypress/e2e/ILC/MultipleSelectionGridNew/test.js +28 -0
- package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithAlternatePointsGreaterThanCorrectPoints.js +236 -0
- package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +239 -0
- package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +278 -0
- package/cypress/e2e/ILC/NumberLine/Scoring/manualAndNonScoredScoring.js +178 -0
- package/cypress/e2e/ILC/NumberLine/Scoring/partialEqualWeightsBasic.js +407 -0
- package/cypress/e2e/ILC/NumberLine/Scoring/partialEqualWeightsWithAlternatePointsGreaterThanCorrectPoints.js +273 -0
- package/cypress/e2e/ILC/NumberLine/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternatePoints.js +278 -0
- package/cypress/e2e/ILC/NumberLine/Scoring/partialEqualWeigtsWithCorrectPointsEqualToAlternatePoints.js +228 -0
- package/cypress/e2e/ILC/NumberLine/additionalSettings.js +120 -0
- package/cypress/e2e/ILC/NumberLine/allOrNothingScoringForAllViews.smoke.js +659 -0
- package/cypress/e2e/ILC/NumberLine/checkAnswerFunctionalityForAllViews.smoke.js +149 -0
- package/cypress/e2e/ILC/NumberLine/editTabScoringSection.js +151 -0
- package/cypress/e2e/ILC/NumberLine/gradingViewAndCorrectAnswerView.smoke.js +171 -0
- package/cypress/e2e/ILC/NumberLine/headerSection.js +76 -0
- package/cypress/e2e/ILC/NumberLine/minimumScoringPenaltyPointsAndRoundingDropdown.js +54 -0
- package/cypress/e2e/ILC/NumberLine/previewTabContentsForAllViews.smoke.js +200 -0
- package/cypress/e2e/ILC/NumberLine/specifyCorrectAnswerSection.js +67 -0
- package/cypress/e2e/ILC/NumberLine/studentViewSettings.js +135 -0
- package/cypress/e2e/ILC/NumberLine/toolSettings.js +73 -0
- package/cypress/e2e/ILC/NumberLine/toolsAndControls.js +372 -0
- package/cypress/e2e/ILC/SingleSelectionGridNew/editTabBasicSection.js +1014 -0
- package/cypress/e2e/ILC/TextSelection/Scoring/allOrNothingAlternatePointsMoreThanCorrectPoints.js +235 -0
- package/cypress/e2e/ILC/TextSelection/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +235 -0
- package/cypress/e2e/ILC/TextSelection/Scoring/allOrNothingCorrectPointsMoreThanAlternatePoints.js +235 -0
- package/cypress/e2e/ILC/TextSelection/Scoring/partialDifferentWeightsBasic.js +457 -0
- package/cypress/e2e/ILC/TextSelection/Scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +342 -0
- package/cypress/e2e/ILC/TextSelection/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +342 -0
- package/cypress/e2e/ILC/TextSelection/Scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +342 -0
- package/cypress/e2e/ILC/TextSelection/Scoring/partialEqualWeightsBasic.js +155 -0
- package/cypress/e2e/ILC/TextSelection/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +314 -0
- package/cypress/e2e/ILC/TextSelection/Scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +275 -0
- package/cypress/e2e/ILC/TextSelection/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +314 -0
- package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +290 -0
- package/cypress/e2e/ILC/TextSelection/checkAnswerFunctionalityForAllViews.smoke.js +142 -0
- package/cypress/e2e/ILC/TextSelection/previewContentsForAllViews.js +137 -0
- package/cypress/e2e/ILC/ToolSettings/toolSettingsContent.js +4 -4
- package/cypress/fixtures/theme/ilc.json +14 -26
- package/cypress/pages/brainingCampManipulativePage.js +122 -0
- package/cypress/pages/components/autoScoredScoringSectionMultiResponseType.js +1 -1
- package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +3 -0
- package/cypress/pages/components/autoScoredStudentViewSettings.js +1 -1
- package/cypress/pages/components/colorPopupComponent.js +2 -2
- package/cypress/pages/components/defaultToolDropdown.js +77 -0
- package/cypress/pages/components/gridQuestionCommonComponent.js +629 -2
- package/cypress/pages/components/index.js +3 -0
- package/cypress/pages/components/maximumCapacityPerDropzoneComponent.js +1 -1
- package/cypress/pages/components/measuringToolComponent.js +2 -2
- package/cypress/pages/components/resetPopupComponent.js +74 -0
- package/cypress/pages/components/scoringSectionBaseEditTab.js +1 -1
- package/cypress/pages/components/setPointsPopupBase.js +6 -4
- package/cypress/pages/components/specifyRowsAndColumnsComponent.js +60 -3
- package/cypress/pages/components/toolSettingsComponent.js +80 -12
- package/cypress/pages/components/toolsAndControlsComponent.js +69 -0
- package/cypress/pages/dragAndDropIntoCategoriesPage.js +0 -8
- package/cypress/pages/feedbackScalePage copy.js +716 -0
- package/cypress/pages/feedbackScalePage.js +591 -449
- package/cypress/pages/fillInTheGapsOverImageDragAndDropPage.js +3 -1
- package/cypress/pages/graphingPage.js +9 -145
- package/cypress/pages/gridFillPage.js +135 -120
- package/cypress/pages/highlightPage.js +0 -394
- package/cypress/pages/index.js +5 -2
- package/cypress/pages/matchingPage.js +78 -20
- package/cypress/pages/multipleSelectionGridPage.js +88 -1
- package/cypress/pages/numberLinePage.js +723 -0
- package/cypress/pages/singleSelectionGridPage.js +86 -0
- package/cypress/pages/textSelectionPage.js +582 -0
- package/package.json +2 -2
|
@@ -12,7 +12,9 @@ const selectors = {
|
|
|
12
12
|
editCellPropertyListOption: () => cy.get('[class*="MuiMenuItem"][role="menuitem"]'),
|
|
13
13
|
editCellPropertyTableWrapper: () => cy.get('.single-select-grid-option-selection-component .selection-grid-wrapper').eq(0),
|
|
14
14
|
editCellPropertyRow: () => gridQuestionCommonComponent.editCellPropertyTableWrapper().find('[class*="wrapper-row"]'),
|
|
15
|
-
|
|
15
|
+
editCellPropertyTableLeftPaginationButton: () => cy.get('.authoring-selection-grid [class*="SelectionGridstyles__PaginationLeftControl"]'),
|
|
16
|
+
editCellPropertyTableRightPaginationButton: () => cy.get('.authoring-selection-grid [class*="SelectionGridstyles__PaginationRightControl"]'),
|
|
17
|
+
cellPropertyInputField: () => cy.get('[title*="text"]'),
|
|
16
18
|
optionCellPropertyInputField: () => cy.get('[title="Option text or image..."]'),
|
|
17
19
|
tableRowSpecifyCorrectAnswerSection: () => cy.get('.correct-answer-accordion [class*="wrapper-row"]'),
|
|
18
20
|
tableRowPreviewTab: () => cy.get('[class*="question-preview-wrapper"] [class*="wrapper-row"]'),
|
|
@@ -27,9 +29,30 @@ const selectors = {
|
|
|
27
29
|
penaltyPointsForEachIncorrectRowInputField: () => cy.get('input[aria-label="Penalty points for each incorrect row"]'),
|
|
28
30
|
pointsPerRowLabel: () => cy.get('.selection-grid-partial-points-per-response-label'),
|
|
29
31
|
enableRowHeadingLabel: () => cy.get('[data-ngie-testid="enable-row-heading-checkbox"] [class*="label"]'),
|
|
30
|
-
enableRowHeadingCheckbox: () => cy.get('[data-ngie-testid="enable-row-heading-checkbox"]
|
|
32
|
+
enableRowHeadingCheckbox: () => cy.get('[data-ngie-testid="enable-row-heading-checkbox"] input'),
|
|
31
33
|
leftPaginationButtonSpecifyCorrectAnswerSection: () => cy.get('.set-correct-ans-selection-grid [aria-label="Left Pagination Button"]'),
|
|
32
34
|
rightPaginationButtonSpecifyCorrectAnswerSection: () => cy.get('.set-correct-ans-selection-grid [aria-label="Right Pagination Button"]'),
|
|
35
|
+
leftPaginationButtonPreviewTab: () => cy.get('.preview-selection-grid [class*="SelectionGridstyles__PaginationLeftControl"]'),
|
|
36
|
+
rightPaginationButtonPreviewTab: () => cy.get('.preview-selection-grid [class*="SelectionGridstyles__PaginationRightControl"]'),
|
|
37
|
+
defaultOptionLabel: () => cy.get('#Default-option-dropdown-label'),
|
|
38
|
+
defaultOptionDropdown: () => cy.get('#Default-option-select'),
|
|
39
|
+
defaultOptionDropdownListOptions: (ariaLabel = null) => {
|
|
40
|
+
if (ariaLabel) {
|
|
41
|
+
return cy.get(`[aria-labelledby*="Default-option-dropdown-label "] [role="option"][aria-label*="${ariaLabel}"]`).first()
|
|
42
|
+
} else {
|
|
43
|
+
return cy.get('[aria-labelledby*="Default-option-dropdown-label"] [role="option"]')
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
defaultTextLabel: () => cy.get('#Default-text-dropdown-label'),
|
|
47
|
+
defaultTextDropdown: () => cy.get('#Default-text-select'),
|
|
48
|
+
defaultTextDropdownListOptions: (optionText = null) => {
|
|
49
|
+
if (optionText) {
|
|
50
|
+
return cy.get('[aria-labelledby*="Default-text-dropdown-label "] [role="option"]').contains(`${optionText}`, { matchCase: false });
|
|
51
|
+
} else {
|
|
52
|
+
return cy.get('[aria-labelledby*="Default-text-dropdown-label"] [role="option"]')
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
specifyRowsAndColumnsTableHelpText: () => cy.get('[class*="GridPropertiesstyles__HelperTextWrapper"]')
|
|
33
56
|
}
|
|
34
57
|
|
|
35
58
|
const steps = {
|
|
@@ -92,6 +115,13 @@ const steps = {
|
|
|
92
115
|
});
|
|
93
116
|
},
|
|
94
117
|
|
|
118
|
+
/**
|
|
119
|
+
* Verify text in the input field of a table cell property.
|
|
120
|
+
* @param {Object} position - The position of the table cell property.
|
|
121
|
+
* @param {number} position.row - The row index (zero-based) of the table cell property.
|
|
122
|
+
* @param {number} position.column - The column index (zero-based) of the table cell property.
|
|
123
|
+
* @param {string} text - The text to verify in the input field.
|
|
124
|
+
*/
|
|
95
125
|
verifyTextInCellPropertyInputField: ({ row, column }, text) => {
|
|
96
126
|
utilities.getNthElement(gridQuestionCommonComponent.editCellPropertyRow(), row).within(() => {
|
|
97
127
|
utilities.getNthElement(gridQuestionCommonComponent.tableCell(), column).within(() => {
|
|
@@ -100,6 +130,36 @@ const steps = {
|
|
|
100
130
|
});
|
|
101
131
|
},
|
|
102
132
|
|
|
133
|
+
/**
|
|
134
|
+
* Verify placeholder text in the input field of a table cell property.
|
|
135
|
+
* @param {Object} position - The position of the table cell property.
|
|
136
|
+
* @param {number} position.row - The row index (zero-based) of the table cell property.
|
|
137
|
+
* @param {number} position.column - The column index (zero-based) of the table cell property.
|
|
138
|
+
* @param {string} text - The placeholder text to verify in the input field.
|
|
139
|
+
*/
|
|
140
|
+
verifyPlaceholderTextInCellPropertyInputField: ({ row, column }, text) => {
|
|
141
|
+
utilities.getNthElement(gridQuestionCommonComponent.editCellPropertyRow(), row).within(() => {
|
|
142
|
+
utilities.getNthElement(gridQuestionCommonComponent.tableCell(), column).within(() => {
|
|
143
|
+
gridQuestionCommonComponent.cellPropertyInputField()
|
|
144
|
+
.should('have.attr', 'data-cke-editorplaceholder', text);
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
},
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Verify input field not exists in table cell property.
|
|
151
|
+
* @param {Object} position - The position of the table cell property.
|
|
152
|
+
* @param {number} position.row - The row index (zero-based) of the table cell property.
|
|
153
|
+
* @param {number} position.column - The column index (zero-based) of the table cell property.
|
|
154
|
+
*/
|
|
155
|
+
verifyCellPropertyInputFieldNotExists: ({ row, column }) => {
|
|
156
|
+
utilities.getNthElement(gridQuestionCommonComponent.editCellPropertyRow(), row).within(() => {
|
|
157
|
+
utilities.getNthElement(gridQuestionCommonComponent.tableCell(), column).within(() => {
|
|
158
|
+
utilities.verifyElementVisibilityState(gridQuestionCommonComponent.cellPropertyInputField(), 'notExist');
|
|
159
|
+
});
|
|
160
|
+
});
|
|
161
|
+
},
|
|
162
|
+
|
|
103
163
|
/**
|
|
104
164
|
* Enters text into the input field of an option cell.
|
|
105
165
|
* @param {Object} position - The position of the option cell.
|
|
@@ -332,6 +392,24 @@ const steps = {
|
|
|
332
392
|
});
|
|
333
393
|
},
|
|
334
394
|
|
|
395
|
+
/**
|
|
396
|
+
* Verify answer option button is not displayed in cell in the Specify Correct Answer section.
|
|
397
|
+
* @param {Object} position - The position of the option button.
|
|
398
|
+
* @param {number} position.row - The row index (zero-based) of the Specify Correct Answer section.
|
|
399
|
+
* @param {number} position.column - The column index (zero-based) of the option button.
|
|
400
|
+
*/
|
|
401
|
+
verifyAnswerOptionButtonIsNotDisplayedInCellSpecifyCorrectAnswerSection: ({ row, column }) => {
|
|
402
|
+
utilities.getNthElement(gridQuestionCommonComponent.tableRowSpecifyCorrectAnswerSection(), row)
|
|
403
|
+
.within(() => {
|
|
404
|
+
utilities.getNthElement(gridQuestionCommonComponent.tableCell(), column)
|
|
405
|
+
.within(() => {
|
|
406
|
+
gridQuestionCommonComponent.optionsButton()
|
|
407
|
+
.find('svg')
|
|
408
|
+
.should('not.exist');
|
|
409
|
+
});
|
|
410
|
+
});
|
|
411
|
+
},
|
|
412
|
+
|
|
335
413
|
/**
|
|
336
414
|
* Unchecks an option in the Specify Correct Answer section of a grid question component.
|
|
337
415
|
* @param {Object} cellPosition - The position of the option to uncheck, containing row and column indices.
|
|
@@ -567,6 +645,11 @@ const steps = {
|
|
|
567
645
|
.should('be.checked');
|
|
568
646
|
},
|
|
569
647
|
|
|
648
|
+
verifyEnableRowHeadingCheckboxUncheckedState: () => {
|
|
649
|
+
gridQuestionCommonComponent.enableRowHeadingCheckbox()
|
|
650
|
+
.should('not.be.checked');
|
|
651
|
+
},
|
|
652
|
+
|
|
570
653
|
checkEnableRowHeadingCheckbox: () => {
|
|
571
654
|
gridQuestionCommonComponent.enableRowHeadingCheckbox()
|
|
572
655
|
.click()
|
|
@@ -615,6 +698,16 @@ const steps = {
|
|
|
615
698
|
.click();
|
|
616
699
|
},
|
|
617
700
|
|
|
701
|
+
clickOnRightPaginationButtonPreviewTab: () => {
|
|
702
|
+
gridQuestionCommonComponent.rightPaginationButtonPreviewTab()
|
|
703
|
+
.click();
|
|
704
|
+
},
|
|
705
|
+
|
|
706
|
+
clickOnLeftPaginationButtonPreviewTab: () => {
|
|
707
|
+
gridQuestionCommonComponent.leftPaginationButtonPreviewTab()
|
|
708
|
+
.click();
|
|
709
|
+
},
|
|
710
|
+
|
|
618
711
|
/**
|
|
619
712
|
* Verifies that questions are randomized in the preview tab of a grid question component.
|
|
620
713
|
* @param {Array<string>} questionsArray - An array containing the original questions in their initial order.
|
|
@@ -658,6 +751,18 @@ const steps = {
|
|
|
658
751
|
return questionsArray;
|
|
659
752
|
},
|
|
660
753
|
|
|
754
|
+
/**
|
|
755
|
+
* @description Verify the number of columns in the edit cell property table
|
|
756
|
+
* @param {number} numberOfColumns Number of columns in the edit cell property table
|
|
757
|
+
*/
|
|
758
|
+
verifyColumnsCountInEditCellPropertyTable: (numberOfColumns) => {
|
|
759
|
+
gridQuestionCommonComponent.editCellPropertyRow()
|
|
760
|
+
.eq(0)
|
|
761
|
+
.within(() => {
|
|
762
|
+
utilities.verifyElementCount(gridQuestionCommonComponent.tableCell(), numberOfColumns);
|
|
763
|
+
});
|
|
764
|
+
},
|
|
765
|
+
|
|
661
766
|
/**
|
|
662
767
|
* Verifies the presence of an error icon in the specified row of the Specify Columns and Rows grid.
|
|
663
768
|
* @param {number} rowIndex - The index of the row to verify.
|
|
@@ -672,6 +777,215 @@ const steps = {
|
|
|
672
777
|
});
|
|
673
778
|
},
|
|
674
779
|
|
|
780
|
+
/**
|
|
781
|
+
* @description Verify the number of rows in the edit cell property table
|
|
782
|
+
* @param {number} numberOfRows Number of rows in the edit cell property table
|
|
783
|
+
*/
|
|
784
|
+
verifyRowsCountInEditCellPropertyTable: (numberOfRows) => {
|
|
785
|
+
utilities.verifyElementCount(gridQuestionCommonComponent.editCellPropertyRow(), numberOfRows);
|
|
786
|
+
},
|
|
787
|
+
|
|
788
|
+
/**
|
|
789
|
+
* @description Verify the edit cell category table first row or column cell property
|
|
790
|
+
* @param {Object} position - The position of the table cell
|
|
791
|
+
* @param {number} position.row - The row index (zero-based) of the table cell property.
|
|
792
|
+
* @param {number} position.column - The column index (zero-based) of the table cell property.
|
|
793
|
+
* @param {("Heading" | "Subheading" | "Text" | "None")} cellPropertyType - Property of the table cell
|
|
794
|
+
*/
|
|
795
|
+
verifyEditCellCategoryTableCellProperty: ({ row, column }, cellPropertyType) => {
|
|
796
|
+
utilities.getNthElement(gridQuestionCommonComponent.editCellPropertyRow(), row)
|
|
797
|
+
.within(() => {
|
|
798
|
+
switch (cellPropertyType) {
|
|
799
|
+
case 'Heading':
|
|
800
|
+
utilities.getNthElement(gridQuestionCommonComponent.tableCell(), column)
|
|
801
|
+
.should('have.class', 'cell-content-heading');
|
|
802
|
+
break;
|
|
803
|
+
case 'Subheading':
|
|
804
|
+
utilities.getNthElement(gridQuestionCommonComponent.tableCell(), column)
|
|
805
|
+
.should('have.class', 'cell-content-subeading');
|
|
806
|
+
break;
|
|
807
|
+
case 'Text':
|
|
808
|
+
utilities.getNthElement(gridQuestionCommonComponent.tableCell(), column)
|
|
809
|
+
.should('have.class', 'cell-content-text');
|
|
810
|
+
break;
|
|
811
|
+
case 'None':
|
|
812
|
+
utilities.getNthElement(gridQuestionCommonComponent.tableCell(), column)
|
|
813
|
+
.should('have.class', 'cell-content-none')
|
|
814
|
+
.find('textarea')
|
|
815
|
+
.should('not.exist');
|
|
816
|
+
break;
|
|
817
|
+
case 'Radio button':
|
|
818
|
+
case 'Checkbox':
|
|
819
|
+
utilities.getNthElement(gridQuestionCommonComponent.tableCell(), column)
|
|
820
|
+
.should('have.class', 'cell-content-radio');
|
|
821
|
+
break;
|
|
822
|
+
case 'Radio button with text':
|
|
823
|
+
case 'Checkbox with text':
|
|
824
|
+
utilities.getNthElement(gridQuestionCommonComponent.tableCell(), column)
|
|
825
|
+
.should('have.class', 'cell-content-radio-text');
|
|
826
|
+
break;
|
|
827
|
+
case 'No radio button':
|
|
828
|
+
case 'No checkbox':
|
|
829
|
+
utilities.getNthElement(gridQuestionCommonComponent.tableCell(), column)
|
|
830
|
+
.should('have.class', 'cell-content-text');
|
|
831
|
+
break;
|
|
832
|
+
default:
|
|
833
|
+
throw new Error('Invalid cell property');
|
|
834
|
+
}
|
|
835
|
+
});
|
|
836
|
+
},
|
|
837
|
+
|
|
838
|
+
clickOnLeftPaginationButtonEditCellPropertyTable: () => {
|
|
839
|
+
gridQuestionCommonComponent.editCellPropertyTableLeftPaginationButton()
|
|
840
|
+
.click();
|
|
841
|
+
},
|
|
842
|
+
|
|
843
|
+
clickOnRightPaginationButtonEditCellPropertyTable: () => {
|
|
844
|
+
gridQuestionCommonComponent.editCellPropertyTableRightPaginationButton()
|
|
845
|
+
.click();
|
|
846
|
+
},
|
|
847
|
+
|
|
848
|
+
/**
|
|
849
|
+
* @description Verify column is visible in the edit cell category table
|
|
850
|
+
* @param {number} columnIndex Index of the column
|
|
851
|
+
*/
|
|
852
|
+
verifyColumnIsVisibleInEditCellPropertyTable: (columnIndex) => {
|
|
853
|
+
gridQuestionCommonComponent.editCellPropertyRow()
|
|
854
|
+
.eq(0)
|
|
855
|
+
.within(() => {
|
|
856
|
+
utilities.verifyElementVisibilityState(gridQuestionCommonComponent.tableCell().eq(columnIndex), 'visible');
|
|
857
|
+
});
|
|
858
|
+
},
|
|
859
|
+
|
|
860
|
+
/**
|
|
861
|
+
* @description Verify column is not visible in the edit cell category table
|
|
862
|
+
* @param {number} columnIndex Index of the column
|
|
863
|
+
*/
|
|
864
|
+
verifyColumnIsNotVisibleInEditCellPropertyTable: (columnIndex) => {
|
|
865
|
+
gridQuestionCommonComponent.editCellPropertyRow()
|
|
866
|
+
.eq(0)
|
|
867
|
+
.within(() => {
|
|
868
|
+
utilities.verifyElementVisibilityState(gridQuestionCommonComponent.tableCell().eq(columnIndex), 'hidden');
|
|
869
|
+
});
|
|
870
|
+
},
|
|
871
|
+
|
|
872
|
+
/**
|
|
873
|
+
* @description Verify column is visible in the specify correct answer table
|
|
874
|
+
* @param {number} columnIndex Index of the column
|
|
875
|
+
*/
|
|
876
|
+
verifyColumnIsVisibleInSpecifyCorrectAnswerTable: (columnIndex) => {
|
|
877
|
+
gridQuestionCommonComponent.tableRowSpecifyCorrectAnswerSection()
|
|
878
|
+
.eq(0)
|
|
879
|
+
.within(() => {
|
|
880
|
+
utilities.verifyElementVisibilityState(gridQuestionCommonComponent.tableCell().eq(columnIndex), 'visible');
|
|
881
|
+
});
|
|
882
|
+
},
|
|
883
|
+
|
|
884
|
+
/**
|
|
885
|
+
* @description Verify column is visible in the preview tab table
|
|
886
|
+
* @param {number} columnIndex Index of the column
|
|
887
|
+
*/
|
|
888
|
+
verifyColumnIsVisibleInPreviewTabTable: (columnIndex) => {
|
|
889
|
+
gridQuestionCommonComponent.tableRowPreviewTab()
|
|
890
|
+
.eq(0)
|
|
891
|
+
.within(() => {
|
|
892
|
+
utilities.verifyElementVisibilityState(gridQuestionCommonComponent.tableCell().eq(columnIndex), 'visible');
|
|
893
|
+
});
|
|
894
|
+
},
|
|
895
|
+
|
|
896
|
+
/**
|
|
897
|
+
* @description Verify the number of columns in the specify correct answer section table
|
|
898
|
+
* @param {number} numberOfColumns Number of columns in the specify correct answer section table
|
|
899
|
+
*/
|
|
900
|
+
verifyColumnsCountInSpecifyCorrectAnswerSectionTable: (numberOfColumns) => {
|
|
901
|
+
gridQuestionCommonComponent.tableRowSpecifyCorrectAnswerSection()
|
|
902
|
+
.eq(0)
|
|
903
|
+
.within(() => {
|
|
904
|
+
utilities.verifyElementCount(gridQuestionCommonComponent.tableCell(), numberOfColumns);
|
|
905
|
+
});
|
|
906
|
+
},
|
|
907
|
+
|
|
908
|
+
/**
|
|
909
|
+
* @description Verify the number of rows in the specify correct answer section table
|
|
910
|
+
* @param {number} numberOfRows Number of rows in the specify correct answer section table
|
|
911
|
+
*/
|
|
912
|
+
verifyRowsCountInSpecifyCorrectAnswerSectionTable: (numberOfRows) => {
|
|
913
|
+
utilities.verifyElementCount(gridQuestionCommonComponent.tableRowSpecifyCorrectAnswerSection(), numberOfRows);
|
|
914
|
+
},
|
|
915
|
+
|
|
916
|
+
/**
|
|
917
|
+
* @description Verify the number of columns in the preview tab table
|
|
918
|
+
* @param {number} numberOfColumns Number of columns in the preview tab table
|
|
919
|
+
*/
|
|
920
|
+
verifyColumnsCountInPreviewTabTable: (numberOfColumns) => {
|
|
921
|
+
gridQuestionCommonComponent.tableRowPreviewTab()
|
|
922
|
+
.eq(0)
|
|
923
|
+
.within(() => {
|
|
924
|
+
utilities.verifyElementCount(gridQuestionCommonComponent.tableCell(), numberOfColumns)
|
|
925
|
+
});
|
|
926
|
+
},
|
|
927
|
+
|
|
928
|
+
/**
|
|
929
|
+
* @description Verify the number of rows in the preview tab table
|
|
930
|
+
* @param {number} numberOfRows Number of rows in the preview tab table
|
|
931
|
+
*/
|
|
932
|
+
verifyRowsCountInPreviewTabTable: (numberOfRows) => {
|
|
933
|
+
utilities.verifyElementCount(gridQuestionCommonComponent.tableRowPreviewTab(), numberOfRows);
|
|
934
|
+
},
|
|
935
|
+
|
|
936
|
+
expandDefaultOptionDropdown: () => {
|
|
937
|
+
gridQuestionCommonComponent.defaultOptionDropdown()
|
|
938
|
+
.click();
|
|
939
|
+
},
|
|
940
|
+
|
|
941
|
+
expandDefaultTextDropdown: () => {
|
|
942
|
+
gridQuestionCommonComponent.defaultTextDropdown()
|
|
943
|
+
.click();
|
|
944
|
+
},
|
|
945
|
+
|
|
946
|
+
/**
|
|
947
|
+
* @param {('Checkboxes' or 'Radio buttons' | 'Checkboxes with text' or 'Radio buttons with text' |'No checkboxes' or 'No radio buttons' )} listOption
|
|
948
|
+
* @description this function selects an option from expanded default option dropdown
|
|
949
|
+
*/
|
|
950
|
+
selectOptionFromDefaultOptionDropdown: (listOption) => {
|
|
951
|
+
gridQuestionCommonComponent.defaultOptionDropdownListOptions(listOption)
|
|
952
|
+
.click();
|
|
953
|
+
},
|
|
954
|
+
|
|
955
|
+
/**
|
|
956
|
+
* @param {('True / False'| 'Yes / No'|'Agree / Disagree'|'Custom')} listOption
|
|
957
|
+
* @description this function selects an option from expanded default text dropdown
|
|
958
|
+
*/
|
|
959
|
+
selectOptionFromDefaultTextDropdown: (listOption) => {
|
|
960
|
+
gridQuestionCommonComponent.defaultTextDropdownListOptions(listOption)
|
|
961
|
+
.click();
|
|
962
|
+
},
|
|
963
|
+
|
|
964
|
+
/**
|
|
965
|
+
* Expand cell property menu of a table cell at the specified row and column.
|
|
966
|
+
* @param {Object} position - The position of the table cell to modify.
|
|
967
|
+
* @param {number} position.row - The row index (zero-based) of the table cell.
|
|
968
|
+
* @param {number} position.column - The column index (zero-based) of the table cell.
|
|
969
|
+
*/
|
|
970
|
+
expandCellPropertyMenu: ({ row, column }) => {
|
|
971
|
+
utilities.getNthElement(gridQuestionCommonComponent.editCellPropertyRow(), row).within(() => {
|
|
972
|
+
utilities.getNthElement(gridQuestionCommonComponent.editCellPropertyButton(), column)
|
|
973
|
+
.scrollIntoView()
|
|
974
|
+
.click();
|
|
975
|
+
});
|
|
976
|
+
utilities.verifyElementVisibilityState(gridQuestionCommonComponent.editCellPropertyList(), 'visible');
|
|
977
|
+
},
|
|
978
|
+
|
|
979
|
+
/**
|
|
980
|
+
* @description Verify cell property menu item is selected
|
|
981
|
+
* @param {string} cellType Selected cell property menu option
|
|
982
|
+
*/
|
|
983
|
+
verifyCellPropertyMenuOptionIsSelected: (cellType) => {
|
|
984
|
+
gridQuestionCommonComponent.editCellPropertyListOption()
|
|
985
|
+
.contains(`${cellType}`, { matchCase: false })
|
|
986
|
+
.should('have.class', 'Mui-selected');
|
|
987
|
+
},
|
|
988
|
+
|
|
675
989
|
/**
|
|
676
990
|
* Verifies the absence of an error icon in the specified row of the Specify Columns and Rows grid.
|
|
677
991
|
* @param {number} rowIndex - The index of the row to verify.
|
|
@@ -705,6 +1019,319 @@ const tests = {
|
|
|
705
1019
|
|
|
706
1020
|
});
|
|
707
1021
|
},
|
|
1022
|
+
|
|
1023
|
+
/**
|
|
1024
|
+
* Verifies the contents and functionality of the 'Specify correct answer' accordion for multiple selection questions.
|
|
1025
|
+
* @param {{'Correct' | 'Alternative'}} accordionName - The name of the accordion to be used in the validation.
|
|
1026
|
+
* @example - verifySpecifyCorrectAnswerAccordionContentsAndFunctionality('Correct');
|
|
1027
|
+
*/
|
|
1028
|
+
verifySpecifyCorrectAnswerAccordionContentsAndFunctionality: (accordionName) => {
|
|
1029
|
+
it(`The user should be able to check an option in the ${accordionName} accordion`, () => {
|
|
1030
|
+
gridQuestionCommonComponent.steps.setAnswerInSpecifyCorrectAnswerSection({ row: 1, column: 0 });
|
|
1031
|
+
});
|
|
1032
|
+
|
|
1033
|
+
it(`When the user has unchecked all the options in the ${accordionName} accordion, \'Error: Please set a correct answer.\' error message should be thrown along with an error icon on the \'${accordionName}\' accordion`, () => {
|
|
1034
|
+
gridQuestionCommonComponent.steps.uncheckOptionInSpecifyCorrectAnswerSection({ row: 1, column: 0 });
|
|
1035
|
+
utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'visible')
|
|
1036
|
+
utilities.verifyInnerText(commonComponents.errorMessage(), 'Error: Please set a correct answer.');
|
|
1037
|
+
if (accordionName == 'Correct') {
|
|
1038
|
+
autoScoredSpecifyCorrectAnswerSection.correctAnswerAccordion()
|
|
1039
|
+
.within(() => {
|
|
1040
|
+
utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'visible');
|
|
1041
|
+
});
|
|
1042
|
+
} else {
|
|
1043
|
+
autoScoredSpecifyCorrectAnswerSection.alternativeAnswerAccordion()
|
|
1044
|
+
.within(() => {
|
|
1045
|
+
utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'visible');
|
|
1046
|
+
});
|
|
1047
|
+
};
|
|
1048
|
+
});
|
|
1049
|
+
|
|
1050
|
+
autoScoredSpecifyCorrectAnswerSection.tests.verifyAutoScoredCorrectAnswerErrorMessageCSSAndA11y();
|
|
1051
|
+
|
|
1052
|
+
it('When the user checks an option in the question grid, the error message should disappear', () => {
|
|
1053
|
+
gridQuestionCommonComponent.steps.setAnswersForAllQuestionStemsInSpecifyCorrectAnswerSection([{ row: 1, column: 0 }, { row: 2, column: 1 }, { row: 3, column: 0 }, { row: 4, column: 1 }]);
|
|
1054
|
+
commonComponents.steps.verifyErrorMessageIsNotDisplayed();
|
|
1055
|
+
});
|
|
1056
|
+
|
|
1057
|
+
autoScoredSpecifyCorrectAnswerSection.tests.verifyAutoScoredPointsErrorMessageWhenPointsFieldIsEmpty(accordionName);
|
|
1058
|
+
|
|
1059
|
+
it('CSS of \'Correct\' accordion contents', { tags: 'css' }, () => {
|
|
1060
|
+
gridQuestionCommonComponent.gridSpecifyCorrectAnswerSection()
|
|
1061
|
+
.within(() => {
|
|
1062
|
+
utilities.verifyCSS(utilities.getNthElement(gridQuestionCommonComponent.tableCell().parent(), 1), {
|
|
1063
|
+
'background-color': css.color.matrixHeadingCellBg,
|
|
1064
|
+
'border-color': `${css.color.matrixCellBorder}`
|
|
1065
|
+
});
|
|
1066
|
+
utilities.verifyCSS(utilities.getNthElement(gridQuestionCommonComponent.tableCell().parent(), 6), {
|
|
1067
|
+
'background-color': css.color.matrixSubheadingCellBg,
|
|
1068
|
+
'border-color': `${css.color.matrixCellBorder}`
|
|
1069
|
+
});
|
|
1070
|
+
utilities.verifyCSS(utilities.getNthElement(gridQuestionCommonComponent.tableCell().parent(), 9), {
|
|
1071
|
+
'background-color': css.color.defaultBackground,
|
|
1072
|
+
'border-color': `${css.color.matrixCellBorder}`
|
|
1073
|
+
});
|
|
1074
|
+
utilities.verifyCSS(utilities.getNthElement(gridQuestionCommonComponent.optionsButton, 0), {
|
|
1075
|
+
'background-color': css.color.matrixHeadingCellBg,
|
|
1076
|
+
'color': `${css.color.matrixCellBorder}`
|
|
1077
|
+
});
|
|
1078
|
+
utilities.verifyCSS(utilities.getNthElement(gridQuestionCommonComponent.optionsButton, 0).find('svg'), {
|
|
1079
|
+
'color': css.color.activeButtons
|
|
1080
|
+
});
|
|
1081
|
+
utilities.verifyCSS(utilities.getNthElement(gridQuestionCommonComponent.tableCell(), 1).find('.question-text-wrapper'), {
|
|
1082
|
+
'color': css.color.text,
|
|
1083
|
+
'font-size': css.fontSize.heading,
|
|
1084
|
+
'font-weight': css.fontWeight.bold
|
|
1085
|
+
});
|
|
1086
|
+
utilities.verifyCSS(utilities.getNthElement(gridQuestionCommonComponent.tableCell(), 6).find('.question-text-wrapper'), {
|
|
1087
|
+
'color': css.color.text,
|
|
1088
|
+
'font-size': css.fontSize.default,
|
|
1089
|
+
'font-weight': css.fontWeight.bold
|
|
1090
|
+
});
|
|
1091
|
+
utilities.verifyCSS(utilities.getNthElement(gridQuestionCommonComponent.tableCell(), 9).find('.question-text-wrapper'), {
|
|
1092
|
+
'color': css.color.text,
|
|
1093
|
+
'font-size': css.fontSize.default,
|
|
1094
|
+
'font-weight': css.fontWeight.regular
|
|
1095
|
+
});
|
|
1096
|
+
});
|
|
1097
|
+
});
|
|
1098
|
+
|
|
1099
|
+
it('Accessibility of \'Correct\' accordion contents', { tags: 'a11y' }, () => {
|
|
1100
|
+
cy.checkAccessibility(gridQuestionCommonComponent.tableCell().parents('.correct-answer-accordion'));
|
|
1101
|
+
});
|
|
1102
|
+
},
|
|
1103
|
+
|
|
1104
|
+
/**
|
|
1105
|
+
* Verifies the contents of the 'Default options' dropdown
|
|
1106
|
+
* @param {{'Multiple selection grid' | 'Single selection grid'}} questionType - The name of the question type to be used for validation.
|
|
1107
|
+
* @example - verifyDefaultOptionLabelAndDropdown('Multiple selection grid');
|
|
1108
|
+
*/
|
|
1109
|
+
verifyDefaultOptionLabelAndDropdown: (questionType) => {
|
|
1110
|
+
const cellPropertyArray = (questionType === 'Multiple selection grid') ?
|
|
1111
|
+
['Checkboxes', 'Checkboxes with text', 'No checkboxes'] :
|
|
1112
|
+
['Radio buttons', 'Radio buttons with text', 'No radio buttons'];
|
|
1113
|
+
|
|
1114
|
+
it(`'Default option' label and dropdown should be displayed and in 'Default option' dropdown '${cellPropertyArray[0]}' option should be selected by default`, () => {
|
|
1115
|
+
utilities.verifyInnerText(gridQuestionCommonComponent.defaultOptionLabel(), 'Default option');
|
|
1116
|
+
utilities.verifyInnerText(gridQuestionCommonComponent.defaultOptionDropdown(), cellPropertyArray[0]);
|
|
1117
|
+
utilities.verifyElementVisibilityState(gridQuestionCommonComponent.defaultOptionDropdown(), 'visible');
|
|
1118
|
+
});
|
|
1119
|
+
|
|
1120
|
+
it(`Clicking on default option dropdown should open a list of default option types - ${cellPropertyArray}`, () => {
|
|
1121
|
+
gridQuestionCommonComponent.steps.expandDefaultOptionDropdown()
|
|
1122
|
+
utilities.verifyElementVisibilityState(gridQuestionCommonComponent.defaultOptionDropdownListOptions().eq(0), 'visible')
|
|
1123
|
+
cellPropertyArray.forEach((option, count) => {
|
|
1124
|
+
utilities.verifyInnerText(utilities.getNthElement(gridQuestionCommonComponent.defaultOptionDropdownListOptions(), count), option);
|
|
1125
|
+
});
|
|
1126
|
+
});
|
|
1127
|
+
|
|
1128
|
+
it('CSS of default option type dropdown in active state', { tags: 'css' }, () => {
|
|
1129
|
+
utilities.verifyCSS(gridQuestionCommonComponent.defaultOptionDropdownListOptions().eq(0), {
|
|
1130
|
+
'color': css.color.liText,
|
|
1131
|
+
'font-size': css.fontSize.default,
|
|
1132
|
+
'font-weight': css.fontWeight.regular,
|
|
1133
|
+
'background-color': css.color.liTextSelectedBg
|
|
1134
|
+
})
|
|
1135
|
+
utilities.verifyCSS(gridQuestionCommonComponent.defaultOptionDropdownListOptions().eq(1), {
|
|
1136
|
+
'background-color': css.color.transparent
|
|
1137
|
+
});
|
|
1138
|
+
});
|
|
1139
|
+
|
|
1140
|
+
it('Accessibility of default option type dropdown in active state', { tags: 'a11y' }, () => {
|
|
1141
|
+
cy.checkAccessibility(commonComponents.dropdownList())
|
|
1142
|
+
});
|
|
1143
|
+
|
|
1144
|
+
it('On selecting an option from the default option dropdown, the dropdown should close', () => {
|
|
1145
|
+
gridQuestionCommonComponent.steps.selectOptionFromDefaultOptionDropdown(cellPropertyArray[1]);
|
|
1146
|
+
utilities.verifyElementVisibilityState(commonComponents.dropdownList(), 'notExist');
|
|
1147
|
+
});
|
|
1148
|
+
|
|
1149
|
+
it('CSS of default option section', { tags: 'css' }, () => {
|
|
1150
|
+
utilities.verifyCSS(gridQuestionCommonComponent.defaultOptionLabel(), {
|
|
1151
|
+
'color': css.color.labels,
|
|
1152
|
+
'font-size': css.fontSize.normal,
|
|
1153
|
+
'font-weight': css.fontWeight.semibold
|
|
1154
|
+
});
|
|
1155
|
+
utilities.verifyCSS(gridQuestionCommonComponent.defaultOptionDropdown().find('.dropdown-label-text'), {
|
|
1156
|
+
'color': css.color.liText,
|
|
1157
|
+
'font-size': css.fontSize.default,
|
|
1158
|
+
'font-weight': css.fontWeight.regular
|
|
1159
|
+
});
|
|
1160
|
+
});
|
|
1161
|
+
},
|
|
1162
|
+
|
|
1163
|
+
verifyDefaultTextLabelAndDropdown: () => {
|
|
1164
|
+
const defaultTextDropdown = ['True / false', 'Yes / no', 'Agree / disagree', 'Custom'];
|
|
1165
|
+
it(`\'Default text\' label and dropdown should be displayed and in \'Default text\' dropdown \'${defaultTextDropdown[0]}\' option should be selected by default`, () => {
|
|
1166
|
+
utilities.verifyInnerText(gridQuestionCommonComponent.defaultTextLabel(), 'Default text');
|
|
1167
|
+
utilities.verifyInnerText(gridQuestionCommonComponent.defaultTextDropdown(), defaultTextDropdown[0]);
|
|
1168
|
+
utilities.verifyElementVisibilityState(gridQuestionCommonComponent.defaultTextDropdown(), 'visible');
|
|
1169
|
+
});
|
|
1170
|
+
|
|
1171
|
+
it(`Clicking on default option dropdown should open a list of default option types - ${defaultTextDropdown}`, () => {
|
|
1172
|
+
gridQuestionCommonComponent.steps.expandDefaultTextDropdown()
|
|
1173
|
+
utilities.verifyElementVisibilityState(gridQuestionCommonComponent.defaultTextDropdownListOptions().eq(0), 'visible')
|
|
1174
|
+
defaultTextDropdown.forEach((option, count) => {
|
|
1175
|
+
utilities.verifyInnerText(utilities.getNthElement(gridQuestionCommonComponent.defaultTextDropdownListOptions(), count), option);
|
|
1176
|
+
});
|
|
1177
|
+
});
|
|
1178
|
+
|
|
1179
|
+
it('CSS of default text type dropdown in active state', { tags: 'css' }, () => {
|
|
1180
|
+
utilities.verifyCSS(gridQuestionCommonComponent.defaultTextDropdownListOptions().eq(0), {
|
|
1181
|
+
'color': css.color.liText,
|
|
1182
|
+
'font-size': css.fontSize.default,
|
|
1183
|
+
'font-weight': css.fontWeight.regular,
|
|
1184
|
+
'background-color': css.color.liTextSelectedBg
|
|
1185
|
+
})
|
|
1186
|
+
utilities.verifyCSS(gridQuestionCommonComponent.defaultTextDropdownListOptions().eq(1), {
|
|
1187
|
+
'background-color': css.color.transparent
|
|
1188
|
+
});
|
|
1189
|
+
});
|
|
1190
|
+
|
|
1191
|
+
it('Accessibility of default text type dropdown in active state', { tags: 'a11y' }, () => {
|
|
1192
|
+
cy.checkAccessibility(commonComponents.dropdownList())
|
|
1193
|
+
});
|
|
1194
|
+
|
|
1195
|
+
it('On selecting an option from the default option dropdown, the dropdown should close', () => {
|
|
1196
|
+
gridQuestionCommonComponent.steps.selectOptionFromDefaultTextDropdown(defaultTextDropdown[0]);
|
|
1197
|
+
utilities.verifyElementVisibilityState(commonComponents.dropdownList(), 'notExist');
|
|
1198
|
+
});
|
|
1199
|
+
|
|
1200
|
+
it('CSS of default option section', { tags: 'css' }, () => {
|
|
1201
|
+
utilities.verifyCSS(gridQuestionCommonComponent.defaultTextLabel(), {
|
|
1202
|
+
'color': css.color.labels,
|
|
1203
|
+
'font-size': css.fontSize.normal,
|
|
1204
|
+
'font-weight': css.fontWeight.semibold
|
|
1205
|
+
});
|
|
1206
|
+
utilities.verifyCSS(gridQuestionCommonComponent.defaultTextDropdown().find('.dropdown-label-text'), {
|
|
1207
|
+
'color': css.color.liText,
|
|
1208
|
+
'font-size': css.fontSize.default,
|
|
1209
|
+
'font-weight': css.fontWeight.regular
|
|
1210
|
+
});
|
|
1211
|
+
});
|
|
1212
|
+
},
|
|
1213
|
+
|
|
1214
|
+
verifyHeaderRowCellPropertyMenu: () => {
|
|
1215
|
+
const headerRowCellPropertyMenuOptions = ['Heading', 'Subheading', 'Text', 'None']
|
|
1216
|
+
it(`When user expands cell property menu of header row cell, then ${headerRowCellPropertyMenuOptions.join('')} option should be displayed with the corresponding cell property displayed as active selection`, () => {
|
|
1217
|
+
gridQuestionCommonComponent.steps.expandCellPropertyMenu({ row: 0, column: 0 });
|
|
1218
|
+
headerRowCellPropertyMenuOptions.forEach((cellType, index) => {
|
|
1219
|
+
utilities.verifyInnerText(utilities.getNthElement(gridQuestionCommonComponent.editCellPropertyListOption(), index), cellType);
|
|
1220
|
+
});
|
|
1221
|
+
gridQuestionCommonComponent.steps.verifyCellPropertyMenuOptionIsSelected(headerRowCellPropertyMenuOptions[3]);
|
|
1222
|
+
});
|
|
1223
|
+
|
|
1224
|
+
it('CSS of cell property menu in active state', { tags: 'css' }, () => {
|
|
1225
|
+
utilities.verifyCSS(gridQuestionCommonComponent.editCellPropertyButton().eq(5).find('g g'), {
|
|
1226
|
+
'fill': css.color.primaryBtn
|
|
1227
|
+
});
|
|
1228
|
+
utilities.verifyCSS(gridQuestionCommonComponent.editCellPropertyButton().eq(0).find('g g'), {
|
|
1229
|
+
'fill': css.color.selectToolbarOptionBg
|
|
1230
|
+
});
|
|
1231
|
+
utilities.verifyCSS(gridQuestionCommonComponent.editCellPropertyListOption().find('span[class*="MuiListItemText"]'), {
|
|
1232
|
+
'color': css.color.liText,
|
|
1233
|
+
'font-size': css.fontSize.default,
|
|
1234
|
+
'font-weight': css.fontWeight.regular
|
|
1235
|
+
});
|
|
1236
|
+
utilities.verifyCSS(gridQuestionCommonComponent.editCellPropertyListOption().eq(0).find('span').eq(0), {
|
|
1237
|
+
'fill': css.color.liText
|
|
1238
|
+
});
|
|
1239
|
+
utilities.verifyCSS(gridQuestionCommonComponent.editCellPropertyListOption().eq(1).find('span').eq(0), {
|
|
1240
|
+
'fill': css.color.liText
|
|
1241
|
+
});
|
|
1242
|
+
utilities.verifyCSS(gridQuestionCommonComponent.editCellPropertyListOption().eq(2).find('span').eq(0), {
|
|
1243
|
+
'fill': css.color.liText
|
|
1244
|
+
});
|
|
1245
|
+
utilities.verifyCSS(gridQuestionCommonComponent.editCellPropertyListOption().eq(3).find('span').eq(0), {
|
|
1246
|
+
'fill': css.color.liText
|
|
1247
|
+
});
|
|
1248
|
+
utilities.verifyCSS(gridQuestionCommonComponent.editCellPropertyListOption().eq(0), {
|
|
1249
|
+
'background-color': css.color.defaultBackground
|
|
1250
|
+
});
|
|
1251
|
+
utilities.verifyCSS(gridQuestionCommonComponent.editCellPropertyListOption().eq(3), {
|
|
1252
|
+
'background-color': css.color.liTextSelectedBg
|
|
1253
|
+
});
|
|
1254
|
+
});
|
|
1255
|
+
|
|
1256
|
+
it('Accessibility of cell property menu in active state', { tags: 'a11y' }, () => {
|
|
1257
|
+
cy.checkAccessibility(gridQuestionCommonComponent.editCellPropertyList())
|
|
1258
|
+
});
|
|
1259
|
+
|
|
1260
|
+
it('On selecting an option from the default option dropdown, the dropdown should close', () => {
|
|
1261
|
+
gridQuestionCommonComponent.editCellPropertyListOption()
|
|
1262
|
+
.contains('None', { matchCase: false })
|
|
1263
|
+
.click();
|
|
1264
|
+
utilities.verifyElementVisibilityState(gridQuestionCommonComponent.editCellPropertyList(), 'notExist');
|
|
1265
|
+
});
|
|
1266
|
+
|
|
1267
|
+
headerRowCellPropertyMenuOptions.forEach((cellType) => {
|
|
1268
|
+
it(`When user selects ${cellType} option from the cell property menu, the table cell should be set to ${cellType}`, () => {
|
|
1269
|
+
gridQuestionCommonComponent.steps.modifyTableCellProperty({ row: 0, column: 0 }, cellType);
|
|
1270
|
+
gridQuestionCommonComponent.steps.verifyEditCellCategoryTableCellProperty({ row: 0, column: 0 }, cellType);
|
|
1271
|
+
});
|
|
1272
|
+
});
|
|
1273
|
+
},
|
|
1274
|
+
|
|
1275
|
+
verifyFirstColumnCellPropertyMenu: () => {
|
|
1276
|
+
const firstColumnCellPropertyMenuOptions = ['Heading', 'Subheading', 'Text']
|
|
1277
|
+
it(`When user expands cell property menu of first column cell, then ${firstColumnCellPropertyMenuOptions.join('')} option should be displayed with the corresponding cell property displayed as active selection`, () => {
|
|
1278
|
+
gridQuestionCommonComponent.steps.expandCellPropertyMenu({ row: 1, column: 0 });
|
|
1279
|
+
firstColumnCellPropertyMenuOptions.forEach((cellType, index) => {
|
|
1280
|
+
utilities.verifyInnerText(utilities.getNthElement(gridQuestionCommonComponent.editCellPropertyListOption(), index), cellType);
|
|
1281
|
+
});
|
|
1282
|
+
gridQuestionCommonComponent.steps.verifyCellPropertyMenuOptionIsSelected(firstColumnCellPropertyMenuOptions[2]);
|
|
1283
|
+
});
|
|
1284
|
+
|
|
1285
|
+
it('CSS of cell property menu in active state', { tags: 'css' }, () => {
|
|
1286
|
+
utilities.verifyCSS(gridQuestionCommonComponent.editCellPropertyButton().eq(5).find('g g'), {
|
|
1287
|
+
'fill': css.color.primaryBtn
|
|
1288
|
+
});
|
|
1289
|
+
utilities.verifyCSS(gridQuestionCommonComponent.editCellPropertyButton().eq(3).find('g g'), {
|
|
1290
|
+
'fill': css.color.selectToolbarOptionBg
|
|
1291
|
+
});
|
|
1292
|
+
utilities.verifyCSS(gridQuestionCommonComponent.editCellPropertyListOption().find('span[class*="MuiListItemText"]'), {
|
|
1293
|
+
'color': css.color.liText,
|
|
1294
|
+
'font-size': css.fontSize.default,
|
|
1295
|
+
'font-weight': css.fontWeight.regular
|
|
1296
|
+
});
|
|
1297
|
+
utilities.verifyCSS(gridQuestionCommonComponent.editCellPropertyListOption().eq(0).find('span').eq(0), {
|
|
1298
|
+
'fill': css.color.liText
|
|
1299
|
+
});
|
|
1300
|
+
utilities.verifyCSS(gridQuestionCommonComponent.editCellPropertyListOption().eq(1).find('span').eq(0), {
|
|
1301
|
+
'fill': css.color.liText
|
|
1302
|
+
});
|
|
1303
|
+
utilities.verifyCSS(gridQuestionCommonComponent.editCellPropertyListOption().eq(2).find('span').eq(0), {
|
|
1304
|
+
'fill': css.color.liText
|
|
1305
|
+
});
|
|
1306
|
+
utilities.verifyCSS(gridQuestionCommonComponent.editCellPropertyListOption().eq(3).find('span').eq(0), {
|
|
1307
|
+
'fill': css.color.liText
|
|
1308
|
+
});
|
|
1309
|
+
utilities.verifyCSS(gridQuestionCommonComponent.editCellPropertyListOption().eq(0), {
|
|
1310
|
+
'background-color': css.color.defaultBackground
|
|
1311
|
+
});
|
|
1312
|
+
utilities.verifyCSS(gridQuestionCommonComponent.editCellPropertyListOption().eq(2), {
|
|
1313
|
+
'background-color': css.color.liTextSelectedBg
|
|
1314
|
+
});
|
|
1315
|
+
});
|
|
1316
|
+
|
|
1317
|
+
it('Accessibility of cell property menu in active state', { tags: 'a11y' }, () => {
|
|
1318
|
+
cy.checkAccessibility(gridQuestionCommonComponent.editCellPropertyList())
|
|
1319
|
+
});
|
|
1320
|
+
|
|
1321
|
+
it('On selecting an option from the default option dropdown, the dropdown should close', () => {
|
|
1322
|
+
gridQuestionCommonComponent.editCellPropertyListOption()
|
|
1323
|
+
.contains('Heading', { matchCase: false })
|
|
1324
|
+
.click();
|
|
1325
|
+
utilities.verifyElementVisibilityState(gridQuestionCommonComponent.editCellPropertyList(), 'notExist');
|
|
1326
|
+
});
|
|
1327
|
+
|
|
1328
|
+
firstColumnCellPropertyMenuOptions.forEach((cellType) => {
|
|
1329
|
+
it(`When user selects ${cellType} option from the cell property menu, the table cell should be set to ${cellType}`, () => {
|
|
1330
|
+
gridQuestionCommonComponent.steps.modifyTableCellProperty({ row: 1, column: 0 }, cellType);
|
|
1331
|
+
gridQuestionCommonComponent.steps.verifyEditCellCategoryTableCellProperty({ row: 1, column: 0 }, cellType);
|
|
1332
|
+
});
|
|
1333
|
+
});
|
|
1334
|
+
},
|
|
708
1335
|
}
|
|
709
1336
|
|
|
710
1337
|
export const gridQuestionCommonComponent = {
|