itemengine-cypress-automation 1.0.166-migrationScripts-b8c79a0.0 → 1.0.166
Sign up to get free protection for your applications and to get access to all the features.
- 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/cypress/support/migrationHelpers/extractLrnQuestionData.js +3 -12
- package/cypress/support/migrationHelpers/lrnQestionTypesENUM.js +0 -1
- package/cypress/support/migrationHelpers/migrationScript.js +0 -10
- package/cypress/support/migrationHelpers/verifyIeQuestionData.js +0 -8
- package/package.json +2 -2
@@ -175,7 +175,7 @@ describe('Create item page - Drag and drop into categories: All or nothing ', ()
|
|
175
175
|
dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bat'], ['Eagle', 'Parrot'], ['Platypus'], ['Ostrich'], ['Whale']], ['1', '2', '3', '4', '5']);
|
176
176
|
});
|
177
177
|
|
178
|
-
it('When the user attempts the question partially correct with all the cells correctly attempted but with an extra option which is not set as correct answer, then the user should be awarded 0 points and on switching to \'Grading\' view, correct icon should be displayed besides the correct answer responses, incorrect icon should be displayed besides incorrect answer response, a status message with text \'Your answer is incorrect\' and correct answer section should
|
178
|
+
it('When the user attempts the question partially correct with all the cells correctly attempted but with an extra option which is not set as correct answer, then the user should be awarded 0 points and on switching to \'Grading\' view, correct icon should be displayed besides the correct answer responses, incorrect icon should be displayed besides incorrect answer response, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers along with dropzone cell numeration should be displayed', () => {
|
179
179
|
if (view === 'Grading view') {
|
180
180
|
studentViewPage.steps.clearResponses();
|
181
181
|
};
|
@@ -198,7 +198,7 @@ describe('Create item page - Drag and drop into categories: All or nothing ', ()
|
|
198
198
|
dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(5);
|
199
199
|
dragAndDropIntoCategoriesPage.steps.verifyIncorrectOptionIcon(6);
|
200
200
|
dragAndDropIntoCategoriesPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
201
|
-
dragAndDropIntoCategoriesPage.steps.
|
201
|
+
dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bat'], ['Eagle', 'Parrot'], ['Platypus'], ['Ostrich'], ['Whale']], ['1', '2', '3', '4', '5']);
|
202
202
|
});
|
203
203
|
|
204
204
|
it('When user attempts the question correctly, the user should be awarded full points and on switching to \'Grading\' view, then correct icons should be displayed beside all the correct responses, correct icon should be displayed besides the correct answer responses, a status message with text \'Your answer is correct\' and correct answer section should not be displayed', () => {
|
@@ -84,7 +84,7 @@ describe('Create Item Page: Drag and drop into categories: Click and drop cases
|
|
84
84
|
dragAndDropIntoCategoriesPage.steps.verifyInactiveStateOfAllDropzonesInSpecifyCorrectAnswerSection();
|
85
85
|
});
|
86
86
|
|
87
|
-
it('When the user drops an option in one of the dropzone cells, the option should get removed from the
|
87
|
+
it('When the user drops an option in one of the dropzone cells, the option should get removed from the options container, the dropzone cell should get filled with that option and the other dropzone cells should return to inactive state', () => {
|
88
88
|
dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzoneSpecifyCorrectAnswerSection({ 'Bat': 0 });
|
89
89
|
dragAndDropIntoCategoriesPage.steps.verifyDraggableOptionInDropzoneCellOfSpecifyCorrectAnswerSection(0, ['Bat']);
|
90
90
|
dragAndDropIntoCategoriesPage.steps.verifyDraggableOptionInOptionsContainerSpecifyCorrectAnswerSection(['Eagle', 'Parrot', 'Whale']);
|
@@ -122,7 +122,7 @@ describe('Create Item Page: Drag and drop into categories: Click and drop cases
|
|
122
122
|
dragAndDropIntoCategoriesPage.steps.verifyDraggableOptionInOptionsContainerSpecifyCorrectAnswerSection(['Parrot', 'Whale']);
|
123
123
|
});
|
124
124
|
|
125
|
-
it('When the user selects an option from the filled dropzone cell, the
|
125
|
+
it('When the user selects an option from the filled dropzone cell, the options container as well as all dropzone cells should get active for dropping the option', () => {
|
126
126
|
dragAndDropIntoCategoriesPage.steps.clickOnDraggableOptionInDropzoneCellOfSpecifyCorrectAnswerSection('Bat', 0);
|
127
127
|
dragAndDropIntoCategoriesPage.steps.verifyActiveStateOfDraggableOptionsContainerInSpecifyCorrectAnswerSection();
|
128
128
|
dragAndDropIntoCategoriesPage.steps.verifyActiveStateOfAllDropzonesInSpecifyCorrectAnswerSection();
|
@@ -149,7 +149,7 @@ describe('Create Item Page: Drag and drop into categories: Click and drop cases
|
|
149
149
|
dragAndDropIntoCategoriesPage.steps.verifyInactiveStateOfAllDropzonesInSpecifyCorrectAnswerSection();
|
150
150
|
});
|
151
151
|
|
152
|
-
it('When the user selects a filled option and clicks in the
|
152
|
+
it('When the user selects a filled option and clicks in the options container, the selected option should get back in the options container and \'Error: Please set a correct answer\' error message should be displayed', () => {
|
153
153
|
dragAndDropIntoCategoriesPage.steps.clickAndDropOptionFromDropzoneToOptionContainerSpecifyCorrectAnswerSection('Bat');
|
154
154
|
dragAndDropIntoCategoriesPage.steps.clickAndDropOptionFromDropzoneToOptionContainerSpecifyCorrectAnswerSection('Eagle');
|
155
155
|
dragAndDropIntoCategoriesPage.steps.verifyDraggableOptionInOptionsContainerSpecifyCorrectAnswerSection(['Bat', 'Eagle', 'Parrot', 'Whale']);
|
@@ -253,7 +253,7 @@ describe('Create Item Page: Drag and drop into categories: Click and drop cases
|
|
253
253
|
dragAndDropIntoCategoriesPage.steps.verifyInactiveStateOfAllDropzonesInPreviewTab();
|
254
254
|
});
|
255
255
|
|
256
|
-
it('When the user drops an option in one of the dropzone cells, the option should get removed from the
|
256
|
+
it('When the user drops an option in one of the dropzone cells, the option should get removed from the options container, the dropzone cell should get filled with that option and the other dropzone cells should return to inactive state', () => {
|
257
257
|
dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Bat': 0 });
|
258
258
|
dragAndDropIntoCategoriesPage.steps.verifyDraggableOptionInDropzoneOfPreviewTab(0, ['Bat']);
|
259
259
|
dragAndDropIntoCategoriesPage.steps.verifyDraggableOptionsInOptionsContainerPreviewTab(['Eagle', 'Parrot', 'Whale']);
|
@@ -291,7 +291,7 @@ describe('Create Item Page: Drag and drop into categories: Click and drop cases
|
|
291
291
|
dragAndDropIntoCategoriesPage.steps.verifyDraggableOptionsInOptionsContainerPreviewTab(['Parrot', 'Whale']);
|
292
292
|
});
|
293
293
|
|
294
|
-
it('When the user selects an option from the filled dropzone cell, the
|
294
|
+
it('When the user selects an option from the filled dropzone cell, the options container as well as all dropzone cells should get active for dropping the option', () => {
|
295
295
|
dragAndDropIntoCategoriesPage.steps.clickOnDraggableOptionInDropzoneCellOfPreviewTab('Bat', 0);
|
296
296
|
dragAndDropIntoCategoriesPage.steps.verifyActiveStateOfDraggableOptionsContainerInPreviewTab();
|
297
297
|
dragAndDropIntoCategoriesPage.steps.verifyActiveStateOfAllDropzonesInPreviewTab();
|
@@ -324,6 +324,11 @@ describe('Create Item Page: Drag and drop into categories: Click and drop cases
|
|
324
324
|
dragAndDropIntoCategoriesPage.steps.verifyDraggableOptionInDropzoneOfPreviewTab(0, ['Eagle']);
|
325
325
|
dragAndDropIntoCategoriesPage.steps.verifyDraggableOptionInDropzoneOfPreviewTab(1, ['Bat']);
|
326
326
|
});
|
327
|
+
|
328
|
+
it('When the user selects a filled option and clicks in the options container, the selected option should get back in the options container', () => {
|
329
|
+
dragAndDropIntoCategoriesPage.steps.clickAndDropOptionFromDropzoneToOptionContainerPreviewTab('Eagle', 0);
|
330
|
+
dragAndDropIntoCategoriesPage.steps.verifyDraggableOptionsInOptionsContainerPreviewTab(['Whale', 'Platypus', 'Eagle']);
|
331
|
+
});
|
327
332
|
});
|
328
333
|
|
329
334
|
describe('Click and drop cases for \'Grouped\' response options layout in \'Specify correct answer\' section', () => {
|
@@ -403,7 +408,7 @@ describe('Create Item Page: Drag and drop into categories: Click and drop cases
|
|
403
408
|
dragAndDropIntoCategoriesPage.steps.verifyInactiveStateOfAllDropzonesInSpecifyCorrectAnswerSection();
|
404
409
|
});
|
405
410
|
|
406
|
-
it('When the user drops an option in one of the dropzone cells, the option should get removed from the respective group of the
|
411
|
+
it('When the user drops an option in one of the dropzone cells, the option should get removed from the respective group of the options container, the dropzone cell should get filled with that option and the other dropzone cells should return to inactive state', () => {
|
407
412
|
dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzoneSpecifyCorrectAnswerSection({ 'Bat': 0 });
|
408
413
|
dragAndDropIntoCategoriesPage.steps.verifyDraggableOptionInDropzoneCellOfSpecifyCorrectAnswerSection(0, ['Bat']);
|
409
414
|
dragAndDropIntoCategoriesPage.steps.verifyGroupedContainerContentsInSpecifyCorrectAnswerSection(0, ['Eagle', 'Whale', 'Platypus']);
|
@@ -442,7 +447,7 @@ describe('Create Item Page: Drag and drop into categories: Click and drop cases
|
|
442
447
|
dragAndDropIntoCategoriesPage.steps.verifyGroupedContainerContentsInSpecifyCorrectAnswerSection(0, ['Whale', 'Platypus']);
|
443
448
|
});
|
444
449
|
|
445
|
-
it('When the user selects an option from the filled dropzone cell, the
|
450
|
+
it('When the user selects an option from the filled dropzone cell, the options container as well as all dropzone cells should get active for dropping the option', () => {
|
446
451
|
dragAndDropIntoCategoriesPage.steps.clickOnDraggableOptionInDropzoneCellOfSpecifyCorrectAnswerSection('Bat', 0);
|
447
452
|
dragAndDropIntoCategoriesPage.steps.verifyActiveStateOfDraggableOptionsContainerInSpecifyCorrectAnswerSection();
|
448
453
|
dragAndDropIntoCategoriesPage.steps.verifyActiveStateOfAllDropzonesInSpecifyCorrectAnswerSection();
|
@@ -469,7 +474,7 @@ describe('Create Item Page: Drag and drop into categories: Click and drop cases
|
|
469
474
|
dragAndDropIntoCategoriesPage.steps.verifyInactiveStateOfAllDropzonesInSpecifyCorrectAnswerSection();
|
470
475
|
});
|
471
476
|
|
472
|
-
it('When the user selects a filled option and clicks in the
|
477
|
+
it('When the user selects a filled option and clicks in the options container, the selected option should get back in the options container and \'Error: Please set a correct answer\' error message should be displayed', () => {
|
473
478
|
dragAndDropIntoCategoriesPage.steps.clickAndDropOptionFromDropzoneToOptionContainerSpecifyCorrectAnswerSection('Bat');
|
474
479
|
dragAndDropIntoCategoriesPage.steps.clickAndDropOptionFromDropzoneToOptionContainerSpecifyCorrectAnswerSection('Eagle');
|
475
480
|
dragAndDropIntoCategoriesPage.steps.verifyGroupedContainerContentsInSpecifyCorrectAnswerSection(0, groupedOptions[0]);
|
@@ -583,7 +588,7 @@ describe('Create Item Page: Drag and drop into categories: Click and drop cases
|
|
583
588
|
dragAndDropIntoCategoriesPage.steps.verifyInactiveStateOfAllDropzonesInPreviewTab();
|
584
589
|
});
|
585
590
|
|
586
|
-
it('When the user drops an option in one of the dropzone cells, the option should get removed from the respective group of the
|
591
|
+
it('When the user drops an option in one of the dropzone cells, the option should get removed from the respective group of the options container, the dropzone cell should get filled with that option and the other dropzone cells should return to inactive state', () => {
|
587
592
|
dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Bat': 0 });
|
588
593
|
dragAndDropIntoCategoriesPage.steps.verifyDraggableOptionInDropzoneOfPreviewTab(0, ['Bat']);
|
589
594
|
dragAndDropIntoCategoriesPage.steps.verifyGroupedContainerContentsInPreviewTab(0, ['Eagle', 'Whale', 'Platypus']);
|
@@ -622,7 +627,7 @@ describe('Create Item Page: Drag and drop into categories: Click and drop cases
|
|
622
627
|
dragAndDropIntoCategoriesPage.steps.verifyGroupedContainerContentsInPreviewTab(0, ['Whale', 'Platypus']);
|
623
628
|
});
|
624
629
|
|
625
|
-
it('When the user selects an option from the filled dropzone cell, the
|
630
|
+
it('When the user selects an option from the filled dropzone cell, the options container as well as all dropzone cells should get active for dropping the option', () => {
|
626
631
|
dragAndDropIntoCategoriesPage.steps.clickOnDraggableOptionInDropzoneCellOfPreviewTab('Bat', 0);
|
627
632
|
dragAndDropIntoCategoriesPage.steps.verifyActiveStateOfDraggableOptionsContainerInPreviewTab();
|
628
633
|
dragAndDropIntoCategoriesPage.steps.verifyActiveStateOfAllDropzonesInPreviewTab(1);
|
@@ -656,8 +661,14 @@ describe('Create Item Page: Drag and drop into categories: Click and drop cases
|
|
656
661
|
dragAndDropIntoCategoriesPage.steps.verifyDraggableOptionInDropzoneOfPreviewTab(1, ['Bat']);
|
657
662
|
});
|
658
663
|
|
664
|
+
it('When the user selects a filled option and clicks in the options container, the selected option should get back in the options container', () => {
|
665
|
+
dragAndDropIntoCategoriesPage.steps.clickAndDropOptionFromDropzoneToOptionContainerPreviewTab('Eagle');
|
666
|
+
dragAndDropIntoCategoriesPage.steps.verifyGroupedContainerContentsInPreviewTab(0, ['Whale', 'Platypus', 'Eagle']);
|
667
|
+
dragAndDropIntoCategoriesPage.steps.verifyGroupedContainerContentsInPreviewTab(1, groupedOptions[1]);
|
668
|
+
});
|
669
|
+
|
659
670
|
it('When user has dropped all the options from a group in the response areas, then empty group should be displayed in the options container', () => {
|
660
|
-
dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Whale': 0, 'Platypus': 1 });
|
671
|
+
dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Whale': 0, 'Platypus': 1, 'Eagle': 0 });
|
661
672
|
dragAndDropIntoCategoriesPage.steps.verifyGroupedOptionsTitlePreviewTab(0, 'Group A')
|
662
673
|
dragAndDropIntoCategoriesPage.steps.verifyEmptyGroupInPreviewTab(0);
|
663
674
|
});
|
@@ -0,0 +1,432 @@
|
|
1
|
+
import abortEarlySetup from "../../../support/helpers/abortEarly";
|
2
|
+
import { essayResponsePage } from "../../../pages";
|
3
|
+
import { ckEditorToolbar } from "../../../pages/components";
|
4
|
+
const css = Cypress.env('css');
|
5
|
+
|
6
|
+
let specialCharacters = [':', ')', '`']
|
7
|
+
describe('Create question page - Essay Response: Additional Settings', () => {
|
8
|
+
before(() => {
|
9
|
+
cy.loginAs('admin');
|
10
|
+
});
|
11
|
+
|
12
|
+
describe('Additional Settings: Predefined text', () => {
|
13
|
+
abortEarlySetup();
|
14
|
+
before(() => {
|
15
|
+
essayResponsePage.steps.navigateToCreateQuestion('essay response');
|
16
|
+
essayResponsePage.steps.setWordLimit(5);
|
17
|
+
essayResponsePage.steps.expandAdditionalSettings();
|
18
|
+
});
|
19
|
+
|
20
|
+
it('\'Predefined text\' label and input field should be displayed and by default, the input field should be empty', () => {
|
21
|
+
essayResponsePage.predefinedTextLabel()
|
22
|
+
.verifyInnerText('Predefined text')
|
23
|
+
essayResponsePage.predefinedTextInputField()
|
24
|
+
.should('have.text', '');
|
25
|
+
});
|
26
|
+
|
27
|
+
it('CSS of \'Predefined text\' section', { tags: 'css' }, () => {
|
28
|
+
essayResponsePage.predefinedTextLabel()
|
29
|
+
.verifyCSS(css.color.labels, css.fontSize.normal, css.fontWeight.semibold);
|
30
|
+
essayResponsePage.predefinedTextInputField()
|
31
|
+
.verifyCSS(css.color.text, css.fontSize.default, css.fontWeight.regular);
|
32
|
+
});
|
33
|
+
|
34
|
+
it('Accessibility of \'Predefined text\' section', { tags: 'css' }, () => {
|
35
|
+
cy.checkAccessibility(essayResponsePage.predefinedTextLabel().parent('[class*="StudentResponseAreaLayoutstyles__StyledDiv"]'));
|
36
|
+
});
|
37
|
+
|
38
|
+
it('The user should be able to add \'Predefined text\' and the \'Predefined text\' added by the user should be displayed in the response field in the preview tab. Also, the word count displayed by default should have value - word count of predefined text/word limit', () => {
|
39
|
+
essayResponsePage.predefinedTextInputField()
|
40
|
+
.type('Lorem Ipsum')
|
41
|
+
.should('have.text', 'Lorem Ipsum');
|
42
|
+
essayResponsePage.steps.switchToPreviewTab();
|
43
|
+
essayResponsePage.responseField()
|
44
|
+
.should('have.text', 'Lorem Ipsum');
|
45
|
+
essayResponsePage.steps.verifyResponseFieldWordCount('2/5');
|
46
|
+
});
|
47
|
+
|
48
|
+
it('The user should not be able to enter words more than the set word limit in the \'Predefined text\' input field', () => {
|
49
|
+
cy.log('Switching to edit tab')
|
50
|
+
essayResponsePage.steps.switchToEditTab()
|
51
|
+
essayResponsePage.predefinedTextInputField()
|
52
|
+
.type(' dolor sit amet c');
|
53
|
+
essayResponsePage.predefinedTextInputField()
|
54
|
+
.should('have.text', 'Lorem Ipsum dolor sit amet\u00a0');
|
55
|
+
});
|
56
|
+
|
57
|
+
it('When the user adds same number of words as the word limit in the \'Predefined text\' input field, \'word limit reached\' warning message should be displayed in the preview tab', () => {
|
58
|
+
essayResponsePage.steps.switchToPreviewTab();
|
59
|
+
essayResponsePage.steps.verifyResponseFieldWordCount('5/5');
|
60
|
+
essayResponsePage.steps.verifyWordLimitReachedWarningMessage();
|
61
|
+
});
|
62
|
+
|
63
|
+
it('The word count should increase/decrease in the preview tab when the user adds/removes some words from predefined text in the response field', () => {
|
64
|
+
cy.log('checking update in word count after removing a word from predefined text')
|
65
|
+
essayResponsePage.responseField()
|
66
|
+
.type('{backspace}{backspace}{backspace}{backspace}{backspace}')
|
67
|
+
.should('have.text', 'Lorem Ipsum dolor sit');
|
68
|
+
essayResponsePage.steps.verifyResponseFieldWordCount('4/5');
|
69
|
+
essayResponsePage.wordLimitReachedWarningMessage()
|
70
|
+
.should('not.exist');
|
71
|
+
cy.log('checking update in word count after adding a word after predefined text')
|
72
|
+
essayResponsePage.responseField()
|
73
|
+
.type(' amet')
|
74
|
+
.should('have.text', 'Lorem Ipsum dolor sit amet');
|
75
|
+
essayResponsePage.steps.verifyResponseFieldWordCount('5/5');
|
76
|
+
});
|
77
|
+
});
|
78
|
+
|
79
|
+
//Failing due to https://redmine.zeuslearning.com/issues/551117
|
80
|
+
describe('Additional Settings: Placeholder text', () => {
|
81
|
+
abortEarlySetup();
|
82
|
+
before(() => {
|
83
|
+
essayResponsePage.steps.navigateToCreateQuestion('essay response');
|
84
|
+
essayResponsePage.steps.setWordLimit(5);
|
85
|
+
essayResponsePage.steps.expandAdditionalSettings();
|
86
|
+
});
|
87
|
+
|
88
|
+
it('CSS of \'Placeholder text\' section', { tags: 'css' }, () => {
|
89
|
+
essayResponsePage.placeholderTextLabel()
|
90
|
+
.verifyCSS(css.color.labels, css.fontSize.normal, css.fontWeight.semibold);
|
91
|
+
essayResponsePage.placeholderTextInputField()
|
92
|
+
.verifyCSS(css.color.text, css.fontSize.default, css.fontWeight.regular);
|
93
|
+
});
|
94
|
+
|
95
|
+
it('Accessibility of \'Placeholder text\' section', { tags: 'a11y' }, () => {
|
96
|
+
cy.checkAccessibility(essayResponsePage.placeholderTextLabel().parent('[class*="StudentResponseAreaLayoutstyles__PlaceHolderWrapper"]'))
|
97
|
+
});
|
98
|
+
|
99
|
+
it('\'Placeholder text\' label and input field should be displayed and by default, the input field should be empty', () => {
|
100
|
+
essayResponsePage.placeholderTextLabel()
|
101
|
+
.verifyInnerText('Placeholder text');
|
102
|
+
essayResponsePage.placeholderTextInputField()
|
103
|
+
.should('have.value', '');
|
104
|
+
});
|
105
|
+
|
106
|
+
it('The user should be able to add \'Placeholder text\' and the \'Placeholder text\' added by the user should be displayed in the response field in the preview tab.', () => {
|
107
|
+
essayResponsePage.placeholderTextInputField()
|
108
|
+
.type('Lorem Ipsum')
|
109
|
+
.should('have.value', 'Lorem Ipsum');
|
110
|
+
essayResponsePage.steps.switchToPreviewTab();
|
111
|
+
essayResponsePage.responseField()
|
112
|
+
.and('have.attr', 'data-cke-editorplaceholder', 'Lorem Ipsum');
|
113
|
+
essayResponsePage.responseFieldWordCount()
|
114
|
+
.should('have.text', '0/5');
|
115
|
+
});
|
116
|
+
|
117
|
+
it('CSS of \'Placeholder text\' in preview tab', { tags: 'css' }, () => {
|
118
|
+
essayResponsePage.responseField()
|
119
|
+
.verifyPseudoClassBeforeProperty('color', css.color.placeholderText);
|
120
|
+
});
|
121
|
+
|
122
|
+
//Comment: The placeholder text is present as a pseudo element, how to check accessibility?
|
123
|
+
it('Accessibility of \'Placeholder text\' in preview tab', { tags: 'a11y' }, () => {
|
124
|
+
});
|
125
|
+
|
126
|
+
it('The word count displayed by default should not consider the word count of placedholder text and the word count displayed should be - 0/*word limit*', () => {
|
127
|
+
essayResponsePage.steps.verifyResponseFieldWordCount('0/5');
|
128
|
+
});
|
129
|
+
|
130
|
+
it('When the user starts typing in the response field in the preview tab, then the placeholder text should disappear', () => {
|
131
|
+
essayResponsePage.steps.enterTextInResponseField('dolor sit amet');
|
132
|
+
essayResponsePage.responseField()
|
133
|
+
.should('not.have.attr', 'data-cke-editorplaceholder');
|
134
|
+
});
|
135
|
+
|
136
|
+
it('When the user clears the entered text in the response field, then the placeholder text should appear again', () => {
|
137
|
+
essayResponsePage.responseField()
|
138
|
+
.clear()
|
139
|
+
.should('not.have.text', 'dolor sit amet')
|
140
|
+
.blur();
|
141
|
+
essayResponsePage.responseField()
|
142
|
+
.and('have.attr', 'data-cke-editorplaceholder', 'Lorem Ipsum');
|
143
|
+
});
|
144
|
+
|
145
|
+
it('When the user has defined both, \'Predefined text\' and \'Placeholder text\', then in the preview tab the placeholder text should not be displayed and the word count displayed should be - word count of predefined text/*word limit*', () => {
|
146
|
+
cy.log('Go to edit tab and define \'Predefined text\'')
|
147
|
+
essayResponsePage.steps.switchToEditTab();
|
148
|
+
essayResponsePage.predefinedTextInputField()
|
149
|
+
.type('Dolor set amet')
|
150
|
+
.should('have.text', 'Dolor set amet');
|
151
|
+
essayResponsePage.steps.switchToPreviewTab();
|
152
|
+
essayResponsePage.responseField()
|
153
|
+
.should('have.text', 'Dolor set amet');
|
154
|
+
essayResponsePage.responseFieldWordCount()
|
155
|
+
.should('have.text', '3/5');
|
156
|
+
})
|
157
|
+
});
|
158
|
+
|
159
|
+
describe('Additional Settings: Minimum height and Maximum height', () => {
|
160
|
+
abortEarlySetup();
|
161
|
+
before(() => {
|
162
|
+
essayResponsePage.steps.navigateToCreateQuestion('essay response');
|
163
|
+
essayResponsePage.steps.expandAdditionalSettings();
|
164
|
+
});
|
165
|
+
|
166
|
+
it('CSS of \'Minimum height\' and \'Maximum height\' section', { tags: 'css' }, () => {
|
167
|
+
essayResponsePage.minHeightLabel()
|
168
|
+
.verifyCSS(css.color.labels, css.fontSize.normal, css.fontWeight.semibold);
|
169
|
+
essayResponsePage.minHeightInputField()
|
170
|
+
.verifyCSS(css.color.text, css.fontSize.default, css.fontWeight.regular);
|
171
|
+
essayResponsePage.maxHeightLabel()
|
172
|
+
.verifyCSS(css.color.labels, css.fontSize.normal, css.fontWeight.semibold);
|
173
|
+
essayResponsePage.maxHeightInputField()
|
174
|
+
.verifyCSS(css.color.text, css.fontSize.default, css.fontWeight.regular);
|
175
|
+
});
|
176
|
+
|
177
|
+
it('Accessibility of \'Minimum height\' and \'Maximum height\' section', { tags: 'a11y' }, () => {
|
178
|
+
cy.checkAccessibility(essayResponsePage.minHeightLabel().parents('[class*="StudentResponseAreaLayoutstyles__SizeWrapper"]'));
|
179
|
+
});
|
180
|
+
|
181
|
+
it('\'Minimum height\' and \'Maximum height\' labels and input fields should be displayed and by default, the input fields should be empty', () => {
|
182
|
+
essayResponsePage.minHeightLabel()
|
183
|
+
.verifyInnerText('Minimum height (px)');
|
184
|
+
essayResponsePage.minHeightInputField()
|
185
|
+
.should('have.value', '');
|
186
|
+
essayResponsePage.maxHeightLabel()
|
187
|
+
.verifyInnerText('Maximum height (px)');
|
188
|
+
essayResponsePage.maxHeightInputField()
|
189
|
+
.should('have.value', '');
|
190
|
+
});
|
191
|
+
|
192
|
+
it('When the input field of \'Minimum height\' is kept empty, the default minimum height of the response field in the preview tab should be 232px', () => {
|
193
|
+
cy.log('Switching to preview tab')
|
194
|
+
essayResponsePage.steps.switchToPreviewTab();
|
195
|
+
essayResponsePage.responseField()
|
196
|
+
.should('have.css', 'min-height', '232px');
|
197
|
+
});
|
198
|
+
|
199
|
+
it('User should be able to add \'Minimum height\' for the response field and in the preview tab the minimum height of the response field should get updated accordingly', () => {
|
200
|
+
cy.log('Switching to edit tab')
|
201
|
+
essayResponsePage.steps.switchToEditTab();
|
202
|
+
essayResponsePage.minHeightInputField()
|
203
|
+
.type(50)
|
204
|
+
.should('have.value', '50');
|
205
|
+
cy.log('Switching to preview tab')
|
206
|
+
essayResponsePage.steps.switchToPreviewTab();
|
207
|
+
essayResponsePage.responseField()
|
208
|
+
.should('have.css', 'min-height', '50px');
|
209
|
+
});
|
210
|
+
|
211
|
+
it('When the user adds \'Maximum height\' for the response field then in the preview tab, the maximum height of the response field should get updated accordingly', () => {
|
212
|
+
cy.log('Switching to edit tab')
|
213
|
+
essayResponsePage.steps.switchToEditTab();
|
214
|
+
essayResponsePage.maxHeightInputField()
|
215
|
+
.type(100)
|
216
|
+
.should('have.value', '100');
|
217
|
+
cy.log('Switching to preview tab')
|
218
|
+
essayResponsePage.steps.switchToPreviewTab();
|
219
|
+
essayResponsePage.responseField()
|
220
|
+
.should('have.css', 'max-height', '100px');
|
221
|
+
});
|
222
|
+
});
|
223
|
+
|
224
|
+
describe('Additional Settings: Disable cut, copy and paste section', () => {
|
225
|
+
abortEarlySetup();
|
226
|
+
before(() => {
|
227
|
+
essayResponsePage.steps.navigateToCreateQuestion('essay response');
|
228
|
+
essayResponsePage.steps.expandAdditionalSettings();
|
229
|
+
essayResponsePage.steps.setWordLimit(15);
|
230
|
+
});
|
231
|
+
|
232
|
+
it('\'Disable cut, copy and paste\' functionality label and checkbox should be displayed and by default it should be unchecked', () => {
|
233
|
+
essayResponsePage.disableCutCopyPasteLabel()
|
234
|
+
.verifyInnerText('Disable cut, copy and paste');
|
235
|
+
essayResponsePage.disableCutCopyPasteCheckbox()
|
236
|
+
.should('not.be.checked');
|
237
|
+
});
|
238
|
+
|
239
|
+
it('CSS of \'Disable cut, copy and paste\' section - unchecked state', { tags: 'css' }, () => {
|
240
|
+
essayResponsePage.disableCutCopyPasteLabel()
|
241
|
+
.verifyCSS(css.color.labelText, css.fontSize.normal, css.fontWeight.regular);
|
242
|
+
essayResponsePage.disableCutCopyPasteCheckbox()
|
243
|
+
.parent()
|
244
|
+
.find('svg')
|
245
|
+
.should('have.css', 'fill', css.color.uncheckedCheckbox);
|
246
|
+
});
|
247
|
+
|
248
|
+
it('Accessibility of \'Disable cut, copy and paste\' section - unchecked state', { tags: 'a11y' }, () => {
|
249
|
+
cy.checkAccessibility(essayResponsePage.additionalSettingsRegion());
|
250
|
+
});
|
251
|
+
|
252
|
+
//TODO: Need to verify the code for cut, changes are required
|
253
|
+
//Comment: We are currently checking only cut action, copy and paste actions need to be tested manually
|
254
|
+
it('When the \'Disable cut, copy and paste\' functionality is disabled, the user should be able to perform cut, copy and paste actions', () => {
|
255
|
+
essayResponsePage.steps.switchToPreviewTab();
|
256
|
+
essayResponsePage.responseField()
|
257
|
+
.type('Lorem')
|
258
|
+
essayResponsePage.responseField()
|
259
|
+
.type('{selectAll}')
|
260
|
+
.type('{ctrl}x');
|
261
|
+
essayResponsePage.responseField()
|
262
|
+
.should('not.have.text', 'Lorem');
|
263
|
+
});
|
264
|
+
|
265
|
+
it('When the user enables the \'Disable cut, copy and paste\' functionality, the user should not be able to perform cut, copy and paste actions', () => {
|
266
|
+
cy.log('Switching to edit tab')
|
267
|
+
essayResponsePage.steps.switchToEditTab();
|
268
|
+
essayResponsePage.disableCutCopyPasteCheckbox()
|
269
|
+
.click()
|
270
|
+
.should('be.checked');
|
271
|
+
essayResponsePage.steps.switchToPreviewTab();
|
272
|
+
essayResponsePage.responseField()
|
273
|
+
.type('Lorem{selectall}')
|
274
|
+
essayResponsePage.responseField()
|
275
|
+
.focus()
|
276
|
+
.trigger('keydown', { key: 'x', ctrlKey: true })
|
277
|
+
essayResponsePage.responseField()
|
278
|
+
.should('have.text', 'Lorem');
|
279
|
+
});
|
280
|
+
|
281
|
+
it('CSS of \'Disable cut, copy and paste\' section - checked state', { tags: 'css' }, () => {
|
282
|
+
cy.log('Switching to edit tab')
|
283
|
+
essayResponsePage.steps.switchToEditTab();
|
284
|
+
essayResponsePage.disableCutCopyPasteCheckbox()
|
285
|
+
.parents('[data-ngie-testid="disable-cut,-copy-and-paste-checkbox"]')
|
286
|
+
.find('svg g')
|
287
|
+
.eq(1)
|
288
|
+
.should('have.css', 'fill', css.color.activeButtons);
|
289
|
+
});
|
290
|
+
|
291
|
+
it('Accessibility of \'Disable cut, copy and paste\' section - checked state', { tags: 'a11y' }, () => {
|
292
|
+
cy.checkAccessibility(essayResponsePage.additionalSettingsRegion());
|
293
|
+
});
|
294
|
+
});
|
295
|
+
|
296
|
+
describe('Additional Settings: Disable automatic hyperlinking section', () => {
|
297
|
+
abortEarlySetup();
|
298
|
+
before(() => {
|
299
|
+
essayResponsePage.steps.navigateToCreateQuestion('essay response');
|
300
|
+
essayResponsePage.steps.expandAdditionalSettings();
|
301
|
+
});
|
302
|
+
|
303
|
+
it('\'Disable automatic hyperlinking\' functionality label and checkbox should be displayed and by default it should be unchecked', () => {
|
304
|
+
essayResponsePage.disableAutoHyperlinkingLabel()
|
305
|
+
.verifyInnerText('Disable automatic hyperlinking');
|
306
|
+
essayResponsePage.disableAutoHyperlinkingCheckbox()
|
307
|
+
.should('not.be.checked');
|
308
|
+
});
|
309
|
+
|
310
|
+
it('CSS of \'Disable automatic hyperlinking\' section - unchecked state', { tags: 'css' }, () => {
|
311
|
+
essayResponsePage.disableAutoHyperlinkingLabel()
|
312
|
+
.verifyCSS(css.color.labelText, css.fontSize.normal, css.fontWeight.regular);
|
313
|
+
essayResponsePage.disableAutoHyperlinkingCheckbox()
|
314
|
+
.parent()
|
315
|
+
.find('svg')
|
316
|
+
.should('have.css', 'fill', css.color.uncheckedCheckbox);
|
317
|
+
});
|
318
|
+
|
319
|
+
it('Accessibility of \'Disable automatic hyperlinking\' section - unchecked state', { tags: 'a11y' }, () => {
|
320
|
+
cy.checkAccessibility(essayResponsePage.disableAutoHyperlinkingLabel().parents('.MuiFormGroup-root'));
|
321
|
+
});
|
322
|
+
|
323
|
+
it('When the \'Disable automatic hyperlinking\' functionality is disabled and the user types any link text in the response field in the preview tab, then the link text should be displayed as a hyperlink', () => {
|
324
|
+
cy.log('Switching to preview tab')
|
325
|
+
essayResponsePage.steps.switchToPreviewTab();
|
326
|
+
essayResponsePage.responseField()
|
327
|
+
.type('https://www.google.com ');
|
328
|
+
essayResponsePage.responseField()
|
329
|
+
.find('a')
|
330
|
+
.should('have.attr', 'href', 'https://www.google.com');
|
331
|
+
});
|
332
|
+
|
333
|
+
//https://redmine.zeuslearning.com/issues/530056
|
334
|
+
it('CSS of \'hyperlink\' text in the response field', { tags: 'css' }, () => {
|
335
|
+
essayResponsePage.responseField()
|
336
|
+
.find('a')
|
337
|
+
.verifyCSS(css.color.linkText, css.fontSize.default, css.fontWeight.regular);
|
338
|
+
});
|
339
|
+
|
340
|
+
it('Accessibility of \'hyperlink\' text in the response field', { tags: 'a11y' }, () => {
|
341
|
+
cy.checkAccessibility(essayResponsePage.previewTabQuestionWrapper());
|
342
|
+
});
|
343
|
+
|
344
|
+
it('When the user enables the \'Disable automatic hyperlinking\' functionality, then even if the user types any link text in the response field in the preview tab, it should appear as a plain text', () => {
|
345
|
+
cy.log('Switching to edit tab')
|
346
|
+
essayResponsePage.steps.switchToEditTab();
|
347
|
+
essayResponsePage.disableAutoHyperlinkingCheckbox()
|
348
|
+
.click()
|
349
|
+
.should('be.checked');
|
350
|
+
cy.log('Switching to preview tab')
|
351
|
+
essayResponsePage.steps.switchToPreviewTab();
|
352
|
+
essayResponsePage.responseField()
|
353
|
+
.type('https://www.google.com');
|
354
|
+
essayResponsePage.responseField()
|
355
|
+
.find('a')
|
356
|
+
.should('not.exist');
|
357
|
+
cy.log('Post step: Switching to edit tab')
|
358
|
+
essayResponsePage.steps.switchToEditTab();
|
359
|
+
});
|
360
|
+
|
361
|
+
it('CSS of \'Disable automatic hyperlinking\' section - checked state', { tags: 'css' }, () => {
|
362
|
+
essayResponsePage.disableAutoHyperlinkingCheckbox()
|
363
|
+
.parents('[data-ngie-testid="disable-automatic-hyperlinking-checkbox"]')
|
364
|
+
.find('svg g')
|
365
|
+
.eq(1)
|
366
|
+
.should('have.css', 'fill', css.color.activeButtons);
|
367
|
+
});
|
368
|
+
|
369
|
+
it('Accessibility of \'Disable automatic hyperlinking\' section - checked state', { tags: 'a11y' }, () => {
|
370
|
+
cy.checkAccessibility(essayResponsePage.disableAutoHyperlinkingLabel().parents('.MuiFormGroup-root'));
|
371
|
+
});
|
372
|
+
});
|
373
|
+
|
374
|
+
describe('Additional Settings: Spell check section', () => {
|
375
|
+
abortEarlySetup();
|
376
|
+
before(() => {
|
377
|
+
essayResponsePage.steps.navigateToCreateQuestion('essay response');
|
378
|
+
essayResponsePage.steps.expandAdditionalSettings();
|
379
|
+
});
|
380
|
+
|
381
|
+
it('\'Spell check\' functionality label and checkbox should be displayed and by default it should be checked', () => {
|
382
|
+
essayResponsePage.spellCheckLabel()
|
383
|
+
.verifyInnerText('Spell check');
|
384
|
+
essayResponsePage.spellCheckCheckbox()
|
385
|
+
.should('be.checked');
|
386
|
+
});
|
387
|
+
|
388
|
+
it('CSS of \'Spell check\' section - checked state', { tags: 'css' }, () => {
|
389
|
+
essayResponsePage.spellCheckLabel()
|
390
|
+
.verifyCSS(css.color.labelText, css.fontSize.normal, css.fontWeight.regular);
|
391
|
+
essayResponsePage.spellCheckCheckbox()
|
392
|
+
.parents('[data-ngie-testid="spell-check-checkbox"]')
|
393
|
+
.find('svg g')
|
394
|
+
.eq(1)
|
395
|
+
.should('have.css', 'fill', css.color.activeButtons);
|
396
|
+
});
|
397
|
+
|
398
|
+
it('Accessibility of \'Spell check\' section - checked state', { tags: 'a11y' }, () => {
|
399
|
+
cy.checkAccessibility(essayResponsePage.spellCheckLabel().parents('.MuiFormGroup-root'))
|
400
|
+
});
|
401
|
+
|
402
|
+
it('When the \'Spell check\' functionality is enabled, the response field in preview tab should have \'spellcheck\' attribute set as \'true\'', () => {
|
403
|
+
essayResponsePage.steps.switchToPreviewTab();
|
404
|
+
essayResponsePage.responseField()
|
405
|
+
.should('have.attr', 'spellcheck', 'true');
|
406
|
+
});
|
407
|
+
|
408
|
+
it('When the user disables the \'Spell check\' functionality, the response field in preview tab should not have \'spellcheck\' attribute set as \'false\'', () => {
|
409
|
+
cy.log('Switching to edit tab')
|
410
|
+
essayResponsePage.steps.switchToEditTab();
|
411
|
+
essayResponsePage.spellCheckCheckbox()
|
412
|
+
.click()
|
413
|
+
.should('not.be.checked');
|
414
|
+
essayResponsePage.steps.switchToPreviewTab();
|
415
|
+
essayResponsePage.responseField()
|
416
|
+
.should('have.attr', 'spellcheck', 'false');
|
417
|
+
cy.log('Post step: Switch to edit tab')
|
418
|
+
essayResponsePage.steps.switchToEditTab();
|
419
|
+
});
|
420
|
+
|
421
|
+
it('CSS of \'Spell check\' section - unchecked state', { tags: 'css' }, () => {
|
422
|
+
essayResponsePage.spellCheckCheckbox()
|
423
|
+
.parents('[data-ngie-testid="spell-check-checkbox"]')
|
424
|
+
.find('svg')
|
425
|
+
.should('have.css', 'fill', css.color.uncheckedCheckbox);
|
426
|
+
});
|
427
|
+
|
428
|
+
it('Accessibility of \'Spell check\' section - unchecked state', { tags: 'a11y' }, () => {
|
429
|
+
cy.checkAccessibility(essayResponsePage.spellCheckLabel().parents('.MuiFormGroup-root'))
|
430
|
+
});
|
431
|
+
});
|
432
|
+
});
|