itemengine-cypress-automation 1.0.183 → 1.0.184
Sign up to get free protection for your applications and to get access to all the features.
- package/cypress/e2e/ILC/AudioPlayerNew/allSupportedFileTypes.js +79 -0
- package/cypress/e2e/ILC/AudioPlayerNew/barAudioPlayerStyle.js +345 -0
- package/cypress/e2e/ILC/AudioPlayerNew/compactAudioPlayerStyle.js +429 -0
- package/cypress/e2e/ILC/AudioPlayerNew/previewContents.smoke.js +162 -0
- package/cypress/e2e/ILC/AudioPlayerNew/standardAudioPlayerStyle.js +489 -0
- package/cypress/e2e/ILC/AudioPlayerNew/uploadAndAddAudioFile.js +313 -0
- package/cypress/e2e/ILC/AudioResponseNew/barRecorderStyle.smoke.js +1 -1
- package/cypress/e2e/ILC/AudioResponseNew/compactRecorderStyle.smoke.js +1 -1
- package/cypress/e2e/ILC/AudioResponseNew/standardRecorderStyle.smoke.js +1 -1
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/clickAndDrop.js +1 -1
- package/cypress/e2e/ILC/DrawingResponse/drawingResponseGradingViewAndCorrectAnswerViewContents.smoke.js +5 -8
- package/cypress/e2e/ILC/EditTabSettingPage/itemPreviewSettingsTabFunctionality.js +417 -28
- package/cypress/e2e/ILC/EssayResponse/editCategoryFlyout.js +1 -1
- package/cypress/e2e/ILC/FeedbackScaleNew/headerSection.js +29 -1
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViews.smoke.js +2 -2
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/studentViewSettings.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsDropdownNew/studentViewSettings.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/editTabScoring.js +1 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/previewContentsForAllViews.smoke.js +2 -2
- package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/studentViewSettings.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/studentViewSettings.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +4 -4
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/studentViewSettings.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +5 -5
- package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +3 -4
- package/cypress/e2e/ILC/FillInTheGapsTextNew/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsTextNew/headerSection.js +1 -0
- package/cypress/e2e/ILC/FillInTheGapsTextNew/studentViewSettings.js +1 -1
- package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +2 -2
- package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsEqualToAlternatePoints.js +2 -2
- package/cypress/e2e/ILC/Graphing/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +2 -2
- package/cypress/e2e/ILC/Graphing/addBackgroundShapesSection.js +2 -2
- package/cypress/e2e/ILC/Graphing/studentViewSettings.js +1 -1
- package/cypress/e2e/ILC/GridFill/checkAnswerFunctionalityForAllViews.smoke.js +2 -2
- package/cypress/e2e/ILC/GridFill/gridLayoutContents.js +11 -3
- package/cypress/e2e/ILC/GridFill/previewContentsForAllViews.smoke.js +3 -3
- package/cypress/e2e/ILC/GridFill/studentViewSettingsSection.js +1 -1
- package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +230 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/checkAnswerFunctionalityForAllViews.smoke.js +124 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/previewContentsForAllViews.smoke.js +201 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +216 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +214 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +251 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingPenaltyScoring.js +52 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/manuallyAndNonScored.js +128 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +279 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsBasic.js +109 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +278 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +278 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +335 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +250 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsBasic.js +161 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +216 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +252 -0
- package/cypress/e2e/ILC/ListOrderingNew/additionalSettings.js +118 -0
- package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +243 -0
- package/cypress/e2e/ILC/ListOrderingNew/checkAnswerFunctionalityForAllViews.smoke.js +128 -0
- package/cypress/e2e/ILC/ListOrderingNew/editTabBasicSection.js +155 -0
- package/cypress/e2e/ILC/ListOrderingNew/editTabScoring.js +195 -0
- package/cypress/e2e/ILC/ListOrderingNew/headerSection.js +78 -0
- package/cypress/e2e/ILC/ListOrderingNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +194 -0
- package/cypress/e2e/ILC/ListOrderingNew/previewContentsForAllViews.smoke.js +176 -0
- package/cypress/e2e/ILC/ListOrderingNew/specifyCorrectAnswerSection.js +112 -0
- package/cypress/e2e/ILC/ListOrderingNew/studentViewSettings.js +244 -0
- package/cypress/e2e/ILC/Matching/studentViewSettings.js +1 -1
- package/cypress/e2e/ILC/MultipleSelection/allOrNothingWithAlternativeAnswer.js +1 -0
- package/cypress/e2e/ILC/MultipleSelectionGridNew/studentViewSettings.js +1 -1
- package/cypress/e2e/ILC/NumberLine/LayoutSection.js +181 -0
- package/cypress/e2e/ILC/NumberLine/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +3 -3
- package/cypress/e2e/ILC/NumberLine/allOrNothingScoringForAllViews.smoke.js +57 -1
- package/cypress/e2e/ILC/NumberLine/lineSettingsSection.js +33 -0
- package/cypress/e2e/ILC/NumberLine/numberLineSection.js +46 -0
- package/cypress/e2e/ILC/NumberLine/previewTabContentsForAllViews.smoke.js +1 -1
- package/cypress/e2e/ILC/NumberLine/studentViewSettings.js +1 -1
- package/cypress/e2e/ILC/NumberLine/toolSettings.js +2 -1
- package/cypress/e2e/ILC/NumberLine/verticalNumberLine/allOrNothingScoringForAllViews.smoke.js +696 -0
- package/cypress/e2e/ILC/NumberLine/verticalNumberLine/gradingViewAndCorrectAnswerView.smoke.js +173 -0
- package/cypress/e2e/ILC/NumberLine/verticalNumberLine/layoutSection.js +183 -0
- package/cypress/e2e/ILC/NumberLine/verticalNumberLine/numberLineSection.js +73 -0
- package/cypress/e2e/ILC/NumberLine/verticalNumberLine/previewTabContentsForAllViews.smoke.js +204 -0
- package/cypress/e2e/ILC/NumberLineLabel/allOrNothingForAllViews.smoke.js +288 -0
- package/cypress/e2e/ILC/NumberLineLabel/checkAnswerFunctionalityForAllViews.smoke.js +153 -0
- package/cypress/e2e/ILC/NumberLineLabel/gradingViewAndCorrectAnswerView.smoke.js +164 -0
- package/cypress/e2e/ILC/NumberLineLabel/previewContentsForAllViews.smoke.js +120 -0
- package/cypress/e2e/ILC/Protractor/protractorPreviewContents.smoke.js +1 -1
- package/cypress/e2e/ILC/ReadingRuler/readingRulerEditTabBasicsSection.js +49 -1
- package/cypress/e2e/ILC/ShortTextResponseNew/studentViewSettings.js +1 -1
- package/cypress/e2e/ILC/SingleSelectionGridNew/studentViewSettings.js +1 -1
- package/cypress/e2e/ILC/TextEntryMath/responseEvaluationMethodsAndCustomSettings.js +2 -2
- package/cypress/e2e/ILC/TextSelection/Scoring/allOrNothingAlternatePointsMoreThanCorrectPoints.js +0 -1
- package/cypress/e2e/ILC/TextSelection/Scoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +0 -1
- package/cypress/e2e/ILC/TextSelection/Scoring/allOrNothingCorrectPointsMoreThanAlternatePoints.js +0 -1
- package/cypress/e2e/ILC/TextSelection/Scoring/basicScoringForAllTextSelectionTypes.smoke.js +0 -1
- package/cypress/e2e/ILC/TextSelection/additionalSettings.js +125 -0
- package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +0 -1
- package/cypress/e2e/ILC/TextSelection/checkAnswerFunctionalityForAllViews.smoke.js +1 -2
- package/cypress/e2e/ILC/TextSelection/editTabScoringSection.js +5 -4
- package/cypress/e2e/ILC/TextSelection/headerSection.js +73 -0
- package/cypress/e2e/ILC/TextSelection/previewContentsForAllViews.smoke.js +6 -7
- package/cypress/e2e/ILC/TextSelection/questionInstructionsAndQuestion.js +179 -0
- package/cypress/e2e/ILC/TextSelection/specifyCorrectAnswerSection.js +89 -0
- package/cypress/e2e/ILC/TextSelection/studentViewSettings.js +436 -0
- package/cypress/e2e/ILC/TextSelection/styleAndLayoutCustomizationAccordion.js +277 -0
- package/cypress/e2e/ILC/TextSelection/textSelectionModesInPreviewTab.js +222 -0
- package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyCorrectAnswerSection.js +260 -0
- package/cypress/e2e/ILC/TextSelection/textSelectionModesInSpecifyPossibleOptionsSection.js +380 -0
- package/cypress/e2e/ILC/ToolSettings/toolSettingsContent.js +5 -5
- package/cypress/e2e/ILC/ToolSettings/toolSettingsPreviewContents.smoke.js +3 -3
- package/cypress/fixtures/constants.js +1 -1
- package/cypress/fixtures/equationEditorCategoriesAndSymbols .js +20 -20
- package/cypress/fixtures/theme/ilc.json +20 -18
- package/cypress/pages/audioPlayerPage.js +274 -504
- package/cypress/pages/brainingCampManipulativePage.js +1 -1
- package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +3 -3
- package/cypress/pages/components/autoScoredStudentViewSettings.js +5 -5
- package/cypress/pages/components/commonComponents.js +1 -0
- package/cypress/pages/components/draggableOptionContainer.js +1 -0
- package/cypress/pages/components/equationEditorFlyout.js +3 -2
- package/cypress/pages/components/essayResponseCommonComponents.js +8 -2
- package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +1 -0
- package/cypress/pages/components/imageCanvasComponent.js +2 -1
- package/cypress/pages/components/index.js +3 -0
- package/cypress/pages/components/layoutSectionComponent.js +1191 -0
- package/cypress/pages/components/numberLineCommonComponent.js +36 -0
- package/cypress/pages/components/optionsWrapperComponent.js +13 -2
- package/cypress/pages/components/playbackControlsBaseComponent.js +20 -13
- package/cypress/pages/components/styleAndLayoutCustomizationAccordionComponent.js +46 -0
- package/cypress/pages/components/toolSettingsComponent.js +6 -0
- package/cypress/pages/contentBlocksPage.js +18 -2
- package/cypress/pages/createItemPage.js +75 -8
- package/cypress/pages/dialogBoxBase.js +2 -2
- package/cypress/pages/drawingResponsePage.js +24 -4
- package/cypress/pages/feedbackScalePage.js +3 -0
- package/cypress/pages/graphingPage.js +19 -1
- package/cypress/pages/gridFillPage.js +25 -8
- package/cypress/pages/index.js +2 -1
- package/cypress/pages/itemPreviewSettingsPage.js +4 -0
- package/cypress/pages/listOrderingPage.js +435 -557
- package/cypress/pages/matchingPage.js +1 -1
- package/cypress/pages/multipleSelectionPage.js +23 -1
- package/cypress/pages/numberLineLabelPage.js +333 -0
- package/cypress/pages/numberLinePage.js +1370 -132
- package/cypress/pages/rulerPage.js +6 -2
- package/cypress/pages/textSelectionPage.js +461 -23
- package/package.json +1 -1
@@ -0,0 +1,36 @@
|
|
1
|
+
import utilities from "../../support/helpers/utilities";
|
2
|
+
|
3
|
+
const selectors = {
|
4
|
+
numberLineSpecifyCorrectAnswer: () => cy.get('.ngie-accordion .ngie-jxgbox svg').eq(0),
|
5
|
+
numberLinePreviewTab: () => cy.get('[class*="question-preview-wrapper"] .ngie-jxgbox svg').eq(0),
|
6
|
+
numberLinePointPreviewTab: () => cy.get('[class*="question-preview-wrapper"] .ngie-jxgbox').eq(0).find('svg ellipse[display="inline"]'),
|
7
|
+
correctAnswersLabel: () => cy.get('[class*="AnswerLabel"]'),
|
8
|
+
correctIcon: () => cy.get('[data-icon="CorrectAnswer"]'),
|
9
|
+
incorrectIcon: () => cy.get('[data-icon="Incorrect"]'),
|
10
|
+
correctIncorrectAnswerTextWrapper: () => cy.get('[class*="CorrectIncorrectWrapper"]'),
|
11
|
+
}
|
12
|
+
|
13
|
+
const steps = {
|
14
|
+
/**
|
15
|
+
* @param {("correct" | "incorrect")} answerStatus - The status of the answer.
|
16
|
+
* @description Verifies the visibility and content of the correct/incorrect answer label block.
|
17
|
+
* If the answer is correct, it also verifies the visibility of the correct icon;
|
18
|
+
* otherwise, it verifies the visibility of the incorrect icon.
|
19
|
+
*/
|
20
|
+
verifyCorrectIncorrectAnswerLabel: (answerStatus) => {
|
21
|
+
utilities.verifyInnerText(numberLineCommonComponent.correctIncorrectAnswerTextWrapper(), `Your answer is\n${answerStatus}`)
|
22
|
+
numberLineCommonComponent.correctIncorrectAnswerTextWrapper()
|
23
|
+
.within(() => {
|
24
|
+
if (answerStatus === 'correct') {
|
25
|
+
utilities.verifyElementVisibilityState(numberLineCommonComponent.correctIcon(), 'visible');
|
26
|
+
} else {
|
27
|
+
utilities.verifyElementVisibilityState(numberLineCommonComponent.incorrectIcon(), 'visible');
|
28
|
+
}
|
29
|
+
});
|
30
|
+
},
|
31
|
+
}
|
32
|
+
|
33
|
+
export const numberLineCommonComponent = {
|
34
|
+
...selectors,
|
35
|
+
steps
|
36
|
+
}
|
@@ -6,7 +6,7 @@ import { equationEditorFlyout } from "./equationEditorFlyout";
|
|
6
6
|
const css = Cypress.env('css');
|
7
7
|
|
8
8
|
const selectors = {
|
9
|
-
optionsLabel: () => cy.get('.options-label'),
|
9
|
+
optionsLabel: () => cy.get('.options-label-wrapper .options-label'),
|
10
10
|
optionsSectionWrapper: () => cy.get('[data-rbd-droppable-id="assessment-option-item-options"]'),
|
11
11
|
optionWrapper: () => cy.get('[data-rbd-draggable-id*="option-draggable"]'),
|
12
12
|
addOptionButton: () => cy.get('.add-option-wrapper-cls button').contains('Add option'),
|
@@ -140,6 +140,17 @@ const steps = {
|
|
140
140
|
.should('have.text', 'This is a bold option');
|
141
141
|
},
|
142
142
|
|
143
|
+
/**
|
144
|
+
* @param {number} index of the option input field
|
145
|
+
* @description this function add input to options input field which contains an image
|
146
|
+
*/
|
147
|
+
addTextInputToOptionsInputFieldWithImage: (index) => {
|
148
|
+
optionsWrapperComponent.optionsInputField()
|
149
|
+
.eq(index)
|
150
|
+
.type('Petals')
|
151
|
+
.should('have.text', 'Petals');
|
152
|
+
},
|
153
|
+
|
143
154
|
/**
|
144
155
|
* @param {number} index of option
|
145
156
|
* @description this function verifies bold text in options input fields
|
@@ -416,7 +427,7 @@ const tests = {
|
|
416
427
|
utilities.triggerMouseover(commonComponents.dragHandleButton());
|
417
428
|
});
|
418
429
|
utilities.verifyElementVisibilityState(commonComponents.tooltipText(), 'visible')
|
419
|
-
cy.checkAccessibility(commonComponents.
|
430
|
+
cy.checkAccessibility(commonComponents.nextGenCreateItemWrapper());
|
420
431
|
optionsWrapperComponent.optionWrapper()
|
421
432
|
.eq(0)
|
422
433
|
.within(() => {
|
@@ -174,10 +174,13 @@ const steps = {
|
|
174
174
|
.should('be.disabled');
|
175
175
|
},
|
176
176
|
|
177
|
-
|
178
|
-
|
177
|
+
/**
|
178
|
+
* Verify the playback speed list options
|
179
|
+
* @param {string[]} playbackSpeedOptions Array of playback speed list options
|
180
|
+
*/
|
181
|
+
verifyPlaybackSpeedListOptions: (playbackSpeedOptions) => {
|
179
182
|
playbackSpeedOptions.forEach((option, optionIndex) => {
|
180
|
-
utilities.verifyInnerText(utilities.getNthElement(playbackControlsBaseComponent.playbackSpeedOption(), optionIndex), option);
|
183
|
+
utilities.verifyInnerText(utilities.getNthElement(playbackControlsBaseComponent.playbackSpeedOption(), optionIndex), `${option}x`);
|
181
184
|
});
|
182
185
|
},
|
183
186
|
|
@@ -188,7 +191,7 @@ const steps = {
|
|
188
191
|
*/
|
189
192
|
verifyPlaybackSpeedOptionSelectedState: (speed) => {
|
190
193
|
playbackControlsBaseComponent.playbackSpeedOption(speed)
|
191
|
-
.should('have.
|
194
|
+
.should('have.attr', 'aria-label', `${speed} selected`);
|
192
195
|
},
|
193
196
|
|
194
197
|
/**
|
@@ -272,30 +275,34 @@ const tests = {
|
|
272
275
|
});
|
273
276
|
},
|
274
277
|
|
275
|
-
|
276
|
-
|
278
|
+
/**
|
279
|
+
* Verify the contents of playback speed list and button
|
280
|
+
* @param {string[]} playbackSpeedOptions Array of playback speed list options
|
281
|
+
*/
|
282
|
+
verifyPlaybackSpeedContents: (playbackSpeedOptions) => {
|
283
|
+
it(`When the user hovers overs the playback button, a list of ${playbackSpeedOptions.length} playback speed options - ${playbackSpeedOptions.join(' ')} should be displayed and by default 1x should be in selected state`, () => {
|
277
284
|
playbackControlsBaseComponent.playbackSpeedButton()
|
278
285
|
.trigger('mouseover');
|
279
|
-
utilities.verifyElementVisibilityState(playbackControlsBaseComponent.
|
280
|
-
utilities.verifyElementCount(playbackControlsBaseComponent.playbackSpeedOption(),
|
281
|
-
playbackControlsBaseComponent.steps.verifyPlaybackSpeedListOptions();
|
286
|
+
utilities.verifyElementVisibilityState(playbackControlsBaseComponent.playbackSpeedOption(), 'visible');
|
287
|
+
utilities.verifyElementCount(playbackControlsBaseComponent.playbackSpeedOption(), playbackSpeedOptions.length);
|
288
|
+
playbackControlsBaseComponent.steps.verifyPlaybackSpeedListOptions(playbackSpeedOptions);
|
282
289
|
playbackControlsBaseComponent.steps.verifyPlaybackSpeedOptionSelectedState('1x');
|
283
290
|
playbackControlsBaseComponent.steps.selectPlaybackSpeed('1x');
|
284
291
|
});
|
285
292
|
|
286
293
|
it('CSS of playback speed options', { tags: 'css' }, () => {
|
287
294
|
utilities.hoverOverElement(playbackControlsBaseComponent.playbackSpeedButton());
|
288
|
-
utilities.verifyCSS(playbackControlsBaseComponent.playbackSpeedButton().find('
|
295
|
+
utilities.verifyCSS(playbackControlsBaseComponent.playbackSpeedButton().find('path').eq(1), {
|
289
296
|
'fill': css.color.activeButtons
|
290
297
|
});
|
291
|
-
utilities.verifyCSS(
|
298
|
+
utilities.verifyCSS(playbackControlsBaseComponent.playbackSpeedOption().contains('1x'), {
|
292
299
|
'color': css.color.liText,
|
293
300
|
'background-color': css.color.liTextSelectedBg,
|
294
301
|
'font-size': css.fontSize.small
|
295
302
|
});
|
296
|
-
utilities.verifyCSS(
|
303
|
+
utilities.verifyCSS(playbackControlsBaseComponent.playbackSpeedOption().last(), {
|
297
304
|
'color': css.color.liText,
|
298
|
-
'background-color': css.color.
|
305
|
+
'background-color': css.color.transparent,
|
299
306
|
'font-size': css.fontSize.small
|
300
307
|
});
|
301
308
|
});
|
@@ -0,0 +1,46 @@
|
|
1
|
+
import utilities from "../../support/helpers/utilities";
|
2
|
+
|
3
|
+
const css = Cypress.env('css');
|
4
|
+
|
5
|
+
const selectors = {
|
6
|
+
styleAndLayoutCustomizationAccordion: () => cy.get('.style-and-layout-customization-wrapper .MuiAccordionSummary-root'),
|
7
|
+
}
|
8
|
+
|
9
|
+
const steps = {
|
10
|
+
expandStyleAndLayoutCustomizationAccordion: () => {
|
11
|
+
styleAndLayoutCustomizationAccordionComponent.styleAndLayoutCustomizationAccordion()
|
12
|
+
.click()
|
13
|
+
.should('have.attr', 'aria-expanded', 'true');
|
14
|
+
},
|
15
|
+
}
|
16
|
+
|
17
|
+
const tests = {
|
18
|
+
verifyStyleAndLayoutCustomizationAccordionProperties: () => {
|
19
|
+
it('By default \'Style and layout customization\' accordion should be collapsed and by clicking on the \'Style and layout customization\' accordion, user should be able to expand the accordion', () => {
|
20
|
+
styleAndLayoutCustomizationAccordionComponent.styleAndLayoutCustomizationAccordion()
|
21
|
+
.should('have.attr', 'aria-expanded', 'false');
|
22
|
+
styleAndLayoutCustomizationAccordionComponent.steps.expandStyleAndLayoutCustomizationAccordion();
|
23
|
+
});
|
24
|
+
|
25
|
+
it('CSS of \'Style and layout customization\' accordion', { tags: 'css' }, () => {
|
26
|
+
utilities.verifyCSS(styleAndLayoutCustomizationAccordionComponent.styleAndLayoutCustomizationAccordion().find('.accordion_label'), {
|
27
|
+
'color': css.color.accordionLabel,
|
28
|
+
'font-size': css.fontSize.default,
|
29
|
+
'font-weight': css.fontWeight.bold
|
30
|
+
});
|
31
|
+
utilities.verifyCSS(styleAndLayoutCustomizationAccordionComponent.styleAndLayoutCustomizationAccordion().find('svg'), {
|
32
|
+
'fill': css.color.activeButtons
|
33
|
+
});
|
34
|
+
});
|
35
|
+
|
36
|
+
it('Accessibility of \'Style and layout customization\' accordion', { tags: 'a11y' }, () => {
|
37
|
+
cy.checkAccessibility(styleAndLayoutCustomizationAccordionComponent.styleAndLayoutCustomizationAccordion().parents('.style-and-layout-customization-wrapper'));
|
38
|
+
});
|
39
|
+
}
|
40
|
+
}
|
41
|
+
|
42
|
+
export const styleAndLayoutCustomizationAccordionComponent = {
|
43
|
+
...selectors,
|
44
|
+
steps,
|
45
|
+
tests
|
46
|
+
}
|
@@ -13,6 +13,7 @@ const selectors = {
|
|
13
13
|
toolLabel: () => cy.get('.tool-settings-customization-wrapper [class*="DragItemstyles__ButtonLabel"]'),
|
14
14
|
toolDragHandleButton: () => cy.get('.tool-settings-customization-wrapper [class*="DragItemstyles__DragIconWrapper"]'),
|
15
15
|
toolEditIcon: () => cy.get('.tool-settings-customization-wrapper [class*="DragItemstyles__ItemContainer"] .icon-pencil'),
|
16
|
+
okButton: () => cy.get('.action-button').eq(1)
|
16
17
|
}
|
17
18
|
|
18
19
|
const steps = {
|
@@ -87,6 +88,11 @@ const steps = {
|
|
87
88
|
clickOnToolEditIcon: (toolIndex) => {
|
88
89
|
utilities.getNthElement(toolSettingsComponent.toolEditIcon(), toolIndex)
|
89
90
|
.click();
|
91
|
+
},
|
92
|
+
|
93
|
+
clickOnOkButton: () => {
|
94
|
+
toolSettingsComponent.okButton()
|
95
|
+
.click();
|
90
96
|
}
|
91
97
|
}
|
92
98
|
|
@@ -6,6 +6,7 @@ const css = Cypress.env('css');
|
|
6
6
|
const selectors = {
|
7
7
|
...commonComponents,
|
8
8
|
...createQuestionBasePage,
|
9
|
+
...createItemPage,
|
9
10
|
headerLabel: () => cy.get('[class*="ContentBlocksstyles__LabelContent"]'),
|
10
11
|
titleLabel: () => cy.get('.inline-text-property-label').eq(0),
|
11
12
|
titleInputField: () => cy.get('.input-field input').eq(0),
|
@@ -591,10 +592,25 @@ const steps = {
|
|
591
592
|
.within(() => {
|
592
593
|
utilities.verifyInnerText(createItemPage.questionTitle().eq(questionIndex), questionTitle);
|
593
594
|
utilities.verifyElementVisibilityState(createItemPage.questionTitle().eq(questionIndex), 'visible');
|
594
|
-
utilities.verifyInnerText(contentBlocksPage.contentWrapperPreviewTab()
|
595
|
-
utilities.verifyElementVisibilityState(contentBlocksPage.contentWrapperPreviewTab()
|
595
|
+
utilities.verifyInnerText(contentBlocksPage.contentWrapperPreviewTab(), questionInstructions);
|
596
|
+
utilities.verifyElementVisibilityState(contentBlocksPage.contentWrapperPreviewTab(), 'visible');
|
596
597
|
});
|
597
598
|
},
|
599
|
+
|
600
|
+
/**
|
601
|
+
* @param {number} panel denotes panel number
|
602
|
+
* @param {string} questionInstruction denotes question instruction
|
603
|
+
* @description verify question content
|
604
|
+
*/
|
605
|
+
verifyContentBlockContentsPreviewPreviewTab: ({ questionInstructions, panel = 0 }) => {
|
606
|
+
createItemPage.panelWrapper()
|
607
|
+
.eq(panel)
|
608
|
+
.within(() => {
|
609
|
+
utilities.verifyElementVisibilityState(createItemPage.questionTitle(), 'notExist');
|
610
|
+
utilities.verifyInnerText(contentBlocksPage.contentWrapperPreviewTab(), questionInstructions);
|
611
|
+
utilities.verifyElementVisibilityState(contentBlocksPage.contentWrapperPreviewTab(), 'visible');
|
612
|
+
});
|
613
|
+
}
|
598
614
|
}
|
599
615
|
|
600
616
|
export const contentBlocksPage = {
|
@@ -21,6 +21,7 @@ const selectors = {
|
|
21
21
|
rowQuestionWrapper: () => cy.get('[class*="Widgetstyles__RowWrapper"]'),
|
22
22
|
columnQuestionWrapper: () => cy.get('[class*="ColumnComponentstyles__WidgetsWrapper"]'),
|
23
23
|
panelWrapper: () => cy.get('.column-tab-without-scroll'),
|
24
|
+
itemContainer: () => cy.get('.item-layout-columns-wrapper-without-scroll'),
|
24
25
|
questionTitle: () => cy.get('.question-type-text'),
|
25
26
|
sectionsTitleWrapper: () => cy.get('[class*="TabsComponentstyles__TabListWrapper"]'),
|
26
27
|
sectionsTitleBoxWrapper: () => cy.get('[class*="TabsComponentstyles__TabListWrapper"] .ngie-tablist-box-wrapper'),
|
@@ -29,6 +30,7 @@ const selectors = {
|
|
29
30
|
selectedSectionUnderline: () => cy.get('[class*="MuiTabs-indicator"]').eq(1),
|
30
31
|
sectionsNumber1Label: () => cy.get('.tablist-numbered-label').eq(0),
|
31
32
|
sectionsNumber2Label: () => cy.get('.tablist-numbered-label').eq(1),
|
33
|
+
noPreviewText: () => cy.get('[class*="__NoPreview"]')
|
32
34
|
}
|
33
35
|
|
34
36
|
const steps = {
|
@@ -166,22 +168,39 @@ const steps = {
|
|
166
168
|
.click();
|
167
169
|
},
|
168
170
|
|
171
|
+
/**
|
172
|
+
* @param {number} panel denotes panel number
|
173
|
+
* @param {number} questionNumber denotes question number
|
174
|
+
* @param {string} questionTitle denotes question title
|
175
|
+
* @param {string} questionInstruction denotes question instruction
|
176
|
+
* @description verify question content
|
177
|
+
*/
|
178
|
+
verifyBasicQuestionContentsPreview: ({ questionIndex, questionTitle, questionInstructions, panel = 0 }) => {
|
179
|
+
createItemPage.panelWrapper()
|
180
|
+
.eq(panel)
|
181
|
+
.within(() => {
|
182
|
+
utilities.verifyInnerText(createItemPage.questionTitle().eq(questionIndex), questionTitle);
|
183
|
+
utilities.verifyElementVisibilityState(createItemPage.questionTitle().eq(questionIndex), 'visible');
|
184
|
+
utilities.verifyInnerText(questionInstructionsComponent.questionInstructionsText().eq(questionIndex), questionInstructions);
|
185
|
+
utilities.verifyElementVisibilityState(questionInstructionsComponent.questionInstructionsText().eq(questionIndex), 'exist');
|
186
|
+
});
|
187
|
+
},
|
188
|
+
|
169
189
|
/**
|
170
190
|
* @param {number} panel denotes panel number
|
171
|
-
* @param {number}
|
172
|
-
* @param {string}
|
191
|
+
* @param {number} questionIndex denotes question number
|
192
|
+
* @param {string} totalPoints denotes total points
|
173
193
|
* @param {string} questionInstruction denotes question instruction
|
174
194
|
* @description verify question content
|
175
195
|
*/
|
176
196
|
|
177
|
-
|
197
|
+
verifyBasicQuestionContentsPreviewPreviewTab: ({ questionIndex, questionInstructions, panel = 0 }) => {
|
178
198
|
createItemPage.panelWrapper()
|
179
199
|
.eq(panel)
|
180
200
|
.within(() => {
|
181
|
-
utilities.
|
182
|
-
utilities.verifyElementVisibilityState(createItemPage.questionTitle().eq(questionIndex), 'visible');
|
201
|
+
utilities.verifyElementVisibilityState(createItemPage.questionTitle(), 'notExist');
|
183
202
|
utilities.verifyInnerText(questionInstructionsComponent.questionInstructionsText().eq(questionIndex), questionInstructions);
|
184
|
-
utilities.verifyElementVisibilityState(questionInstructionsComponent.questionInstructionsText().eq(questionIndex), '
|
203
|
+
utilities.verifyElementVisibilityState(questionInstructionsComponent.questionInstructionsText().eq(questionIndex), 'exist');
|
185
204
|
});
|
186
205
|
},
|
187
206
|
|
@@ -433,9 +452,9 @@ const steps = {
|
|
433
452
|
|
434
453
|
verifyNumberedSectionNavigationStyle: () => {
|
435
454
|
utilities.verifyInnerText(createItemPage.sectionsNumber1Label(), '1');
|
436
|
-
utilities.verifyElementVisibilityState(createItemPage.sectionsNumber1Label(), '
|
455
|
+
utilities.verifyElementVisibilityState(createItemPage.sectionsNumber1Label(), 'exist');
|
437
456
|
utilities.verifyInnerText(createItemPage.sectionsNumber2Label(), '2');
|
438
|
-
utilities.verifyElementVisibilityState(createItemPage.sectionsNumber2Label(), '
|
457
|
+
utilities.verifyElementVisibilityState(createItemPage.sectionsNumber2Label(), 'exist');
|
439
458
|
},
|
440
459
|
|
441
460
|
/**
|
@@ -504,7 +523,55 @@ const steps = {
|
|
504
523
|
});
|
505
524
|
},
|
506
525
|
|
526
|
+
/**
|
527
|
+
* This function verifies the Panel width is half of the item width
|
528
|
+
* @param {number} panelIndex index of the panel
|
529
|
+
*/
|
530
|
+
verifyPanelWidthIsHalfOfItemWidth: (panelIndex) => {
|
531
|
+
createItemPage.itemContainer()
|
532
|
+
.then(($el) => {
|
533
|
+
const itemWidth = $el[0].clientWidth;
|
534
|
+
const expectedPanelWidth = itemWidth / 2
|
535
|
+
createItemPage.panelWrapper()
|
536
|
+
.eq(panelIndex)
|
537
|
+
.then(($el) => {
|
538
|
+
const panelWidth = $el[0].clientWidth;
|
539
|
+
expect(expectedPanelWidth).to.be.closeTo(Math.floor(panelWidth), 1);
|
540
|
+
});
|
541
|
+
});
|
542
|
+
},
|
507
543
|
|
544
|
+
verifyPanelWidthEqualToItemWidth: () => {
|
545
|
+
createItemPage.itemContainer()
|
546
|
+
.then(($el) => {
|
547
|
+
const itemWidth = $el[0].clientWidth;
|
548
|
+
createItemPage.panelWrapper()
|
549
|
+
.then(($el) => {
|
550
|
+
const panelWidth = $el[0].clientWidth;
|
551
|
+
expect(itemWidth).to.be.eq(panelWidth);
|
552
|
+
});
|
553
|
+
});
|
554
|
+
},
|
555
|
+
|
556
|
+
verifyPanelWidthAndSectionWidthEqualToItemWidth: () => {
|
557
|
+
createItemPage.itemContainer()
|
558
|
+
.then(($item) => {
|
559
|
+
const itemWidth = $item[0].clientWidth;
|
560
|
+
let panelWidth = 0;
|
561
|
+
let sectionWidth = 0;
|
562
|
+
cy.get('[class*="ColumnComponentstyles__TabsComponentWrapper"]')
|
563
|
+
.then(($section) => {
|
564
|
+
sectionWidth = $section[0].clientWidth;
|
565
|
+
})
|
566
|
+
cy.get('[class*="ColumnComponentstyles__WidgetsWrapper"]')
|
567
|
+
.then(($panelWidth) => {
|
568
|
+
panelWidth = $panelWidth[0].clientWidth;
|
569
|
+
})
|
570
|
+
.then(() => {
|
571
|
+
expect(panelWidth + sectionWidth).to.be.closeTo(itemWidth, 1);
|
572
|
+
});
|
573
|
+
});
|
574
|
+
}
|
508
575
|
}
|
509
576
|
|
510
577
|
export const createItemPage = {
|
@@ -6,8 +6,8 @@ const selectors = {
|
|
6
6
|
dialogBox: () => cy.get('[aria-labelledby="alert-dialog-title"]'),
|
7
7
|
dialogBoxTitle: () => cy.get('.dialog-title'),
|
8
8
|
dialogBoxContent: () => cy.get('[class*="dialog-content"]'),
|
9
|
-
buttonReject: () => cy.get('
|
10
|
-
buttonAccept: () => cy.get('
|
9
|
+
buttonReject: () => cy.get('[data-testid="reject-button"]'),
|
10
|
+
buttonAccept: () => cy.get('[data-testid="accept-button"]'),
|
11
11
|
buttonClose: () => cy.get('[aria-label="CLOSE"]')
|
12
12
|
}
|
13
13
|
|
@@ -59,8 +59,8 @@ const selectors = {
|
|
59
59
|
}
|
60
60
|
},
|
61
61
|
previewTabToolbarOptionTooltip: () => cy.get('.edit-question-preview-wrapper [role="tooltip"][class*="Tooltipstyles__TooltipContent"]'),
|
62
|
-
previewTabLowerCanvas: () => cy.get('.
|
63
|
-
previewTabUpperCanvas: () => cy.get('.
|
62
|
+
previewTabLowerCanvas: () => cy.get('.question-preview-wrapper .lower-canvas'),
|
63
|
+
previewTabUpperCanvas: () => cy.get('.question-preview-wrapper .upper-canvas'),
|
64
64
|
previewTabSecondaryToolbarOptionLabel: () => cy.get('.edit-question-preview-wrapper .drawing-tool__secondary-toolbar__tool-name'),
|
65
65
|
previewTabSecondaryToolbarOption: (ariaLabel = null) => {
|
66
66
|
if (ariaLabel) {
|
@@ -198,7 +198,7 @@ const selectors = {
|
|
198
198
|
editTabColorPickerPopupOpacityPalette: () => cy.get('.react-colorful__last-control .react-colorful__interactive'),
|
199
199
|
editTabColorPickerPopupOpacityPicker: () => cy.get('.react-colorful__last-control .react-colorful__pointer'),
|
200
200
|
editTabColorPickerPopupCancelButton: () => cy.get('.compact-popup-action-button-wrapper button').eq(0),
|
201
|
-
editTabColorPickerPopupOkButton: () => cy.get('.compact-popup-action-button-wrapper button').eq(
|
201
|
+
editTabColorPickerPopupOkButton: () => cy.get('.compact-popup-action-button-wrapper button').eq(1),
|
202
202
|
|
203
203
|
//TODO: Student view: Need to remove once https://redmine.zeuslearning.com/issues/556302 is fixed
|
204
204
|
studentAndGradingViewDrawingToolbarOption: (drawingOption = null) => {
|
@@ -208,7 +208,8 @@ const selectors = {
|
|
208
208
|
return cy.get('.drawing-tool__button')
|
209
209
|
}
|
210
210
|
},
|
211
|
-
studentViewUpperCanvas: () => cy.get('.upper-canvas').eq(0)
|
211
|
+
studentViewUpperCanvas: () => cy.get('.upper-canvas').eq(0),
|
212
|
+
gradingViewPlayFeatureButton: () => cy.get('[class*="DrawingResponsePreviewstyles__PlayBtnWrapper"] button')
|
212
213
|
}
|
213
214
|
|
214
215
|
const steps = {
|
@@ -1225,6 +1226,25 @@ const steps = {
|
|
1225
1226
|
});
|
1226
1227
|
});
|
1227
1228
|
},
|
1229
|
+
|
1230
|
+
/**
|
1231
|
+
* This function sets basic question and saves it
|
1232
|
+
* @param {string} inputQuestion input for the question instruction
|
1233
|
+
* @param {number} points for the question
|
1234
|
+
*/
|
1235
|
+
createBasicDrawingResponseQuestion: (inputQuestion, points) => {
|
1236
|
+
drawingResponsePage.questionInstructionsInputField()
|
1237
|
+
.type(inputQuestion);
|
1238
|
+
drawingResponsePage.pointsInputField()
|
1239
|
+
.type(points);
|
1240
|
+
drawingResponsePage.saveQuestionButton()
|
1241
|
+
.click();
|
1242
|
+
},
|
1243
|
+
|
1244
|
+
clickOnPlayButtonInGradingView: () => {
|
1245
|
+
drawingResponsePage.gradingViewPlayFeatureButton()
|
1246
|
+
.click();
|
1247
|
+
}
|
1228
1248
|
}
|
1229
1249
|
|
1230
1250
|
const tests = {
|
@@ -1,11 +1,13 @@
|
|
1
1
|
import { additionalSettingsPanel, commonComponents, createQuestionBasePage, questionInstructionsComponent, autoScoredScoringPreviewTab, studentViewSettingsLabelComponent } from "./components"
|
2
2
|
import utilities from "../support/helpers/utilities";
|
3
|
+
import { selectQuestionResourceToolPage } from "./selectQuestionResourceToolPage";
|
3
4
|
const css = Cypress.env('css');
|
4
5
|
|
5
6
|
const selectors = {
|
6
7
|
...questionInstructionsComponent,
|
7
8
|
...commonComponents,
|
8
9
|
...additionalSettingsPanel,
|
10
|
+
...selectQuestionResourceToolPage,
|
9
11
|
specifyFeedbackScaleOptionsLabel: () => cy.get('[class*="FeedbackScalestyles__SpecifyFeedbackLabel"]'),
|
10
12
|
feedbackScaleStyleDropdownLabel: () => cy.get('#feedback-scale-style-dropdown-label'),
|
11
13
|
feedbackScaleStyleDropdown: () => cy.get('#feedback-scale-style-select'),
|
@@ -103,6 +105,7 @@ const steps = {
|
|
103
105
|
...additionalSettingsPanel.steps,
|
104
106
|
...questionInstructionsComponent.steps,
|
105
107
|
...autoScoredScoringPreviewTab.steps,
|
108
|
+
...selectQuestionResourceToolPage.steps,
|
106
109
|
/**
|
107
110
|
* Adds legend text to a specific option in the Legend Text accordion.
|
108
111
|
* @param {number} optionIndex - The index of the option in the Legend Text accordion.
|
@@ -1554,7 +1554,7 @@ const steps = {
|
|
1554
1554
|
*/
|
1555
1555
|
selectGraphToolOptionPreviewTab: (toolOption) => {
|
1556
1556
|
graphingPage.graphToolOptionPreviewTab(toolOption)
|
1557
|
-
.
|
1557
|
+
.dblclick();
|
1558
1558
|
},
|
1559
1559
|
|
1560
1560
|
/**
|
@@ -1664,6 +1664,24 @@ const steps = {
|
|
1664
1664
|
|
1665
1665
|
verifyCorrectAnswerSectionNotExist: () => {
|
1666
1666
|
utilities.verifyElementVisibilityState(utilities.getNthElement(graphingPage.graphCorrectAnswerSection(), 1), 'notExist');
|
1667
|
+
},
|
1668
|
+
|
1669
|
+
/**
|
1670
|
+
* This function sets basic question and saves it
|
1671
|
+
* @param {string} inputQuestion input for the question instruction
|
1672
|
+
* @param {number} points for the question
|
1673
|
+
*/
|
1674
|
+
createBasicGraphingResponseQuestion: (inputQuestion, points) => {
|
1675
|
+
graphingPage.questionInstructionsInputField()
|
1676
|
+
.type(inputQuestion);
|
1677
|
+
graphingPage.pointsInputField()
|
1678
|
+
.type(points);
|
1679
|
+
graphingPage.steps.selectGraphToolOptionEditTab('Line');
|
1680
|
+
graphingPage.steps.plotPointsOnGraphEditTab([{ x: 2, xRange: 20, y: 1, yRange: 20 }, { x: 2, xRange: 20, y: -5, yRange: 20 }]);
|
1681
|
+
graphingPage.steps.selectGraphToolOptionSpecifyCorrectAnswer('Line');
|
1682
|
+
graphingPage.steps.plotPointsOnGraphSpecifyCorrectAnswerSection([{ x: -4, xRange: 20, y: 0, yRange: 20 }, { x: 0, xRange: 20, y: 4, yRange: 20 }]);
|
1683
|
+
graphingPage.saveQuestionButton()
|
1684
|
+
.click();
|
1667
1685
|
}
|
1668
1686
|
}
|
1669
1687
|
|
@@ -31,6 +31,7 @@ const selectors = {
|
|
31
31
|
makeResponsiveCheckbox: () => cy.get('.mobile-responsive-wrapper input'),
|
32
32
|
makeResponsiveCheckboxIcon: () => cy.get('.mobile-responsive-wrapper .MuiSwitch-thumb'),
|
33
33
|
whatIsThisLabel: () => cy.get('.what-is-wrapper [class*="StyledLink"]'),
|
34
|
+
makeResponsiveHelpText: () => cy.get('[class*="WhatIsThisDescriptionWrapper"]'),
|
34
35
|
columnsInputField: () => cy.get('[class*="GridFillstyles__RowsColWrapper"] .input-stepper-textfield').eq(0),
|
35
36
|
columnsLabel: () => cy.get('[class*="GridFillstyles__RowsColWrapper"] [class*="GridFillstyles__CanvasInputLabelWrapper"]').eq(0),
|
36
37
|
columnsIncreaseButton: () => cy.get('[class*="GridFillstyles__RowsColWrapper"] [aria-label="Increase count"]').eq(0),
|
@@ -479,10 +480,10 @@ const steps = {
|
|
479
480
|
.click()
|
480
481
|
.invoke('attr', 'aria-label')
|
481
482
|
.should('include', 'Hide cell');
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
483
|
+
utilities.getNthElement(gridFillPage.cellInCustomizeLayout(), columnIndex)
|
484
|
+
.within(() => {
|
485
|
+
utilities.verifyElementVisibilityState(gridFillPage.hiddenCellIcon(), 'exist');
|
486
|
+
});
|
486
487
|
});
|
487
488
|
},
|
488
489
|
|
@@ -787,7 +788,7 @@ const steps = {
|
|
787
788
|
const element = $element[0];
|
788
789
|
const pseudoStyle = win.getComputedStyle(element, '::after');
|
789
790
|
const pseudoBackgroundColor = pseudoStyle.getPropertyValue('background-color');
|
790
|
-
expect(pseudoBackgroundColor).to.equal(css.color.
|
791
|
+
expect(pseudoBackgroundColor).to.equal(css.color.titleContainerBorder);
|
791
792
|
});
|
792
793
|
});
|
793
794
|
});
|
@@ -954,7 +955,11 @@ const steps = {
|
|
954
955
|
* @param {number} lengthRows - The expected count of rows.
|
955
956
|
*/
|
956
957
|
verifyRowsCountPreviewTab: (lengthRows) => {
|
957
|
-
|
958
|
+
gridFillPage.gridWrapperPreviewTab()
|
959
|
+
.eq(0)
|
960
|
+
.within(() => {
|
961
|
+
utilities.verifyElementCount(gridFillPage.rowsWrapperPreviewTab(), lengthRows);
|
962
|
+
});
|
958
963
|
},
|
959
964
|
|
960
965
|
/**
|
@@ -968,6 +973,18 @@ const steps = {
|
|
968
973
|
});
|
969
974
|
},
|
970
975
|
|
976
|
+
/**
|
977
|
+
* @description Verifies the count of cells in a grid in the preview tab.
|
978
|
+
* @param {number} expectedCount - The expected count of cells in the grid.
|
979
|
+
*/
|
980
|
+
getCellCountInGridPreviewTab: (expectedCount) => {
|
981
|
+
gridFillPage.gridWrapperPreviewTab()
|
982
|
+
.eq(0)
|
983
|
+
.within(() => {
|
984
|
+
utilities.verifyElementCount(gridFillPage.cellInPreviewTab(), expectedCount);
|
985
|
+
});
|
986
|
+
},
|
987
|
+
|
971
988
|
expandOpenTheGridSelectorDropdown: () => {
|
972
989
|
gridFillPage.openTheGridSelectorDropdownButton()
|
973
990
|
.click()
|
@@ -2985,8 +3002,8 @@ const tests = {
|
|
2985
3002
|
commonComponents.steps.verifyErrorMessageIsNotDisplayed();
|
2986
3003
|
});
|
2987
3004
|
|
2988
|
-
it(`\'
|
2989
|
-
utilities.verifyInnerText(gridFillPage.matchExactPositionLabel(), '
|
3005
|
+
it(`\'Match exact position of cells\' label and checkbox should be displayed in the ${accordionName} accordion and the checkbox should be checked`, () => {
|
3006
|
+
utilities.verifyInnerText(gridFillPage.matchExactPositionLabel(), 'Match exact position of cells');
|
2990
3007
|
utilities.verifyElementVisibilityState(gridFillPage.matchExactPositionLabel(), 'visible');
|
2991
3008
|
utilities.verifyElementVisibilityState(gridFillPage.matchExactPositionCheckbox(), 'exist');
|
2992
3009
|
gridFillPage.steps.verifyMatchExactPositionOfCellsCheckboxIsChecked();
|
package/cypress/pages/index.js
CHANGED
@@ -47,4 +47,5 @@ export * from './geoGebraToolsPage';
|
|
47
47
|
export * from './matchingPage';
|
48
48
|
export * from './brainingCampManipulativePage';
|
49
49
|
export * from './numberLinePage';
|
50
|
-
export * from './textSelectionPage';
|
50
|
+
export * from './textSelectionPage';
|
51
|
+
export * from './numberLineLabelPage';
|
@@ -7,6 +7,8 @@ import { scoringSectionBase } from "./components";
|
|
7
7
|
import { questionInstructionsComponent } from "./components";
|
8
8
|
import { contentBlocksPage } from "./contentBlocksPage";
|
9
9
|
import { createQuestionBasePage } from "./components";
|
10
|
+
import { graphingPage } from "./graphingPage";
|
11
|
+
import { drawingResponsePage } from "./drawingResponsePage";
|
10
12
|
|
11
13
|
const selectors = {
|
12
14
|
...createItemPage,
|
@@ -105,6 +107,8 @@ const steps = {
|
|
105
107
|
...scoringSectionBase.steps,
|
106
108
|
...questionInstructionsComponent.steps,
|
107
109
|
...selectQuestionResourceToolPage.steps,
|
110
|
+
...graphingPage.steps,
|
111
|
+
...drawingResponsePage.steps,
|
108
112
|
|
109
113
|
verifyEnableSideBySidePanelsCheckboxUnchecked: () => {
|
110
114
|
itemPreviewSettingsPage.enableSideBySidePanelsCheckbox()
|